TDF and TDF script changes (application changes pending):

- Added new `pad` element to TDFs
- Refactored `pin` and `signal` elements to accommodate new `pad` element
- Improved validation of signal-to-pad relation in TDF validation script
- Added key attribute to `variant` element
- Removed `package` attribute from `variant` element
This commit is contained in:
Nav
2024-08-13 22:17:49 +01:00
parent d44eb49ca1
commit 8ba29c258d
269 changed files with 60017 additions and 48825 deletions

View File

@@ -44,24 +44,24 @@
<peripheral key="ac0" name="AC0" module-key="i2106">
<register-group-instance register-group-key="ac" address-space-key="data" offset="0x680"/>
<signals>
<signal pad-id="pa6" index="0" function="AC0" group="N"/>
<signal pad-id="pa5" index="0" function="AC0" group="OUT"/>
<signal pad-id="pa7" index="0" function="AC0" group="P"/>
<signal pad-key="pa6" index="0" function="AC0" group="N"/>
<signal pad-key="pa5" index="0" function="AC0" group="OUT"/>
<signal pad-key="pa7" index="0" function="AC0" group="P"/>
</signals>
</peripheral>
<peripheral key="adc0" name="ADC0" module-key="i2132">
<register-group-instance register-group-key="adc" address-space-key="data" offset="0x600"/>
<signals>
<signal pad-id="pa0" index="0" function="AIN0" group="AIN"/>
<signal pad-id="pa1" index="1" function="AIN0" group="AIN"/>
<signal pad-id="pa2" index="2" function="AIN0" group="AIN"/>
<signal pad-id="pa3" index="3" function="AIN0" group="AIN"/>
<signal pad-id="pa4" index="4" function="AIN0" group="AIN"/>
<signal pad-id="pa5" index="5" function="AIN0" group="AIN"/>
<signal pad-id="pa6" index="6" function="AIN0" group="AIN"/>
<signal pad-id="pa7" index="7" function="AIN0" group="AIN"/>
<signal pad-id="pb1" index="10" function="AIN0" group="AIN"/>
<signal pad-id="pb0" index="11" function="AIN0" group="AIN"/>
<signal pad-key="pa0" index="0" function="AIN0" group="AIN"/>
<signal pad-key="pa1" index="1" function="AIN0" group="AIN"/>
<signal pad-key="pa2" index="2" function="AIN0" group="AIN"/>
<signal pad-key="pa3" index="3" function="AIN0" group="AIN"/>
<signal pad-key="pa4" index="4" function="AIN0" group="AIN"/>
<signal pad-key="pa5" index="5" function="AIN0" group="AIN"/>
<signal pad-key="pa6" index="6" function="AIN0" group="AIN"/>
<signal pad-key="pa7" index="7" function="AIN0" group="AIN"/>
<signal pad-key="pb1" index="10" function="AIN0" group="AIN"/>
<signal pad-key="pb0" index="11" function="AIN0" group="AIN"/>
</signals>
</peripheral>
<peripheral key="bod" name="BOD" module-key="i2114">
@@ -70,25 +70,25 @@
<peripheral key="ccl" name="CCL" module-key="i2128">
<register-group-instance register-group-key="ccl" address-space-key="data" offset="0x1C0"/>
<signals>
<signal pad-id="pa0" index="0" function="CCL" group="LUT0_IN"/>
<signal pad-id="pa1" index="1" function="CCL" group="LUT0_IN"/>
<signal pad-id="pa2" index="2" function="CCL" group="LUT0_IN"/>
<signal pad-id="pa4" index="0" function="CCL" group="LUT0_OUT" field="PORTMUX.CTRLA.LUT0"/>
<signal pad-id="pa7" index="0" function="CCL" group="LUT1_OUT" field="PORTMUX.CTRLA.LUT1"/>
<signal pad-key="pa0" index="0" function="CCL" group="LUT0_IN"/>
<signal pad-key="pa1" index="1" function="CCL" group="LUT0_IN"/>
<signal pad-key="pa2" index="2" function="CCL" group="LUT0_IN"/>
<signal pad-key="pa4" index="0" function="CCL" group="LUT0_OUT" field="PORTMUX.CTRLA.LUT0"/>
<signal pad-key="pa7" index="0" function="CCL" group="LUT1_OUT" field="PORTMUX.CTRLA.LUT1"/>
</signals>
</peripheral>
<peripheral key="clkctrl" name="CLKCTRL" module-key="i2603_clkctrl">
<register-group-instance register-group-key="clkctrl" address-space-key="data" offset="0x60"/>
<signals>
<signal pad-id="pa3" function="CLKCTRL" group="CLKI"/>
<signal pad-id="pb3" function="CLKCTRL" group="TOSC1"/>
<signal pad-id="pb2" function="CLKCTRL" group="TOSC2"/>
<signal pad-key="pa3" function="CLKCTRL" group="CLKI"/>
<signal pad-key="pb3" function="CLKCTRL" group="TOSC1"/>
<signal pad-key="pb2" function="CLKCTRL" group="TOSC2"/>
</signals>
</peripheral>
<peripheral key="cpu" name="CPU" module-key="i2100">
<register-group-instance register-group-key="cpu" address-space-key="data" offset="0x30"/>
<signals>
<signal pad-id="pa1" function="BREAK" group="BREAK" field="PORTMUX.CTRLA.EXTBRK"/>
<signal pad-key="pa1" function="BREAK" group="BREAK" field="PORTMUX.CTRLA.EXTBRK"/>
</signals>
</peripheral>
<peripheral key="cpuint" name="CPUINT" module-key="i2104">
@@ -100,32 +100,32 @@
<peripheral key="evsys" name="EVSYS" module-key="i2603_evsys">
<register-group-instance register-group-key="evsys" address-space-key="data" offset="0x180"/>
<signals>
<signal pad-id="pa0" index="0" function="EVAINCH0" group="EVAPA" field="EVSYS.ASYNCCH0.ASYNCCH0"/>
<signal pad-id="pa1" index="1" function="EVAINCH0" group="EVAPA" field="EVSYS.ASYNCCH0.ASYNCCH0"/>
<signal pad-id="pa2" index="2" function="EVAINCH0" group="EVAPA" field="EVSYS.ASYNCCH0.ASYNCCH0"/>
<signal pad-id="pa3" index="3" function="EVAINCH0" group="EVAPA" field="EVSYS.ASYNCCH0.ASYNCCH0"/>
<signal pad-id="pa4" index="4" function="EVAINCH0" group="EVAPA" field="EVSYS.ASYNCCH0.ASYNCCH0"/>
<signal pad-id="pa5" index="5" function="EVAINCH0" group="EVAPA" field="EVSYS.ASYNCCH0.ASYNCCH0"/>
<signal pad-id="pa6" index="6" function="EVAINCH0" group="EVAPA" field="EVSYS.ASYNCCH0.ASYNCCH0"/>
<signal pad-id="pa7" index="7" function="EVAINCH0" group="EVAPA" field="EVSYS.ASYNCCH0.ASYNCCH0"/>
<signal pad-id="pb0" index="0" function="EVAINCH1" group="EVAPB" field="EVSYS.ASYNCCH1.ASYNCCH1"/>
<signal pad-id="pb1" index="1" function="EVAINCH1" group="EVAPB" field="EVSYS.ASYNCCH1.ASYNCCH1"/>
<signal pad-id="pb2" index="2" function="EVAINCH1" group="EVAPB" field="EVSYS.ASYNCCH1.ASYNCCH1"/>
<signal pad-id="pb3" index="3" function="EVAINCH1" group="EVAPB" field="EVSYS.ASYNCCH1.ASYNCCH1"/>
<signal pad-id="pa2" index="0" function="EVSYS" group="EVOUT" field="PORTMUX.CTRLA.EVOUT0"/>
<signal pad-id="pb2" index="1" function="EVSYS" group="EVOUT" field="PORTMUX.CTRLA.EVOUT1"/>
<signal pad-id="pa0" index="0" function="EVSINCH0" group="EVSPA" field="EVSYS.SYNCCH0.SYNCCH0"/>
<signal pad-id="pa1" index="1" function="EVSINCH0" group="EVSPA" field="EVSYS.SYNCCH0.SYNCCH0"/>
<signal pad-id="pa2" index="2" function="EVSINCH0" group="EVSPA" field="EVSYS.SYNCCH0.SYNCCH0"/>
<signal pad-id="pa3" index="3" function="EVSINCH0" group="EVSPA" field="EVSYS.SYNCCH0.SYNCCH0"/>
<signal pad-id="pa4" index="4" function="EVSINCH0" group="EVSPA" field="EVSYS.SYNCCH0.SYNCCH0"/>
<signal pad-id="pa5" index="5" function="EVSINCH0" group="EVSPA" field="EVSYS.SYNCCH0.SYNCCH0"/>
<signal pad-id="pa6" index="6" function="EVSINCH0" group="EVSPA" field="EVSYS.SYNCCH0.SYNCCH0"/>
<signal pad-id="pa7" index="7" function="EVSINCH0" group="EVSPA" field="EVSYS.SYNCCH0.SYNCCH0"/>
<signal pad-id="pb0" index="0" function="EVSINCH1" group="EVSPB" field="EVSYS.SYNCCH1.SYNCCH1"/>
<signal pad-id="pb1" index="1" function="EVSINCH1" group="EVSPB" field="EVSYS.SYNCCH1.SYNCCH1"/>
<signal pad-id="pb2" index="2" function="EVSINCH1" group="EVSPB" field="EVSYS.SYNCCH1.SYNCCH1"/>
<signal pad-id="pb3" index="3" function="EVSINCH1" group="EVSPB" field="EVSYS.SYNCCH1.SYNCCH1"/>
<signal pad-key="pa0" index="0" function="EVAINCH0" group="EVAPA" field="EVSYS.ASYNCCH0.ASYNCCH0"/>
<signal pad-key="pa1" index="1" function="EVAINCH0" group="EVAPA" field="EVSYS.ASYNCCH0.ASYNCCH0"/>
<signal pad-key="pa2" index="2" function="EVAINCH0" group="EVAPA" field="EVSYS.ASYNCCH0.ASYNCCH0"/>
<signal pad-key="pa3" index="3" function="EVAINCH0" group="EVAPA" field="EVSYS.ASYNCCH0.ASYNCCH0"/>
<signal pad-key="pa4" index="4" function="EVAINCH0" group="EVAPA" field="EVSYS.ASYNCCH0.ASYNCCH0"/>
<signal pad-key="pa5" index="5" function="EVAINCH0" group="EVAPA" field="EVSYS.ASYNCCH0.ASYNCCH0"/>
<signal pad-key="pa6" index="6" function="EVAINCH0" group="EVAPA" field="EVSYS.ASYNCCH0.ASYNCCH0"/>
<signal pad-key="pa7" index="7" function="EVAINCH0" group="EVAPA" field="EVSYS.ASYNCCH0.ASYNCCH0"/>
<signal pad-key="pb0" index="0" function="EVAINCH1" group="EVAPB" field="EVSYS.ASYNCCH1.ASYNCCH1"/>
<signal pad-key="pb1" index="1" function="EVAINCH1" group="EVAPB" field="EVSYS.ASYNCCH1.ASYNCCH1"/>
<signal pad-key="pb2" index="2" function="EVAINCH1" group="EVAPB" field="EVSYS.ASYNCCH1.ASYNCCH1"/>
<signal pad-key="pb3" index="3" function="EVAINCH1" group="EVAPB" field="EVSYS.ASYNCCH1.ASYNCCH1"/>
<signal pad-key="pa2" index="0" function="EVSYS" group="EVOUT" field="PORTMUX.CTRLA.EVOUT0"/>
<signal pad-key="pb2" index="1" function="EVSYS" group="EVOUT" field="PORTMUX.CTRLA.EVOUT1"/>
<signal pad-key="pa0" index="0" function="EVSINCH0" group="EVSPA" field="EVSYS.SYNCCH0.SYNCCH0"/>
<signal pad-key="pa1" index="1" function="EVSINCH0" group="EVSPA" field="EVSYS.SYNCCH0.SYNCCH0"/>
<signal pad-key="pa2" index="2" function="EVSINCH0" group="EVSPA" field="EVSYS.SYNCCH0.SYNCCH0"/>
<signal pad-key="pa3" index="3" function="EVSINCH0" group="EVSPA" field="EVSYS.SYNCCH0.SYNCCH0"/>
<signal pad-key="pa4" index="4" function="EVSINCH0" group="EVSPA" field="EVSYS.SYNCCH0.SYNCCH0"/>
<signal pad-key="pa5" index="5" function="EVSINCH0" group="EVSPA" field="EVSYS.SYNCCH0.SYNCCH0"/>
<signal pad-key="pa6" index="6" function="EVSINCH0" group="EVSPA" field="EVSYS.SYNCCH0.SYNCCH0"/>
<signal pad-key="pa7" index="7" function="EVSINCH0" group="EVSPA" field="EVSYS.SYNCCH0.SYNCCH0"/>
<signal pad-key="pb0" index="0" function="EVSINCH1" group="EVSPB" field="EVSYS.SYNCCH1.SYNCCH1"/>
<signal pad-key="pb1" index="1" function="EVSINCH1" group="EVSPB" field="EVSYS.SYNCCH1.SYNCCH1"/>
<signal pad-key="pb2" index="2" function="EVSINCH1" group="EVSPB" field="EVSYS.SYNCCH1.SYNCCH1"/>
<signal pad-key="pb3" index="3" function="EVSINCH1" group="EVSPB" field="EVSYS.SYNCCH1.SYNCCH1"/>
</signals>
</peripheral>
<peripheral key="fuse" name="FUSE" module-key="i2603_fuse">
@@ -143,23 +143,23 @@
<peripheral key="porta" name="PORTA" module-key="gpio_port">
<register-group-instance register-group-key="port" address-space-key="data" offset="0x400"/>
<signals>
<signal pad-id="pa0" index="0" function="IOPORT" group="PIN"/>
<signal pad-id="pa1" index="1" function="IOPORT" group="PIN"/>
<signal pad-id="pa2" index="2" function="IOPORT" group="PIN"/>
<signal pad-id="pa3" index="3" function="IOPORT" group="PIN"/>
<signal pad-id="pa4" index="4" function="IOPORT" group="PIN"/>
<signal pad-id="pa5" index="5" function="IOPORT" group="PIN"/>
<signal pad-id="pa6" index="6" function="IOPORT" group="PIN"/>
<signal pad-id="pa7" index="7" function="IOPORT" group="PIN"/>
<signal pad-key="pa0" index="0" function="IOPORT" group="PIN"/>
<signal pad-key="pa1" index="1" function="IOPORT" group="PIN"/>
<signal pad-key="pa2" index="2" function="IOPORT" group="PIN"/>
<signal pad-key="pa3" index="3" function="IOPORT" group="PIN"/>
<signal pad-key="pa4" index="4" function="IOPORT" group="PIN"/>
<signal pad-key="pa5" index="5" function="IOPORT" group="PIN"/>
<signal pad-key="pa6" index="6" function="IOPORT" group="PIN"/>
<signal pad-key="pa7" index="7" function="IOPORT" group="PIN"/>
</signals>
</peripheral>
<peripheral key="portb" name="PORTB" module-key="gpio_port">
<register-group-instance register-group-key="port" address-space-key="data" offset="0x420"/>
<signals>
<signal pad-id="pb0" index="0" function="IOPORT" group="PIN"/>
<signal pad-id="pb1" index="1" function="IOPORT" group="PIN"/>
<signal pad-id="pb2" index="2" function="IOPORT" group="PIN"/>
<signal pad-id="pb3" index="3" function="IOPORT" group="PIN"/>
<signal pad-key="pb0" index="0" function="IOPORT" group="PIN"/>
<signal pad-key="pb1" index="1" function="IOPORT" group="PIN"/>
<signal pad-key="pb2" index="2" function="IOPORT" group="PIN"/>
<signal pad-key="pb3" index="3" function="IOPORT" group="PIN"/>
</signals>
</peripheral>
<peripheral key="portmux" name="PORTMUX" module-key="i2603_portmux">
@@ -168,7 +168,7 @@
<peripheral key="rstctrl" name="RSTCTRL" module-key="i2111">
<register-group-instance register-group-key="rstctrl" address-space-key="data" offset="0x40"/>
<signals>
<signal pad-id="pa0" function="OTHER" group="RESET"/>
<signal pad-key="pa0" function="OTHER" group="RESET"/>
</signals>
</peripheral>
<peripheral key="rtc" name="RTC" module-key="i2116">
@@ -183,54 +183,54 @@
<peripheral key="spi0" name="SPI0" module-key="i2107">
<register-group-instance register-group-key="spi" address-space-key="data" offset="0x820"/>
<signals>
<signal pad-id="pa2" function="SPI0" group="MISO" field="PORTMUX.CTRLB.SPI0"/>
<signal pad-id="pa1" function="SPI0" group="MOSI" field="PORTMUX.CTRLB.SPI0"/>
<signal pad-id="pa3" function="SPI0" group="SCK" field="PORTMUX.CTRLB.SPI0"/>
<signal pad-id="pa4" function="SPI0" group="SS" field="PORTMUX.CTRLB.SPI0"/>
<signal pad-key="pa2" function="SPI0" group="MISO" field="PORTMUX.CTRLB.SPI0"/>
<signal pad-key="pa1" function="SPI0" group="MOSI" field="PORTMUX.CTRLB.SPI0"/>
<signal pad-key="pa3" function="SPI0" group="SCK" field="PORTMUX.CTRLB.SPI0"/>
<signal pad-key="pa4" function="SPI0" group="SS" field="PORTMUX.CTRLB.SPI0"/>
</signals>
</peripheral>
<peripheral key="syscfg" name="SYSCFG" module-key="i2603_syscfg">
<register-group-instance register-group-key="syscfg" address-space-key="data" offset="0xF00"/>
<signals>
<signal pad-id="pa0" function="OTHER" group="UPDI"/>
<signal pad-key="pa0" function="OTHER" group="UPDI"/>
</signals>
</peripheral>
<peripheral key="tca0" name="TCA0" module-key="i2117">
<register-group-instance register-group-key="tca" address-space-key="data" offset="0xA00"/>
<signals>
<signal pad-id="pb3" index="0" function="TCA0_ALT" group="WO" field="PORTMUX.CTRLC.TCA00"/>
<signal pad-id="pb0" index="0" function="TCA0" group="WO" field="PORTMUX.CTRLC.TCA00"/>
<signal pad-id="pb1" index="1" function="TCA0" group="WO" field="PORTMUX.CTRLC.TCA01"/>
<signal pad-id="pb2" index="2" function="TCA0" group="WO" field="PORTMUX.CTRLC.TCA02"/>
<signal pad-id="pa3" index="3" function="TCA0" group="WO" field="PORTMUX.CTRLC.TCA03"/>
<signal pad-id="pa4" index="4" function="TCA0" group="WO" field="PORTMUX.CTRLC.TCA04"/>
<signal pad-id="pa5" index="5" function="TCA0" group="WO" field="PORTMUX.CTRLC.TCA05"/>
<signal pad-key="pb3" index="0" function="TCA0_ALT" group="WO" field="PORTMUX.CTRLC.TCA00"/>
<signal pad-key="pb0" index="0" function="TCA0" group="WO" field="PORTMUX.CTRLC.TCA00"/>
<signal pad-key="pb1" index="1" function="TCA0" group="WO" field="PORTMUX.CTRLC.TCA01"/>
<signal pad-key="pb2" index="2" function="TCA0" group="WO" field="PORTMUX.CTRLC.TCA02"/>
<signal pad-key="pa3" index="3" function="TCA0" group="WO" field="PORTMUX.CTRLC.TCA03"/>
<signal pad-key="pa4" index="4" function="TCA0" group="WO" field="PORTMUX.CTRLC.TCA04"/>
<signal pad-key="pa5" index="5" function="TCA0" group="WO" field="PORTMUX.CTRLC.TCA05"/>
</signals>
</peripheral>
<peripheral key="tcb0" name="TCB0" module-key="i2119">
<register-group-instance register-group-key="tcb" address-space-key="data" offset="0xA40"/>
<signals>
<signal pad-id="pa5" index="0" function="TCB0" group="WO" field="PORTMUX.CTRLD.TCB0"/>
<signal pad-key="pa5" index="0" function="TCB0" group="WO" field="PORTMUX.CTRLD.TCB0"/>
</signals>
</peripheral>
<peripheral key="twi0" name="TWI0" module-key="i2110">
<register-group-instance register-group-key="twi" address-space-key="data" offset="0x810"/>
<signals>
<signal pad-id="pb0" function="TWI0" group="SCL" field="PORTMUX.CTRLB.TWI0"/>
<signal pad-id="pb1" function="TWI0" group="SDA" field="PORTMUX.CTRLB.TWI0"/>
<signal pad-key="pb0" function="TWI0" group="SCL" field="PORTMUX.CTRLB.TWI0"/>
<signal pad-key="pb1" function="TWI0" group="SDA" field="PORTMUX.CTRLB.TWI0"/>
</signals>
</peripheral>
<peripheral key="usart0" name="USART0" module-key="i2108">
<register-group-instance register-group-key="usart" address-space-key="data" offset="0x800"/>
<signals>
<signal pad-id="pa2" function="USART0_ALT" group="RXD" field="PORTMUX.CTRLB.USART0"/>
<signal pad-id="pb3" function="USART0" group="RXD" field="PORTMUX.CTRLB.USART0"/>
<signal pad-id="pa1" function="USART0_ALT" group="TXD" field="PORTMUX.CTRLB.USART0"/>
<signal pad-id="pb2" function="USART0" group="TXD" field="PORTMUX.CTRLB.USART0"/>
<signal pad-id="pa3" function="USART0_ALT" group="XCK" field="PORTMUX.CTRLB.USART0"/>
<signal pad-id="pb1" function="USART0" group="XCK" field="PORTMUX.CTRLB.USART0"/>
<signal pad-id="pa4" function="USART0_ALT" group="XDIR" field="PORTMUX.CTRLB.USART0"/>
<signal pad-id="pb0" function="USART0" group="XDIR" field="PORTMUX.CTRLB.USART0"/>
<signal pad-key="pa2" function="USART0_ALT" group="RXD" field="PORTMUX.CTRLB.USART0"/>
<signal pad-key="pb3" function="USART0" group="RXD" field="PORTMUX.CTRLB.USART0"/>
<signal pad-key="pa1" function="USART0_ALT" group="TXD" field="PORTMUX.CTRLB.USART0"/>
<signal pad-key="pb2" function="USART0" group="TXD" field="PORTMUX.CTRLB.USART0"/>
<signal pad-key="pa3" function="USART0_ALT" group="XCK" field="PORTMUX.CTRLB.USART0"/>
<signal pad-key="pb1" function="USART0" group="XCK" field="PORTMUX.CTRLB.USART0"/>
<signal pad-key="pa4" function="USART0_ALT" group="XDIR" field="PORTMUX.CTRLB.USART0"/>
<signal pad-key="pb0" function="USART0" group="XDIR" field="PORTMUX.CTRLB.USART0"/>
</signals>
</peripheral>
<peripheral key="userrow" name="USERROW" module-key="i2603_userrow">
@@ -1159,26 +1159,42 @@
</register-group>
</module>
</modules>
<pads>
<pad key="vdd" name="VDD"/>
<pad key="pa4" name="PA4"/>
<pad key="pa5" name="PA5"/>
<pad key="pa6" name="PA6"/>
<pad key="pa7" name="PA7"/>
<pad key="pb3" name="PB3"/>
<pad key="pb2" name="PB2"/>
<pad key="pb1" name="PB1"/>
<pad key="pb0" name="PB0"/>
<pad key="pa0" name="PA0"/>
<pad key="pa1" name="PA1"/>
<pad key="pa2" name="PA2"/>
<pad key="pa3" name="PA3"/>
<pad key="gnd" name="GND"/>
</pads>
<pinouts>
<pinout key="soic14" name="SOIC14" type="soic">
<pin position="1" pad="VDD"/>
<pin position="2" pad="PA4"/>
<pin position="3" pad="PA5"/>
<pin position="4" pad="PA6"/>
<pin position="5" pad="PA7"/>
<pin position="6" pad="PB3"/>
<pin position="7" pad="PB2"/>
<pin position="8" pad="PB1"/>
<pin position="9" pad="PB0"/>
<pin position="10" pad="PA0"/>
<pin position="11" pad="PA1"/>
<pin position="12" pad="PA2"/>
<pin position="13" pad="PA3"/>
<pin position="14" pad="GND"/>
<pin position="1" pad-key="vdd"/>
<pin position="2" pad-key="pa4"/>
<pin position="3" pad-key="pa5"/>
<pin position="4" pad-key="pa6"/>
<pin position="5" pad-key="pa7"/>
<pin position="6" pad-key="pb3"/>
<pin position="7" pad-key="pb2"/>
<pin position="8" pad-key="pb1"/>
<pin position="9" pad-key="pb0"/>
<pin position="10" pad-key="pa0"/>
<pin position="11" pad-key="pa1"/>
<pin position="12" pad-key="pa2"/>
<pin position="13" pad-key="pa3"/>
<pin position="14" pad-key="gnd"/>
</pinout>
</pinouts>
<variants>
<variant name="ATtiny1604-SSFR" pinout-key="soic14" package="SOIC14"/>
<variant name="ATtiny1604-SSNR" pinout-key="soic14" package="SOIC14"/>
<variant key="attiny1604_ssfr" name="ATtiny1604-SSFR" pinout-key="soic14"/>
<variant key="attiny1604_ssnr" name="ATtiny1604-SSNR" pinout-key="soic14"/>
</variants>
</device>