From fce71cb119f9e86bfe8762099c854815ad051575 Mon Sep 17 00:00:00 2001 From: arturo182 Date: Sun, 13 Oct 2024 00:20:16 +0200 Subject: [PATCH 1/2] Add missing ESP32-P4 GPIO defs --- ports/espressif/peripherals/esp32p4/pins.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ports/espressif/peripherals/esp32p4/pins.h b/ports/espressif/peripherals/esp32p4/pins.h index 5c106b316c070..59cf4258a40b4 100644 --- a/ports/espressif/peripherals/esp32p4/pins.h +++ b/ports/espressif/peripherals/esp32p4/pins.h @@ -54,6 +54,14 @@ extern const mcu_pin_obj_t pin_GPIO19; extern const mcu_pin_obj_t pin_GPIO20; #define GPIO21_EXISTS 1 extern const mcu_pin_obj_t pin_GPIO21; +#define GPIO22_EXISTS 1 +extern const mcu_pin_obj_t pin_GPIO22; +#define GPIO23_EXISTS 1 +extern const mcu_pin_obj_t pin_GPIO23; +#define GPIO24_EXISTS 1 +extern const mcu_pin_obj_t pin_GPIO24; +#define GPIO25_EXISTS 1 +extern const mcu_pin_obj_t pin_GPIO25; #define GPIO26_EXISTS 1 extern const mcu_pin_obj_t pin_GPIO26; #define GPIO27_EXISTS 1 From 7a4676dc148822d2af00a37c916a49ad95668cd9 Mon Sep 17 00:00:00 2001 From: arturo182 Date: Sun, 13 Oct 2024 00:22:41 +0200 Subject: [PATCH 2/2] Add the Solder Party ESP32-P4 Stamp XL board --- .../solderparty_esp32p4_stamp_xl/board.c | 9 ++++ .../mpconfigboard.h | 20 ++++++++ .../mpconfigboard.mk | 14 ++++++ .../solderparty_esp32p4_stamp_xl/pins.c | 49 +++++++++++++++++++ .../solderparty_esp32p4_stamp_xl/sdkconfig | 0 5 files changed, 92 insertions(+) create mode 100644 ports/espressif/boards/solderparty_esp32p4_stamp_xl/board.c create mode 100644 ports/espressif/boards/solderparty_esp32p4_stamp_xl/mpconfigboard.h create mode 100644 ports/espressif/boards/solderparty_esp32p4_stamp_xl/mpconfigboard.mk create mode 100644 ports/espressif/boards/solderparty_esp32p4_stamp_xl/pins.c create mode 100644 ports/espressif/boards/solderparty_esp32p4_stamp_xl/sdkconfig diff --git a/ports/espressif/boards/solderparty_esp32p4_stamp_xl/board.c b/ports/espressif/boards/solderparty_esp32p4_stamp_xl/board.c new file mode 100644 index 0000000000000..a3a9eec047145 --- /dev/null +++ b/ports/espressif/boards/solderparty_esp32p4_stamp_xl/board.c @@ -0,0 +1,9 @@ +// This file is part of the CircuitPython project: https://circuitpython.org +// +// SPDX-FileCopyrightText: Copyright (c) 2020 Scott Shawcroft for Adafruit Industries +// +// SPDX-License-Identifier: MIT + +#include "supervisor/board.h" + +// Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here. diff --git a/ports/espressif/boards/solderparty_esp32p4_stamp_xl/mpconfigboard.h b/ports/espressif/boards/solderparty_esp32p4_stamp_xl/mpconfigboard.h new file mode 100644 index 0000000000000..d6a8b734f6224 --- /dev/null +++ b/ports/espressif/boards/solderparty_esp32p4_stamp_xl/mpconfigboard.h @@ -0,0 +1,20 @@ +// This file is part of the CircuitPython project: https://circuitpython.org +// +// SPDX-FileCopyrightText: Copyright (c) 2019 Scott Shawcroft for Adafruit Industries +// +// SPDX-License-Identifier: MIT + +#pragma once + +// Micropython setup + +#define MICROPY_HW_BOARD_NAME "ESP32-P4 Stamp XL" +#define MICROPY_HW_MCU_NAME "ESP32P4" + +#define CIRCUITPY_BOOT_BUTTON (&pin_GPIO0) + +#define DEFAULT_UART_BUS_RX (&pin_GPIO38) +#define DEFAULT_UART_BUS_TX (&pin_GPIO37) + +#define CIRCUITPY_CONSOLE_UART_TX DEFAULT_UART_BUS_TX +#define CIRCUITPY_CONSOLE_UART_RX DEFAULT_UART_BUS_RX diff --git a/ports/espressif/boards/solderparty_esp32p4_stamp_xl/mpconfigboard.mk b/ports/espressif/boards/solderparty_esp32p4_stamp_xl/mpconfigboard.mk new file mode 100644 index 0000000000000..7354998c96db3 --- /dev/null +++ b/ports/espressif/boards/solderparty_esp32p4_stamp_xl/mpconfigboard.mk @@ -0,0 +1,14 @@ +# USB_VID = 0x303A +# USB_PID = 0x7003 +# USB_PRODUCT = "ESP32-P4 Stamp XL" +# USB_MANUFACTURER = "Solder Party" + +IDF_TARGET = esp32p4 + +CIRCUITPY_ESP_FLASH_SIZE = 16MB +CIRCUITPY_ESP_FLASH_MODE = opi +CIRCUITPY_ESP_FLASH_FREQ = 80m + +CIRCUITPY_ESP_PSRAM_SIZE = 32MB +CIRCUITPY_ESP_PSRAM_MODE = opi +CIRCUITPY_ESP_PSRAM_FREQ = 80m diff --git a/ports/espressif/boards/solderparty_esp32p4_stamp_xl/pins.c b/ports/espressif/boards/solderparty_esp32p4_stamp_xl/pins.c new file mode 100644 index 0000000000000..03f2d0dd2a3b1 --- /dev/null +++ b/ports/espressif/boards/solderparty_esp32p4_stamp_xl/pins.c @@ -0,0 +1,49 @@ +// This file is part of the CircuitPython project: https://circuitpython.org +// +// SPDX-FileCopyrightText: Copyright (c) 2020 Scott Shawcroft for Adafruit Industries +// +// SPDX-License-Identifier: MIT + +#include "shared-bindings/board/__init__.h" + +static const mp_rom_map_elem_t board_module_globals_table[] = { + CIRCUITPYTHON_BOARD_DICT_STANDARD_ITEMS + + { MP_ROM_QSTR(MP_QSTR_IO6), MP_ROM_PTR(&pin_GPIO6) }, + { MP_ROM_QSTR(MP_QSTR_IO7), MP_ROM_PTR(&pin_GPIO7) }, + { MP_ROM_QSTR(MP_QSTR_IO8), MP_ROM_PTR(&pin_GPIO8) }, + { MP_ROM_QSTR(MP_QSTR_IO9), MP_ROM_PTR(&pin_GPIO9) }, + { MP_ROM_QSTR(MP_QSTR_IO10), MP_ROM_PTR(&pin_GPIO10) }, + { MP_ROM_QSTR(MP_QSTR_IO11), MP_ROM_PTR(&pin_GPIO11) }, + { MP_ROM_QSTR(MP_QSTR_IO12), MP_ROM_PTR(&pin_GPIO12) }, + { MP_ROM_QSTR(MP_QSTR_IO13), MP_ROM_PTR(&pin_GPIO13) }, + { MP_ROM_QSTR(MP_QSTR_IO14), MP_ROM_PTR(&pin_GPIO14) }, + { MP_ROM_QSTR(MP_QSTR_IO15), MP_ROM_PTR(&pin_GPIO15) }, + { MP_ROM_QSTR(MP_QSTR_IO24), MP_ROM_PTR(&pin_GPIO24) }, + { MP_ROM_QSTR(MP_QSTR_IO25), MP_ROM_PTR(&pin_GPIO25) }, + { MP_ROM_QSTR(MP_QSTR_IO26), MP_ROM_PTR(&pin_GPIO26) }, + { MP_ROM_QSTR(MP_QSTR_IO27), MP_ROM_PTR(&pin_GPIO27) }, + { MP_ROM_QSTR(MP_QSTR_IO28), MP_ROM_PTR(&pin_GPIO28) }, + { MP_ROM_QSTR(MP_QSTR_IO29), MP_ROM_PTR(&pin_GPIO29) }, + { MP_ROM_QSTR(MP_QSTR_IO30), MP_ROM_PTR(&pin_GPIO30) }, + { MP_ROM_QSTR(MP_QSTR_IO31), MP_ROM_PTR(&pin_GPIO31) }, + { MP_ROM_QSTR(MP_QSTR_IO32), MP_ROM_PTR(&pin_GPIO32) }, + { MP_ROM_QSTR(MP_QSTR_IO33), MP_ROM_PTR(&pin_GPIO33) }, + { MP_ROM_QSTR(MP_QSTR_IO34), MP_ROM_PTR(&pin_GPIO34) }, + { MP_ROM_QSTR(MP_QSTR_IO35), MP_ROM_PTR(&pin_GPIO35) }, + { MP_ROM_QSTR(MP_QSTR_IO36), MP_ROM_PTR(&pin_GPIO36) }, + { MP_ROM_QSTR(MP_QSTR_IO37), MP_ROM_PTR(&pin_GPIO37) }, + { MP_ROM_QSTR(MP_QSTR_IO38), MP_ROM_PTR(&pin_GPIO38) }, + { MP_ROM_QSTR(MP_QSTR_IO39), MP_ROM_PTR(&pin_GPIO39) }, + { MP_ROM_QSTR(MP_QSTR_IO40), MP_ROM_PTR(&pin_GPIO40) }, + { MP_ROM_QSTR(MP_QSTR_IO41), MP_ROM_PTR(&pin_GPIO41) }, + { MP_ROM_QSTR(MP_QSTR_IO42), MP_ROM_PTR(&pin_GPIO42) }, + { MP_ROM_QSTR(MP_QSTR_IO43), MP_ROM_PTR(&pin_GPIO43) }, + { MP_ROM_QSTR(MP_QSTR_IO44), MP_ROM_PTR(&pin_GPIO44) }, + { MP_ROM_QSTR(MP_QSTR_IO45), MP_ROM_PTR(&pin_GPIO45) }, + { MP_ROM_QSTR(MP_QSTR_IO46), MP_ROM_PTR(&pin_GPIO46) }, + { MP_ROM_QSTR(MP_QSTR_IO47), MP_ROM_PTR(&pin_GPIO47) }, + { MP_ROM_QSTR(MP_QSTR_IO48), MP_ROM_PTR(&pin_GPIO48) }, + { MP_ROM_QSTR(MP_QSTR_IO49), MP_ROM_PTR(&pin_GPIO49) }, +}; +MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/solderparty_esp32p4_stamp_xl/sdkconfig b/ports/espressif/boards/solderparty_esp32p4_stamp_xl/sdkconfig new file mode 100644 index 0000000000000..e69de29bb2d1d