Skip to content

Commit b25443e

Browse files
committed
Add support for ATtiny261A, ATtiny461A, ATtiny861A
Closes: Rahix#177
1 parent 95f5810 commit b25443e

File tree

14 files changed

+2792
-224
lines changed

14 files changed

+2792
-224
lines changed

Cargo.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,19 +57,22 @@ attiny214 = ["device-selected"]
5757
attiny2313 = ["device-selected"]
5858
attiny2313a = ["device-selected"]
5959
attiny26 = ["device-selected"]
60+
attiny261a = ["device-selected"]
6061
attiny402 = ["device-selected"]
6162
attiny404 = ["device-selected"]
6263
attiny412 = ["device-selected"]
6364
attiny414 = ["device-selected"]
6465
attiny416 = ["device-selected"]
6566
attiny44a = ["device-selected"]
67+
attiny461a = ["device-selected"]
6668
attiny816 = ["device-selected"]
6769
attiny828 = ["device-selected"]
6870
attiny84 = ["device-selected"]
6971
attiny841 = ["device-selected"]
7072
attiny84a = ["device-selected"]
7173
attiny85 = ["device-selected"]
7274
attiny861 = ["device-selected"]
75+
attiny861a = ["device-selected"]
7376
attiny88 = ["device-selected"]
7477
attiny1614 = ["device-selected"]
7578
avr64du32 = ["device-selected"]

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
all: deps chips
22

3-
CHIPS := at90usb1286 atmega1280 atmega1284p atmega128a atmega128rfa1 atmega16 atmega164pa atmega168 atmega16u2 atmega2560 atmega8 atmega8u2 atmega324pa atmega328p atmega328pb atmega32a atmega32u2 atmega32u4 atmega3208 atmega3209 atmega4808 atmega4809 atmega48p atmega64 atmega644 atmega88p attiny13a attiny202 attiny212 attiny214 attiny2313 attiny2313a attiny26 attiny402 attiny404 attiny412 attiny414 attiny416 attiny44a attiny84 attiny85 attiny88 attiny816 attiny828 attiny841 attiny84a attiny861 attiny167 attiny1614 avr64du32 avr64du28
3+
CHIPS := at90usb1286 atmega1280 atmega1284p atmega128a atmega128rfa1 atmega16 atmega164pa atmega168 atmega16u2 atmega2560 atmega8 atmega8u2 atmega324pa atmega328p atmega328pb atmega32a atmega32u2 atmega32u4 atmega3208 atmega3209 atmega4808 atmega4809 atmega48p atmega64 atmega644 atmega88p attiny13a attiny202 attiny212 attiny214 attiny2313 attiny2313a attiny26 attiny261a attiny402 attiny404 attiny412 attiny414 attiny416 attiny44a attiny461a attiny84 attiny85 attiny88 attiny816 attiny828 attiny841 attiny84a attiny861 attiny861a attiny167 attiny1614 avr64du32 avr64du28
44

55
RUSTUP_TOOLCHAIN ?= nightly
66

README.md

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -19,23 +19,27 @@ Via the feature you can select which chip you want the register specifications f
1919
| `atmega64` | `atmega32u2` | `atmega4808` | | `attiny202` |
2020
| `atmega644` | `atmega32u4` | `atmega4809` | | `attiny212` |
2121
| `atmega88p` | `avr64du32` | | | `attiny214` |
22-
| `atmega16` | `avr64du28` | | | `attiny402` |
23-
| `atmega168` | | | | `attiny404` |
24-
| `atmega324pa` | | | | `attiny412` |
25-
| `atmega328p` | | | | `attiny414` |
26-
| `atmega328pb` | | | | `attiny416` |
27-
| `atmega32a` | | | | `attiny44a` |
28-
| `atmega1280` | | | | `attiny84` |
29-
| `atmega1284p` | | | | `attiny85` |
30-
| `atmega128a` | | | | `attiny88` |
31-
| `atmega128rfa1` | | | | `attiny816` |
32-
| `atmega2560` | | | | `attiny828` |
33-
| `atmega164pa` | | | | `attiny841` |
22+
| `atmega16` | `avr64du28` | | | `attiny26` |
23+
| `atmega168` | | | | `attiny261a |
24+
| `atmega324pa` | | | | `attiny402` |
25+
| `atmega328p` | | | | `attiny404` |
26+
| `atmega328pb` | | | | `attiny412` |
27+
| `atmega32a` | | | | `attiny414` |
28+
| `atmega1280` | | | | `attiny416` |
29+
| `atmega1284p` | | | | `attiny44a` |
30+
| `atmega128a` | | | | `attiny461a` |
31+
| `atmega128rfa1` | | | | `attiny84` |
32+
| `atmega2560` | | | | `attiny85` |
33+
| `atmega164pa` | | | | `attiny88` |
34+
| | | | | `attiny816` |
35+
| | | | | `attiny828` |
36+
| | | | | `attiny841` |
3437
| | | | | `attiny84a` |
3538
| | | | | `attiny861` |
36-
| | | | | `attiny1614` |
37-
| | | | | `attiny2313` |
38-
| | | | | `attiny2313a` |
39+
| | | | | `attiny861a` |
40+
| | | | | `attiny1614` |
41+
| | | | | `attiny2313` |
42+
| | | | | `attiny2313a`|
3943

4044
## Build Instructions
4145
The version on `crates.io` is pre-built. The following is only necessary when trying to build this crate from source.

patch/attiny26.yaml

Lines changed: 1 addition & 208 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ _include:
44
- "common/ac.yaml"
55
- "common/wdt.yaml"
66
- "common/tiny/usi.yaml"
7+
- "common/tiny/attinyx61a-ports.yaml"
78

89
# All FUSEs are read-only from the CPU.
910
FUSE:
@@ -76,211 +77,3 @@ ADC:
7677
AREF: [1, "External Voltage Reference at AREF pin, Internal Voltage Reference turned off"]
7778
INTERNAL: [2, "Internal 2.56V Voltage Reference without external bypass"]
7879
INTERNAL_BYPASS: [3, "Internal 2.56V Voltage Reference with external bypass capacitor at AREF pin"]
79-
80-
PORTA:
81-
DDRA:
82-
_add:
83-
PA0:
84-
description: "Pin A0"
85-
bitRange: "[0:0]"
86-
access: read-write
87-
PA1:
88-
description: "Pin A1"
89-
bitRange: "[1:1]"
90-
access: read-write
91-
PA2:
92-
description: "Pin A2"
93-
bitRange: "[2:2]"
94-
access: read-write
95-
PA3:
96-
description: "Pin A3"
97-
bitRange: "[3:3]"
98-
access: read-write
99-
PA4:
100-
description: "Pin A4"
101-
bitRange: "[4:4]"
102-
access: read-write
103-
PA5:
104-
description: "Pin A5"
105-
bitRange: "[5:5]"
106-
access: read-write
107-
PA6:
108-
description: "Pin A6"
109-
bitRange: "[6:6]"
110-
access: read-write
111-
PA7:
112-
description: "Pin A7"
113-
bitRange: "[7:7]"
114-
access: read-write
115-
PINA:
116-
_add:
117-
PA0:
118-
description: "Pin A0"
119-
bitRange: "[0:0]"
120-
access: read-write
121-
PA1:
122-
description: "Pin A1"
123-
bitRange: "[1:1]"
124-
access: read-write
125-
PA2:
126-
description: "Pin A2"
127-
bitRange: "[2:2]"
128-
access: read-write
129-
PA3:
130-
description: "Pin A3"
131-
bitRange: "[3:3]"
132-
access: read-write
133-
PA4:
134-
description: "Pin A4"
135-
bitRange: "[4:4]"
136-
access: read-write
137-
PA5:
138-
description: "Pin A5"
139-
bitRange: "[5:5]"
140-
access: read-write
141-
PA6:
142-
description: "Pin A6"
143-
bitRange: "[6:6]"
144-
access: read-write
145-
PA7:
146-
description: "Pin A7"
147-
bitRange: "[7:7]"
148-
access: read-write
149-
PORTA:
150-
_add:
151-
PA0:
152-
description: "Pin A0"
153-
bitRange: "[0:0]"
154-
access: read-write
155-
PA1:
156-
description: "Pin A1"
157-
bitRange: "[1:1]"
158-
access: read-write
159-
PA2:
160-
description: "Pin A2"
161-
bitRange: "[2:2]"
162-
access: read-write
163-
PA3:
164-
description: "Pin A3"
165-
bitRange: "[3:3]"
166-
access: read-write
167-
PA4:
168-
description: "Pin A4"
169-
bitRange: "[4:4]"
170-
access: read-write
171-
PA5:
172-
description: "Pin A5"
173-
bitRange: "[5:5]"
174-
access: read-write
175-
PA6:
176-
description: "Pin A6"
177-
bitRange: "[6:6]"
178-
access: read-write
179-
PA7:
180-
description: "Pin A7"
181-
bitRange: "[7:7]"
182-
access: read-write
183-
184-
PORTB:
185-
DDRB:
186-
_add:
187-
PB0:
188-
description: "Pin B0"
189-
bitRange: "[0:0]"
190-
access: read-write
191-
PB1:
192-
description: "Pin B1"
193-
bitRange: "[1:1]"
194-
access: read-write
195-
PB2:
196-
description: "Pin B2"
197-
bitRange: "[2:2]"
198-
access: read-write
199-
PB3:
200-
description: "Pin B3"
201-
bitRange: "[3:3]"
202-
access: read-write
203-
PB4:
204-
description: "Pin B4"
205-
bitRange: "[4:4]"
206-
access: read-write
207-
PB5:
208-
description: "Pin B5"
209-
bitRange: "[5:5]"
210-
access: read-write
211-
PB6:
212-
description: "Pin B6"
213-
bitRange: "[6:6]"
214-
access: read-write
215-
PB7:
216-
description: "Pin B7"
217-
bitRange: "[7:7]"
218-
access: read-write
219-
PINB:
220-
_add:
221-
PB0:
222-
description: "Pin B0"
223-
bitRange: "[0:0]"
224-
access: read-write
225-
PB1:
226-
description: "Pin B1"
227-
bitRange: "[1:1]"
228-
access: read-write
229-
PB2:
230-
description: "Pin B2"
231-
bitRange: "[2:2]"
232-
access: read-write
233-
PB3:
234-
description: "Pin B3"
235-
bitRange: "[3:3]"
236-
access: read-write
237-
PB4:
238-
description: "Pin B4"
239-
bitRange: "[4:4]"
240-
access: read-write
241-
PB5:
242-
description: "Pin B5"
243-
bitRange: "[5:5]"
244-
access: read-write
245-
PB6:
246-
description: "Pin B6"
247-
bitRange: "[6:6]"
248-
access: read-write
249-
PB7:
250-
description: "Pin B7"
251-
bitRange: "[7:7]"
252-
access: read-write
253-
PORTB:
254-
_add:
255-
PB0:
256-
description: "Pin B0"
257-
bitRange: "[0:0]"
258-
access: read-write
259-
PB1:
260-
description: "Pin B1"
261-
bitRange: "[1:1]"
262-
access: read-write
263-
PB2:
264-
description: "Pin B2"
265-
bitRange: "[2:2]"
266-
access: read-write
267-
PB3:
268-
description: "Pin B3"
269-
bitRange: "[3:3]"
270-
access: read-write
271-
PB4:
272-
description: "Pin B4"
273-
bitRange: "[4:4]"
274-
access: read-write
275-
PB5:
276-
description: "Pin B5"
277-
bitRange: "[5:5]"
278-
access: read-write
279-
PB6:
280-
description: "Pin B6"
281-
bitRange: "[6:6]"
282-
access: read-write
283-
PB7:
284-
description: "Pin B7"
285-
bitRange: "[7:7]"
286-
access: read-write

patch/attiny261a.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
_svd: ../svd/attiny261a.svd
2+
3+
_include:
4+
- "common/ac.yaml"
5+
- "common/tiny/attinyx61a-adc.yaml"
6+
- "common/tiny/attinyx61a-ports.yaml"
7+
- "common/tiny/usi.yaml"
8+
- "common/wdt.yaml"
9+
- "timer/attiny861.yaml"
10+
11+
# All FUSEs are read-only from the CPU.
12+
FUSE:
13+
_modify:
14+
"*":
15+
access: read-only

patch/attiny461a.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
_svd: ../svd/attiny461a.svd
2+
3+
_include:
4+
- "common/ac.yaml"
5+
- "common/tiny/attinyx61a-adc.yaml"
6+
- "common/tiny/attinyx61a-ports.yaml"
7+
- "common/tiny/usi.yaml"
8+
- "common/wdt.yaml"
9+
- "timer/attiny861.yaml"
10+
11+
# All FUSEs are read-only from the CPU.
12+
FUSE:
13+
_modify:
14+
"*":
15+
access: read-only

patch/attiny861a.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
_svd: ../svd/attiny861a.svd
2+
3+
_include:
4+
- "common/ac.yaml"
5+
- "common/tiny/attinyx61a-adc.yaml"
6+
- "common/tiny/attinyx61a-ports.yaml"
7+
- "common/tiny/usi.yaml"
8+
- "common/wdt.yaml"
9+
- "timer/attiny861.yaml"
10+
11+
# All FUSEs are read-only from the CPU.
12+
FUSE:
13+
_modify:
14+
"*":
15+
access: read-only

0 commit comments

Comments
 (0)