Skip to content

Commit 283e6aa

Browse files
committed
Fix v1 P4s and p4gpio board def
1 parent d753d94 commit 283e6aa

7 files changed

Lines changed: 146 additions & 60 deletions

File tree

ports/espressif/Makefile

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -399,12 +399,13 @@ CHIP_COMPONENTS = \
399399
esp_hal_usb
400400

401401
else ifeq ($(IDF_TARGET),esp32p4)
402+
CIRCUITPY_ESP32P4_REV ?= 1
402403
CFLAGS += \
403-
-isystem esp-idf/components/soc/esp32p4/register/hw_ver3 \
404-
-isystem esp-idf/components/soc/esp32p4/register/hw_ver1 \
404+
-isystem esp-idf/components/soc/esp32p4/register/hw_ver$(CIRCUITPY_ESP32P4_REV) \
405405
-isystem esp-idf/components/esp_hw_support/ldo/include \
406406
-isystem esp-idf/components/esp_driver_touch_sens/hw_ver3/include
407407

408+
ifeq ($(CIRCUITPY_ESP32P4_REV),3)
408409
LDFLAGS += \
409410
-Tesp32p4.rom.libc.ld \
410411
-Tesp32p4.rom.systimer.ld \
@@ -413,6 +414,14 @@ LDFLAGS += \
413414
-Tesp32p4.rom.eco5.rvfp.ld \
414415
-Tesp32p4.rom.version.ld \
415416
-Trom.wdt.ld
417+
else
418+
LDFLAGS += \
419+
-Tesp32p4.rom.libc.ld \
420+
-Tesp32p4.rom.systimer.ld \
421+
-Tesp32p4.rom.rvfp.ld \
422+
-Tesp32p4.rom.version.ld \
423+
-Trom.wdt.ld
424+
endif
416425

417426

418427
CHIP_COMPONENTS = \

ports/espressif/boards/adafruit_p4gpio/pins.c

Lines changed: 54 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -9,65 +9,65 @@
99
static const mp_rom_map_elem_t board_module_globals_table[] = {
1010
CIRCUITPYTHON_BOARD_DICT_STANDARD_ITEMS
1111

12-
// Header J8 (B1): GPIO0..GPIO7
13-
{ MP_ROM_QSTR(MP_QSTR_IO0), MP_ROM_PTR(&pin_GPIO0) },
14-
{ MP_ROM_QSTR(MP_QSTR_IO1), MP_ROM_PTR(&pin_GPIO1) },
15-
{ MP_ROM_QSTR(MP_QSTR_IO2), MP_ROM_PTR(&pin_GPIO2) },
16-
{ MP_ROM_QSTR(MP_QSTR_IO3), MP_ROM_PTR(&pin_GPIO3) },
17-
{ MP_ROM_QSTR(MP_QSTR_IO4), MP_ROM_PTR(&pin_GPIO4) },
18-
{ MP_ROM_QSTR(MP_QSTR_IO5), MP_ROM_PTR(&pin_GPIO5) },
19-
{ MP_ROM_QSTR(MP_QSTR_IO6), MP_ROM_PTR(&pin_GPIO6) },
20-
{ MP_ROM_QSTR(MP_QSTR_IO7), MP_ROM_PTR(&pin_GPIO7) },
12+
// Header J8 (B1)
13+
{ MP_ROM_QSTR(MP_QSTR_B1_0), MP_ROM_PTR(&pin_GPIO0) },
14+
{ MP_ROM_QSTR(MP_QSTR_B1_1), MP_ROM_PTR(&pin_GPIO1) },
15+
{ MP_ROM_QSTR(MP_QSTR_B1_2), MP_ROM_PTR(&pin_GPIO2) },
16+
{ MP_ROM_QSTR(MP_QSTR_B1_3), MP_ROM_PTR(&pin_GPIO3) },
17+
{ MP_ROM_QSTR(MP_QSTR_B1_4), MP_ROM_PTR(&pin_GPIO4) },
18+
{ MP_ROM_QSTR(MP_QSTR_B1_5), MP_ROM_PTR(&pin_GPIO5) },
19+
{ MP_ROM_QSTR(MP_QSTR_B1_6), MP_ROM_PTR(&pin_GPIO6) },
20+
{ MP_ROM_QSTR(MP_QSTR_B1_7), MP_ROM_PTR(&pin_GPIO7) },
2121

22-
// Header J7 (B2): GPIO8..GPIO15
23-
{ MP_ROM_QSTR(MP_QSTR_IO8), MP_ROM_PTR(&pin_GPIO8) },
24-
{ MP_ROM_QSTR(MP_QSTR_IO9), MP_ROM_PTR(&pin_GPIO9) },
25-
{ MP_ROM_QSTR(MP_QSTR_IO10), MP_ROM_PTR(&pin_GPIO10) },
26-
{ MP_ROM_QSTR(MP_QSTR_IO11), MP_ROM_PTR(&pin_GPIO11) },
27-
{ MP_ROM_QSTR(MP_QSTR_IO12), MP_ROM_PTR(&pin_GPIO12) },
28-
{ MP_ROM_QSTR(MP_QSTR_IO13), MP_ROM_PTR(&pin_GPIO13) },
29-
{ MP_ROM_QSTR(MP_QSTR_IO14), MP_ROM_PTR(&pin_GPIO14) },
30-
{ MP_ROM_QSTR(MP_QSTR_IO15), MP_ROM_PTR(&pin_GPIO15) },
22+
// Header J7 (B2)
23+
{ MP_ROM_QSTR(MP_QSTR_B2_0), MP_ROM_PTR(&pin_GPIO8) },
24+
{ MP_ROM_QSTR(MP_QSTR_B2_1), MP_ROM_PTR(&pin_GPIO9) },
25+
{ MP_ROM_QSTR(MP_QSTR_B2_2), MP_ROM_PTR(&pin_GPIO10) },
26+
{ MP_ROM_QSTR(MP_QSTR_B2_3), MP_ROM_PTR(&pin_GPIO11) },
27+
{ MP_ROM_QSTR(MP_QSTR_B2_4), MP_ROM_PTR(&pin_GPIO12) },
28+
{ MP_ROM_QSTR(MP_QSTR_B2_5), MP_ROM_PTR(&pin_GPIO13) },
29+
{ MP_ROM_QSTR(MP_QSTR_B2_6), MP_ROM_PTR(&pin_GPIO14) },
30+
{ MP_ROM_QSTR(MP_QSTR_B2_7), MP_ROM_PTR(&pin_GPIO15) },
3131

32-
// Header J6 (B3): GPIO16..GPIO23
33-
{ MP_ROM_QSTR(MP_QSTR_IO16), MP_ROM_PTR(&pin_GPIO16) },
34-
{ MP_ROM_QSTR(MP_QSTR_IO17), MP_ROM_PTR(&pin_GPIO17) },
35-
{ MP_ROM_QSTR(MP_QSTR_IO18), MP_ROM_PTR(&pin_GPIO18) },
36-
{ MP_ROM_QSTR(MP_QSTR_IO19), MP_ROM_PTR(&pin_GPIO19) },
37-
{ MP_ROM_QSTR(MP_QSTR_IO20), MP_ROM_PTR(&pin_GPIO20) },
38-
{ MP_ROM_QSTR(MP_QSTR_IO21), MP_ROM_PTR(&pin_GPIO21) },
39-
{ MP_ROM_QSTR(MP_QSTR_IO22), MP_ROM_PTR(&pin_GPIO22) },
40-
{ MP_ROM_QSTR(MP_QSTR_IO23), MP_ROM_PTR(&pin_GPIO23) },
32+
// Header J6 (B3)
33+
{ MP_ROM_QSTR(MP_QSTR_B3_0), MP_ROM_PTR(&pin_GPIO16) },
34+
{ MP_ROM_QSTR(MP_QSTR_B3_1), MP_ROM_PTR(&pin_GPIO17) },
35+
{ MP_ROM_QSTR(MP_QSTR_B3_2), MP_ROM_PTR(&pin_GPIO18) },
36+
{ MP_ROM_QSTR(MP_QSTR_B3_3), MP_ROM_PTR(&pin_GPIO19) },
37+
{ MP_ROM_QSTR(MP_QSTR_B3_4), MP_ROM_PTR(&pin_GPIO20) },
38+
{ MP_ROM_QSTR(MP_QSTR_B3_5), MP_ROM_PTR(&pin_GPIO21) },
39+
{ MP_ROM_QSTR(MP_QSTR_B3_6), MP_ROM_PTR(&pin_GPIO22) },
40+
{ MP_ROM_QSTR(MP_QSTR_B3_7), MP_ROM_PTR(&pin_GPIO23) },
4141

42-
// Header J3 (T3): GPIO26..GPIO33
43-
{ MP_ROM_QSTR(MP_QSTR_IO26), MP_ROM_PTR(&pin_GPIO26) },
44-
{ MP_ROM_QSTR(MP_QSTR_IO27), MP_ROM_PTR(&pin_GPIO27) },
45-
{ MP_ROM_QSTR(MP_QSTR_IO28), MP_ROM_PTR(&pin_GPIO28) },
46-
{ MP_ROM_QSTR(MP_QSTR_IO29), MP_ROM_PTR(&pin_GPIO29) },
47-
{ MP_ROM_QSTR(MP_QSTR_IO30), MP_ROM_PTR(&pin_GPIO30) },
48-
{ MP_ROM_QSTR(MP_QSTR_IO31), MP_ROM_PTR(&pin_GPIO31) },
49-
{ MP_ROM_QSTR(MP_QSTR_IO32), MP_ROM_PTR(&pin_GPIO32) },
50-
{ MP_ROM_QSTR(MP_QSTR_IO33), MP_ROM_PTR(&pin_GPIO33) },
42+
// Header J3 (T3)
43+
{ MP_ROM_QSTR(MP_QSTR_T3_0), MP_ROM_PTR(&pin_GPIO33) },
44+
{ MP_ROM_QSTR(MP_QSTR_T3_1), MP_ROM_PTR(&pin_GPIO32) },
45+
{ MP_ROM_QSTR(MP_QSTR_T3_2), MP_ROM_PTR(&pin_GPIO31) },
46+
{ MP_ROM_QSTR(MP_QSTR_T3_3), MP_ROM_PTR(&pin_GPIO30) },
47+
{ MP_ROM_QSTR(MP_QSTR_T3_4), MP_ROM_PTR(&pin_GPIO29) },
48+
{ MP_ROM_QSTR(MP_QSTR_T3_5), MP_ROM_PTR(&pin_GPIO28) },
49+
{ MP_ROM_QSTR(MP_QSTR_T3_6), MP_ROM_PTR(&pin_GPIO27) },
50+
{ MP_ROM_QSTR(MP_QSTR_T3_7), MP_ROM_PTR(&pin_GPIO26) },
5151

52-
// Header J4 (T2): GPIO34, GPIO37..GPIO43
53-
{ MP_ROM_QSTR(MP_QSTR_IO34), MP_ROM_PTR(&pin_GPIO34) },
54-
{ MP_ROM_QSTR(MP_QSTR_IO37), MP_ROM_PTR(&pin_GPIO37) },
55-
{ MP_ROM_QSTR(MP_QSTR_IO38), MP_ROM_PTR(&pin_GPIO38) },
56-
{ MP_ROM_QSTR(MP_QSTR_IO39), MP_ROM_PTR(&pin_GPIO39) },
57-
{ MP_ROM_QSTR(MP_QSTR_IO40), MP_ROM_PTR(&pin_GPIO40) },
58-
{ MP_ROM_QSTR(MP_QSTR_IO41), MP_ROM_PTR(&pin_GPIO41) },
59-
{ MP_ROM_QSTR(MP_QSTR_IO42), MP_ROM_PTR(&pin_GPIO42) },
60-
{ MP_ROM_QSTR(MP_QSTR_IO43), MP_ROM_PTR(&pin_GPIO43) },
52+
// Header J4 (T2)
53+
{ MP_ROM_QSTR(MP_QSTR_T2_0), MP_ROM_PTR(&pin_GPIO43) },
54+
{ MP_ROM_QSTR(MP_QSTR_T2_1), MP_ROM_PTR(&pin_GPIO42) },
55+
{ MP_ROM_QSTR(MP_QSTR_T2_2), MP_ROM_PTR(&pin_GPIO41) },
56+
{ MP_ROM_QSTR(MP_QSTR_T2_3), MP_ROM_PTR(&pin_GPIO40) },
57+
{ MP_ROM_QSTR(MP_QSTR_T2_4), MP_ROM_PTR(&pin_GPIO39) },
58+
{ MP_ROM_QSTR(MP_QSTR_T2_5), MP_ROM_PTR(&pin_GPIO38) },
59+
{ MP_ROM_QSTR(MP_QSTR_T2_6), MP_ROM_PTR(&pin_GPIO37) },
60+
{ MP_ROM_QSTR(MP_QSTR_T2_7), MP_ROM_PTR(&pin_GPIO34) },
6161

62-
// Header J5 (T1): GPIO44..GPIO51
63-
{ MP_ROM_QSTR(MP_QSTR_IO44), MP_ROM_PTR(&pin_GPIO44) },
64-
{ MP_ROM_QSTR(MP_QSTR_IO45), MP_ROM_PTR(&pin_GPIO45) },
65-
{ MP_ROM_QSTR(MP_QSTR_IO46), MP_ROM_PTR(&pin_GPIO46) },
66-
{ MP_ROM_QSTR(MP_QSTR_IO47), MP_ROM_PTR(&pin_GPIO47) },
67-
{ MP_ROM_QSTR(MP_QSTR_IO48), MP_ROM_PTR(&pin_GPIO48) },
68-
{ MP_ROM_QSTR(MP_QSTR_IO49), MP_ROM_PTR(&pin_GPIO49) },
69-
{ MP_ROM_QSTR(MP_QSTR_IO50), MP_ROM_PTR(&pin_GPIO50) },
70-
{ MP_ROM_QSTR(MP_QSTR_IO51), MP_ROM_PTR(&pin_GPIO51) },
62+
// Header J5 (T1)
63+
{ MP_ROM_QSTR(MP_QSTR_T1_0), MP_ROM_PTR(&pin_GPIO51) },
64+
{ MP_ROM_QSTR(MP_QSTR_T1_1), MP_ROM_PTR(&pin_GPIO50) },
65+
{ MP_ROM_QSTR(MP_QSTR_T1_2), MP_ROM_PTR(&pin_GPIO49) },
66+
{ MP_ROM_QSTR(MP_QSTR_T1_3), MP_ROM_PTR(&pin_GPIO48) },
67+
{ MP_ROM_QSTR(MP_QSTR_T1_4), MP_ROM_PTR(&pin_GPIO47) },
68+
{ MP_ROM_QSTR(MP_QSTR_T1_5), MP_ROM_PTR(&pin_GPIO46) },
69+
{ MP_ROM_QSTR(MP_QSTR_T1_6), MP_ROM_PTR(&pin_GPIO45) },
70+
{ MP_ROM_QSTR(MP_QSTR_T1_7), MP_ROM_PTR(&pin_GPIO44) },
7171

7272
// Boot button (also exposed on J9/J10 pin 2)
7373
{ MP_ROM_QSTR(MP_QSTR_BOOT), MP_ROM_PTR(&pin_GPIO35) },
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
#
2+
# Espressif IoT Development Framework Configuration
3+
#
4+
#
5+
# Bootloader config
6+
#
7+
#
8+
# Log
9+
#
10+
#
11+
# Format
12+
#
13+
# CONFIG_BOOTLOADER_LOG_COLORS is not set
14+
# end of Format
15+
16+
# end of Log
17+
18+
# default:
19+
CONFIG_BOOTLOADER_CPU_CLK_FREQ_MHZ=90
20+
#
21+
# Serial Flash Configurations
22+
#
23+
# CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT is not set
24+
# end of Serial Flash Configurations
25+
26+
# end of Bootloader config
27+
28+
#
29+
# Component config
30+
#
31+
#
32+
# Bluetooth
33+
#
34+
# CONFIG_BT_ENABLED is not set
35+
# end of Bluetooth
36+
37+
#
38+
# Hardware Settings
39+
#
40+
#
41+
# Chip revision
42+
#
43+
CONFIG_ESP32P4_SELECTS_REV_LESS_V3=y
44+
CONFIG_ESP32P4_REV_MIN_100=y
45+
# default:
46+
CONFIG_ESP32P4_REV_MIN_FULL=100
47+
# default:
48+
CONFIG_ESP_REV_MIN_FULL=100
49+
# default:
50+
CONFIG_ESP32P4_REV_MAX_FULL=199
51+
# default:
52+
CONFIG_ESP_REV_MAX_FULL=199
53+
# end of Chip revision
54+
55+
# end of Hardware Settings
56+
57+
#
58+
# ESP System Settings
59+
#
60+
# default:
61+
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_360=y
62+
# default:
63+
# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_400 is not set
64+
# default:
65+
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=360
66+
# end of ESP System Settings
67+
68+
# end of Component config
69+
70+
# end of Espressif IoT Development Framework Configuration
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
CONFIG_ESP32P4_SELECTS_REV_LESS_V3=y
2+
CONFIG_ESP32P4_REV_MIN_100=y
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
CONFIG_ESP32P4_SELECTS_REV_LESS_V3=y
2+
CONFIG_ESP32P4_REV_MIN_100=y
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
CONFIG_ESP32P4_SELECTS_REV_LESS_V3=y
2+
CONFIG_ESP32P4_REV_MIN_100=y

ports/espressif/tools/update_sdkconfig.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import click
66
import copy
77
import kconfiglib
8-
import kconfiglib.core
98
import os
109

1110
OPT_SETTINGS = [
@@ -203,7 +202,7 @@ def update(debug, board, update_all): # noqa: C901: too complex
203202
kconfig_path = pathlib.Path(f"build-{board}/esp-idf/kconfigs.in")
204203

205204
kconfig_path = pathlib.Path("esp-idf/Kconfig")
206-
kconfig = kconfiglib.Kconfig(kconfig_path)
205+
kconfig = kconfiglib.Kconfig(str(kconfig_path))
207206

208207
input_config = pathlib.Path(f"build-{board}/esp-idf/sdkconfig")
209208
kconfig.load_config(input_config)
@@ -244,7 +243,7 @@ def update(debug, board, update_all): # noqa: C901: too complex
244243
# Don't include the board file in cp defaults. The board may have custom
245244
# overrides.
246245

247-
cp_kconfig_defaults = kconfiglib.Kconfig(kconfig_path)
246+
cp_kconfig_defaults = kconfiglib.Kconfig(str(kconfig_path))
248247
for default_file in sdkconfigs:
249248
cp_kconfig_defaults.load_config(default_file, replace=False)
250249

@@ -332,7 +331,7 @@ def update(debug, board, update_all): # noqa: C901: too complex
332331
shared_keys = {}
333332
first = True
334333
for path in pathlib.Path(".").glob(loc):
335-
kc = kconfiglib.Kconfig(path)
334+
kc = kconfiglib.Kconfig(str(path))
336335
all_file_syms = set()
337336
for sym in kc.unique_defined_syms:
338337
all_file_syms.add(sym)
@@ -378,6 +377,8 @@ def update(debug, board, update_all): # noqa: C901: too complex
378377
all_references.update(rdep.referenced)
379378
psram_reference = False
380379
for referenced in all_references:
380+
if not referenced.name:
381+
continue
381382
if referenced.name.startswith("IDF_TARGET"):
382383
target_reference = True
383384
if referenced.name in target_symbols:

0 commit comments

Comments
 (0)