Skip to content

Instantly share code, notes, and snippets.

@BrokenR3C0RD
Last active February 14, 2024 15:30
Show Gist options
  • Save BrokenR3C0RD/9fa8a1697b5bca9c1ab81221c33a688f to your computer and use it in GitHub Desktop.
Save BrokenR3C0RD/9fa8a1697b5bca9c1ab81221c33a688f to your computer and use it in GitHub Desktop.
<register>
<dim>24</dim>
<dimIncrement>4</dimIncrement>
<dimName>PIO0</dimName>
<name>PIO0[%s]</name>
<description>Generic I/O configuration for PIO, port 0.</description>
<addressOffset>0x000</addressOffset>
<fields>
<field>
<name>FUNC</name>
<description>Selects pin function.</description>
<bitRange>[2:0]</bitRange>
<writeConstraint>
<range>
<minimum>0</minimum>
<maximum>7</maximum>
</range>
</writeConstraint>
<enumeratedValues>
<name>FUNC</name>
<enumeratedValue>
<name>AF0</name>
<description>Alternate function 0.</description>
<value>0</value>
</enumeratedValue>
<enumeratedValue>
<name>AF1</name>
<description>Alternate function 1.</description>
<value>1</value>
</enumeratedValue>
<enumeratedValue>
<name>AF2</name>
<description>Alternate function 2.</description>
<value>2</value>
</enumeratedValue>
<enumeratedValue>
<name>AF3</name>
<description>Alternate function 3.</description>
<value>3</value>
</enumeratedValue>
<enumeratedValue>
<name>AF4</name>
<description>Alternate function 4.</description>
<value>4</value>
</enumeratedValue>
<enumeratedValue>
<name>AF5</name>
<description>Alternate function 5.</description>
<value>5</value>
</enumeratedValue>
<enumeratedValue>
<name>AF6</name>
<description>Alternate function 6.</description>
<value>6</value>
</enumeratedValue>
<enumeratedValue>
<name>AF7</name>
<description>Alternate function 7.</description>
<value>7</value>
</enumeratedValue>
</enumeratedValues>
</field>
<field>
<name>MODE</name>
<description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
<bitRange>[4:3]</bitRange>
<enumeratedValues>
<name>MODE</name>
<enumeratedValue>
<name>INACTIVE</name>
<description>Inactive (no pull-down/pull-up resistor enabled).</description>
<value>0</value>
</enumeratedValue>
<enumeratedValue>
<name>PULL_DOWN</name>
<description>Pull-down resistor enabled.</description>
<value>1</value>
</enumeratedValue>
<enumeratedValue>
<name>PULL_UP</name>
<description>Pull-up resistor enabled.</description>
<value>2</value>
</enumeratedValue>
<enumeratedValue>
<name>REPEATER_MODE</name>
<description>Repeater mode.</description>
<value>3</value>
</enumeratedValue>
</enumeratedValues>
</field>
<field>
<name>HYS</name>
<description>Hysteresis.</description>
<bitRange>[5:5]</bitRange>
<enumeratedValues>
<name>HYS</name>
<enumeratedValue>
<name>DISABLED</name>
<description>Disable hysteresis.</description>
<value>0</value>
</enumeratedValue>
<enumeratedValue>
<name>ENABLED</name>
<description>Enable hysteresis.</description>
<value>1</value>
</enumeratedValue>
</enumeratedValues>
</field>
<field>
<name>INV</name>
<description>Invert input.</description>
<bitRange>[6:6]</bitRange>
<enumeratedValues>
<name>INV</name>
<enumeratedValue>
<name>DISABLED</name>
<description>Input not inverted (HIGH on pin reads as 1, LOW on pin reads as 0).</description>
<value>0</value>
</enumeratedValue>
<enumeratedValue>
<name>ENABLED</name>
<description>Input inverted (HIGH on pin reads as 0, LOW on pin reads as 1).</description>
<value>1</value>
</enumeratedValue>
</enumeratedValues>
</field>
<field>
<name>OD</name>
<description>Open-drain mode.</description>
<bitRange>[10:10]</bitRange>
<enumeratedValues>
<name>OD</name>
<enumeratedValue>
<name>DISABLED</name>
<description>Disabled.</description>
<value>0</value>
</enumeratedValue>
<enumeratedValue>
<name>ENABLED</name>
<description>Open-drain mode enabled. This is not a true open-drain mode.</description>
<value>1</value>
</enumeratedValue>
</enumeratedValues>
</field>
<field>
<name>I2CMODE</name>
<description>Select I2C mode.</description>
<bitRange>[9:8]</bitRange>
<enumeratedValues>
<name>I2CMODE</name>
<enumeratedValue>
<name>STANDARD_I2C</name>
<description>Standard mode/Fast-mode I2C.</description>
<value>0</value>
</enumeratedValue>
<enumeratedValue>
<name>GPIO</name>
<description>Standard I/O functionality.</description>
<value>1</value>
</enumeratedValue>
<enumeratedValue>
<name>FAST_MODE_PLUS_I2C</name>
<description>Fast-mode Plus I2C.</description>
<value>2</value>
</enumeratedValue>
</enumeratedValues>
</field>
<field>
<name>ADMODE</name>
<description>Selects Analog/Digital mode.</description>
<bitRange>[7:7]</bitRange>
<enumeratedValues>
<name>ADMODE</name>
<enumeratedValue>
<name>ANALOG</name>
<description>Analog input mode.</description>
<value>0</value>
</enumeratedValue>
<enumeratedValue>
<name>DIGITAL</name>
<description>Digital functional mode.</description>
<value>1</value>
</enumeratedValue>
</enumeratedValues>
</field>
<field>
<name>FILTR</name>
<description>10ns input glitch filter.</description>
<bitRange>[8:8]</bitRange>
<enumeratedValues>
<name>FILTR</name>
<enumeratedValue>
<name>DISABLED</name>
<description>Filter disabled.</description>
<value>0</value>
</enumeratedValue>
<enumeratedValue>
<name>ENABLED</name>
<description>Filter enabled.</description>
<value>1</value>
</enumeratedValue>
</enumeratedValues>
</field>
</fields>
</register>
<register derivedFrom="PIO0[%s]">
<dim>32</dim>
<dimIncrement>4</dimIncrement>
<dimName>PIO1</dimName>
<name>PIO1[%s]</name>
<description>Generic I/O configuration for PIO pins, port 1.</description>
<addressOffset>0x060</addressOffset>
</register>
<register>
<name>PIO0_0</name>
<description>I/O configuration for pin RESET/PIO0_0</description>
<addressOffset>0x000</addressOffset>
<access>read-write</access>
<resetValue>0x00000090</resetValue>
<resetMask>0xFFFFFFFF</resetMask>
<fields>
<field>
<name>FUNC</name>
<description>Selects pin function. Values 0x2 to 0x7 are reserved.</description>
<bitRange>[2:0]</bitRange>
<enumeratedValues>
<enumeratedValue>
<name>RESET</name>
<description>RESET.</description>
<value>0x0</value>
</enumeratedValue>
<enumeratedValue>
<name>PIO0_0</name>
<description>PIO0_0.</description>
<value>0x1</value>
</enumeratedValue>
</enumeratedValues>
</field>
<field derivedFrom="IOCON.PIO0[%s].MODE">
<name>MODE</name>
<description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
<bitRange>[4:3]</bitRange>
</field>
<field derivedFrom="IOCON.PIO0[%s].HYS">
<name>HYS</name>
<description>Hysteresis.</description>
<bitRange>[5:5]</bitRange>
</field>
<field derivedFrom="IOCON.PIO0[%s].INV">
<name>INV</name>
<description>Invert input.</description>
<bitRange>[6:6]</bitRange>
</field>
<field derivedFrom="IOCON.PIO0[%s].OD">
<name>OD</name>
<description>Open-drain mode.</description>
<bitRange>[10:10]</bitRange>
</field>
</fields>
</register>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment