From dd600fac34f63d9a03e3eaa997bcd4887d53afe1 Mon Sep 17 00:00:00 2001 From: Martino Facchin Date: Fri, 23 May 2025 10:54:50 +0200 Subject: [PATCH 1/7] portentac33: enable wifi and bluetooth --- boards.txt | 2 +- .../arduino_portenta_c33_r7fa6m5bh3cfc.conf | 33 +++++++++++++++++++ west.yml | 1 + 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/boards.txt b/boards.txt index fbfbd13f..2eac80cb 100644 --- a/boards.txt +++ b/boards.txt @@ -456,7 +456,7 @@ portentac33.menu.mode.linked.postbuild_mode=-prelinked portentac33.build.zephyr_target=arduino_portenta_c33 portentac33.build.zephyr_args= -portentac33.build.zephyr_hals=hal_renesas +portentac33.build.zephyr_hals=hal_renesas nanopb portentac33.build.variant=arduino_portenta_c33_r7fa6m5bh3cfc portentac33.build.mcu=cortex-m33 portentac33.build.fpu=-mfpu=fpv5-sp-d16 diff --git a/variants/arduino_portenta_c33_r7fa6m5bh3cfc/arduino_portenta_c33_r7fa6m5bh3cfc.conf b/variants/arduino_portenta_c33_r7fa6m5bh3cfc/arduino_portenta_c33_r7fa6m5bh3cfc.conf index 4ba7d164..e0ef6dd1 100644 --- a/variants/arduino_portenta_c33_r7fa6m5bh3cfc/arduino_portenta_c33_r7fa6m5bh3cfc.conf +++ b/variants/arduino_portenta_c33_r7fa6m5bh3cfc/arduino_portenta_c33_r7fa6m5bh3cfc.conf @@ -25,6 +25,11 @@ CONFIG_ARM_MPU=n CONFIG_SHELL_STACK_SIZE=32768 CONFIG_MAIN_STACK_SIZE=32768 CONFIG_LLEXT_HEAP_SIZE=128 +CONFIG_HEAP_MEM_POOL_SIZE=65536 +CONFIG_ISR_STACK_SIZE=8192 +CONFIG_LOG_PROCESS_THREAD_STACK_SIZE=8192 +CONFIG_IDLE_STACK_SIZE=8192 +CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=8192 CONFIG_ADC=n CONFIG_PWM=y @@ -56,6 +61,11 @@ CONFIG_NET_TX_STACK_SIZE=8192 CONFIG_NET_RX_STACK_SIZE=8192 CONFIG_NET_TCP_WORKQ_STACK_SIZE=8192 CONFIG_NET_MGMT_EVENT_STACK_SIZE=8192 +CONFIG_NET_MGMT_EVENT_MONITOR_STACK_SIZE=8192 +CONFIG_NET_SOCKETS_SERVICE_STACK_SIZE=8192 +CONFIG_ETH_RA_RX_THREAD_STACK_SIZE=8192 +CONFIG_NET_CONNECTION_MANAGER_MONITOR_STACK_SIZE=8192 + CONFIG_NET_TCP=y CONFIG_NET_SOCKETS=y CONFIG_POSIX_API=y @@ -68,3 +78,26 @@ CONFIG_MBEDTLS_HEAP_SIZE=60000 CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN=7168 CONFIG_MBEDTLS_HASH_ALL_ENABLED=y CONFIG_MBEDTLS_CMAC=y + +CONFIG_WIFI=y +CONFIG_WIFI_ESP_HOSTED=y +CONFIG_NANOPB=y +CONFIG_NET_CONFIG_AUTO_INIT=n +CONFIG_NET_CONNECTION_MANAGER=y +CONFIG_WIFI_NM_MAX_MANAGED_INTERFACES=2 +CONFIG_NET_L2_WIFI_SHELL=y +CONFIG_NET_MGMT_EVENT_QUEUE_SIZE=32 + +CONFIG_NET_IF_MAX_IPV4_COUNT=3 +CONFIG_NET_IF_MAX_IPV6_COUNT=3 + +CONFIG_BT=y +CONFIG_BT_HCI_RAW=y +CONFIG_BT_HCI_RAW_H4=y +CONFIG_BT_HCI_RAW_H4_ENABLE=y +CONFIG_BT_BUF_ACL_RX_SIZE=255 +CONFIG_BT_BUF_CMD_TX_SIZE=255 +CONFIG_BT_BUF_EVT_DISCARDABLE_SIZE=255 +CONFIG_BT_MAX_CONN=4 +CONFIG_BT_CTLR_ADV_EXT=y +CONFIG_BT_CTLR_ADV_PERIODIC=y \ No newline at end of file diff --git a/west.yml b/west.yml index 98804454..10f8f803 100644 --- a/west.yml +++ b/west.yml @@ -32,6 +32,7 @@ manifest: - segger - thrift - mcuboot + - nanopb - lvgl path-allowlist: - modules/hal/* From 6a527de4743ec53050d5f3cc96a066e9cac3cf83 Mon Sep 17 00:00:00 2001 From: Martino Facchin Date: Fri, 23 May 2025 12:09:01 +0200 Subject: [PATCH 2/7] giga: enable bluetooth Not working yet --- boards.txt | 2 +- loader/llext_exports.c | 3 +++ .../arduino_giga_r1_stm32h747xx_m7.conf | 19 ++++++++++++++++++- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/boards.txt b/boards.txt index 2eac80cb..b36a45f8 100644 --- a/boards.txt +++ b/boards.txt @@ -14,7 +14,7 @@ giga.menu.debug.true.postbuild_debug=-debug giga.build.zephyr_target=arduino_giga_r1//m7 giga.build.zephyr_args=--shield arduino_giga_display_shield -giga.build.zephyr_hals=hal_stm32 +giga.build.zephyr_hals=hal_stm32 hal_infineon giga.build.variant=arduino_giga_r1_stm32h747xx_m7 giga.build.mcu=cortex-m7 giga.build.fpu=-mfpu=fpv5-d16 diff --git a/loader/llext_exports.c b/loader/llext_exports.c index a0dc10df..7cc0a566 100644 --- a/loader/llext_exports.c +++ b/loader/llext_exports.c @@ -118,6 +118,9 @@ FORCE_EXPORT_SYM(net_buf_simple_pull); FORCE_EXPORT_SYM(net_buf_simple_add_mem); FORCE_EXPORT_SYM(net_buf_simple_pull_mem); FORCE_EXPORT_SYM(net_buf_unref); +#if defined(CONFIG_BT_HCI_SETUP) +FORCE_EXPORT_SYM(bt_h4_vnd_setup); +#endif #endif #if defined(CONFIG_STACK_CANARIES) diff --git a/variants/arduino_giga_r1_stm32h747xx_m7/arduino_giga_r1_stm32h747xx_m7.conf b/variants/arduino_giga_r1_stm32h747xx_m7/arduino_giga_r1_stm32h747xx_m7.conf index 5ffbcf1b..e63c069d 100644 --- a/variants/arduino_giga_r1_stm32h747xx_m7/arduino_giga_r1_stm32h747xx_m7.conf +++ b/variants/arduino_giga_r1_stm32h747xx_m7/arduino_giga_r1_stm32h747xx_m7.conf @@ -45,4 +45,21 @@ CONFIG_VIDEO_BUFFER_SMH_ATTRIBUTE=2 CONFIG_VIDEO_GC2145=y CONFIG_DISPLAY=y -CONFIG_INPUT=y \ No newline at end of file +CONFIG_INPUT=y + +CONFIG_BT=y +CONFIG_BT_HCI_RAW=y +CONFIG_BT_HCI_RAW_H4=y +CONFIG_BT_HCI_RAW_H4_ENABLE=y +CONFIG_BT_BUF_ACL_RX_SIZE=255 +CONFIG_BT_BUF_CMD_TX_SIZE=255 +CONFIG_BT_BUF_EVT_DISCARDABLE_SIZE=255 +CONFIG_BT_MAX_CONN=4 +CONFIG_BT_CTLR_ADV_EXT=y +CONFIG_BT_CTLR_ADV_PERIODIC=y +CONFIG_BT_CTLR_DTM_HCI=y +CONFIG_CYW4343W_MURATA_1DX=y +CONFIG_BT_HCI_DRIVER_LOG_LEVEL_DBG=y +CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=2048 +CONFIG_BT_RX_STACK_SIZE=4096 +CONFIG_BT_HCI_TX_STACK_SIZE=4096 \ No newline at end of file From 1f4493232c6748fc4478f7e69be3866ce2614ba8 Mon Sep 17 00:00:00 2001 From: Martino Facchin Date: Fri, 23 May 2025 17:59:40 +0200 Subject: [PATCH 3/7] update west.yml --- west.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/west.yml b/west.yml index 10f8f803..8b0a0a20 100644 --- a/west.yml +++ b/west.yml @@ -21,7 +21,7 @@ manifest: projects: - name: zephyr remote: arduino - revision: zephyr-arduino-20250520 + revision: zephyr-arduino-20250523 import: name-allowlist: - cmsis From 167568426ff7e3baa10bf328546111f1df169b67 Mon Sep 17 00:00:00 2001 From: Luca Burelli Date: Mon, 26 May 2025 13:02:12 +0200 Subject: [PATCH 4/7] bootstrap.sh: also install protobuf and grpcio-tools in venv --- extra/bootstrap.sh | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/extra/bootstrap.sh b/extra/bootstrap.sh index b074c971..7fcfbee9 100755 --- a/extra/bootstrap.sh +++ b/extra/bootstrap.sh @@ -14,14 +14,11 @@ done python3 -m venv venv source venv/bin/activate -pip install west +pip install west protobuf grpcio-tools west init -l . west config manifest.project-filter -- "$HAL_FILTER" west update "$@" west zephyr-export pip install -r ../zephyr/scripts/requirements-base.txt west sdk install --version 0.17.0 -t arm-zephyr-eabi - -for hal in $NEEDED_HALS; do - west blobs fetch $hal -done +west blobs fetch $NEEDED_HALS From 5443d6255b2c78bae732ed50a1281cf83e7df2d4 Mon Sep 17 00:00:00 2001 From: Martino Facchin Date: Thu, 29 May 2025 17:20:38 +0200 Subject: [PATCH 5/7] portenta_c33: enable adc --- .../arduino_portenta_c33_r7fa6m5bh3cfc.conf | 2 +- ...arduino_portenta_c33_r7fa6m5bh3cfc.overlay | 86 +++++++++++++++++++ 2 files changed, 87 insertions(+), 1 deletion(-) diff --git a/variants/arduino_portenta_c33_r7fa6m5bh3cfc/arduino_portenta_c33_r7fa6m5bh3cfc.conf b/variants/arduino_portenta_c33_r7fa6m5bh3cfc/arduino_portenta_c33_r7fa6m5bh3cfc.conf index e0ef6dd1..b9f799e7 100644 --- a/variants/arduino_portenta_c33_r7fa6m5bh3cfc/arduino_portenta_c33_r7fa6m5bh3cfc.conf +++ b/variants/arduino_portenta_c33_r7fa6m5bh3cfc/arduino_portenta_c33_r7fa6m5bh3cfc.conf @@ -31,7 +31,7 @@ CONFIG_LOG_PROCESS_THREAD_STACK_SIZE=8192 CONFIG_IDLE_STACK_SIZE=8192 CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=8192 -CONFIG_ADC=n +CONFIG_ADC=y CONFIG_PWM=y CONFIG_NET_CORE_LOG_LEVEL_DBG=y diff --git a/variants/arduino_portenta_c33_r7fa6m5bh3cfc/arduino_portenta_c33_r7fa6m5bh3cfc.overlay b/variants/arduino_portenta_c33_r7fa6m5bh3cfc/arduino_portenta_c33_r7fa6m5bh3cfc.overlay index ebf65a91..420ef062 100644 --- a/variants/arduino_portenta_c33_r7fa6m5bh3cfc/arduino_portenta_c33_r7fa6m5bh3cfc.overlay +++ b/variants/arduino_portenta_c33_r7fa6m5bh3cfc/arduino_portenta_c33_r7fa6m5bh3cfc.overlay @@ -78,7 +78,75 @@ pinctrl-names = "default"; }; +&adc0 { + status = "okay"; + #address-cells = <1>; + #size-cells = <0>; + a7: channel@0 { + reg = <0>; + zephyr,gain = "ADC_GAIN_1"; + zephyr,reference = "ADC_REF_INTERNAL"; + zephyr,acquisition-time = ; + zephyr,resolution = <12>; + }; + + a4: channel@1 { + reg = <1>; + zephyr,gain = "ADC_GAIN_1"; + zephyr,reference = "ADC_REF_INTERNAL"; + zephyr,acquisition-time = ; + zephyr,resolution = <12>; + }; + + a3: channel@2 { + reg = <2>; + zephyr,gain = "ADC_GAIN_1"; + zephyr,reference = "ADC_REF_INTERNAL"; + zephyr,acquisition-time = ; + zephyr,resolution = <12>; + }; + + a2: channel@4 { + reg = <4>; + zephyr,gain = "ADC_GAIN_1"; + zephyr,reference = "ADC_REF_INTERNAL"; + zephyr,acquisition-time = ; + zephyr,resolution = <12>; + }; + + a1: channel@5 { + reg = <5>; + zephyr,gain = "ADC_GAIN_1"; + zephyr,reference = "ADC_REF_INTERNAL"; + zephyr,acquisition-time = ; + zephyr,resolution = <12>; + }; + + a0: channel@6 { + reg = <6>; + zephyr,gain = "ADC_GAIN_1"; + zephyr,reference = "ADC_REF_INTERNAL"; + zephyr,acquisition-time = ; + zephyr,resolution = <12>; + }; + + a6: channel@e { + reg = <14>; + zephyr,gain = "ADC_GAIN_1"; + zephyr,reference = "ADC_REF_INTERNAL"; + zephyr,acquisition-time = ; + zephyr,resolution = <12>; + }; + + a5: channel@f { + reg = <15>; + zephyr,gain = "ADC_GAIN_1"; + zephyr,reference = "ADC_REF_INTERNAL"; + zephyr,acquisition-time = ; + zephyr,resolution = <12>; + }; +}; / { zephyr,user { @@ -206,5 +274,23 @@ i2cs = <&iic0>, <&iic1>; spis = <&spi1>; pwms = <&pwm6 1 PWM_HZ(25000000) PWM_POLARITY_NORMAL>; + + io-channels = <&adc0 6>, + <&adc0 5>, + <&adc0 4>, + <&adc0 2>, + <&adc0 1>, + <&adc0 13>, + <&adc0 12>, + <&adc0 0>; + + adc-pin-gpios = <&ioport0 6 0>, + <&ioport0 5 0>, + <&ioport0 4 0>, + <&ioport0 2 0>, + <&ioport0 1 0>, + <&ioport0 15 0>, + <&ioport0 14 0>, + <&ioport0 0 0>; }; }; From d64f51cc6d449bfb84c9177fda44ab9a717011bd Mon Sep 17 00:00:00 2001 From: Martino Facchin Date: Thu, 29 May 2025 17:52:14 +0200 Subject: [PATCH 6/7] west.yml: use zephyr-arduino-20250529 branch --- west.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/west.yml b/west.yml index 8b0a0a20..16a78b2f 100644 --- a/west.yml +++ b/west.yml @@ -21,7 +21,7 @@ manifest: projects: - name: zephyr remote: arduino - revision: zephyr-arduino-20250523 + revision: zephyr-arduino-20250529 import: name-allowlist: - cmsis From 03c28b7fee71da53e1b211da29fc9d626bac2e52 Mon Sep 17 00:00:00 2001 From: Martino Facchin Date: Thu, 29 May 2025 17:53:38 +0200 Subject: [PATCH 7/7] portenta_c33: i2c: add sci3 interface --- .../arduino_portenta_c33_r7fa6m5bh3cfc.overlay | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/variants/arduino_portenta_c33_r7fa6m5bh3cfc/arduino_portenta_c33_r7fa6m5bh3cfc.overlay b/variants/arduino_portenta_c33_r7fa6m5bh3cfc/arduino_portenta_c33_r7fa6m5bh3cfc.overlay index 420ef062..25cbf973 100644 --- a/variants/arduino_portenta_c33_r7fa6m5bh3cfc/arduino_portenta_c33_r7fa6m5bh3cfc.overlay +++ b/variants/arduino_portenta_c33_r7fa6m5bh3cfc/arduino_portenta_c33_r7fa6m5bh3cfc.overlay @@ -271,7 +271,7 @@ serials = <&board_cdc_acm_uart>, <&uart9>, <&uart7>, <&uart6>, <&uart5>; cdc-acm = <&board_cdc_acm_uart>; - i2cs = <&iic0>, <&iic1>; + i2cs = <&iic0>, <&iic1>, <&i2c3>; spis = <&spi1>; pwms = <&pwm6 1 PWM_HZ(25000000) PWM_POLARITY_NORMAL>;