Files
mbed-os-hardfp/targets/TARGET_Cypress/TARGET_PSOC6/psoc6pdl/personalities/peripheral/aref-1.0.cypersonality
2026-06-01 20:15:04 +03:00

96 lines
6.4 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!--****************************************************************************
* \file aref.cypersonality
* \version 1.0
*
* \brief
* AREF personality description file.
*
********************************************************************************
* \copyright
* Copyright 2018-2019 Cypress Semiconductor Corporation
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*****************************************************************************-->
<Personality id="mxs40aref" name="Aref" version="1.0" path="Analog" xmlns="http://cypress.com/xsd/cyhwpersonality_v1">
<Dependencies>
<IpBlock name="mxs40pass" />
<Resource name="pass\.aref" used="true" />
</Dependencies>
<ExposedMembers>
<ExposedMember key="vref_source" paramId="vref_source" />
<ExposedMember key="iztat_source" paramId="iztat_source" />
<ExposedMember key="deep_sleep_mode" paramId="deep_sleep_mode" />
<ExposedMember key="vref_voltage" paramId="vref_voltage" />
</ExposedMembers>
<Parameters>
<!-- PDL documentation -->
<ParamDoc id="pdlDoc" name="Configuration Help" group="Peripheral Documentation" default="file:///`${cy_libs_path()}`/docs/pdl_api_reference_manual/html/group__group__sysanalog.html" linkText="Open SysAnalog Documentation" visible="true" desc="Opens the Peripheral Driver Library Documentation" />
<!--Internal-->
<ParamBool id="hasCTB" name="hasCTB" group="Internal" default="`${hasBlock(&quot;pass[0].ctb[0].oa[0]&quot;)}`" visible="false" editable="false" desc="Check whether device has CTBs" />
<ParamBool id="isPowerEnabled" name="Is Power Enabled" group="Internal" default="`${isBlockUsed(&quot;srss[0].power[0]&quot;)}`" visible="false" editable="false" desc="" />
<ParamRange id="vdda" name="vdda" group="Internal" default="`${isPowerEnabled ? getExposedMember(&quot;srss[0].power[0]&quot;, &quot;vddaMv&quot;) / 1000.0 : 3.6}`" min="0" max="10" resolution="0.001" visible="false" editable="false" desc="" />
<!--Internal-->
<ParamChoice id="vref_source" name="Voltage Reference Source" group="General" default="CY_SYSANALOG_VREF_SOURCE_LOCAL_1_2V" visible="true" editable="true" desc="Select the source of the Vref generator. The local generator is recommended for analog performance." >
<Entry name="SRSS (0.8 V)" value="CY_SYSANALOG_VREF_SOURCE_SRSS" visible="true" />
<Entry name="Local (1.2 V)" value="CY_SYSANALOG_VREF_SOURCE_LOCAL_1_2V" visible="true" />
<Entry name="External" value="CY_SYSANALOG_VREF_SOURCE_EXTERNAL" visible="true" />
</ParamChoice>
<ParamRange id="external_vref_voltage" name="External Voltage Reference Voltage (V)" group="Analog Reference Block" default="1.2" min="0.001" max="`${vdda}`" resolution="0.001" visible="`${vref_source eq CY_SYSANALOG_VREF_SOURCE_EXTERNAL}`" editable="true" desc="Enter the value of external Vref voltage in volts" />
<ParamChoice id="iztat_source" name="Current Reference Source" group="General" default="CY_SYSANALOG_IZTAT_SOURCE_LOCAL" visible="true" editable="true" desc="Select the source of the IZTAT generator. The local generator is recommended for analog performance." >
<Entry name="SRSS" value="CY_SYSANALOG_IZTAT_SOURCE_SRSS" visible="true" />
<Entry name="Local" value="CY_SYSANALOG_IZTAT_SOURCE_LOCAL" visible="true" />
</ParamChoice>
<ParamChoice id="deep_sleep_mode" name="Deep Sleep Mode" group="General" default="CY_SYSANALOG_DEEPSLEEP_DISABLE" visible="true" editable="true" desc="Configure which parts of the block, if any, are enabled during Deep Sleep mode." >
<Entry name="Disable" value="CY_SYSANALOG_DEEPSLEEP_DISABLE" visible="true" />
<Entry name="Enable Fast Wakeup" value="CY_SYSANALOG_DEEPSLEEP_IPTAT_1" visible="true" />
<Entry name="Enable Opamp Reference Current" value="CY_SYSANALOG_DEEPSLEEP_IPTAT_2" visible="`${hasCTB}`" />
<Entry name="Enable All Voltage and Current Generators" value="CY_SYSANALOG_DEEPSLEEP_IPTAT_IZTAT_VREF" visible="true" />
</ParamChoice>
<ParamSignal name="Voltage Reference" port="vbgr[0]" group="Connections" visible="`${hasVisibleOption(&quot;vbgr[0]&quot;)}`" desc="Voltage reference output connection" canBeEmpty="true" />
<ParamString id="vref_voltage" name="vref_voltage" group="Internal" default="`${(vref_source eq CY_SYSANALOG_VREF_SOURCE_LOCAL_1_2V) ? 1.2 : (vref_source eq CY_SYSANALOG_VREF_SOURCE_SRSS ? 0.8 : external_vref_voltage)}`" visible="false" editable="false" desc="Voltage value of Vref to be exposed to other personalities." />
<!--Advanced-->
<ParamBool id="inFlash" name="Store Config in Flash" group="Advanced" default="true" visible="true" editable="true" desc="Controls whether the configuration structure is stored in flash (const, true) or SRAM (not const, false)." />
</Parameters>
<DRCs>
<DRC type="ERROR" text="The SRSS is not available in Deep Sleep mode. Disable Deep Sleep or select Local or External for the Voltage Reference Source." condition="`${vref_source eq CY_SYSANALOG_VREF_SOURCE_SRSS &amp;&amp; deep_sleep_mode ne CY_SYSANALOG_DEEPSLEEP_DISABLE}`" />
<DRC type="ERROR" text="The SRSS is not available in Deep Sleep mode. Disable Deep Sleep or Select Local for the Current Reference Source." condition="`${iztat_source eq CY_SYSANALOG_IZTAT_SOURCE_SRSS &amp;&amp; deep_sleep_mode ne CY_SYSANALOG_DEEPSLEEP_DISABLE}`" />
</DRCs>
<ConfigFirmware>
<ConfigInclude value="cy_sysanalog.h" include="true" />
<ConfigStruct name="`${INST_NAME . &quot;_config&quot;}`" type="cy_stc_sysanalog_config_t" const="`${inFlash}`" public="true" include="true">
<Member name="startup" value="CY_SYSANALOG_STARTUP_FAST" />
<Member name="iztat" value="`${iztat_source}`" />
<Member name="vref" value="`${vref_source}`" />
<Member name="deepSleep" value="`${deep_sleep_mode}`" />
</ConfigStruct>
</ConfigFirmware>
</Personality>