Rahix / avr-device

Register access crate for AVR microcontrollers
Apache License 2.0
168 stars 67 forks source link

More pin field fixes #149

Closed Rahix closed 5 months ago

Rahix commented 5 months ago

See https://github.com/Rahix/avr-hal/pull/500.

Rahix commented 5 months ago

ATtiny167

diff --color -Nur svd-orig/attiny167.svd.patched svd/attiny167.svd.patched
--- svd-orig/attiny167.svd.patched  2024-01-28 18:18:08.076484565 +0100
+++ svd/attiny167.svd.patched   2024-01-28 18:18:12.863209047 +0100
@@ -2100,7 +2100,15 @@
               <maximum>255</maximum>
             </range>
           </writeConstraint>
-        </register>
+        <fields><field><name>PA0</name><description>Pin A0</description><bitRange>[0:0]</bitRange><access>read-write</access></field>
+            <field><name>PA1</name><description>Pin A1</description><bitRange>[1:1]</bitRange><access>read-write</access></field>
+            <field><name>PA2</name><description>Pin A2</description><bitRange>[2:2]</bitRange><access>read-write</access></field>
+            <field><name>PA3</name><description>Pin A3</description><bitRange>[3:3]</bitRange><access>read-write</access></field>
+            <field><name>PA4</name><description>Pin A4</description><bitRange>[4:4]</bitRange><access>read-write</access></field>
+            <field><name>PA5</name><description>Pin A5</description><bitRange>[5:5]</bitRange><access>read-write</access></field>
+            <field><name>PA6</name><description>Pin A6</description><bitRange>[6:6]</bitRange><access>read-write</access></field>
+            <field><name>PA7</name><description>Pin A7</description><bitRange>[7:7]</bitRange><access>read-write</access></field>
+            </fields></register>
         <register>
           <name>PINA</name>
           <description>Port A Input Pins</description>
@@ -2113,7 +2121,15 @@
               <maximum>255</maximum>
             </range>
           </writeConstraint>
-        </register>
+        <fields><field><name>PA0</name><description>Pin A0</description><bitRange>[0:0]</bitRange><access>read-write</access></field>
+            <field><name>PA1</name><description>Pin A1</description><bitRange>[1:1]</bitRange><access>read-write</access></field>
+            <field><name>PA2</name><description>Pin A2</description><bitRange>[2:2]</bitRange><access>read-write</access></field>
+            <field><name>PA3</name><description>Pin A3</description><bitRange>[3:3]</bitRange><access>read-write</access></field>
+            <field><name>PA4</name><description>Pin A4</description><bitRange>[4:4]</bitRange><access>read-write</access></field>
+            <field><name>PA5</name><description>Pin A5</description><bitRange>[5:5]</bitRange><access>read-write</access></field>
+            <field><name>PA6</name><description>Pin A6</description><bitRange>[6:6]</bitRange><access>read-write</access></field>
+            <field><name>PA7</name><description>Pin A7</description><bitRange>[7:7]</bitRange><access>read-write</access></field>
+            </fields></register>
         <register>
           <name>PORTA</name>
           <description>Port A Data Register</description>
@@ -2126,7 +2142,15 @@
               <maximum>255</maximum>
             </range>
           </writeConstraint>
-        </register>
+        <fields><field><name>PA0</name><description>Pin A0</description><bitRange>[0:0]</bitRange><access>read-write</access></field>
+            <field><name>PA1</name><description>Pin A1</description><bitRange>[1:1]</bitRange><access>read-write</access></field>
+            <field><name>PA2</name><description>Pin A2</description><bitRange>[2:2]</bitRange><access>read-write</access></field>
+            <field><name>PA3</name><description>Pin A3</description><bitRange>[3:3]</bitRange><access>read-write</access></field>
+            <field><name>PA4</name><description>Pin A4</description><bitRange>[4:4]</bitRange><access>read-write</access></field>
+            <field><name>PA5</name><description>Pin A5</description><bitRange>[5:5]</bitRange><access>read-write</access></field>
+            <field><name>PA6</name><description>Pin A6</description><bitRange>[6:6]</bitRange><access>read-write</access></field>
+            <field><name>PA7</name><description>Pin A7</description><bitRange>[7:7]</bitRange><access>read-write</access></field>
+            </fields></register>
       </registers>
     </peripheral>
     <peripheral>
@@ -2151,7 +2175,15 @@
               <maximum>255</maximum>
             </range>
           </writeConstraint>
-        </register>
+        <fields><field><name>PB0</name><description>Pin B0</description><bitRange>[0:0]</bitRange><access>read-write</access></field>
+            <field><name>PB1</name><description>Pin B1</description><bitRange>[1:1]</bitRange><access>read-write</access></field>
+            <field><name>PB2</name><description>Pin B2</description><bitRange>[2:2]</bitRange><access>read-write</access></field>
+            <field><name>PB3</name><description>Pin B3</description><bitRange>[3:3]</bitRange><access>read-write</access></field>
+            <field><name>PB4</name><description>Pin B4</description><bitRange>[4:4]</bitRange><access>read-write</access></field>
+            <field><name>PB5</name><description>Pin B5</description><bitRange>[5:5]</bitRange><access>read-write</access></field>
+            <field><name>PB6</name><description>Pin B6</description><bitRange>[6:6]</bitRange><access>read-write</access></field>
+            <field><name>PB7</name><description>Pin B7</description><bitRange>[7:7]</bitRange><access>read-write</access></field>
+            </fields></register>
         <register>
           <name>PINB</name>
           <description>Port B Input Pins</description>
@@ -2164,7 +2196,15 @@
               <maximum>255</maximum>
             </range>
           </writeConstraint>
-        </register>
+        <fields><field><name>PB0</name><description>Pin B0</description><bitRange>[0:0]</bitRange><access>read-write</access></field>
+            <field><name>PB1</name><description>Pin B1</description><bitRange>[1:1]</bitRange><access>read-write</access></field>
+            <field><name>PB2</name><description>Pin B2</description><bitRange>[2:2]</bitRange><access>read-write</access></field>
+            <field><name>PB3</name><description>Pin B3</description><bitRange>[3:3]</bitRange><access>read-write</access></field>
+            <field><name>PB4</name><description>Pin B4</description><bitRange>[4:4]</bitRange><access>read-write</access></field>
+            <field><name>PB5</name><description>Pin B5</description><bitRange>[5:5]</bitRange><access>read-write</access></field>
+            <field><name>PB6</name><description>Pin B6</description><bitRange>[6:6]</bitRange><access>read-write</access></field>
+            <field><name>PB7</name><description>Pin B7</description><bitRange>[7:7]</bitRange><access>read-write</access></field>
+            </fields></register>
         <register>
           <name>PORTB</name>
           <description>Port B Data Register</description>
@@ -2177,7 +2217,15 @@
               <maximum>255</maximum>
             </range>
           </writeConstraint>
-        </register>
+        <fields><field><name>PB0</name><description>Pin B0</description><bitRange>[0:0]</bitRange><access>read-write</access></field>
+            <field><name>PB1</name><description>Pin B1</description><bitRange>[1:1]</bitRange><access>read-write</access></field>
+            <field><name>PB2</name><description>Pin B2</description><bitRange>[2:2]</bitRange><access>read-write</access></field>
+            <field><name>PB3</name><description>Pin B3</description><bitRange>[3:3]</bitRange><access>read-write</access></field>
+            <field><name>PB4</name><description>Pin B4</description><bitRange>[4:4]</bitRange><access>read-write</access></field>
+            <field><name>PB5</name><description>Pin B5</description><bitRange>[5:5]</bitRange><access>read-write</access></field>
+            <field><name>PB6</name><description>Pin B6</description><bitRange>[6:6]</bitRange><access>read-write</access></field>
+            <field><name>PB7</name><description>Pin B7</description><bitRange>[7:7]</bitRange><access>read-write</access></field>
+            </fields></register>
       </registers>
     </peripheral>

ATtiny84

diff --color -Nur svd-orig/attiny84.svd.patched svd/attiny84.svd.patched
--- svd-orig/attiny84.svd.patched   2024-01-28 18:22:28.672939564 +0100
+++ svd/attiny84.svd.patched    2024-01-28 18:22:36.656367830 +0100
@@ -1257,7 +1257,15 @@
               <maximum>255</maximum>
             </range>
           </writeConstraint>
-        </register>
+        <fields><field><name>PA0</name><description>Pin A0</description><bitRange>[0:0]</bitRange><access>read-write</access></field>
+            <field><name>PA1</name><description>Pin A1</description><bitRange>[1:1]</bitRange><access>read-write</access></field>
+            <field><name>PA2</name><description>Pin A2</description><bitRange>[2:2]</bitRange><access>read-write</access></field>
+            <field><name>PA3</name><description>Pin A3</description><bitRange>[3:3]</bitRange><access>read-write</access></field>
+            <field><name>PA4</name><description>Pin A4</description><bitRange>[4:4]</bitRange><access>read-write</access></field>
+            <field><name>PA5</name><description>Pin A5</description><bitRange>[5:5]</bitRange><access>read-write</access></field>
+            <field><name>PA6</name><description>Pin A6</description><bitRange>[6:6]</bitRange><access>read-write</access></field>
+            <field><name>PA7</name><description>Pin A7</description><bitRange>[7:7]</bitRange><access>read-write</access></field>
+            </fields></register>
         <register>
           <name>PINA</name>
           <description>Port A Input Pins</description>
@@ -1270,7 +1278,15 @@
               <maximum>255</maximum>
             </range>
           </writeConstraint>
-        </register>
+        <fields><field><name>PA0</name><description>Pin A0</description><bitRange>[0:0]</bitRange><access>read-write</access></field>
+            <field><name>PA1</name><description>Pin A1</description><bitRange>[1:1]</bitRange><access>read-write</access></field>
+            <field><name>PA2</name><description>Pin A2</description><bitRange>[2:2]</bitRange><access>read-write</access></field>
+            <field><name>PA3</name><description>Pin A3</description><bitRange>[3:3]</bitRange><access>read-write</access></field>
+            <field><name>PA4</name><description>Pin A4</description><bitRange>[4:4]</bitRange><access>read-write</access></field>
+            <field><name>PA5</name><description>Pin A5</description><bitRange>[5:5]</bitRange><access>read-write</access></field>
+            <field><name>PA6</name><description>Pin A6</description><bitRange>[6:6]</bitRange><access>read-write</access></field>
+            <field><name>PA7</name><description>Pin A7</description><bitRange>[7:7]</bitRange><access>read-write</access></field>
+            </fields></register>
         <register>
           <name>PORTA</name>
           <description>Port A Data Register</description>
@@ -1283,7 +1299,15 @@
               <maximum>255</maximum>
             </range>
           </writeConstraint>
-        </register>
+        <fields><field><name>PA0</name><description>Pin A0</description><bitRange>[0:0]</bitRange><access>read-write</access></field>
+            <field><name>PA1</name><description>Pin A1</description><bitRange>[1:1]</bitRange><access>read-write</access></field>
+            <field><name>PA2</name><description>Pin A2</description><bitRange>[2:2]</bitRange><access>read-write</access></field>
+            <field><name>PA3</name><description>Pin A3</description><bitRange>[3:3]</bitRange><access>read-write</access></field>
+            <field><name>PA4</name><description>Pin A4</description><bitRange>[4:4]</bitRange><access>read-write</access></field>
+            <field><name>PA5</name><description>Pin A5</description><bitRange>[5:5]</bitRange><access>read-write</access></field>
+            <field><name>PA6</name><description>Pin A6</description><bitRange>[6:6]</bitRange><access>read-write</access></field>
+            <field><name>PA7</name><description>Pin A7</description><bitRange>[7:7]</bitRange><access>read-write</access></field>
+            </fields></register>
       </registers>
     </peripheral>
     <peripheral>
@@ -1308,7 +1332,11 @@
               <maximum>255</maximum>
             </range>
           </writeConstraint>
-        </register>
+        <fields><field><name>PB0</name><description>Pin B0</description><bitRange>[0:0]</bitRange><access>read-write</access></field>
+            <field><name>PB1</name><description>Pin B1</description><bitRange>[1:1]</bitRange><access>read-write</access></field>
+            <field><name>PB2</name><description>Pin B2</description><bitRange>[2:2]</bitRange><access>read-write</access></field>
+            <field><name>PB3</name><description>Pin B3</description><bitRange>[3:3]</bitRange><access>read-write</access></field>
+            </fields></register>
         <register>
           <name>PINB</name>
           <description>Input Pins, Port B</description>
@@ -1321,7 +1349,11 @@
               <maximum>255</maximum>
             </range>
           </writeConstraint>
-        </register>
+        <fields><field><name>PB0</name><description>Pin B0</description><bitRange>[0:0]</bitRange><access>read-write</access></field>
+            <field><name>PB1</name><description>Pin B1</description><bitRange>[1:1]</bitRange><access>read-write</access></field>
+            <field><name>PB2</name><description>Pin B2</description><bitRange>[2:2]</bitRange><access>read-write</access></field>
+            <field><name>PB3</name><description>Pin B3</description><bitRange>[3:3]</bitRange><access>read-write</access></field>
+            </fields></register>
         <register>
           <name>PORTB</name>
           <description>Data Register, Port B</description>
@@ -1334,7 +1366,11 @@
               <maximum>255</maximum>
             </range>
           </writeConstraint>
-        </register>
+        <fields><field><name>PB0</name><description>Pin B0</description><bitRange>[0:0]</bitRange><access>read-write</access></field>
+            <field><name>PB1</name><description>Pin B1</description><bitRange>[1:1]</bitRange><access>read-write</access></field>
+            <field><name>PB2</name><description>Pin B2</description><bitRange>[2:2]</bitRange><access>read-write</access></field>
+            <field><name>PB3</name><description>Pin B3</description><bitRange>[3:3]</bitRange><access>read-write</access></field>
+            </fields></register>
       </registers>
     </peripheral>
     <peripheral>