aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob McWhirter <[email protected]>2021-05-05 11:01:02 -0400
committerBob McWhirter <[email protected]>2021-05-05 11:01:02 -0400
commitd8156b43b15cdf88be2634cc17bb3928289f8932 (patch)
tree19d242a5b3234e839fc6481e05f2b4e2fb486309
parent7262c54f81caf7c547b0a5eb4a33018fa750bdfe (diff)
Generate some chip features by peripherals.
-rw-r--r--embassy-stm32/Cargo.toml580
-rw-r--r--embassy-stm32/gen.py41
2 files changed, 316 insertions, 305 deletions
diff --git a/embassy-stm32/Cargo.toml b/embassy-stm32/Cargo.toml
index 65943f2fe..79d764fcc 100644
--- a/embassy-stm32/Cargo.toml
+++ b/embassy-stm32/Cargo.toml
@@ -28,294 +28,294 @@ defmt-warn = [ ]
28defmt-error = [ ] 28defmt-error = [ ]
29 29
30# BEGIN GENERATED FEATURES 30# BEGIN GENERATED FEATURES
31stm32f401cb = [] 31stm32f401cb = [ "_syscfg_f4", "_usart_v1",]
32stm32f401cc = [] 32stm32f401cc = [ "_syscfg_f4", "_usart_v1",]
33stm32f401cd = [] 33stm32f401cd = [ "_syscfg_f4", "_usart_v1",]
34stm32f401ce = [] 34stm32f401ce = [ "_syscfg_f4", "_usart_v1",]
35stm32f401rb = [] 35stm32f401rb = [ "_syscfg_f4", "_usart_v1",]
36stm32f401rc = [] 36stm32f401rc = [ "_syscfg_f4", "_usart_v1",]
37stm32f401rd = [] 37stm32f401rd = [ "_syscfg_f4", "_usart_v1",]
38stm32f401re = [] 38stm32f401re = [ "_syscfg_f4", "_usart_v1",]
39stm32f401vb = [] 39stm32f401vb = [ "_syscfg_f4", "_usart_v1",]
40stm32f401vc = [] 40stm32f401vc = [ "_syscfg_f4", "_usart_v1",]
41stm32f401vd = [] 41stm32f401vd = [ "_syscfg_f4", "_usart_v1",]
42stm32f401ve = [] 42stm32f401ve = [ "_syscfg_f4", "_usart_v1",]
43stm32f405oe = [] 43stm32f405oe = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
44stm32f405og = [] 44stm32f405og = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
45stm32f405rg = [] 45stm32f405rg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
46stm32f405vg = [] 46stm32f405vg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
47stm32f405zg = [] 47stm32f405zg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
48stm32f407ie = [] 48stm32f407ie = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
49stm32f407ig = [] 49stm32f407ig = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
50stm32f407ve = [] 50stm32f407ve = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
51stm32f407vg = [] 51stm32f407vg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
52stm32f407ze = [] 52stm32f407ze = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
53stm32f407zg = [] 53stm32f407zg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
54stm32f410c8 = [] 54stm32f410c8 = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
55stm32f410cb = [] 55stm32f410cb = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
56stm32f410r8 = [] 56stm32f410r8 = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
57stm32f410rb = [] 57stm32f410rb = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
58stm32f410t8 = [] 58stm32f410t8 = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
59stm32f410tb = [] 59stm32f410tb = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
60stm32f411cc = [] 60stm32f411cc = [ "_syscfg_f4", "_usart_v1",]
61stm32f411ce = [] 61stm32f411ce = [ "_syscfg_f4", "_usart_v1",]
62stm32f411rc = [] 62stm32f411rc = [ "_syscfg_f4", "_usart_v1",]
63stm32f411re = [] 63stm32f411re = [ "_syscfg_f4", "_usart_v1",]
64stm32f411vc = [] 64stm32f411vc = [ "_syscfg_f4", "_usart_v1",]
65stm32f411ve = [] 65stm32f411ve = [ "_syscfg_f4", "_usart_v1",]
66stm32f412ce = [] 66stm32f412ce = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
67stm32f412cg = [] 67stm32f412cg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
68stm32f412re = [] 68stm32f412re = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
69stm32f412rg = [] 69stm32f412rg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
70stm32f412ve = [] 70stm32f412ve = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
71stm32f412vg = [] 71stm32f412vg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
72stm32f412ze = [] 72stm32f412ze = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
73stm32f412zg = [] 73stm32f412zg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
74stm32f413cg = [] 74stm32f413cg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
75stm32f413ch = [] 75stm32f413ch = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
76stm32f413mg = [] 76stm32f413mg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
77stm32f413mh = [] 77stm32f413mh = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
78stm32f413rg = [] 78stm32f413rg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
79stm32f413rh = [] 79stm32f413rh = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
80stm32f413vg = [] 80stm32f413vg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
81stm32f413vh = [] 81stm32f413vh = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
82stm32f413zg = [] 82stm32f413zg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
83stm32f413zh = [] 83stm32f413zh = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
84stm32f415og = [] 84stm32f415og = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
85stm32f415rg = [] 85stm32f415rg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
86stm32f415vg = [] 86stm32f415vg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
87stm32f415zg = [] 87stm32f415zg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
88stm32f417ie = [] 88stm32f417ie = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
89stm32f417ig = [] 89stm32f417ig = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
90stm32f417ve = [] 90stm32f417ve = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
91stm32f417vg = [] 91stm32f417vg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
92stm32f417ze = [] 92stm32f417ze = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
93stm32f417zg = [] 93stm32f417zg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
94stm32f423ch = [] 94stm32f423ch = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
95stm32f423mh = [] 95stm32f423mh = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
96stm32f423rh = [] 96stm32f423rh = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
97stm32f423vh = [] 97stm32f423vh = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
98stm32f423zh = [] 98stm32f423zh = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
99stm32f427ag = [] 99stm32f427ag = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
100stm32f427ai = [] 100stm32f427ai = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
101stm32f427ig = [] 101stm32f427ig = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
102stm32f427ii = [] 102stm32f427ii = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
103stm32f427vg = [] 103stm32f427vg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
104stm32f427vi = [] 104stm32f427vi = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
105stm32f427zg = [] 105stm32f427zg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
106stm32f427zi = [] 106stm32f427zi = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
107stm32f429ag = [] 107stm32f429ag = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
108stm32f429ai = [] 108stm32f429ai = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
109stm32f429be = [] 109stm32f429be = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
110stm32f429bg = [] 110stm32f429bg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
111stm32f429bi = [] 111stm32f429bi = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
112stm32f429ie = [] 112stm32f429ie = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
113stm32f429ig = [] 113stm32f429ig = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
114stm32f429ii = [] 114stm32f429ii = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
115stm32f429ne = [] 115stm32f429ne = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
116stm32f429ng = [] 116stm32f429ng = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
117stm32f429ni = [] 117stm32f429ni = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
118stm32f429ve = [] 118stm32f429ve = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
119stm32f429vg = [] 119stm32f429vg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
120stm32f429vi = [] 120stm32f429vi = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
121stm32f429ze = [] 121stm32f429ze = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
122stm32f429zg = [] 122stm32f429zg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
123stm32f429zi = [] 123stm32f429zi = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
124stm32f437ai = [] 124stm32f437ai = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
125stm32f437ig = [] 125stm32f437ig = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
126stm32f437ii = [] 126stm32f437ii = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
127stm32f437vg = [] 127stm32f437vg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
128stm32f437vi = [] 128stm32f437vi = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
129stm32f437zg = [] 129stm32f437zg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
130stm32f437zi = [] 130stm32f437zi = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
131stm32f439ai = [] 131stm32f439ai = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
132stm32f439bg = [] 132stm32f439bg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
133stm32f439bi = [] 133stm32f439bi = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
134stm32f439ig = [] 134stm32f439ig = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
135stm32f439ii = [] 135stm32f439ii = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
136stm32f439ng = [] 136stm32f439ng = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
137stm32f439ni = [] 137stm32f439ni = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
138stm32f439vg = [] 138stm32f439vg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
139stm32f439vi = [] 139stm32f439vi = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
140stm32f439zg = [] 140stm32f439zg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
141stm32f439zi = [] 141stm32f439zi = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
142stm32f446mc = [] 142stm32f446mc = [ "_syscfg_f4", "_usart_v1",]
143stm32f446me = [] 143stm32f446me = [ "_syscfg_f4", "_usart_v1",]
144stm32f446rc = [] 144stm32f446rc = [ "_syscfg_f4", "_usart_v1",]
145stm32f446re = [] 145stm32f446re = [ "_syscfg_f4", "_usart_v1",]
146stm32f446vc = [] 146stm32f446vc = [ "_syscfg_f4", "_usart_v1",]
147stm32f446ve = [] 147stm32f446ve = [ "_syscfg_f4", "_usart_v1",]
148stm32f446zc = [] 148stm32f446zc = [ "_syscfg_f4", "_usart_v1",]
149stm32f446ze = [] 149stm32f446ze = [ "_syscfg_f4", "_usart_v1",]
150stm32f469ae = [] 150stm32f469ae = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
151stm32f469ag = [] 151stm32f469ag = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
152stm32f469ai = [] 152stm32f469ai = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
153stm32f469be = [] 153stm32f469be = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
154stm32f469bg = [] 154stm32f469bg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
155stm32f469bi = [] 155stm32f469bi = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
156stm32f469ie = [] 156stm32f469ie = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
157stm32f469ig = [] 157stm32f469ig = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
158stm32f469ii = [] 158stm32f469ii = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
159stm32f469ne = [] 159stm32f469ne = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
160stm32f469ng = [] 160stm32f469ng = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
161stm32f469ni = [] 161stm32f469ni = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
162stm32f469ve = [] 162stm32f469ve = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
163stm32f469vg = [] 163stm32f469vg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
164stm32f469vi = [] 164stm32f469vi = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
165stm32f469ze = [] 165stm32f469ze = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
166stm32f469zg = [] 166stm32f469zg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
167stm32f469zi = [] 167stm32f469zi = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
168stm32f479ag = [] 168stm32f479ag = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
169stm32f479ai = [] 169stm32f479ai = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
170stm32f479bg = [] 170stm32f479bg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
171stm32f479bi = [] 171stm32f479bi = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
172stm32f479ig = [] 172stm32f479ig = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
173stm32f479ii = [] 173stm32f479ii = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
174stm32f479ng = [] 174stm32f479ng = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
175stm32f479ni = [] 175stm32f479ni = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
176stm32f479vg = [] 176stm32f479vg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
177stm32f479vi = [] 177stm32f479vi = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
178stm32f479zg = [] 178stm32f479zg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
179stm32f479zi = [] 179stm32f479zi = [ "_syscfg_f4", "_rng_v1", "_usart_v1",]
180stm32l412c8 = [] 180stm32l412c8 = [ "_rng_v1", "_syscfg_l4",]
181stm32l412cb = [] 181stm32l412cb = [ "_rng_v1", "_syscfg_l4",]
182stm32l412k8 = [] 182stm32l412k8 = [ "_rng_v1", "_syscfg_l4",]
183stm32l412kb = [] 183stm32l412kb = [ "_rng_v1", "_syscfg_l4",]
184stm32l412r8 = [] 184stm32l412r8 = [ "_rng_v1", "_syscfg_l4",]
185stm32l412rb = [] 185stm32l412rb = [ "_rng_v1", "_syscfg_l4",]
186stm32l412t8 = [] 186stm32l412t8 = [ "_rng_v1", "_syscfg_l4",]
187stm32l412tb = [] 187stm32l412tb = [ "_rng_v1", "_syscfg_l4",]
188stm32l422cb = [] 188stm32l422cb = [ "_rng_v1", "_syscfg_l4",]
189stm32l422kb = [] 189stm32l422kb = [ "_rng_v1", "_syscfg_l4",]
190stm32l422rb = [] 190stm32l422rb = [ "_rng_v1", "_syscfg_l4",]
191stm32l422tb = [] 191stm32l422tb = [ "_rng_v1", "_syscfg_l4",]
192stm32l431cb = [] 192stm32l431cb = [ "_rng_v1", "_syscfg_l4",]
193stm32l431cc = [] 193stm32l431cc = [ "_rng_v1", "_syscfg_l4",]
194stm32l431kb = [] 194stm32l431kb = [ "_rng_v1", "_syscfg_l4",]
195stm32l431kc = [] 195stm32l431kc = [ "_rng_v1", "_syscfg_l4",]
196stm32l431rb = [] 196stm32l431rb = [ "_rng_v1", "_syscfg_l4",]
197stm32l431rc = [] 197stm32l431rc = [ "_rng_v1", "_syscfg_l4",]
198stm32l431vc = [] 198stm32l431vc = [ "_rng_v1", "_syscfg_l4",]
199stm32l432kb = [] 199stm32l432kb = [ "_rng_v1", "_syscfg_l4",]
200stm32l432kc = [] 200stm32l432kc = [ "_rng_v1", "_syscfg_l4",]
201stm32l433cb = [] 201stm32l433cb = [ "_rng_v1", "_syscfg_l4",]
202stm32l433cc = [] 202stm32l433cc = [ "_rng_v1", "_syscfg_l4",]
203stm32l433rb = [] 203stm32l433rb = [ "_rng_v1", "_syscfg_l4",]
204stm32l433rc = [] 204stm32l433rc = [ "_rng_v1", "_syscfg_l4",]
205stm32l433vc = [] 205stm32l433vc = [ "_rng_v1", "_syscfg_l4",]
206stm32l442kc = [] 206stm32l442kc = [ "_rng_v1", "_syscfg_l4",]
207stm32l443cc = [] 207stm32l443cc = [ "_rng_v1", "_syscfg_l4",]
208stm32l443rc = [] 208stm32l443rc = [ "_rng_v1", "_syscfg_l4",]
209stm32l443vc = [] 209stm32l443vc = [ "_rng_v1", "_syscfg_l4",]
210stm32l451cc = [] 210stm32l451cc = [ "_rng_v1", "_syscfg_l4",]
211stm32l451ce = [] 211stm32l451ce = [ "_rng_v1", "_syscfg_l4",]
212stm32l451rc = [] 212stm32l451rc = [ "_rng_v1", "_syscfg_l4",]
213stm32l451re = [] 213stm32l451re = [ "_rng_v1", "_syscfg_l4",]
214stm32l451vc = [] 214stm32l451vc = [ "_rng_v1", "_syscfg_l4",]
215stm32l451ve = [] 215stm32l451ve = [ "_rng_v1", "_syscfg_l4",]
216stm32l452cc = [] 216stm32l452cc = [ "_rng_v1", "_syscfg_l4",]
217stm32l452ce = [] 217stm32l452ce = [ "_rng_v1", "_syscfg_l4",]
218stm32l452rc = [] 218stm32l452rc = [ "_rng_v1", "_syscfg_l4",]
219stm32l452re = [] 219stm32l452re = [ "_rng_v1", "_syscfg_l4",]
220stm32l452vc = [] 220stm32l452vc = [ "_rng_v1", "_syscfg_l4",]
221stm32l452ve = [] 221stm32l452ve = [ "_rng_v1", "_syscfg_l4",]
222stm32l462ce = [] 222stm32l462ce = [ "_rng_v1", "_syscfg_l4",]
223stm32l462re = [] 223stm32l462re = [ "_rng_v1", "_syscfg_l4",]
224stm32l462ve = [] 224stm32l462ve = [ "_rng_v1", "_syscfg_l4",]
225stm32l471qe = [] 225stm32l471qe = [ "_rng_v1", "_syscfg_l4",]
226stm32l471qg = [] 226stm32l471qg = [ "_rng_v1", "_syscfg_l4",]
227stm32l471re = [] 227stm32l471re = [ "_rng_v1", "_syscfg_l4",]
228stm32l471rg = [] 228stm32l471rg = [ "_rng_v1", "_syscfg_l4",]
229stm32l471ve = [] 229stm32l471ve = [ "_rng_v1", "_syscfg_l4",]
230stm32l471vg = [] 230stm32l471vg = [ "_rng_v1", "_syscfg_l4",]
231stm32l471ze = [] 231stm32l471ze = [ "_rng_v1", "_syscfg_l4",]
232stm32l471zg = [] 232stm32l471zg = [ "_rng_v1", "_syscfg_l4",]
233stm32l475rc = [] 233stm32l475rc = [ "_rng_v1", "_syscfg_l4",]
234stm32l475re = [] 234stm32l475re = [ "_rng_v1", "_syscfg_l4",]
235stm32l475rg = [] 235stm32l475rg = [ "_rng_v1", "_syscfg_l4",]
236stm32l475vc = [] 236stm32l475vc = [ "_rng_v1", "_syscfg_l4",]
237stm32l475ve = [] 237stm32l475ve = [ "_rng_v1", "_syscfg_l4",]
238stm32l475vg = [] 238stm32l475vg = [ "_rng_v1", "_syscfg_l4",]
239stm32l476je = [] 239stm32l476je = [ "_rng_v1", "_syscfg_l4",]
240stm32l476jg = [] 240stm32l476jg = [ "_rng_v1", "_syscfg_l4",]
241stm32l476me = [] 241stm32l476me = [ "_rng_v1", "_syscfg_l4",]
242stm32l476mg = [] 242stm32l476mg = [ "_rng_v1", "_syscfg_l4",]
243stm32l476qe = [] 243stm32l476qe = [ "_rng_v1", "_syscfg_l4",]
244stm32l476qg = [] 244stm32l476qg = [ "_rng_v1", "_syscfg_l4",]
245stm32l476rc = [] 245stm32l476rc = [ "_rng_v1", "_syscfg_l4",]
246stm32l476re = [] 246stm32l476re = [ "_rng_v1", "_syscfg_l4",]
247stm32l476rg = [] 247stm32l476rg = [ "_rng_v1", "_syscfg_l4",]
248stm32l476vc = [] 248stm32l476vc = [ "_rng_v1", "_syscfg_l4",]
249stm32l476ve = [] 249stm32l476ve = [ "_rng_v1", "_syscfg_l4",]
250stm32l476vg = [] 250stm32l476vg = [ "_rng_v1", "_syscfg_l4",]
251stm32l476ze = [] 251stm32l476ze = [ "_rng_v1", "_syscfg_l4",]
252stm32l476zg = [] 252stm32l476zg = [ "_rng_v1", "_syscfg_l4",]
253stm32l485jc = [] 253stm32l485jc = [ "_rng_v1", "_syscfg_l4",]
254stm32l485je = [] 254stm32l485je = [ "_rng_v1", "_syscfg_l4",]
255stm32l486jg = [] 255stm32l486jg = [ "_rng_v1", "_syscfg_l4",]
256stm32l486qg = [] 256stm32l486qg = [ "_rng_v1", "_syscfg_l4",]
257stm32l486rg = [] 257stm32l486rg = [ "_rng_v1", "_syscfg_l4",]
258stm32l486vg = [] 258stm32l486vg = [ "_rng_v1", "_syscfg_l4",]
259stm32l486zg = [] 259stm32l486zg = [ "_rng_v1", "_syscfg_l4",]
260stm32l496ae = [] 260stm32l496ae = [ "_rng_v1", "_syscfg_l4",]
261stm32l496ag = [] 261stm32l496ag = [ "_rng_v1", "_syscfg_l4",]
262stm32l496qe = [] 262stm32l496qe = [ "_rng_v1", "_syscfg_l4",]
263stm32l496qg = [] 263stm32l496qg = [ "_rng_v1", "_syscfg_l4",]
264stm32l496re = [] 264stm32l496re = [ "_rng_v1", "_syscfg_l4",]
265stm32l496rg = [] 265stm32l496rg = [ "_rng_v1", "_syscfg_l4",]
266stm32l496ve = [] 266stm32l496ve = [ "_rng_v1", "_syscfg_l4",]
267stm32l496vg = [] 267stm32l496vg = [ "_rng_v1", "_syscfg_l4",]
268stm32l496wg = [] 268stm32l496wg = [ "_rng_v1", "_syscfg_l4",]
269stm32l496ze = [] 269stm32l496ze = [ "_rng_v1", "_syscfg_l4",]
270stm32l496zg = [] 270stm32l496zg = [ "_rng_v1", "_syscfg_l4",]
271stm32l4a6ag = [] 271stm32l4a6ag = [ "_rng_v1", "_syscfg_l4",]
272stm32l4a6qg = [] 272stm32l4a6qg = [ "_rng_v1", "_syscfg_l4",]
273stm32l4a6rg = [] 273stm32l4a6rg = [ "_rng_v1", "_syscfg_l4",]
274stm32l4a6vg = [] 274stm32l4a6vg = [ "_rng_v1", "_syscfg_l4",]
275stm32l4a6zg = [] 275stm32l4a6zg = [ "_rng_v1", "_syscfg_l4",]
276stm32l4p5ae = [] 276stm32l4p5ae = [ "_rng_v1", "_syscfg_l4",]
277stm32l4p5ag = [] 277stm32l4p5ag = [ "_rng_v1", "_syscfg_l4",]
278stm32l4p5ce = [] 278stm32l4p5ce = [ "_rng_v1", "_syscfg_l4",]
279stm32l4p5cg = [] 279stm32l4p5cg = [ "_rng_v1", "_syscfg_l4",]
280stm32l4p5qe = [] 280stm32l4p5qe = [ "_rng_v1", "_syscfg_l4",]
281stm32l4p5qg = [] 281stm32l4p5qg = [ "_rng_v1", "_syscfg_l4",]
282stm32l4p5re = [] 282stm32l4p5re = [ "_rng_v1", "_syscfg_l4",]
283stm32l4p5rg = [] 283stm32l4p5rg = [ "_rng_v1", "_syscfg_l4",]
284stm32l4p5ve = [] 284stm32l4p5ve = [ "_rng_v1", "_syscfg_l4",]
285stm32l4p5vg = [] 285stm32l4p5vg = [ "_rng_v1", "_syscfg_l4",]
286stm32l4p5ze = [] 286stm32l4p5ze = [ "_rng_v1", "_syscfg_l4",]
287stm32l4p5zg = [] 287stm32l4p5zg = [ "_rng_v1", "_syscfg_l4",]
288stm32l4q5ag = [] 288stm32l4q5ag = [ "_rng_v1", "_syscfg_l4",]
289stm32l4q5cg = [] 289stm32l4q5cg = [ "_rng_v1", "_syscfg_l4",]
290stm32l4q5qg = [] 290stm32l4q5qg = [ "_rng_v1", "_syscfg_l4",]
291stm32l4q5rg = [] 291stm32l4q5rg = [ "_rng_v1", "_syscfg_l4",]
292stm32l4q5vg = [] 292stm32l4q5vg = [ "_rng_v1", "_syscfg_l4",]
293stm32l4q5zg = [] 293stm32l4q5zg = [ "_rng_v1", "_syscfg_l4",]
294stm32l4r5ag = [] 294stm32l4r5ag = [ "_rng_v1", "_syscfg_l4",]
295stm32l4r5ai = [] 295stm32l4r5ai = [ "_rng_v1", "_syscfg_l4",]
296stm32l4r5qg = [] 296stm32l4r5qg = [ "_rng_v1", "_syscfg_l4",]
297stm32l4r5qi = [] 297stm32l4r5qi = [ "_rng_v1", "_syscfg_l4",]
298stm32l4r5vg = [] 298stm32l4r5vg = [ "_rng_v1", "_syscfg_l4",]
299stm32l4r5vi = [] 299stm32l4r5vi = [ "_rng_v1", "_syscfg_l4",]
300stm32l4r5zg = [] 300stm32l4r5zg = [ "_rng_v1", "_syscfg_l4",]
301stm32l4r5zi = [] 301stm32l4r5zi = [ "_rng_v1", "_syscfg_l4",]
302stm32l4r7ai = [] 302stm32l4r7ai = [ "_rng_v1", "_syscfg_l4",]
303stm32l4r7vi = [] 303stm32l4r7vi = [ "_rng_v1", "_syscfg_l4",]
304stm32l4r7zi = [] 304stm32l4r7zi = [ "_rng_v1", "_syscfg_l4",]
305stm32l4r9ag = [] 305stm32l4r9ag = [ "_rng_v1", "_syscfg_l4",]
306stm32l4r9ai = [] 306stm32l4r9ai = [ "_rng_v1", "_syscfg_l4",]
307stm32l4r9vg = [] 307stm32l4r9vg = [ "_rng_v1", "_syscfg_l4",]
308stm32l4r9vi = [] 308stm32l4r9vi = [ "_rng_v1", "_syscfg_l4",]
309stm32l4r9zg = [] 309stm32l4r9zg = [ "_rng_v1", "_syscfg_l4",]
310stm32l4r9zi = [] 310stm32l4r9zi = [ "_rng_v1", "_syscfg_l4",]
311stm32l4s5ai = [] 311stm32l4s5ai = [ "_rng_v1", "_syscfg_l4",]
312stm32l4s5qi = [] 312stm32l4s5qi = [ "_rng_v1", "_syscfg_l4",]
313stm32l4s5vi = [] 313stm32l4s5vi = [ "_rng_v1", "_syscfg_l4",]
314stm32l4s5zi = [] 314stm32l4s5zi = [ "_rng_v1", "_syscfg_l4",]
315stm32l4s7ai = [] 315stm32l4s7ai = [ "_rng_v1", "_syscfg_l4",]
316stm32l4s7vi = [] 316stm32l4s7vi = [ "_rng_v1", "_syscfg_l4",]
317stm32l4s7zi = [] 317stm32l4s7zi = [ "_rng_v1", "_syscfg_l4",]
318stm32l4s9ai = [] 318stm32l4s9ai = [ "_rng_v1", "_syscfg_l4",]
319stm32l4s9vi = [] 319stm32l4s9vi = [ "_rng_v1", "_syscfg_l4",]
320stm32l4s9zi = [] 320stm32l4s9zi = [ "_rng_v1", "_syscfg_l4",]
321# END GENERATED FEATURES 321# END GENERATED FEATURES
diff --git a/embassy-stm32/gen.py b/embassy-stm32/gen.py
index 714ead373..c275ff60f 100644
--- a/embassy-stm32/gen.py
+++ b/embassy-stm32/gen.py
@@ -19,6 +19,7 @@ for f in sorted(glob('stm32-data/data/chips/*.yaml')):
19 with open(f, 'r') as f: 19 with open(f, 'r') as f:
20 chip = yaml.load(f, Loader=yaml.SafeLoader) 20 chip = yaml.load(f, Loader=yaml.SafeLoader)
21 chip['name'] = chip['name'].lower() 21 chip['name'] = chip['name'].lower()
22 chip['features'] = []
22 print(chip['name']) 23 print(chip['name'])
23 chips[chip['name']] = chip 24 chips[chip['name']] = chip
24 25
@@ -39,21 +40,6 @@ with open('src/chip/mod.rs', 'w') as f:
39 f.write('mod chip;\n') 40 f.write('mod chip;\n')
40 f.write('pub use chip::*;\n') 41 f.write('pub use chip::*;\n')
41 42
42# ========= Update Cargo features
43
44features = {name: [] for name, chip in chips.items()}
45
46SEPARATOR_START = '# BEGIN GENERATED FEATURES\n'
47SEPARATOR_END = '# END GENERATED FEATURES\n'
48
49with open('Cargo.toml', 'r') as f:
50 cargo = f.read()
51before, cargo = cargo.split(SEPARATOR_START, maxsplit=1)
52_, after = cargo.split(SEPARATOR_END, maxsplit=1)
53cargo = before + SEPARATOR_START + toml.dumps(features) + SEPARATOR_END + after
54with open('Cargo.toml', 'w') as f:
55 f.write(cargo)
56
57# ========= Generate per-chip mod 43# ========= Generate per-chip mod
58 44
59for chip in chips.values(): 45for chip in chips.values():
@@ -93,6 +79,7 @@ for chip in chips.values():
93 continue 79 continue
94 80
95 if peri['block'] in ('usart_v1/USART', 'usart_v1/UART'): 81 if peri['block'] in ('usart_v1/USART', 'usart_v1/UART'):
82 chip['features'].append("_usart_v1")
96 impls.append(f'impl_usart!({name}, 0x{peri["address"]:x});') 83 impls.append(f'impl_usart!({name}, 0x{peri["address"]:x});')
97 for pin, funcs in af.items(): 84 for pin, funcs in af.items():
98 if pin in pins: 85 if pin in pins:
@@ -109,6 +96,13 @@ for chip in chips.values():
109 96
110 if peri['block'] == 'rng_v1/RNG': 97 if peri['block'] == 'rng_v1/RNG':
111 impls.append(f'impl_rng!(0x{peri["address"]:x});') 98 impls.append(f'impl_rng!(0x{peri["address"]:x});')
99 chip['features'].append("_rng_v1")
100
101 if peri['block'] == 'syscfg_f4/SYSCFG':
102 chip['features'].append("_syscfg_f4")
103
104 if peri['block'] == 'syscfg_l4/SYSCFG':
105 chip['features'].append("_syscfg_l4")
112 106
113 irq_variants = [] 107 irq_variants = []
114 irq_vectors = [] 108 irq_vectors = []
@@ -174,5 +168,22 @@ for chip in chips.values():
174 f.write(i) 168 f.write(i)
175 169
176 170
171
172# ========= Update Cargo features
173
174features = {name: list(set(chip['features'])) for name, chip in chips.items()}
175
176SEPARATOR_START = '# BEGIN GENERATED FEATURES\n'
177SEPARATOR_END = '# END GENERATED FEATURES\n'
178
179with open('Cargo.toml', 'r') as f:
180 cargo = f.read()
181before, cargo = cargo.split(SEPARATOR_START, maxsplit=1)
182_, after = cargo.split(SEPARATOR_END, maxsplit=1)
183cargo = before + SEPARATOR_START + toml.dumps(features) + SEPARATOR_END + after
184with open('Cargo.toml', 'w') as f:
185 f.write(cargo)
186
187
177# format 188# format
178os.system('rustfmt src/chip/*') 189os.system('rustfmt src/chip/*')