Newer
Older
mbed-os / targets / TARGET_Cypress / TARGET_PSOC6 / mtb-pdl-cat1 / personalities / peripheral / aref-1.0.cypersonality
@Dustin Crossman Dustin Crossman on 4 Jun 2021 6 KB Fix file modes.
<?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,mxs40pass_ver2" />
    <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="" />
    <ParamString id="version" name="version number" group="Internal" default="`${getVersion()}`" visible="false" editable="false" desc="" />
    <ParamBool id="ver1" name="ver1" desc="" group="Internal" default="`${version eq 1}`" visible="false" editable="false" />
    <!--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>