@@ -145,6 +145,166 @@ mod h503 {
145145 }
146146}
147147
148+ #[ cfg( feature = "gpio-h523_h533" ) ]
149+ pub use h523_h533:: * ;
150+
151+ #[ cfg( feature = "gpio-h523_h533" ) ]
152+ mod h523_h533 {
153+ use super :: Gpio ;
154+
155+ gpio ! ( GPIOA , gpioa, Gpioa , PA , 'A' , PAn , [
156+ PA0 : ( pa0, 0 , [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 14 , 15 ] ) ,
157+ PA1 : ( pa1, 1 , [ 1 , 2 , 4 , 5 , 6 , 7 , 8 , 9 , 14 , 15 ] ) ,
158+ PA2 : ( pa2, 2 , [ 1 , 2 , 3 , 4 , 5 , 7 , 15 ] ) ,
159+ PA3 : ( pa3, 3 , [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 15 ] ) ,
160+ PA4 : ( pa4, 4 , [ 2 , 3 , 4 , 5 , 6 , 7 , 13 , 15 ] ) ,
161+ PA5 : ( pa5, 5 , [ 1 , 3 , 5 , 13 , 14 , 15 ] ) ,
162+ PA6 : ( pa6, 6 , [ 1 , 2 , 3 , 5 , 6 , 13 , 15 ] ) ,
163+ PA7 : ( pa7, 7 , [ 1 , 2 , 3 , 5 , 10 , 13 , 15 ] ) ,
164+ PA8 : ( pa8, 8 , [ 0 , 1 , 3 , 4 , 5 , 6 , 7 , 9 , 10 , 12 , 13 , 15 ] ) ,
165+ PA9 : ( pa9, 9 , [ 1 , 3 , 4 , 5 , 7 , 12 , 13 , 15 ] ) ,
166+ PA10 : ( pa10, 10 , [ 1 , 3 , 4 , 6 , 7 , 9 , 12 , 13 , 15 ] ) ,
167+ PA11 : ( pa11, 11 , [ 1 , 3 , 5 , 6 , 7 , 9 , 10 , 15 ] ) ,
168+ PA12 : ( pa12, 12 , [ 1 , 3 , 5 , 6 , 7 , 9 , 10 , 15 ] ) ,
169+ PA13 : ( pa13, 13 , [ 0 , 15 ] , crate :: gpio:: Debugger ) ,
170+ PA14 : ( pa14, 14 , [ 0 , 15 ] , crate :: gpio:: Debugger ) ,
171+ PA15 : ( pa15, 15 , [ 0 , 1 , 4 , 5 , 6 , 7 , 8 , 9 , 12 , 13 , 14 , 15 ] , crate :: gpio:: Debugger ) ,
172+ ] ) ;
173+
174+ gpio ! ( GPIOB , gpiob, Gpiob , PB , 'B' , PBn , [
175+ PB0 : ( pb0, 0 , [ 1 , 2 , 3 , 5 , 6 , 7 , 8 , 15 ] ) ,
176+ PB1 : ( pb1, 1 , [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 15 ] ) ,
177+ PB2 : ( pb2, 2 , [ 0 , 3 , 4 , 5 , 6 , 7 , 9 , 10 , 12 , 15 ] ) ,
178+ PB3 : ( pb3, 3 , [ 0 , 1 , 3 , 4 , 5 , 6 , 8 , 9 , 10 , 14 , 15 ] , crate :: gpio:: Debugger ) ,
179+ PB4 : ( pb4, 4 , [ 0 , 2 , 3 , 4 , 5 , 6 , 7 , 9 , 10 , 13 , 15 ] , crate :: gpio:: Debugger ) ,
180+ PB5 : ( pb5, 5 , [ 2 , 3 , 4 , 5 , 6 , 7 , 9 , 10 , 13 , 14 , 15 ] ) ,
181+ PB6 : ( pb6, 6 , [ 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 13 , 14 , 15 ] ) ,
182+ PB7 : ( pb7, 7 , [ 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 12 , 13 , 15 ] ) ,
183+ PB8 : ( pb8, 8 , [ 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 12 , 13 , 15 ] ) ,
184+ PB9 : ( pb9, 9 , [ 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 12 , 13 , 15 ] ) ,
185+ PB10 : ( pb10, 10 , [ 1 , 2 , 3 , 4 , 5 , 7 , 9 , 15 ] ) ,
186+ PB12 : ( pb12, 12 , [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 9 , 14 , 15 ] ) ,
187+ PB13 : ( pb13, 13 , [ 1 , 2 , 3 , 4 , 5 , 7 , 8 , 9 , 12 , 14 , 15 ] ) ,
188+ PB14 : ( pb14, 14 , [ 1 , 2 , 3 , 4 , 5 , 7 , 8 , 15 ] ) ,
189+ PB15 : ( pb15, 15 , [ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 8 , 10 , 13 , 14 , 15 ] ) ,
190+ ] ) ;
191+
192+ gpio ! ( GPIOC , gpioc, Gpioc , PC , 'C' , PCn , [
193+ PC0 : ( pc0, 0 , [ 6 , 7 , 9 , 10 , 15 ] ) ,
194+ PC1 : ( pc1, 1 , [ 0 , 5 , 6 , 10 , 15 ] ) ,
195+ PC2 : ( pc2, 2 , [ 0 , 2 , 5 , 6 , 9 , 15 ] ) ,
196+ PC3 : ( pc3, 3 , [ 0 , 3 , 5 , 6 , 9 , 15 ] ) ,
197+ PC4 : ( pc4, 4 , [ 1 , 3 , 5 , 7 , 15 ] ) ,
198+ PC5 : ( pc5, 5 , [ 1 , 4 , 6 , 10 , 15 ] ) ,
199+ PC6 : ( pc6, 6 , [ 2 , 3 , 5 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 15 ] ) ,
200+ PC7 : ( pc7, 7 , [ 0 , 2 , 3 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 15 ] ) , //TRGIO (AF0) was missing from autogenerated code
201+ PC8 : ( pc8, 8 , [ 0 , 2 , 3 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 15 ] ) ,
202+ PC9 : ( pc9, 9 , [ 0 , 2 , 3 , 4 , 5 , 8 , 9 , 11 , 12 , 13 , 15 ] ) ,
203+ PC10 : ( pc10, 10 , [ 3 , 6 , 7 , 8 , 9 , 12 , 13 , 15 ] ) ,
204+ PC11 : ( pc11, 11 , [ 3 , 6 , 7 , 8 , 9 , 12 , 13 , 15 ] ) ,
205+ PC12 : ( pc12, 12 , [ 0 , 2 , 3 , 6 , 7 , 8 , 12 , 13 , 15 ] ) ,
206+ PC13 : ( pc13, 13 , [ 15 ] ) ,
207+ PC14 : ( pc14, 14 , [ 15 ] ) ,
208+ PC15 : ( pc15, 15 , [ 15 ] ) ,
209+ ] ) ;
210+
211+ gpio ! ( GPIOD , gpiod, Gpiod , PD , 'D' , PDn , [
212+ PD0 : ( pd0, 0 , [ 3 , 8 , 9 , 12 , 15 ] ) ,
213+ PD1 : ( pd1, 1 , [ 8 , 9 , 12 , 15 ] ) ,
214+ PD2 : ( pd2, 2 , [ 0 , 2 , 4 , 8 , 12 , 13 , 15 ] ) ,
215+ PD3 : ( pd3, 3 , [ 5 , 7 , 12 , 13 , 15 ] ) ,
216+ PD4 : ( pd4, 4 , [ 7 , 10 , 12 , 15 ] ) ,
217+ PD5 : ( pd5, 5 , [ 1 , 5 , 7 , 9 , 10 , 12 , 15 ] ) ,
218+ PD6 : ( pd6, 6 , [ 3 , 4 , 5 , 7 , 10 , 11 , 12 , 13 , 15 ] ) ,
219+ PD7 : ( pd7, 7 , [ 3 , 4 , 5 , 6 , 7 , 10 , 11 , 12 , 15 ] ) ,
220+ PD8 : ( pd8, 8 , [ 7 , 12 , 15 ] ) ,
221+ PD9 : ( pd9, 9 , [ 7 , 9 , 12 , 15 ] ) ,
222+ PD10 : ( pd10, 10 , [ 3 , 7 , 12 , 15 ] ) ,
223+ PD11 : ( pd11, 11 , [ 3 , 7 , 8 , 9 , 12 , 15 ] ) ,
224+ PD12 : ( pd12, 12 , [ 1 , 2 , 3 , 5 , 7 , 8 , 9 , 12 , 13 , 15 ] ) ,
225+ PD13 : ( pd13, 13 , [ 1 , 2 , 3 , 5 , 9 , 12 , 13 , 15 ] ) ,
226+ PD14 : ( pd14, 14 , [ 2 , 12 , 15 ] ) ,
227+ PD15 : ( pd15, 15 , [ 2 , 12 , 15 ] ) ,
228+ ] ) ;
229+
230+ gpio ! ( GPIOE , gpioe, Gpioe , PE , 'E' , PEn , [
231+ PE0 : ( pe0, 0 , [ 1 , 2 , 3 , 4 , 6 , 9 , 12 , 13 , 15 ] ) ,
232+ PE2 : ( pe2, 2 , [ 0 , 1 , 5 , 9 , 12 , 13 , 15 ] ) ,
233+ PE3 : ( pe3, 3 , [ 0 , 4 , 12 , 15 ] ) ,
234+ PE4 : ( pe4, 4 , [ 0 , 4 , 5 , 12 , 13 , 15 ] ) ,
235+ PE5 : ( pe5, 5 , [ 0 , 4 , 5 , 12 , 13 , 15 ] ) ,
236+ PE6 : ( pe6, 6 , [ 0 , 1 , 4 , 5 , 12 , 13 , 15 ] ) ,
237+ PE7 : ( pe7, 7 , [ 1 , 10 , 12 , 15 ] ) ,
238+ PE8 : ( pe8, 8 , [ 1 , 10 , 12 , 15 ] ) ,
239+ PE9 : ( pe9, 9 , [ 1 , 10 , 12 , 15 ] ) ,
240+ PE10 : ( pe10, 10 , [ 1 , 10 , 12 , 15 ] ) ,
241+ PE11 : ( pe11, 11 , [ 1 , 4 , 5 , 6 , 12 , 15 ] ) ,
242+ PE12 : ( pe12, 12 , [ 1 , 5 , 12 , 15 ] ) ,
243+ PE13 : ( pe13, 13 , [ 1 , 5 , 12 , 15 ] ) ,
244+ PE14 : ( pe14, 14 , [ 1 , 5 , 12 , 15 ] ) ,
245+ PE15 : ( pe15, 15 , [ 1 , 3 , 12 , 15 ] ) ,
246+ ] ) ;
247+
248+ gpio ! ( GPIOF , gpiof, Gpiof , PF , 'F' , PFn , [
249+ PF0 : ( pf0, 0 , [ 3 , 4 , 12 , 15 ] ) ,
250+ PF1 : ( pf1, 1 , [ 3 , 4 , 12 , 15 ] ) ,
251+ PF2 : ( pf2, 2 , [ 4 , 12 , 15 ] ) ,
252+ PF3 : ( pf3, 3 , [ 12 , 15 ] ) ,
253+ PF4 : ( pf4, 4 , [ 12 , 15 ] ) ,
254+ PF5 : ( pf5, 5 , [ 5 , 12 , 15 ] ) ,
255+ PF6 : ( pf6, 6 , [ 10 , 15 ] ) ,
256+ PF7 : ( pf7, 7 , [ 10 , 15 ] ) ,
257+ PF8 : ( pf8, 8 , [ 10 , 15 ] ) ,
258+ PF9 : ( pf9, 9 , [ 10 , 15 ] ) ,
259+ PF10 : ( pf10, 10 , [ 4 , 9 , 13 , 15 ] ) ,
260+ PF11 : ( pf11, 11 , [ 9 , 13 , 15 ] ) ,
261+ PF12 : ( pf12, 12 , [ 12 , 15 ] ) ,
262+ PF13 : ( pf13, 13 , [ 12 , 15 ] ) ,
263+ PF14 : ( pf14, 14 , [ 12 , 15 ] ) ,
264+ PF15 : ( pf15, 15 , [ 5 , 12 , 15 ] ) ,
265+ ] ) ;
266+
267+ gpio ! ( GPIOG , gpiog, Gpiog , PG , 'G' , PGn , [
268+ PG0 : ( pg0, 0 , [ 12 , 15 ] ) ,
269+ PG1 : ( pg1, 1 , [ 7 , 12 , 15 ] ) ,
270+ PG2 : ( pg2, 2 , [ 3 , 12 , 15 ] ) ,
271+ PG3 : ( pg3, 3 , [ 3 , 12 , 15 ] ) ,
272+ PG4 : ( pg4, 4 , [ 1 , 12 , 15 ] ) ,
273+ PG5 : ( pg5, 5 , [ 1 , 12 , 15 ] ) ,
274+ PG6 : ( pg6, 6 , [ 3 , 5 , 10 , 11 , 12 , 13 , 15 ] ) ,
275+ PG7 : ( pg7, 7 , [ 3 , 7 , 11 , 12 , 13 , 15 ] ) ,
276+ PG8 : ( pg8, 8 , [ 3 , 5 , 7 , 15 ] ) ,
277+ PG9 : ( pg9, 9 , [ 5 , 7 , 9 , 11 , 12 , 13 , 15 ] ) ,
278+ PG10 : ( pg10, 10 , [ 5 , 11 , 12 , 13 , 15 ] ) ,
279+ PG11 : ( pg11, 11 , [ 1 , 5 , 10 , 13 , 15 ] ) ,
280+ PG12 : ( pg12, 12 , [ 1 , 4 , 7 , 10 , 12 , 13 , 15 ] ) ,
281+ PG13 : ( pg13, 13 , [ 0 , 1 , 7 , 12 , 15 ] ) ,
282+ PG14 : ( pg14, 14 , [ 0 , 1 , 4 , 7 , 9 , 12 , 15 ] ) ,
283+ PG15 : ( pg15, 15 , [ 5 , 7 , 13 , 15 ] ) ,
284+ ] ) ;
285+
286+ gpio ! ( GPIOH , gpioh, Gpioh , PH , 'H' , PHn , [
287+ PH0 : ( ph0, 0 , [ 15 ] ) ,
288+ PH1 : ( ph1, 1 , [ 15 ] ) ,
289+ ] ) ;
290+
291+ impl < const P : char > Gpio < P > {
292+ pub ( crate ) const fn ptr ( ) -> * const crate :: pac:: gpioa:: RegisterBlock {
293+ match P {
294+ 'A' => crate :: pac:: GPIOA :: ptr ( ) ,
295+ 'B' => crate :: pac:: GPIOB :: ptr ( ) as _ ,
296+ 'C' => crate :: pac:: GPIOC :: ptr ( ) as _ ,
297+ 'D' => crate :: pac:: GPIOD :: ptr ( ) as _ ,
298+ 'E' => crate :: pac:: GPIOE :: ptr ( ) as _ ,
299+ 'F' => crate :: pac:: GPIOF :: ptr ( ) as _ ,
300+ 'G' => crate :: pac:: GPIOG :: ptr ( ) as _ ,
301+ 'H' => crate :: pac:: GPIOH :: ptr ( ) as _ ,
302+ _ => panic ! ( "Unknown GPIO port" ) ,
303+ }
304+ }
305+ }
306+ }
307+
148308#[ cfg( feature = "gpio-h56x_h573" ) ]
149309pub use h56x_h573:: * ;
150310
0 commit comments