Skip to content

Commit e99434a

Browse files
committed
Add Attiny417/817/1617/3217 support
1 parent 6fbb972 commit e99434a

18 files changed

+24000
-4
lines changed

Cargo.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,11 @@ attiny404 = ["device-selected"]
6767
attiny412 = ["device-selected"]
6868
attiny414 = ["device-selected"]
6969
attiny416 = ["device-selected"]
70+
attiny417 = ["device-selected"]
7071
attiny44a = ["device-selected"]
7172
attiny804 = ["device-selected"]
7273
attiny816 = ["device-selected"]
74+
attiny817 = ["device-selected"]
7375
attiny828 = ["device-selected"]
7476
attiny84 = ["device-selected"]
7577
attiny841 = ["device-selected"]
@@ -80,7 +82,9 @@ attiny88 = ["device-selected"]
8082
attiny1604 = ["device-selected"]
8183
attiny1606 = ["device-selected"]
8284
attiny1614 = ["device-selected"]
85+
attiny1617 = ["device-selected"]
8386
attiny1626 = ["device-selected"]
87+
attiny3217 = ["device-selected"]
8488
avr64du32 = ["device-selected"]
8589
avr64du28 = ["device-selected"]
8690
rt = ["avr-device-macros"]

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,9 @@ Via the feature you can select which chip you want the register specifications f
3838
| | | | | `attiny1604` |
3939
| | | | | `attiny1606` |
4040
| | | | | `attiny1614` |
41+
| | | | | `attiny1617` |
4142
| | | | | `attiny1626` |
43+
| | | | | `attiny3217` |
4244
| | | | | `attiny2313` |
4345
| | | | | `attiny2313a` |
4446

patch/attiny1604.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
_svd: ../svd/attiny1604.svd
22

33
_include:
4+
# PC0-PC5 are just missing in the ATDF for all PORTC related register definitions
5+
- common/attiny-xmega/x04-fix-portc.yaml
6+
47
- common/attiny-xmega/common.yaml
58
- common/attiny-xmega/0-series.yaml

patch/attiny1617.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
_svd: ../svd/attiny1617.svd
2+
3+
_include:
4+
- common/attiny-xmega/common.yaml
5+
- common/attiny-xmega/1-series.yaml

patch/attiny3217.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
_svd: ../svd/attiny3217.svd
2+
3+
_include:
4+
- common/attiny-xmega/common.yaml
5+
- common/attiny-xmega/1-series.yaml

patch/attiny417.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
_svd: ../svd/attiny417.svd
2+
3+
_include:
4+
- common/attiny-xmega/common.yaml
5+
- common/attiny-xmega/1-series.yaml

patch/attiny804.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
_svd: ../svd/attiny804.svd
22

33
_include:
4+
# PC0-PC5 are just missing in the ATDF for all PORTC related register definitions
5+
- common/attiny-xmega/x04-fix-portc.yaml
6+
47
- common/attiny-xmega/common.yaml
58
- common/attiny-xmega/0-series.yaml

patch/attiny817.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
_svd: ../svd/attiny817.svd
2+
3+
_include:
4+
- common/attiny-xmega/common.yaml
5+
- common/attiny-xmega/1-series.yaml
Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,16 @@
11
# Nothing needed beyond common config
22
# This is probably good for at least ATtiny202/204/402/404/406, but may not be valid for ATtiny80* and ATtiny160*
33

4-
{}
4+
EVSYS:
5+
# make ASYNCCHx, SYNCCHx, ASYNCUSERx and SYNCUSERx a rust slice
6+
_modify:
7+
"ASYNCUSER*":
8+
description: "Users of asynchronous channels"
9+
"SYNCUSER*":
10+
description: "Users of synchronous channels"
11+
_array:
12+
"ASYNCCH*": {}
13+
"SYNCCH*": {}
14+
"ASYNCUSER*": {}
15+
"SYNCUSER*": {}
16+
Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,22 @@
1-
# Nothing needed beyond common config
21
# This is probably good for at least ATtiny212/214/412/414/416, but may not be valid for ATtiny81* and ATtiny161*
32

4-
{}
3+
TCD*:
4+
EVCTRL?:
5+
CFG:
6+
_replace_enum:
7+
NEITHER: [0, "Neither Filter nor Asynchronous Event is enabled"]
8+
FILTERON: [1, "Input Capture Noise Cancellation Filter enabled"]
9+
ASYNCON: [2, "Asynchronous Event output qualification enabled"]
10+
11+
EVSYS:
12+
# make ASYNCCHx, SYNCCHx, ASYNCUSERx and SYNCUSERx a rust slice
13+
_modify:
14+
"ASYNCUSER*":
15+
description: "Users of asynchronous channels"
16+
"SYNCUSER*":
17+
description: "Users of synchronous channels"
18+
_array:
19+
"ASYNCCH*": {}
20+
"SYNCCH*": {}
21+
"ASYNCUSER*": {}
22+
"SYNCUSER*": {}

0 commit comments

Comments
 (0)