@@ -56,6 +56,8 @@ typedef struct _machine_pin_irq_obj_t {
5656} machine_pin_irq_obj_t ;
5757
5858STATIC const machine_pin_obj_t machine_pin_obj [] = {
59+ #if CONFIG_IDF_TARGET_ESP32
60+
5961 {{& machine_pin_type }, GPIO_NUM_0 },
6062 {{& machine_pin_type }, GPIO_NUM_1 },
6163 {{& machine_pin_type }, GPIO_NUM_2 },
@@ -78,17 +80,10 @@ STATIC const machine_pin_obj_t machine_pin_obj[] = {
7880 {{& machine_pin_type }, GPIO_NUM_19 },
7981 {{NULL }, -1 },
8082 {{& machine_pin_type }, GPIO_NUM_21 },
81- #if CONFIG_IDF_TARGET_ESP32
8283 {{& machine_pin_type }, GPIO_NUM_22 },
8384 {{& machine_pin_type }, GPIO_NUM_23 },
8485 {{NULL }, -1 },
8586 {{& machine_pin_type }, GPIO_NUM_25 },
86- #else
87- {{NULL }, -1 },
88- {{NULL }, -1 },
89- {{NULL }, -1 },
90- {{NULL }, -1 },
91- #endif
9287 {{& machine_pin_type }, GPIO_NUM_26 },
9388 {{& machine_pin_type }, GPIO_NUM_27 },
9489 {{NULL }, -1 },
@@ -103,6 +98,63 @@ STATIC const machine_pin_obj_t machine_pin_obj[] = {
10398 {{& machine_pin_type }, GPIO_NUM_37 },
10499 {{& machine_pin_type }, GPIO_NUM_38 },
105100 {{& machine_pin_type }, GPIO_NUM_39 },
101+
102+ #elif CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3
103+
104+ {{& machine_pin_type }, GPIO_NUM_0 },
105+ {{& machine_pin_type }, GPIO_NUM_1 },
106+ {{& machine_pin_type }, GPIO_NUM_2 },
107+ {{& machine_pin_type }, GPIO_NUM_3 },
108+ {{& machine_pin_type }, GPIO_NUM_4 },
109+ {{& machine_pin_type }, GPIO_NUM_5 },
110+ {{& machine_pin_type }, GPIO_NUM_6 },
111+ {{& machine_pin_type }, GPIO_NUM_7 },
112+ {{& machine_pin_type }, GPIO_NUM_8 },
113+ {{& machine_pin_type }, GPIO_NUM_9 },
114+ {{& machine_pin_type }, GPIO_NUM_10 },
115+ {{& machine_pin_type }, GPIO_NUM_11 },
116+ {{& machine_pin_type }, GPIO_NUM_12 },
117+ {{& machine_pin_type }, GPIO_NUM_13 },
118+ {{& machine_pin_type }, GPIO_NUM_14 },
119+ {{& machine_pin_type }, GPIO_NUM_15 },
120+ {{& machine_pin_type }, GPIO_NUM_16 },
121+ {{& machine_pin_type }, GPIO_NUM_17 },
122+ {{& machine_pin_type }, GPIO_NUM_18 },
123+ #if CONFIG_USB_CDC_ENABLED
124+ {{NULL }, -1 }, // 19 is for native USB D-
125+ {{NULL }, -1 }, // 20 is for native USB D-
126+ #else
127+ {{& machine_pin_type }, GPIO_NUM_19 },
128+ {{& machine_pin_type }, GPIO_NUM_20 },
129+ #endif
130+ {{& machine_pin_type }, GPIO_NUM_21 },
131+ {{NULL }, -1 }, // 22 not a pin
132+ {{NULL }, -1 }, // 23 not a pin
133+ {{NULL }, -1 }, // 24 not a pin
134+ {{NULL }, -1 }, // 25 not a pin
135+ {{NULL }, -1 }, // 26 FLASH/PSRAM
136+ {{NULL }, -1 }, // 27 FLASH/PSRAM
137+ {{NULL }, -1 }, // 28 FLASH/PSRAM
138+ {{NULL }, -1 }, // 29 FLASH/PSRAM
139+ {{NULL }, -1 }, // 30 FLASH/PSRAM
140+ {{NULL }, -1 }, // 31 FLASH/PSRAM
141+ {{NULL }, -1 }, // 32 FLASH/PSRAM
142+ {{& machine_pin_type }, GPIO_NUM_33 },
143+ {{& machine_pin_type }, GPIO_NUM_34 },
144+ {{& machine_pin_type }, GPIO_NUM_35 },
145+ {{& machine_pin_type }, GPIO_NUM_36 },
146+ {{& machine_pin_type }, GPIO_NUM_37 },
147+ {{& machine_pin_type }, GPIO_NUM_38 },
148+ {{& machine_pin_type }, GPIO_NUM_39 }, // MTCLK
149+ {{& machine_pin_type }, GPIO_NUM_40 }, // MTDO
150+ {{& machine_pin_type }, GPIO_NUM_41 }, // MTDI
151+ {{& machine_pin_type }, GPIO_NUM_42 }, // MTMS
152+ {{& machine_pin_type }, GPIO_NUM_43 }, // U0TXD
153+ {{& machine_pin_type }, GPIO_NUM_44 }, // U0RXD
154+ {{& machine_pin_type }, GPIO_NUM_45 },
155+ {{& machine_pin_type }, GPIO_NUM_46 },
156+
157+ #endif
106158};
107159
108160// forward declaration
@@ -399,6 +451,8 @@ const mp_obj_type_t machine_pin_type = {
399451STATIC const mp_obj_type_t machine_pin_irq_type ;
400452
401453STATIC const machine_pin_irq_obj_t machine_pin_irq_object [] = {
454+ #if CONFIG_IDF_TARGET_ESP32
455+
402456 {{& machine_pin_irq_type }, GPIO_NUM_0 },
403457 {{& machine_pin_irq_type }, GPIO_NUM_1 },
404458 {{& machine_pin_irq_type }, GPIO_NUM_2 },
@@ -421,17 +475,10 @@ STATIC const machine_pin_irq_obj_t machine_pin_irq_object[] = {
421475 {{& machine_pin_irq_type }, GPIO_NUM_19 },
422476 {{NULL }, -1 },
423477 {{& machine_pin_irq_type }, GPIO_NUM_21 },
424- #if CONFIG_IDF_TARGET_ESP32
425478 {{& machine_pin_irq_type }, GPIO_NUM_22 },
426479 {{& machine_pin_irq_type }, GPIO_NUM_23 },
427480 {{NULL }, -1 },
428481 {{& machine_pin_irq_type }, GPIO_NUM_25 },
429- #else
430- {{NULL }, -1 },
431- {{NULL }, -1 },
432- {{NULL }, -1 },
433- {{NULL }, -1 },
434- #endif
435482 {{& machine_pin_irq_type }, GPIO_NUM_26 },
436483 {{& machine_pin_irq_type }, GPIO_NUM_27 },
437484 {{NULL }, -1 },
@@ -446,6 +493,62 @@ STATIC const machine_pin_irq_obj_t machine_pin_irq_object[] = {
446493 {{& machine_pin_irq_type }, GPIO_NUM_37 },
447494 {{& machine_pin_irq_type }, GPIO_NUM_38 },
448495 {{& machine_pin_irq_type }, GPIO_NUM_39 },
496+
497+ #elif CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3
498+
499+ {{& machine_pin_irq_type }, GPIO_NUM_0 },
500+ {{& machine_pin_irq_type }, GPIO_NUM_1 },
501+ {{& machine_pin_irq_type }, GPIO_NUM_2 },
502+ {{& machine_pin_irq_type }, GPIO_NUM_3 },
503+ {{& machine_pin_irq_type }, GPIO_NUM_4 },
504+ {{& machine_pin_irq_type }, GPIO_NUM_5 },
505+ {{& machine_pin_irq_type }, GPIO_NUM_6 },
506+ {{& machine_pin_irq_type }, GPIO_NUM_7 },
507+ {{& machine_pin_irq_type }, GPIO_NUM_8 },
508+ {{& machine_pin_irq_type }, GPIO_NUM_9 },
509+ {{& machine_pin_irq_type }, GPIO_NUM_10 },
510+ {{& machine_pin_irq_type }, GPIO_NUM_11 },
511+ {{& machine_pin_irq_type }, GPIO_NUM_12 },
512+ {{& machine_pin_irq_type }, GPIO_NUM_13 },
513+ {{& machine_pin_irq_type }, GPIO_NUM_14 },
514+ {{& machine_pin_irq_type }, GPIO_NUM_15 },
515+ {{& machine_pin_irq_type }, GPIO_NUM_16 },
516+ {{& machine_pin_irq_type }, GPIO_NUM_17 },
517+ {{& machine_pin_irq_type }, GPIO_NUM_18 },
518+ #if CONFIG_USB_CDC_ENABLED
519+ {{NULL }, -1 }, // 19 is for native USB D-
520+ {{NULL }, -1 }, // 20 is for native USB D-
521+ #else
522+ {{& machine_pin_irq_type }, GPIO_NUM_19 },
523+ {{& machine_pin_irq_type }, GPIO_NUM_20 },
524+ #endif
525+ {{& machine_pin_irq_type }, GPIO_NUM_21 },
526+ {{NULL }, -1 }, // 22 not a pin
527+ {{NULL }, -1 }, // 23 not a pin
528+ {{NULL }, -1 }, // 24 not a pin
529+ {{NULL }, -1 }, // 25 not a pin
530+ {{NULL }, -1 }, // 26 FLASH/PSRAM
531+ {{NULL }, -1 }, // 27 FLASH/PSRAM
532+ {{NULL }, -1 }, // 28 FLASH/PSRAM
533+ {{NULL }, -1 }, // 29 FLASH/PSRAM
534+ {{NULL }, -1 }, // 30 FLASH/PSRAM
535+ {{NULL }, -1 }, // 31 FLASH/PSRAM
536+ {{NULL }, -1 }, // 32 FLASH/PSRAM
537+ {{& machine_pin_irq_type }, GPIO_NUM_33 },
538+ {{& machine_pin_irq_type }, GPIO_NUM_34 },
539+ {{& machine_pin_irq_type }, GPIO_NUM_35 },
540+ {{& machine_pin_irq_type }, GPIO_NUM_36 },
541+ {{& machine_pin_irq_type }, GPIO_NUM_37 },
542+ {{& machine_pin_irq_type }, GPIO_NUM_38 },
543+ {{& machine_pin_irq_type }, GPIO_NUM_39 },
544+ {{& machine_pin_irq_type }, GPIO_NUM_40 },
545+ {{& machine_pin_irq_type }, GPIO_NUM_41 },
546+ {{& machine_pin_irq_type }, GPIO_NUM_42 },
547+ {{& machine_pin_irq_type }, GPIO_NUM_43 },
548+ {{& machine_pin_irq_type }, GPIO_NUM_44 },
549+ {{& machine_pin_irq_type }, GPIO_NUM_45 },
550+
551+ #endif
449552};
450553
451554STATIC mp_obj_t machine_pin_irq_call (mp_obj_t self_in , size_t n_args , size_t n_kw , const mp_obj_t * args ) {
0 commit comments