Skip to content

Commit e398037

Browse files
authored
Merge branch 'master' into feat/esp32c61
2 parents 8d48bd9 + f049bf0 commit e398037

File tree

11 files changed

+102
-29
lines changed

11 files changed

+102
-29
lines changed

.github/workflows/cron.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,4 +43,4 @@ jobs:
4343
# targets: "esp32,esp32s2,esp32s3,esp32c3,esp32c6,esp32h2,esp32p4"
4444
- idf_branch: "release/v5.5"
4545
lib_builder_branch: "master"
46-
targets: "esp32,esp32s2,esp32s3,esp32c3,esp32c6,esp32h2,esp32p4,esp32c5"
46+
targets: "esp32,esp32s2,esp32s3,esp32c3,esp32c6,esp32h2,esp32p4,esp32p4_es,esp32c5"

.github/workflows/push.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
runs-on: ubuntu-latest
2626
strategy:
2727
matrix:
28-
target: [esp32, esp32s2, esp32s3, esp32c2, esp32c3, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61]
28+
target: [esp32, esp32s2, esp32s3, esp32c2, esp32c3, esp32c6, esp32h2, esp32p4, esp32p4_es, esp32c5, esp32c61]
2929
fail-fast: false
3030
steps:
3131
- name: Checkout repository

CMakeLists.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ idf_build_get_property(elf EXECUTABLE GENERATOR_EXPRESSION)
99

1010
add_custom_command(
1111
OUTPUT "idf_libs"
12-
COMMAND ${CMAKE_SOURCE_DIR}/tools/copy-libs.sh ${IDF_TARGET} "${CONFIG_LIB_BUILDER_FLASHMODE}" "${CONFIG_SPIRAM_MODE_OCT}" "${CONFIG_IDF_TARGET_ARCH_XTENSA}"
12+
COMMAND ${CMAKE_SOURCE_DIR}/tools/copy-libs.sh ${IDF_TARGET} "$ENV{CHIP_VARIANT}" "${CONFIG_LIB_BUILDER_FLASHMODE}" "${CONFIG_SPIRAM_MODE_OCT}" "${CONFIG_IDF_TARGET_ARCH_XTENSA}"
1313
DEPENDS ${elf}
1414
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
1515
VERBATIM
@@ -18,7 +18,7 @@ add_custom_target(idf-libs DEPENDS "idf_libs")
1818

1919
add_custom_command(
2020
OUTPUT "copy_bootloader"
21-
COMMAND ${CMAKE_SOURCE_DIR}/tools/copy-bootloader.sh ${IDF_TARGET} "${CONFIG_LIB_BUILDER_FLASHMODE}" "${CONFIG_LIB_BUILDER_FLASHFREQ}"
21+
COMMAND ${CMAKE_SOURCE_DIR}/tools/copy-bootloader.sh ${IDF_TARGET} "$ENV{CHIP_VARIANT}" "${CONFIG_LIB_BUILDER_FLASHMODE}" "${CONFIG_LIB_BUILDER_FLASHFREQ}"
2222
DEPENDS bootloader
2323
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
2424
VERBATIM
@@ -27,7 +27,7 @@ add_custom_target(copy-bootloader DEPENDS "copy_bootloader")
2727

2828
add_custom_command(
2929
OUTPUT "mem_variant"
30-
COMMAND ${CMAKE_SOURCE_DIR}/tools/copy-mem-variant.sh ${IDF_TARGET} "${CONFIG_LIB_BUILDER_FLASHMODE}" "${CONFIG_SPIRAM_MODE_OCT}"
30+
COMMAND ${CMAKE_SOURCE_DIR}/tools/copy-mem-variant.sh ${IDF_TARGET} "$ENV{CHIP_VARIANT}" "${CONFIG_LIB_BUILDER_FLASHMODE}" "${CONFIG_SPIRAM_MODE_OCT}"
3131
DEPENDS ${elf}
3232
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
3333
VERBATIM

build.sh

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -146,11 +146,12 @@ if [ "$BUILD_TYPE" != "all" ]; then
146146
# Target Features Configs
147147
for target_json in `jq -c '.targets[]' configs/builds.json`; do
148148
target=$(echo "$target_json" | jq -c '.target' | tr -d '"')
149+
export CHIP_VARIANT=$(echo "$target_json" | jq -c '.chip_variant // "'$target'"' | tr -d '"')
149150

150-
# Check if $target is in the $TARGET array
151+
# Check if $CHIP_VARIANT is in the $TARGET array
151152
target_in_array=false
152153
for item in "${TARGET[@]}"; do
153-
if [ "$item" = "$target" ]; then
154+
if [ "$item" = "$CHIP_VARIANT" ]; then
154155
target_in_array=true
155156
break
156157
fi
@@ -161,12 +162,12 @@ if [ "$BUILD_TYPE" != "all" ]; then
161162
continue
162163
fi
163164

164-
configs="configs/defconfig.common;configs/defconfig.$target;configs/defconfig.debug_$BUILD_DEBUG"
165+
configs="configs/defconfig.common;configs/defconfig.$CHIP_VARIANT;configs/defconfig.debug_$BUILD_DEBUG"
165166
for defconf in `echo "$target_json" | jq -c '.features[]' | tr -d '"'`; do
166167
configs="$configs;configs/defconfig.$defconf"
167168
done
168169

169-
echo "* Building for $target"
170+
echo "* Building for target: '$target', variant: '$CHIP_VARIANT'"
170171

171172
# Configs From Arguments
172173
for conf in $CONFIGS; do
@@ -187,36 +188,37 @@ mkdir -p "$AR_TOOLS/esp32-arduino-libs"
187188
#targets_count=`jq -c '.targets[] | length' configs/builds.json`
188189
for target_json in `jq -c '.targets[]' configs/builds.json`; do
189190
target=$(echo "$target_json" | jq -c '.target' | tr -d '"')
191+
export CHIP_VARIANT=$(echo "$target_json" | jq -c '.chip_variant // "'$target'"' | tr -d '"')
190192
target_skip=$(echo "$target_json" | jq -c '.skip // 0')
191193

192-
# Check if $target is in the $TARGET array if not "all"
194+
# Check if $CHIP_VARIANT is in the $TARGET array if not "all"
193195
if [ "$TARGET" != "all" ]; then
194196
target_in_array=false
195197
for item in "${TARGET[@]}"; do
196-
if [ "$item" = "$target" ]; then
198+
if [ "$item" = "$CHIP_VARIANT" ]; then
197199
target_in_array=true
198200
break
199201
fi
200202
done
201203

202-
# If $target is not in the $TARGET array, skip processing
204+
# If $CHIP_VARIANT is not in the $TARGET array, skip processing
203205
if [ "$target_in_array" = false ]; then
204-
echo "* Skipping Target: $target"
206+
echo "* Skipping Target: $CHIP_VARIANT"
205207
continue
206208
fi
207209
fi
208210

209211
# Skip chips that should not be a part of the final libs
210212
# WARNING!!! this logic needs to be updated when cron builds are split into jobs
211213
if [ "$TARGET" = "all" ] && [ $target_skip -eq 1 ]; then
212-
echo "* Skipping Target: $target"
214+
echo "* Skipping Target: $CHIP_VARIANT"
213215
continue
214216
fi
215217

216-
echo "* Target: $target"
218+
echo "* Target: '$target', Variant: '$CHIP_VARIANT'"
217219

218220
# Build Main Configs List
219-
main_configs="configs/defconfig.common;configs/defconfig.$target;configs/defconfig.debug_$BUILD_DEBUG"
221+
main_configs="configs/defconfig.common;configs/defconfig.$CHIP_VARIANT;configs/defconfig.debug_$BUILD_DEBUG"
220222
for defconf in `echo "$target_json" | jq -c '.features[]' | tr -d '"'`; do
221223
main_configs="$main_configs;configs/defconfig.$defconf"
222224
done
@@ -233,15 +235,15 @@ for target_json in `jq -c '.targets[]' configs/builds.json`; do
233235
if [ $? -ne 0 ]; then exit 1; fi
234236

235237
# Build ESP-Hosted slave firmwares
236-
if [ "$target" == "esp32p4" ]; then
238+
if [ "$CHIP_VARIANT" == "esp32p4" ]; then
237239
./tools/build-hosted.sh
238240
fi
239241

240242
# Build ESP-SR Models
241243
if [ "$target" == "esp32s3" ] || [ "$target" == "esp32p4" ]; then
242244
idf.py -DIDF_TARGET="$target" -DSDKCONFIG_DEFAULTS="$idf_libs_configs" srmodels_bin
243245
if [ $? -ne 0 ]; then exit 1; fi
244-
AR_SDK="$AR_TOOLS/esp32-arduino-libs/$target"
246+
AR_SDK="$AR_TOOLS/esp32-arduino-libs/$CHIP_VARIANT"
245247
# sr model.bin
246248
if [ -f "build/srmodels/srmodels.bin" ]; then
247249
echo "$AR_SDK/esp_sr"

configs/builds.json

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,21 @@
7373
["dio","80m"]
7474
]
7575
},
76+
{
77+
"chip_variant": "esp32p4_es",
78+
"target": "esp32p4",
79+
"features":["qio_ram","esp_sr"],
80+
"idf_libs":["qio","80m_200m"],
81+
"bootloaders":[
82+
["qio","80m_200m"],
83+
["dio","80m_200m"],
84+
["qio","40m_200m"],
85+
["dio","40m_200m"]
86+
],
87+
"mem_variants":[
88+
["dio","80m_200m"]
89+
]
90+
},
7691
{
7792
"target": "esp32p4",
7893
"features":["qio_ram","esp_sr"],

configs/defconfig.esp32p4

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# CONFIG_ESP32P4_SELECTS_REV_LESS_V3 is not set
12
CONFIG_IDF_EXPERIMENTAL_FEATURES=y
23
CONFIG_SPIRAM=y
34
# CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1 is not set

configs/defconfig.esp32p4_es

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
CONFIG_ESP32P4_SELECTS_REV_LESS_V3=y
2+
CONFIG_IDF_EXPERIMENTAL_FEATURES=y
3+
CONFIG_SPIRAM=y
4+
# CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1 is not set
5+
CONFIG_LWIP_TCP_SACK_OUT=y
6+
7+
# ESP-Hosted-MCU
8+
CONFIG_SLAVE_IDF_TARGET_ESP32C6=y
9+
CONFIG_ESP_SDIO_BUS_WIDTH=4
10+
CONFIG_ESP_SDIO_CLOCK_FREQ_KHZ=40000
11+
CONFIG_ESP_SDIO_PIN_CMD=19
12+
CONFIG_ESP_SDIO_PIN_CLK=18
13+
CONFIG_ESP_SDIO_PIN_D0=14
14+
CONFIG_ESP_SDIO_PIN_D1=15
15+
CONFIG_ESP_SDIO_PIN_D2=16
16+
CONFIG_ESP_SDIO_PIN_D3=17
17+
18+
CONFIG_WIFI_RMT_STATIC_RX_BUFFER_NUM=10
19+
CONFIG_WIFI_RMT_DYNAMIC_RX_BUFFER_NUM=32
20+
CONFIG_WIFI_RMT_DYNAMIC_TX_BUFFER_NUM=32
21+
CONFIG_WIFI_RMT_AMPDU_TX_ENABLED=y
22+
CONFIG_WIFI_RMT_TX_BA_WIN=32
23+
CONFIG_WIFI_RMT_AMPDU_RX_ENABLED=y
24+
CONFIG_WIFI_RMT_RX_BA_WIN=16
25+
26+
CONFIG_LWIP_TCP_SND_BUF_DEFAULT=65534
27+
CONFIG_LWIP_TCP_WND_DEFAULT=65534
28+
CONFIG_LWIP_TCP_RECVMBOX_SIZE=64
29+
CONFIG_LWIP_UDP_RECVMBOX_SIZE=64
30+
CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=64
31+
32+
# Bluetooth through ESP-Hosted-MCU
33+
CONFIG_BT_ENABLED=y
34+
CONFIG_BT_CONTROLLER_DISABLED=y
35+
CONFIG_BT_BLUEDROID_ENABLED=n
36+
CONFIG_BT_NIMBLE_ENABLED=y
37+
CONFIG_BT_NIMBLE_NVS_PERSIST=y
38+
CONFIG_BT_NIMBLE_TRANSPORT_UART=n
39+
CONFIG_ESP_HOSTED_ENABLE_BT_NIMBLE=y
40+
CONFIG_ESP_HOSTED_NIMBLE_HCI_VHCI=y
41+
42+
# RGB Display Optimizations
43+
CONFIG_LCD_RGB_ISR_IRAM_SAFE=y
44+
CONFIG_LCD_RGB_RESTART_IN_VSYNC=y
45+
46+
CONFIG_USB_HOST_HUBS_SUPPORTED=y
47+
CONFIG_USB_HOST_HUB_MULTI_LEVEL=y
48+
CONFIG_USB_HOST_HW_BUFFER_BIAS_BALANCED=y

tools/config.sh

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@ if [ -z "$IDF_TARGET" ]; then
2626
fi
2727
fi
2828

29+
if [ -z "$CHIP_VARIANT" ]; then
30+
CHIP_VARIANT="$IDF_TARGET"
31+
fi
32+
2933
# Owner of the target ESP32 Arduino repository
3034
AR_USER="${GITHUB_REPOSITORY_OWNER:-espressif}"
3135

@@ -50,8 +54,8 @@ AR_TOOLS="$AR_OUT/tools"
5054
AR_PATCHES="$AR_ROOT/patches"
5155
AR_PLATFORM_TXT="$AR_OUT/platform.txt"
5256
AR_GEN_PART_PY="$AR_TOOLS/gen_esp32part.py"
53-
AR_SDK="$AR_TOOLS/esp32-arduino-libs/$IDF_TARGET"
54-
PIOARDUINO_SDK="FRAMEWORK_SDK_DIR, \"$IDF_TARGET\""
57+
AR_SDK="$AR_TOOLS/esp32-arduino-libs/$CHIP_VARIANT"
58+
PIOARDUINO_SDK="FRAMEWORK_SDK_DIR, \"$CHIP_VARIANT\""
5559
TOOLS_JSON_OUT="$AR_TOOLS/esp32-arduino-libs"
5660

5761
if [ -d "$IDF_PATH" ]; then

tools/copy-bootloader.sh

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
#!/bin/bash
22

33
IDF_TARGET=$1
4-
FLASH_MODE="$2"
5-
FLASH_FREQ="$3"
4+
CHIP_VARIANT=$2
5+
FLASH_MODE="$3"
6+
FLASH_FREQ="$4"
67
BOOTCONF=$FLASH_MODE"_$FLASH_FREQ"
78

89
source ./tools/config.sh

tools/copy-libs.sh

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,12 @@
22
# config
33

44
IDF_TARGET=$1
5-
IS_XTENSA=$4
6-
OCT_FLASH="$2"
5+
CHIP_VARIANT=$2
6+
IS_XTENSA=$5
7+
OCT_FLASH="$3"
78
OCT_PSRAM=
89

9-
if [ "$3" = "y" ]; then
10+
if [ "$4" = "y" ]; then
1011
OCT_PSRAM="opi"
1112
else
1213
OCT_PSRAM="qspi"
@@ -15,7 +16,7 @@ MEMCONF=$OCT_FLASH"_$OCT_PSRAM"
1516

1617
source ./tools/config.sh
1718

18-
echo "IDF_TARGET: $IDF_TARGET, MEMCONF: $MEMCONF, PWD: $PWD, OUT: $AR_SDK"
19+
echo "IDF_TARGET: $IDF_TARGET, CHIP_VARIANT: $CHIP_VARIANT, MEMCONF: $MEMCONF, PWD: $PWD, OUT: $AR_SDK"
1920

2021
# clean previous
2122
if [ -e "$AR_SDK/sdkconfig" ]; then

0 commit comments

Comments
 (0)