diff --git a/Cargo.toml b/Cargo.toml
index 60d115f..b17a054 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -65,12 +65,14 @@ attiny214 = ["device-selected"]
attiny2313 = ["device-selected"]
attiny2313a = ["device-selected"]
attiny26 = ["device-selected"]
+attiny261a = ["device-selected"]
attiny402 = ["device-selected"]
attiny404 = ["device-selected"]
attiny412 = ["device-selected"]
attiny414 = ["device-selected"]
attiny416 = ["device-selected"]
attiny44a = ["device-selected"]
+attiny461a = ["device-selected"]
attiny804 = ["device-selected"]
attiny816 = ["device-selected"]
attiny828 = ["device-selected"]
@@ -79,6 +81,7 @@ attiny841 = ["device-selected"]
attiny84a = ["device-selected"]
attiny85 = ["device-selected"]
attiny861 = ["device-selected"]
+attiny861a = ["device-selected"]
attiny88 = ["device-selected"]
attiny1604 = ["device-selected"]
attiny1606 = ["device-selected"]
diff --git a/README.md b/README.md
index 54ba817..22924aa 100644
--- a/README.md
+++ b/README.md
@@ -20,21 +20,25 @@ Via the feature you can select which chip you want the register specifications f
| `atmega644` | `atmega32u4` | `atmega4809` | `at90can32` | `attiny204` |
| `atmega88p` | `avr64du32` | | | `attiny212` |
| `atmega16` | `avr64du28` | | | `attiny214` |
-| `atmega168` | | | | `attiny402` |
-| `atmega324pa` | | | | `attiny404` |
-| `atmega328p` | | | | `attiny412` |
-| `atmega328pb` | | | | `attiny414` |
-| `atmega32a` | | | | `attiny416` |
-| `atmega1280` | | | | `attiny44a` |
-| `atmega1284p` | | | | `attiny84` |
-| `atmega128a` | | | | `attiny85` |
-| `atmega128rfa1` | | | | `attiny88` |
-| `atmega2560` | | | | `attiny804` |
-| `atmega164pa` | | | | `attiny816` |
+| `atmega168` | | | | `attiny26` |
+| `atmega324pa` | | | | `attiny261a` |
+| `atmega328p` | | | | `attiny402` |
+| `atmega328pb` | | | | `attiny404` |
+| `atmega32a` | | | | `attiny412` |
+| `atmega1280` | | | | `attiny414` |
+| `atmega1284p` | | | | `attiny416` |
+| `atmega128a` | | | | `attiny44a` |
+| `atmega128rfa1` | | | | `attiny461a` |
+| `atmega2560` | | | | `attiny84` |
+| `atmega164pa` | | | | `attiny85` |
+| | | | | `attiny88` |
+| | | | | `attiny804` |
+| | | | | `attiny816` |
| | | | | `attiny828` |
| | | | | `attiny841` |
| | | | | `attiny84a` |
| | | | | `attiny861` |
+| | | | | `attiny861a` |
| | | | | `attiny1604` |
| | | | | `attiny1606` |
| | | | | `attiny1614` |
diff --git a/patch/attiny26.yaml b/patch/attiny26.yaml
index 9267270..684dc7e 100644
--- a/patch/attiny26.yaml
+++ b/patch/attiny26.yaml
@@ -2,6 +2,7 @@ _include:
- "common/ac.yaml"
- "common/wdt.yaml"
- "common/tiny/usi.yaml"
+ - "common/tiny/attinyx61a-ports.yaml"
# All FUSEs are read-only from the CPU.
FUSE:
@@ -74,211 +75,3 @@ ADC:
AREF: [1, "External Voltage Reference at AREF pin, Internal Voltage Reference turned off"]
INTERNAL: [2, "Internal 2.56V Voltage Reference without external bypass"]
INTERNAL_BYPASS: [3, "Internal 2.56V Voltage Reference with external bypass capacitor at AREF pin"]
-
-PORTA:
- DDRA:
- _add:
- PA0:
- description: "Pin A0"
- bitRange: "[0:0]"
- access: read-write
- PA1:
- description: "Pin A1"
- bitRange: "[1:1]"
- access: read-write
- PA2:
- description: "Pin A2"
- bitRange: "[2:2]"
- access: read-write
- PA3:
- description: "Pin A3"
- bitRange: "[3:3]"
- access: read-write
- PA4:
- description: "Pin A4"
- bitRange: "[4:4]"
- access: read-write
- PA5:
- description: "Pin A5"
- bitRange: "[5:5]"
- access: read-write
- PA6:
- description: "Pin A6"
- bitRange: "[6:6]"
- access: read-write
- PA7:
- description: "Pin A7"
- bitRange: "[7:7]"
- access: read-write
- PINA:
- _add:
- PA0:
- description: "Pin A0"
- bitRange: "[0:0]"
- access: read-write
- PA1:
- description: "Pin A1"
- bitRange: "[1:1]"
- access: read-write
- PA2:
- description: "Pin A2"
- bitRange: "[2:2]"
- access: read-write
- PA3:
- description: "Pin A3"
- bitRange: "[3:3]"
- access: read-write
- PA4:
- description: "Pin A4"
- bitRange: "[4:4]"
- access: read-write
- PA5:
- description: "Pin A5"
- bitRange: "[5:5]"
- access: read-write
- PA6:
- description: "Pin A6"
- bitRange: "[6:6]"
- access: read-write
- PA7:
- description: "Pin A7"
- bitRange: "[7:7]"
- access: read-write
- PORTA:
- _add:
- PA0:
- description: "Pin A0"
- bitRange: "[0:0]"
- access: read-write
- PA1:
- description: "Pin A1"
- bitRange: "[1:1]"
- access: read-write
- PA2:
- description: "Pin A2"
- bitRange: "[2:2]"
- access: read-write
- PA3:
- description: "Pin A3"
- bitRange: "[3:3]"
- access: read-write
- PA4:
- description: "Pin A4"
- bitRange: "[4:4]"
- access: read-write
- PA5:
- description: "Pin A5"
- bitRange: "[5:5]"
- access: read-write
- PA6:
- description: "Pin A6"
- bitRange: "[6:6]"
- access: read-write
- PA7:
- description: "Pin A7"
- bitRange: "[7:7]"
- access: read-write
-
-PORTB:
- DDRB:
- _add:
- PB0:
- description: "Pin B0"
- bitRange: "[0:0]"
- access: read-write
- PB1:
- description: "Pin B1"
- bitRange: "[1:1]"
- access: read-write
- PB2:
- description: "Pin B2"
- bitRange: "[2:2]"
- access: read-write
- PB3:
- description: "Pin B3"
- bitRange: "[3:3]"
- access: read-write
- PB4:
- description: "Pin B4"
- bitRange: "[4:4]"
- access: read-write
- PB5:
- description: "Pin B5"
- bitRange: "[5:5]"
- access: read-write
- PB6:
- description: "Pin B6"
- bitRange: "[6:6]"
- access: read-write
- PB7:
- description: "Pin B7"
- bitRange: "[7:7]"
- access: read-write
- PINB:
- _add:
- PB0:
- description: "Pin B0"
- bitRange: "[0:0]"
- access: read-write
- PB1:
- description: "Pin B1"
- bitRange: "[1:1]"
- access: read-write
- PB2:
- description: "Pin B2"
- bitRange: "[2:2]"
- access: read-write
- PB3:
- description: "Pin B3"
- bitRange: "[3:3]"
- access: read-write
- PB4:
- description: "Pin B4"
- bitRange: "[4:4]"
- access: read-write
- PB5:
- description: "Pin B5"
- bitRange: "[5:5]"
- access: read-write
- PB6:
- description: "Pin B6"
- bitRange: "[6:6]"
- access: read-write
- PB7:
- description: "Pin B7"
- bitRange: "[7:7]"
- access: read-write
- PORTB:
- _add:
- PB0:
- description: "Pin B0"
- bitRange: "[0:0]"
- access: read-write
- PB1:
- description: "Pin B1"
- bitRange: "[1:1]"
- access: read-write
- PB2:
- description: "Pin B2"
- bitRange: "[2:2]"
- access: read-write
- PB3:
- description: "Pin B3"
- bitRange: "[3:3]"
- access: read-write
- PB4:
- description: "Pin B4"
- bitRange: "[4:4]"
- access: read-write
- PB5:
- description: "Pin B5"
- bitRange: "[5:5]"
- access: read-write
- PB6:
- description: "Pin B6"
- bitRange: "[6:6]"
- access: read-write
- PB7:
- description: "Pin B7"
- bitRange: "[7:7]"
- access: read-write
diff --git a/patch/attiny261a.yaml b/patch/attiny261a.yaml
new file mode 100644
index 0000000..70bd99e
--- /dev/null
+++ b/patch/attiny261a.yaml
@@ -0,0 +1,16 @@
+_svd: ../svd/attiny261a.svd
+
+_include:
+ - "common/ac.yaml"
+ - "common/tiny/attinyx61a-adc.yaml"
+ - "common/tiny/attinyx61a-ports.yaml"
+ - "common/tiny/usi.yaml"
+ - "common/wdt.yaml"
+ - "timer/attiny861.yaml"
+ - "common/tiny/attinyx61a-timers.yaml"
+
+# All FUSEs are read-only from the CPU.
+FUSE:
+ _modify:
+ "*":
+ access: read-only
diff --git a/patch/attiny461a.yaml b/patch/attiny461a.yaml
new file mode 100644
index 0000000..36e56fb
--- /dev/null
+++ b/patch/attiny461a.yaml
@@ -0,0 +1,16 @@
+_svd: ../svd/attiny461a.svd
+
+_include:
+ - "common/ac.yaml"
+ - "common/tiny/attinyx61a-adc.yaml"
+ - "common/tiny/attinyx61a-ports.yaml"
+ - "common/tiny/usi.yaml"
+ - "common/wdt.yaml"
+ - "timer/attiny861.yaml"
+ - "common/tiny/attinyx61a-timers.yaml"
+
+# All FUSEs are read-only from the CPU.
+FUSE:
+ _modify:
+ "*":
+ access: read-only
diff --git a/patch/attiny861a.yaml b/patch/attiny861a.yaml
new file mode 100644
index 0000000..f5e1029
--- /dev/null
+++ b/patch/attiny861a.yaml
@@ -0,0 +1,16 @@
+_svd: ../svd/attiny861a.svd
+
+_include:
+ - "common/ac.yaml"
+ - "common/tiny/attinyx61a-adc.yaml"
+ - "common/tiny/attinyx61a-ports.yaml"
+ - "common/tiny/usi.yaml"
+ - "common/wdt.yaml"
+ - "timer/attiny861.yaml"
+ - "common/tiny/attinyx61a-timers.yaml"
+
+# All FUSEs are read-only from the CPU.
+FUSE:
+ _modify:
+ "*":
+ access: read-only
diff --git a/patch/common/tiny/attinyx61a-adc.yaml b/patch/common/tiny/attinyx61a-adc.yaml
new file mode 100644
index 0000000..70195c9
--- /dev/null
+++ b/patch/common/tiny/attinyx61a-adc.yaml
@@ -0,0 +1,71 @@
+# attiny261a, attiny461a, attiny861a
+
+ADC:
+ _modify:
+ ADCSRA:
+ description: "ADC Control and Status Register A"
+ ADCSRA:
+ ADPS:
+ _replace_enum:
+ PRESCALER_2: [1, "Prescaler Value 2"]
+ PRESCALER_4: [2, "Prescaler Value 4"]
+ PRESCALER_8: [3, "Prescaler Value 8"]
+ PRESCALER_16: [4, "Prescaler Value 16"]
+ PRESCALER_32: [5, "Prescaler Value 32"]
+ PRESCALER_64: [6, "Prescaler Value 64"]
+ PRESCALER_128: [7, "Prescaler Value 128"]
+ ADMUX:
+ _modify:
+ MUX:
+ _write_constraint: enum
+ REFS:
+ _write_constraint: enum
+ MUX:
+ _replace_enum:
+ ADC0: [0, "Single-ended Input ADC0"]
+ ADC1: [1, "Single-ended Input ADC1"]
+ ADC2: [2, "Single-ended Input ADC2"]
+ ADC3: [3, "Single-ended Input ADC3"]
+ ADC4: [4, "Single-ended Input ADC4"]
+ ADC5: [5, "Single-ended Input ADC5"]
+ ADC6: [6, "Single-ended Input ADC6"]
+ ADC7: [7, "Single-ended Input ADC7"]
+ ADC8: [8, "Single-ended Input ADC8"]
+ ADC9: [9, "Single-ended Input ADC9"]
+ ADC10: [10, "Single-ended Input ADC10"]
+
+ ADC0_ADC1_20X: [11, "Differential Inputs Positive ADC0 Negative ADC1 20x Gain"]
+ ADC0_ADC1_1X: [12, "Differential Inputs Positive ADC0 Negative ADC1 1x Gain"]
+ ADC1_ADC1_20X: [13, "Differential Inputs Positive ADC1 Negative ADC1 20x Gain (for offset compensation)"]
+ ADC2_ADC1_20X: [14, "Differential Inputs Positive ADC2 Negative ADC1 20x Gain"]
+ ADC2_ADC1_1X: [15, "Differential Inputs Positive ADC2 Negative ADC1 1x Gain"]
+
+ ADC2_ADC3_1X: [16, "Differential Inputs Positive ADC2 Negative ADC3 1x Gain"]
+ ADC3_ADC3_20X: [17, "Differential Inputs Positive ADC3 Negative ADC3 20x Gain (for offset compensation)"]
+ ADC4_ADC3_20X: [18, "Differential Inputs Positive ADC4 Negative ADC3 20x Gain"]
+ ADC4_ADC3_1X: [19, "Differential Inputs Positive ADC4 Negative ADC3 1x Gain"]
+
+ ADC4_ADC5_20X: [20, "Differential Inputs Positive ADC4 Negative ADC5 20x Gain"]
+ ADC4_ADC5_1X: [21, "Differential Inputs Positive ADC4 Negative ADC5 1x Gain"]
+ ADC5_ADC5_20X: [22, "Differential Inputs Positive ADC5 Negative ADC5 20x Gain (for offset compensation)"]
+ ADC6_ADC5_20X: [23, "Differential Inputs Positive ADC6 Negative ADC5 20x Gain"]
+ ADC6_ADC5_1X: [24, "Differential Inputs Positive ADC6 Negative ADC5 1x Gain"]
+
+ ADC8_ADC9_20X: [25, "Differential Inputs Positive ADC8 Negative ADC9 20x Gain"]
+ ADC8_ADC9_1X: [26, "Differential Inputs Positive ADC8 Negative ADC9 1x Gain"]
+ ADC9_ADC9_20X: [27, "Differential Inputs Positive ADC9 Negative ADC9 20x Gain (for offset compensation)"]
+ ADC10_ADC9_20X: [28, "Differential Inputs Positive ADC10 Negative ADC9 20x Gain"]
+ ADC10_ADC9_1X: [29, "Differential Inputs Positive ADC10 Negative ADC9 1x Gain"]
+
+ ADC_VREF_1P1: [30, "Internal 1.1V Reference"]
+ ADC_GND: [31, "0V (GND)"]
+
+ # TODO: More mux settings are possible together with ADCSRB/MUX5=1
+
+ REFS:
+ _replace_enum:
+ VCC: [0, "Vcc used as Voltage Reference, disconnected from Aref"]
+ AREF: [1, "External Voltage Reference at AREF pin, Internal Voltage Reference turned off"]
+ INTERNAL: [2, "Internal 1.1V Voltage Reference"]
+
+ # TODO: More ref settings are possible together with ADCSRB/REFS2=1
diff --git a/patch/common/tiny/attinyx61a-ports.yaml b/patch/common/tiny/attinyx61a-ports.yaml
new file mode 100644
index 0000000..a46564a
--- /dev/null
+++ b/patch/common/tiny/attinyx61a-ports.yaml
@@ -0,0 +1,209 @@
+# attiny26, attiny261a, attiny461a, attiny861a
+
+PORTA:
+ DDRA:
+ _add:
+ PA0:
+ description: "Pin A0"
+ bitRange: "[0:0]"
+ access: read-write
+ PA1:
+ description: "Pin A1"
+ bitRange: "[1:1]"
+ access: read-write
+ PA2:
+ description: "Pin A2"
+ bitRange: "[2:2]"
+ access: read-write
+ PA3:
+ description: "Pin A3"
+ bitRange: "[3:3]"
+ access: read-write
+ PA4:
+ description: "Pin A4"
+ bitRange: "[4:4]"
+ access: read-write
+ PA5:
+ description: "Pin A5"
+ bitRange: "[5:5]"
+ access: read-write
+ PA6:
+ description: "Pin A6"
+ bitRange: "[6:6]"
+ access: read-write
+ PA7:
+ description: "Pin A7"
+ bitRange: "[7:7]"
+ access: read-write
+ PINA:
+ _add:
+ PA0:
+ description: "Pin A0"
+ bitRange: "[0:0]"
+ access: read-write
+ PA1:
+ description: "Pin A1"
+ bitRange: "[1:1]"
+ access: read-write
+ PA2:
+ description: "Pin A2"
+ bitRange: "[2:2]"
+ access: read-write
+ PA3:
+ description: "Pin A3"
+ bitRange: "[3:3]"
+ access: read-write
+ PA4:
+ description: "Pin A4"
+ bitRange: "[4:4]"
+ access: read-write
+ PA5:
+ description: "Pin A5"
+ bitRange: "[5:5]"
+ access: read-write
+ PA6:
+ description: "Pin A6"
+ bitRange: "[6:6]"
+ access: read-write
+ PA7:
+ description: "Pin A7"
+ bitRange: "[7:7]"
+ access: read-write
+ PORTA:
+ _add:
+ PA0:
+ description: "Pin A0"
+ bitRange: "[0:0]"
+ access: read-write
+ PA1:
+ description: "Pin A1"
+ bitRange: "[1:1]"
+ access: read-write
+ PA2:
+ description: "Pin A2"
+ bitRange: "[2:2]"
+ access: read-write
+ PA3:
+ description: "Pin A3"
+ bitRange: "[3:3]"
+ access: read-write
+ PA4:
+ description: "Pin A4"
+ bitRange: "[4:4]"
+ access: read-write
+ PA5:
+ description: "Pin A5"
+ bitRange: "[5:5]"
+ access: read-write
+ PA6:
+ description: "Pin A6"
+ bitRange: "[6:6]"
+ access: read-write
+ PA7:
+ description: "Pin A7"
+ bitRange: "[7:7]"
+ access: read-write
+
+PORTB:
+ DDRB:
+ _add:
+ PB0:
+ description: "Pin B0"
+ bitRange: "[0:0]"
+ access: read-write
+ PB1:
+ description: "Pin B1"
+ bitRange: "[1:1]"
+ access: read-write
+ PB2:
+ description: "Pin B2"
+ bitRange: "[2:2]"
+ access: read-write
+ PB3:
+ description: "Pin B3"
+ bitRange: "[3:3]"
+ access: read-write
+ PB4:
+ description: "Pin B4"
+ bitRange: "[4:4]"
+ access: read-write
+ PB5:
+ description: "Pin B5"
+ bitRange: "[5:5]"
+ access: read-write
+ PB6:
+ description: "Pin B6"
+ bitRange: "[6:6]"
+ access: read-write
+ PB7:
+ description: "Pin B7"
+ bitRange: "[7:7]"
+ access: read-write
+ PINB:
+ _add:
+ PB0:
+ description: "Pin B0"
+ bitRange: "[0:0]"
+ access: read-write
+ PB1:
+ description: "Pin B1"
+ bitRange: "[1:1]"
+ access: read-write
+ PB2:
+ description: "Pin B2"
+ bitRange: "[2:2]"
+ access: read-write
+ PB3:
+ description: "Pin B3"
+ bitRange: "[3:3]"
+ access: read-write
+ PB4:
+ description: "Pin B4"
+ bitRange: "[4:4]"
+ access: read-write
+ PB5:
+ description: "Pin B5"
+ bitRange: "[5:5]"
+ access: read-write
+ PB6:
+ description: "Pin B6"
+ bitRange: "[6:6]"
+ access: read-write
+ PB7:
+ description: "Pin B7"
+ bitRange: "[7:7]"
+ access: read-write
+ PORTB:
+ _add:
+ PB0:
+ description: "Pin B0"
+ bitRange: "[0:0]"
+ access: read-write
+ PB1:
+ description: "Pin B1"
+ bitRange: "[1:1]"
+ access: read-write
+ PB2:
+ description: "Pin B2"
+ bitRange: "[2:2]"
+ access: read-write
+ PB3:
+ description: "Pin B3"
+ bitRange: "[3:3]"
+ access: read-write
+ PB4:
+ description: "Pin B4"
+ bitRange: "[4:4]"
+ access: read-write
+ PB5:
+ description: "Pin B5"
+ bitRange: "[5:5]"
+ access: read-write
+ PB6:
+ description: "Pin B6"
+ bitRange: "[6:6]"
+ access: read-write
+ PB7:
+ description: "Pin B7"
+ bitRange: "[7:7]"
+ access: read-write
diff --git a/patch/common/tiny/attinyx61a-timers.yaml b/patch/common/tiny/attinyx61a-timers.yaml
new file mode 100644
index 0000000..57a77dc
--- /dev/null
+++ b/patch/common/tiny/attinyx61a-timers.yaml
@@ -0,0 +1,7 @@
+# attiny261a, attiny461a, attiny861a
+
+TC0:
+ TCCR0A:
+ _modify:
+ WGM00:
+ name: CTC0
diff --git a/src/devices.rs b/src/devices.rs
index 3dd0bea..08815e5 100644
--- a/src/devices.rs
+++ b/src/devices.rs
@@ -255,6 +255,12 @@ pub mod attiny26 {
include!(concat!(env!("OUT_DIR"), "/pac/attiny26.rs"));
}
+/// [ATtiny261a](https://www.microchip.com/wwwproducts/en/ATtiny261a)
+#[cfg(feature = "attiny261a")]
+pub mod attiny261a {
+ include!(concat!(env!("OUT_DIR"), "/pac/attiny261a.rs"));
+}
+
/// [ATtiny402](https://www.microchip.com/en-us/product/ATTINY402)
#[cfg(feature = "attiny402")]
pub mod attiny402 {
@@ -291,6 +297,12 @@ pub mod attiny44a {
include!(concat!(env!("OUT_DIR"), "/pac/attiny44a.rs"));
}
+/// [ATtiny461a](https://www.microchip.com/en-us/product/ATtiny461a)
+#[cfg(feature = "attiny461a")]
+pub mod attiny461a {
+ include!(concat!(env!("OUT_DIR"), "/pac/attiny461a.rs"));
+}
+
/// [ATtiny804](https://www.microchip.com/wwwproducts/en/ATtiny804)
#[cfg(feature = "attiny804")]
pub mod attiny804 {
@@ -339,6 +351,12 @@ pub mod attiny861 {
include!(concat!(env!("OUT_DIR"), "/pac/attiny861.rs"));
}
+/// [ATtiny861a](https://www.microchip.com/wwwproducts/en/ATtiny861a)
+#[cfg(feature = "attiny861a")]
+pub mod attiny861a {
+ include!(concat!(env!("OUT_DIR"), "/pac/attiny861a.rs"));
+}
+
/// [ATtiny88](https://www.microchip.com/wwwproducts/en/ATtiny88)
#[cfg(feature = "attiny88")]
pub mod attiny88 {
diff --git a/src/lib.rs b/src/lib.rs
index 5ef9cdb..d870223 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -41,12 +41,14 @@
#![cfg_attr(feature = "attiny2313", doc = "**attiny2313**,")]
#![cfg_attr(feature = "attiny2313a", doc = "**attiny2313a**,")]
#![cfg_attr(feature = "attiny26", doc = "**attiny26**,")]
+#![cfg_attr(feature = "attiny261a", doc = "**attiny261a**,")]
#![cfg_attr(feature = "attiny402", doc = "**attiny402**,")]
#![cfg_attr(feature = "attiny404", doc = "**attiny404**,")]
#![cfg_attr(feature = "attiny412", doc = "**attiny412**,")]
#![cfg_attr(feature = "attiny414", doc = "**attiny414**,")]
#![cfg_attr(feature = "attiny416", doc = "**attiny416**,")]
#![cfg_attr(feature = "attiny44a", doc = "**attiny44a**,")]
+#![cfg_attr(feature = "attiny461a", doc = "**attiny461a**,")]
#![cfg_attr(feature = "attiny804", doc = "**attiny804**,")]
#![cfg_attr(feature = "attiny816", doc = "**attiny816**,")]
#![cfg_attr(feature = "attiny828", doc = "**attiny828**,")]
@@ -55,6 +57,7 @@
#![cfg_attr(feature = "attiny84a", doc = "**attiny84a**,")]
#![cfg_attr(feature = "attiny85", doc = "**attiny85**,")]
#![cfg_attr(feature = "attiny861", doc = "**attiny861**,")]
+#![cfg_attr(feature = "attiny861a", doc = "**attiny861a**,")]
#![cfg_attr(feature = "attiny88", doc = "**attiny88**,")]
#![cfg_attr(feature = "avr64du32", doc = "**avr64du32**,")]
#![cfg_attr(feature = "avr64du28", doc = "**avr64du28**,")]
@@ -107,12 +110,14 @@
//! `attiny2313`,
//! `attiny2313a`,
//! `attiny26`,
+//! `attiny261a`,
//! `attiny402`,
//! `attiny404`,
//! `attiny412`,
//! `attiny414`,
//! `attiny416`,
//! `attiny44a`,
+//! `attiny461a`,
//! `attiny804`,
//! `attiny816`,
//! `attiny828`,
@@ -121,6 +126,7 @@
//! `attiny84a`,
//! `attiny85`,
//! `attiny861`,
+//! `attiny861a`,
//! `attiny88`,
//! `avr64du32`,
//! `avr64du28`,
@@ -286,12 +292,14 @@ compile_error!(
* attiny2313
* attiny2313a
* attiny26
+ * attiny261a
* attiny402
* attiny404
* attiny412
* attiny414
* attiny416
* attiny44a
+ * attiny461a
* attiny804
* attiny816
* attiny828
@@ -300,6 +308,7 @@ compile_error!(
* attiny84a
* attiny85
* attiny861
+ * attiny861a
* attiny88
* avr64du32
* avr64du28
@@ -395,6 +404,8 @@ pub use crate::devices::attiny2313;
pub use crate::devices::attiny2313a;
#[cfg(feature = "attiny26")]
pub use crate::devices::attiny26;
+#[cfg(feature = "attiny261a")]
+pub use crate::devices::attiny261a;
#[cfg(feature = "attiny402")]
pub use crate::devices::attiny402;
#[cfg(feature = "attiny404")]
@@ -407,6 +418,8 @@ pub use crate::devices::attiny414;
pub use crate::devices::attiny416;
#[cfg(feature = "attiny44a")]
pub use crate::devices::attiny44a;
+#[cfg(feature = "attiny461a")]
+pub use crate::devices::attiny461a;
#[cfg(feature = "attiny804")]
pub use crate::devices::attiny804;
#[cfg(feature = "attiny816")]
@@ -423,6 +436,8 @@ pub use crate::devices::attiny84a;
pub use crate::devices::attiny85;
#[cfg(feature = "attiny861")]
pub use crate::devices::attiny861;
+#[cfg(feature = "attiny861a")]
+pub use crate::devices::attiny861a;
#[cfg(feature = "attiny88")]
pub use crate::devices::attiny88;
#[cfg(feature = "avr64du28")]
diff --git a/vendor/attiny261a.atdf b/vendor/attiny261a.atdf
new file mode 100644
index 0000000..e4f02be
--- /dev/null
+++ b/vendor/attiny261a.atdf
@@ -0,0 +1,804 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vendor/attiny461a.atdf b/vendor/attiny461a.atdf
new file mode 100644
index 0000000..2fa8d0b
--- /dev/null
+++ b/vendor/attiny461a.atdf
@@ -0,0 +1,804 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vendor/attiny861a.atdf b/vendor/attiny861a.atdf
new file mode 100644
index 0000000..7c70508
--- /dev/null
+++ b/vendor/attiny861a.atdf
@@ -0,0 +1,808 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+