summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorAlex Lisitsyn <[email protected]>2021-03-09 11:29:07 +0100
committerAlex Lisitsyn <[email protected]>2021-04-16 13:38:00 +0200
commit2f0cb8b5f1a944187635a58a748ed08738d324a5 (patch)
tree72948ac73b578aa315d37486f04fc2c3351ab9aa /examples
parentc611199632b9288eff76c1c4bfdce5d8cc024748 (diff)
tinyusb: add support of esp32s3 target
add support of new esp32s3 target and the board update the roles.mk wrapper to allow dfu flashing of espressif chip update examples to allow compilation for esp32s3_addax_1 board once the code is tested the PR to original tinyusb repo will be submitted
Diffstat (limited to 'examples')
-rw-r--r--examples/device/board_test/CMakeLists.txt2
-rw-r--r--examples/device/board_test/sdkconfig.defaults3
-rw-r--r--examples/device/board_test/src/CMakeLists.txt12
-rw-r--r--examples/device/board_test/src/main.c2
-rw-r--r--examples/device/cdc_msc/CMakeLists.txt2
-rw-r--r--examples/device/cdc_msc_freertos/CMakeLists.txt2
-rw-r--r--examples/device/cdc_msc_freertos/sdkconfig.defaults2
-rw-r--r--examples/device/cdc_msc_freertos/src/CMakeLists.txt15
-rw-r--r--examples/device/cdc_msc_freertos/src/main.c6
-rw-r--r--examples/device/hid_composite_freertos/CMakeLists.txt4
-rw-r--r--examples/device/hid_composite_freertos/sdkconfig.defaults2
-rw-r--r--examples/device/hid_composite_freertos/src/CMakeLists.txt15
-rw-r--r--examples/device/hid_composite_freertos/src/main.c6
-rw-r--r--examples/host/cdc_msc_hid/CMakeLists.txt2
-rw-r--r--examples/make.mk3
-rw-r--r--examples/rules.mk4
16 files changed, 55 insertions, 27 deletions
diff --git a/examples/device/board_test/CMakeLists.txt b/examples/device/board_test/CMakeLists.txt
index 32c0329ea..7658fae49 100644
--- a/examples/device/board_test/CMakeLists.txt
+++ b/examples/device/board_test/CMakeLists.txt
@@ -7,7 +7,7 @@ set(TOP "../../..")
get_filename_component(TOP "${TOP}" REALPATH)
# Check for -DFAMILY=
-if(FAMILY STREQUAL "esp32s2")
+if(FAMILY STREQUAL "esp32sx")
cmake_minimum_required(VERSION 3.5)
include(${TOP}/hw/bsp/${FAMILY}/family.cmake)
diff --git a/examples/device/board_test/sdkconfig.defaults b/examples/device/board_test/sdkconfig.defaults
index cede66031..83871619e 100644
--- a/examples/device/board_test/sdkconfig.defaults
+++ b/examples/device/board_test/sdkconfig.defaults
@@ -1,4 +1,3 @@
CONFIG_IDF_CMAKE=y
-CONFIG_IDF_TARGET="esp32s2"
-CONFIG_IDF_TARGET_ESP32S2=y
+CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=y
CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y
diff --git a/examples/device/board_test/src/CMakeLists.txt b/examples/device/board_test/src/CMakeLists.txt
index e59661069..e44863609 100644
--- a/examples/device/board_test/src/CMakeLists.txt
+++ b/examples/device/board_test/src/CMakeLists.txt
@@ -1,10 +1,18 @@
-# FAMILY = "esp32s2"
+# FAMILY = esp32sx
idf_component_register(SRCS "main.c"
INCLUDE_DIRS "."
REQUIRES freertos soc)
+string(REGEX MATCH "^(esp32s[2-3])*" chip_target "$ENV{IDF_TARGET}")
+
+if(NOT chip_target)
+ message(FATAL_ERROR "Incorrect target: $ENV{IDF_TARGET}" )
+endif()
+
+string(TOUPPER ${chip_target} upper_case_target)
+
target_compile_options(${COMPONENT_TARGET} PUBLIC
- "-DCFG_TUSB_MCU=OPT_MCU_ESP32S2"
+ "-DCFG_TUSB_MCU=OPT_MCU_${upper_case_target}"
"-DCFG_TUSB_OS=OPT_OS_FREERTOS"
)
diff --git a/examples/device/board_test/src/main.c b/examples/device/board_test/src/main.c
index d94b24650..c77dd5647 100644
--- a/examples/device/board_test/src/main.c
+++ b/examples/device/board_test/src/main.c
@@ -70,7 +70,7 @@ int main(void)
return 0;
}
-#if CFG_TUSB_MCU == OPT_MCU_ESP32S2
+#if CFG_TUSB_MCU == OPT_MCU_ESP32S2 || CFG_TUSB_MCU == OPT_MCU_ESP32S3
void app_main(void)
{
main();
diff --git a/examples/device/cdc_msc/CMakeLists.txt b/examples/device/cdc_msc/CMakeLists.txt
index d4ee8c050..5f515c825 100644
--- a/examples/device/cdc_msc/CMakeLists.txt
+++ b/examples/device/cdc_msc/CMakeLists.txt
@@ -7,7 +7,7 @@ set(TOP "../../..")
get_filename_component(TOP "${TOP}" REALPATH)
# Check for -DFAMILY=
-if(FAMILY STREQUAL "esp32s2")
+if(FAMILY STREQUAL "esp32sx")
cmake_minimum_required(VERSION 3.5)
include(${TOP}/hw/bsp/${FAMILY}/family.cmake)
project(${PROJECT})
diff --git a/examples/device/cdc_msc_freertos/CMakeLists.txt b/examples/device/cdc_msc_freertos/CMakeLists.txt
index dabb4bc80..643cebebe 100644
--- a/examples/device/cdc_msc_freertos/CMakeLists.txt
+++ b/examples/device/cdc_msc_freertos/CMakeLists.txt
@@ -9,7 +9,7 @@ set(TOP "../../..")
get_filename_component(TOP "${TOP}" REALPATH)
# Check for -DFAMILY=
-if(FAMILY STREQUAL "esp32s2")
+if(FAMILY STREQUAL "esp32sx")
include(${TOP}/hw/bsp/${FAMILY}/family.cmake)
project(${PROJECT})
diff --git a/examples/device/cdc_msc_freertos/sdkconfig.defaults b/examples/device/cdc_msc_freertos/sdkconfig.defaults
index 3253f605c..83871619e 100644
--- a/examples/device/cdc_msc_freertos/sdkconfig.defaults
+++ b/examples/device/cdc_msc_freertos/sdkconfig.defaults
@@ -1,5 +1,3 @@
CONFIG_IDF_CMAKE=y
-CONFIG_IDF_TARGET="esp32s2"
-CONFIG_IDF_TARGET_ESP32S2=y
CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=y
CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y
diff --git a/examples/device/cdc_msc_freertos/src/CMakeLists.txt b/examples/device/cdc_msc_freertos/src/CMakeLists.txt
index a7ece92c9..17bc0b3eb 100644
--- a/examples/device/cdc_msc_freertos/src/CMakeLists.txt
+++ b/examples/device/cdc_msc_freertos/src/CMakeLists.txt
@@ -2,8 +2,19 @@ idf_component_register(SRCS "main.c" "usb_descriptors.c" "msc_disk.c"
INCLUDE_DIRS "."
REQUIRES freertos soc)
+string(REGEX MATCH "^(esp32s[2-3])*" chip_target "$ENV{IDF_TARGET}")
+
+if(NOT chip_target)
+ message(FATAL_ERROR "Incorrect target: $ENV{IDF_TARGET}" )
+else()
+ set(chip_family "esp32sx")
+endif()
+
+string(TOUPPER ${chip_target} upper_case_target)
+
target_compile_options(${COMPONENT_TARGET} PUBLIC
- "-DCFG_TUSB_MCU=OPT_MCU_ESP32S2"
+ "-DCFG_TUSB_MCU=OPT_MCU_${upper_case_target}"
+ "-DCFG_TUSB_OS=OPT_OS_FREERTOS"
)
idf_component_get_property( FREERTOS_ORIG_INCLUDE_PATH freertos ORIG_INCLUDE_PATH)
@@ -26,5 +37,5 @@ target_sources(${COMPONENT_TARGET} PUBLIC
"${TOP}/src/class/net/net_device.c"
"${TOP}/src/class/usbtmc/usbtmc_device.c"
"${TOP}/src/class/vendor/vendor_device.c"
- "${TOP}/src/portable/espressif/esp32s2/dcd_esp32s2.c"
+ "${TOP}/src/portable/espressif/${chip_family}/dcd_${chip_family}.c"
)
diff --git a/examples/device/cdc_msc_freertos/src/main.c b/examples/device/cdc_msc_freertos/src/main.c
index ccff2e0fb..c27b7feda 100644
--- a/examples/device/cdc_msc_freertos/src/main.c
+++ b/examples/device/cdc_msc_freertos/src/main.c
@@ -94,15 +94,15 @@ int main(void)
// Create CDC task
(void) xTaskCreateStatic( cdc_task, "cdc", CDC_STACK_SZIE, NULL, configMAX_PRIORITIES-2, cdc_stack, &cdc_taskdef);
- // skip starting scheduler (and return) for ESP32-S2
-#if CFG_TUSB_MCU != OPT_MCU_ESP32S2
+ // skip starting scheduler (and return) for ESP32-S2 or ESP32-S3
+#if CFG_TUSB_MCU != OPT_MCU_ESP32S2 && CFG_TUSB_MCU != OPT_MCU_ESP32S3
vTaskStartScheduler();
#endif
return 0;
}
-#if CFG_TUSB_MCU == OPT_MCU_ESP32S2
+#if CFG_TUSB_MCU == OPT_MCU_ESP32S2 || CFG_TUSB_MCU == OPT_MCU_ESP32S3
void app_main(void)
{
main();
diff --git a/examples/device/hid_composite_freertos/CMakeLists.txt b/examples/device/hid_composite_freertos/CMakeLists.txt
index dabb4bc80..a3c7697aa 100644
--- a/examples/device/hid_composite_freertos/CMakeLists.txt
+++ b/examples/device/hid_composite_freertos/CMakeLists.txt
@@ -9,10 +9,10 @@ set(TOP "../../..")
get_filename_component(TOP "${TOP}" REALPATH)
# Check for -DFAMILY=
-if(FAMILY STREQUAL "esp32s2")
+if(FAMILY STREQUAL "esp32sx")
include(${TOP}/hw/bsp/${FAMILY}/family.cmake)
project(${PROJECT})
else()
- message(FATAL_ERROR "Invalid FAMILY specified")
+ message(FATAL_ERROR "Invalid FAMILY specified: ${FAMILY}")
endif()
diff --git a/examples/device/hid_composite_freertos/sdkconfig.defaults b/examples/device/hid_composite_freertos/sdkconfig.defaults
index 3253f605c..83871619e 100644
--- a/examples/device/hid_composite_freertos/sdkconfig.defaults
+++ b/examples/device/hid_composite_freertos/sdkconfig.defaults
@@ -1,5 +1,3 @@
CONFIG_IDF_CMAKE=y
-CONFIG_IDF_TARGET="esp32s2"
-CONFIG_IDF_TARGET_ESP32S2=y
CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=y
CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y
diff --git a/examples/device/hid_composite_freertos/src/CMakeLists.txt b/examples/device/hid_composite_freertos/src/CMakeLists.txt
index f79e8f845..ae213a3c8 100644
--- a/examples/device/hid_composite_freertos/src/CMakeLists.txt
+++ b/examples/device/hid_composite_freertos/src/CMakeLists.txt
@@ -2,8 +2,19 @@ idf_component_register(SRCS "main.c" "usb_descriptors.c"
INCLUDE_DIRS "."
REQUIRES freertos soc)
+string(REGEX MATCH "^(esp32s[2-3])*" chip_target "$ENV{IDF_TARGET}")
+
+if(NOT chip_target)
+ message(FATAL_ERROR "Incorrect target: $ENV{IDF_TARGET}" )
+else()
+ set(chip_family "esp32sx")
+endif()
+
+string(TOUPPER ${chip_target} upper_case_target)
+
target_compile_options(${COMPONENT_TARGET} PUBLIC
- "-DCFG_TUSB_MCU=OPT_MCU_ESP32S2"
+ "-DCFG_TUSB_MCU=OPT_MCU_${upper_case_target}"
+ "-DCFG_TUSB_OS=OPT_OS_FREERTOS"
)
idf_component_get_property( FREERTOS_ORIG_INCLUDE_PATH freertos ORIG_INCLUDE_PATH)
@@ -26,5 +37,5 @@ target_sources(${COMPONENT_TARGET} PUBLIC
"${TOP}/src/class/net/net_device.c"
"${TOP}/src/class/usbtmc/usbtmc_device.c"
"${TOP}/src/class/vendor/vendor_device.c"
- "${TOP}/src/portable/espressif/esp32s2/dcd_esp32s2.c"
+ "${TOP}/src/portable/espressif/${chip_family}/dcd_${chip_family}.c"
)
diff --git a/examples/device/hid_composite_freertos/src/main.c b/examples/device/hid_composite_freertos/src/main.c
index 37b4a0cf7..47f976427 100644
--- a/examples/device/hid_composite_freertos/src/main.c
+++ b/examples/device/hid_composite_freertos/src/main.c
@@ -95,15 +95,15 @@ int main(void)
// Create HID task
(void) xTaskCreateStatic( hid_task, "hid", HID_STACK_SZIE, NULL, configMAX_PRIORITIES-2, hid_stack, &hid_taskdef);
- // skip starting scheduler (and return) for ESP32-S2
-#if CFG_TUSB_MCU != OPT_MCU_ESP32S2
+ // skip starting scheduler (and return) for ESP32-S2 or ESP32-S3
+#if CFG_TUSB_MCU != OPT_MCU_ESP32S2 && CFG_TUSB_MCU != OPT_MCU_ESP32S3
vTaskStartScheduler();
#endif
return 0;
}
-#if CFG_TUSB_MCU == OPT_MCU_ESP32S2
+#if CFG_TUSB_MCU == OPT_MCU_ESP32S2 || CFG_TUSB_MCU == OPT_MCU_ESP32S3
void app_main(void)
{
main();
diff --git a/examples/host/cdc_msc_hid/CMakeLists.txt b/examples/host/cdc_msc_hid/CMakeLists.txt
index 30b6c713e..e9360a731 100644
--- a/examples/host/cdc_msc_hid/CMakeLists.txt
+++ b/examples/host/cdc_msc_hid/CMakeLists.txt
@@ -7,7 +7,7 @@ set(TOP "../../..")
get_filename_component(TOP "${TOP}" REALPATH)
# Check for -DFAMILY=
-if(FAMILY STREQUAL "esp32s2")
+if(FAMILY STREQUAL "esp32sx")
cmake_minimum_required(VERSION 3.5)
include(${TOP}/hw/bsp/${FAMILY}/family.cmake)
project(${PROJECT})
diff --git a/examples/make.mk b/examples/make.mk
index e04a2592a..47879c66f 100644
--- a/examples/make.mk
+++ b/examples/make.mk
@@ -27,6 +27,9 @@ endif
# Board within family
ifeq ($(BOARD_PATH),)
BOARD_PATH := $(subst $(TOP)/,,$(wildcard $(TOP)/hw/bsp/*/boards/$(BOARD)))
+ifneq ($(wildcard $(TOP)/hw/bsp/*/boards/$(BOARD)/board.mk),)
+ include $(TOP)/hw/bsp/*/boards/$(BOARD)/board.mk
+endif
FAMILY := $(word 3, $(subst /, ,$(BOARD_PATH)))
FAMILY_PATH = hw/bsp/$(FAMILY)
endif
diff --git a/examples/rules.mk b/examples/rules.mk
index a19cd678e..461683fad 100644
--- a/examples/rules.mk
+++ b/examples/rules.mk
@@ -5,8 +5,8 @@
# Set all as default goal
.DEFAULT_GOAL := all
-# ESP32-S2 and RP2040 has its own CMake build system
-ifneq ($(FAMILY),esp32s2)
+# ESP32-SX and RP2040 has its own CMake build system
+ifneq ($(FAMILY),esp32sx)
ifneq ($(FAMILY),rp2040)
# ---------------------------------------
# GNU Make build system