esp32: Extend support for S2 series, and S3 where applicable.
Improvements made: - PSRAM support for S2 - partition definition for 16MiB flash - correct ADC and DAC pins - correct GPIO and IRQ pins - S3 components in CMakeLists Based on original commit made by Seon Rozenblum aka @UnexpectedMaker. Signed-off-by: Damien George <damien@micropython.org>
This commit is contained in:
@@ -56,6 +56,8 @@ typedef struct _machine_pin_irq_obj_t {
|
||||
} machine_pin_irq_obj_t;
|
||||
|
||||
STATIC const machine_pin_obj_t machine_pin_obj[] = {
|
||||
#if CONFIG_IDF_TARGET_ESP32
|
||||
|
||||
{{&machine_pin_type}, GPIO_NUM_0},
|
||||
{{&machine_pin_type}, GPIO_NUM_1},
|
||||
{{&machine_pin_type}, GPIO_NUM_2},
|
||||
@@ -78,17 +80,10 @@ STATIC const machine_pin_obj_t machine_pin_obj[] = {
|
||||
{{&machine_pin_type}, GPIO_NUM_19},
|
||||
{{NULL}, -1},
|
||||
{{&machine_pin_type}, GPIO_NUM_21},
|
||||
#if CONFIG_IDF_TARGET_ESP32
|
||||
{{&machine_pin_type}, GPIO_NUM_22},
|
||||
{{&machine_pin_type}, GPIO_NUM_23},
|
||||
{{NULL}, -1},
|
||||
{{&machine_pin_type}, GPIO_NUM_25},
|
||||
#else
|
||||
{{NULL}, -1},
|
||||
{{NULL}, -1},
|
||||
{{NULL}, -1},
|
||||
{{NULL}, -1},
|
||||
#endif
|
||||
{{&machine_pin_type}, GPIO_NUM_26},
|
||||
{{&machine_pin_type}, GPIO_NUM_27},
|
||||
{{NULL}, -1},
|
||||
@@ -103,6 +98,63 @@ STATIC const machine_pin_obj_t machine_pin_obj[] = {
|
||||
{{&machine_pin_type}, GPIO_NUM_37},
|
||||
{{&machine_pin_type}, GPIO_NUM_38},
|
||||
{{&machine_pin_type}, GPIO_NUM_39},
|
||||
|
||||
#elif CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3
|
||||
|
||||
{{&machine_pin_type}, GPIO_NUM_0},
|
||||
{{&machine_pin_type}, GPIO_NUM_1},
|
||||
{{&machine_pin_type}, GPIO_NUM_2},
|
||||
{{&machine_pin_type}, GPIO_NUM_3},
|
||||
{{&machine_pin_type}, GPIO_NUM_4},
|
||||
{{&machine_pin_type}, GPIO_NUM_5},
|
||||
{{&machine_pin_type}, GPIO_NUM_6},
|
||||
{{&machine_pin_type}, GPIO_NUM_7},
|
||||
{{&machine_pin_type}, GPIO_NUM_8},
|
||||
{{&machine_pin_type}, GPIO_NUM_9},
|
||||
{{&machine_pin_type}, GPIO_NUM_10},
|
||||
{{&machine_pin_type}, GPIO_NUM_11},
|
||||
{{&machine_pin_type}, GPIO_NUM_12},
|
||||
{{&machine_pin_type}, GPIO_NUM_13},
|
||||
{{&machine_pin_type}, GPIO_NUM_14},
|
||||
{{&machine_pin_type}, GPIO_NUM_15},
|
||||
{{&machine_pin_type}, GPIO_NUM_16},
|
||||
{{&machine_pin_type}, GPIO_NUM_17},
|
||||
{{&machine_pin_type}, GPIO_NUM_18},
|
||||
#if CONFIG_USB_CDC_ENABLED
|
||||
{{NULL}, -1}, // 19 is for native USB D-
|
||||
{{NULL}, -1}, // 20 is for native USB D-
|
||||
#else
|
||||
{{&machine_pin_type}, GPIO_NUM_19},
|
||||
{{&machine_pin_type}, GPIO_NUM_20},
|
||||
#endif
|
||||
{{&machine_pin_type}, GPIO_NUM_21},
|
||||
{{NULL}, -1}, // 22 not a pin
|
||||
{{NULL}, -1}, // 23 not a pin
|
||||
{{NULL}, -1}, // 24 not a pin
|
||||
{{NULL}, -1}, // 25 not a pin
|
||||
{{NULL}, -1}, // 26 FLASH/PSRAM
|
||||
{{NULL}, -1}, // 27 FLASH/PSRAM
|
||||
{{NULL}, -1}, // 28 FLASH/PSRAM
|
||||
{{NULL}, -1}, // 29 FLASH/PSRAM
|
||||
{{NULL}, -1}, // 30 FLASH/PSRAM
|
||||
{{NULL}, -1}, // 31 FLASH/PSRAM
|
||||
{{NULL}, -1}, // 32 FLASH/PSRAM
|
||||
{{&machine_pin_type}, GPIO_NUM_33},
|
||||
{{&machine_pin_type}, GPIO_NUM_34},
|
||||
{{&machine_pin_type}, GPIO_NUM_35},
|
||||
{{&machine_pin_type}, GPIO_NUM_36},
|
||||
{{&machine_pin_type}, GPIO_NUM_37},
|
||||
{{&machine_pin_type}, GPIO_NUM_38},
|
||||
{{&machine_pin_type}, GPIO_NUM_39}, // MTCLK
|
||||
{{&machine_pin_type}, GPIO_NUM_40}, // MTDO
|
||||
{{&machine_pin_type}, GPIO_NUM_41}, // MTDI
|
||||
{{&machine_pin_type}, GPIO_NUM_42}, // MTMS
|
||||
{{&machine_pin_type}, GPIO_NUM_43}, // U0TXD
|
||||
{{&machine_pin_type}, GPIO_NUM_44}, // U0RXD
|
||||
{{&machine_pin_type}, GPIO_NUM_45},
|
||||
{{&machine_pin_type}, GPIO_NUM_46},
|
||||
|
||||
#endif
|
||||
};
|
||||
|
||||
// forward declaration
|
||||
@@ -399,6 +451,8 @@ const mp_obj_type_t machine_pin_type = {
|
||||
STATIC const mp_obj_type_t machine_pin_irq_type;
|
||||
|
||||
STATIC const machine_pin_irq_obj_t machine_pin_irq_object[] = {
|
||||
#if CONFIG_IDF_TARGET_ESP32
|
||||
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_0},
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_1},
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_2},
|
||||
@@ -421,17 +475,10 @@ STATIC const machine_pin_irq_obj_t machine_pin_irq_object[] = {
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_19},
|
||||
{{NULL}, -1},
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_21},
|
||||
#if CONFIG_IDF_TARGET_ESP32
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_22},
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_23},
|
||||
{{NULL}, -1},
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_25},
|
||||
#else
|
||||
{{NULL}, -1},
|
||||
{{NULL}, -1},
|
||||
{{NULL}, -1},
|
||||
{{NULL}, -1},
|
||||
#endif
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_26},
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_27},
|
||||
{{NULL}, -1},
|
||||
@@ -446,6 +493,62 @@ STATIC const machine_pin_irq_obj_t machine_pin_irq_object[] = {
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_37},
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_38},
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_39},
|
||||
|
||||
#elif CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3
|
||||
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_0},
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_1},
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_2},
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_3},
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_4},
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_5},
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_6},
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_7},
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_8},
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_9},
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_10},
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_11},
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_12},
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_13},
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_14},
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_15},
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_16},
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_17},
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_18},
|
||||
#if CONFIG_USB_CDC_ENABLED
|
||||
{{NULL}, -1}, // 19 is for native USB D-
|
||||
{{NULL}, -1}, // 20 is for native USB D-
|
||||
#else
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_19},
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_20},
|
||||
#endif
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_21},
|
||||
{{NULL}, -1}, // 22 not a pin
|
||||
{{NULL}, -1}, // 23 not a pin
|
||||
{{NULL}, -1}, // 24 not a pin
|
||||
{{NULL}, -1}, // 25 not a pin
|
||||
{{NULL}, -1}, // 26 FLASH/PSRAM
|
||||
{{NULL}, -1}, // 27 FLASH/PSRAM
|
||||
{{NULL}, -1}, // 28 FLASH/PSRAM
|
||||
{{NULL}, -1}, // 29 FLASH/PSRAM
|
||||
{{NULL}, -1}, // 30 FLASH/PSRAM
|
||||
{{NULL}, -1}, // 31 FLASH/PSRAM
|
||||
{{NULL}, -1}, // 32 FLASH/PSRAM
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_33},
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_34},
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_35},
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_36},
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_37},
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_38},
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_39},
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_40},
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_41},
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_42},
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_43},
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_44},
|
||||
{{&machine_pin_irq_type}, GPIO_NUM_45},
|
||||
|
||||
#endif
|
||||
};
|
||||
|
||||
STATIC 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) {
|
||||
|
||||
Reference in New Issue
Block a user