Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build: wifi: allow espressif boards to test net/wifi use cases #80785

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion boards/01space/esp32c3_042_oled/esp32c3_042_oled.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,5 @@ supported:
- watchdog
testing:
ignore_tags:
- net
- bluetooth
vendor: 01space
1 change: 0 additions & 1 deletion boards/dptechnics/walter/walter_esp32s3_procpu.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,5 @@ supported:
- input
testing:
ignore_tags:
- net
- bluetooth
vendor: dptechnics
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,5 @@ supported:
- input
testing:
ignore_tags:
- net
- bluetooth
vendor: espressif
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,5 @@ supported:
- input
testing:
ignore_tags:
- net
- bluetooth
vendor: espressif
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,5 @@ supported:
- pwm
testing:
ignore_tags:
- net
- bluetooth
vendor: espressif
1 change: 0 additions & 1 deletion boards/espressif/esp32c3_devkitc/esp32c3_devkitc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,5 @@ supported:
- entropy
testing:
ignore_tags:
- net
- bluetooth
vendor: espressif
1 change: 0 additions & 1 deletion boards/espressif/esp32c3_devkitm/esp32c3_devkitm.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,5 @@ supported:
- entropy
testing:
ignore_tags:
- net
- bluetooth
vendor: espressif
1 change: 0 additions & 1 deletion boards/espressif/esp32c3_rust/esp32c3_rust.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,5 @@ supported:
- entropy
testing:
ignore_tags:
- net
- bluetooth
vendor: espressif
1 change: 0 additions & 1 deletion boards/espressif/esp32c6_devkitc/esp32c6_devkitc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,5 @@ supported:
- entropy
testing:
ignore_tags:
- net
- bluetooth
- tracing
1 change: 0 additions & 1 deletion boards/espressif/esp32s2_devkitc/esp32s2_devkitc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,5 @@ supported:
- dma
testing:
ignore_tags:
- net
- bluetooth
vendor: espressif
4 changes: 0 additions & 4 deletions boards/espressif/esp32s2_saola/esp32s2_saola.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,4 @@ supported:
- counter
- entropy
- input
testing:
ignore_tags:
- net
- bluetooth
vendor: espressif
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,5 @@ supported:
- input
testing:
ignore_tags:
- net
- bluetooth
vendor: espressif
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,5 @@ supported:
- video
testing:
ignore_tags:
- net
- bluetooth
vendor: espressif
1 change: 0 additions & 1 deletion boards/espressif/esp32s3_eye/esp32s3_eye_procpu.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,5 @@ supported:
- video
testing:
ignore_tags:
- net
- bluetooth
vendor: espressif
1 change: 0 additions & 1 deletion boards/espressif/esp8684_devkitm/esp8684_devkitm.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,5 @@ supported:
- spi
testing:
ignore_tags:
- net
- bluetooth
vendor: espressif
1 change: 0 additions & 1 deletion boards/espressif/esp_wrover_kit/esp_wrover_kit_procpu.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,5 @@ supported:
- entropy
testing:
ignore_tags:
- net
- bluetooth
vendor: espressif
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,5 @@ supported:
testing:
ignore_tags:
- heap
- net
- bluetooth
vendor: franzininho
1 change: 0 additions & 1 deletion boards/hardkernel/odroid_go/odroid_go_procpu.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,5 @@ supported:
- nvs
testing:
ignore_tags:
- net
- bluetooth
vendor: hardkernel
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,5 @@ supported:
- nvs
testing:
ignore_tags:
- net
- bluetooth
vendor: espressif
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,5 @@ supported:
- lora
testing:
ignore_tags:
- net
- bluetooth
vendor: heltec
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,5 @@ supported:
- entropy
testing:
ignore_tags:
- net
- bluetooth
vendor: kincony
1 change: 0 additions & 1 deletion boards/lilygo/ttgo_lora32/ttgo_lora32_esp32_procpu.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,5 @@ supported:
- sdhc
testing:
ignore_tags:
- net
- bluetooth
vendor: lilygo
1 change: 0 additions & 1 deletion boards/lilygo/ttgo_t7v1_5/ttgo_t7v1_5_esp32_procpu.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,5 @@ supported:
- nvs
testing:
ignore_tags:
- net
- bluetooth
vendor: lilygo
1 change: 0 additions & 1 deletion boards/lilygo/ttgo_t8c3/ttgo_t8c3.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,5 @@ supported:
- can
testing:
ignore_tags:
- net
- bluetooth
vendor: lilygo
1 change: 0 additions & 1 deletion boards/lilygo/ttgo_t8s3/ttgo_t8s3_procpu.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,5 @@ supported:
- video
testing:
ignore_tags:
- net
- bluetooth
vendor: lilygo
1 change: 0 additions & 1 deletion boards/luatos/esp32c3_luatos_core/esp32c3_luatos_core.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,5 @@ supported:
- entropy
testing:
ignore_tags:
- net
- bluetooth
vendor: luatos
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,5 @@ supported:
- entropy
testing:
ignore_tags:
- net
- bluetooth
vendor: luatos
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,5 @@ supported:
- dma
testing:
ignore_tags:
- net
- bluetooth
vendor: luatos
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,5 @@ supported:
- dma
testing:
ignore_tags:
- net
- bluetooth
vendor: luatos
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,5 @@ supported:
- nvs
testing:
ignore_tags:
- net
- bluetooth
vendor: m5stack
1 change: 0 additions & 1 deletion boards/m5stack/m5stack_atoms3/m5stack_atoms3_procpu.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,5 @@ supported:
- display
testing:
ignore_tags:
- net
- bluetooth
vendor: m5stack
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,5 @@ supported:
- dma
testing:
ignore_tags:
- net
- bluetooth
vendor: m5stack
1 change: 0 additions & 1 deletion boards/m5stack/m5stack_core2/m5stack_core2_procpu.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,5 @@ supported:
- nvs
testing:
ignore_tags:
- net
- bluetooth
vendor: m5stack
1 change: 0 additions & 1 deletion boards/m5stack/m5stack_cores3/m5stack_cores3_procpu.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ testing:
ignore_tags:
- bluetooth
- gpio
- net
- pinmux
- pwm
- regulator
Expand Down
1 change: 0 additions & 1 deletion boards/m5stack/m5stack_stamps3/m5stack_stamps3_procpu.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,5 @@ supported:
- nvs
testing:
ignore_tags:
- net
- bluetooth
vendor: m5stack
1 change: 0 additions & 1 deletion boards/m5stack/m5stickc_plus/m5stickc_plus_procpu.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,5 @@ supported:
- display
testing:
ignore_tags:
- net
- bluetooth
vendor: m5stack
1 change: 0 additions & 1 deletion boards/m5stack/stamp_c3/stamp_c3.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,5 @@ supported:
- watchdog
testing:
ignore_tags:
- net
- bluetooth
vendor: m5stack
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,5 @@ supported:
- watchdog
testing:
ignore_tags:
- net
- bluetooth
vendor: olimex
1 change: 0 additions & 1 deletion boards/others/icev_wireless/icev_wireless.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,5 @@ toolchain:
- zephyr
testing:
ignore_tags:
- net
- bluetooth
vendor: espressif
1 change: 0 additions & 1 deletion boards/seeed/xiao_esp32c3/xiao_esp32c3.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,5 @@ supported:
- can
testing:
ignore_tags:
- net
- bluetooth
vendor: seeed
1 change: 0 additions & 1 deletion boards/seeed/xiao_esp32c6/xiao_esp32c6.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ supported:
- entropy
testing:
ignore_tags:
- net
- bluetooth
- tracing
vendor: seeed
1 change: 0 additions & 1 deletion boards/seeed/xiao_esp32s3/xiao_esp32s3_procpu.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,5 @@ supported:
- dma
testing:
ignore_tags:
- net
- bluetooth
vendor: seeed
1 change: 0 additions & 1 deletion boards/seeed/xiao_esp32s3/xiao_esp32s3_procpu_sense.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,5 @@ supported:
- dma
testing:
ignore_tags:
- net
- bluetooth
vendor: seeed
1 change: 0 additions & 1 deletion boards/vcc-gnd/yd_esp32/yd_esp32_procpu.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,5 @@ supported:
- entropy
testing:
ignore_tags:
- net
- bluetooth
vendor: vcc-gnd
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,5 @@ supported:
- display
testing:
ignore_tags:
- net
- bluetooth
vendor: waveshare
1 change: 0 additions & 1 deletion boards/we/orthosie1ev/we_orthosie1ev.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,5 @@ supported:
- entropy
testing:
ignore_tags:
- net
- bluetooth
vendor: we
1 change: 0 additions & 1 deletion boards/wemos/esp32s2_lolin_mini/esp32s2_lolin_mini.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,5 @@ supported:
- uart
testing:
ignore_tags:
- net
- bluetooth
vendor: wemos
8 changes: 8 additions & 0 deletions doc/releases/migration-guide-4.1.rst
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,14 @@ Video
The new ``video-controls.h`` source now contains description of each control ID to help
disambiguating.

Wi-Fi
=====

* The config options :kconfig:option:`CONFIG_NXP_WIFI_BUILD_ONLY_MODE` and
:kconfig:option:`CONFIG_NRF_WIFI_BUILD_ONLY_MODE` are now unified under
:kconfig:option:`CONFIG_BUILD_ONLY_NO_BLOBS` making it a common entry point
for any vendor to enable builds without blobs.

Bluetooth
*********

Expand Down
16 changes: 14 additions & 2 deletions drivers/wifi/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,23 @@
zephyr_library()
zephyr_library_property(ALLOW_EMPTY TRUE)

add_subdirectory_ifdef(CONFIG_WIFI_ESP_AT esp_at)
add_subdirectory_ifdef(CONFIG_WIFI_ESP32 esp32)
if (CONFIG_BUILD_ONLY_NO_BLOBS)
message(WARNING "
---------------------------------------------------------------------------
Building only the Wi-Fi driver without binary blobs and patches.
This is only for building (CI) purposes and will not work on a real device.
---------------------------------------------------------------------------
")
else()

if(CONFIG_DT_HAS_ESPRESSIF_ESP32_WIFI_ENABLED)
zephyr_blobs_verify(MODULE hal_espressif REQUIRED)
endif()

endif() # CONFIG_BUILD_ONLY_NO_BLOBS

add_subdirectory_ifdef(CONFIG_WIFI_ESP_AT esp_at)
add_subdirectory_ifdef(CONFIG_WIFI_ESP32 esp32)
add_subdirectory_ifdef(CONFIG_WIFI_ESWIFI eswifi)
add_subdirectory_ifdef(CONFIG_WIFI_SIMPLELINK simplelink)
add_subdirectory_ifdef(CONFIG_WIFI_WINC1500 winc1500)
Expand Down
7 changes: 7 additions & 0 deletions drivers/wifi/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,13 @@ config WIFI_USE_NATIVE_NETWORKING
When selected, this hidden configuration enables Wi-Fi driver
to use native ethernet stack interface.

config BUILD_ONLY_NO_BLOBS
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess drivers/wifi/Kconfig is the wrong place for this, now that it's completely generic. Perhaps modules/Kconfig instead?

Copy link
Member

@jhedberg jhedberg Dec 2, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Btw, while I know I suggested the option name, I'm a little bit hesitant about it, since it's easily read as "Build only <something>", i.e. only "something" should be built, which is different from the actual meaning. Alternatives that come to mind are BUILD_WITHOUT_BLOBS, BLOB_STUBS, or NO_BLOBS. (sorry for adding extra hassle with this, but I think it's better to get the name right from the beginning rather than having to fix it when something has already been merged). I also don't have a super strong opinion here, i.e. if others think that BUILD_ONLY_NO_BLOBS is clear enough, then I won't object :)

Copy link
Collaborator Author

@sylvioalves sylvioalves Dec 2, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Of course, I need to move it out of wifi section.
My initial suggestion as described in this PR was CONFIG_BUILD_WITH_NO_BLOBS. Sounds CONFIG_BUILD_WITHOUT_BLOBS is even better. Are you ok with it? I can rename it again and wait for feedbacks.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BUILD_WITHOUT_BLOBS is fine

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BUILD_WITHOUT_BLOBS is fine, ONLY was added to imply that this is build-only and cannot be used on a real board for testing.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BUILD_WITHOUT_BLOBS is fine, ONLY was added to imply that this is build-only and cannot be used on a real board for testing.

Yeah, that was my idea when I proposed it, but then I realized that when you try to read it as normal English it's mildly confusing. Either way is fine with me.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, as long as we output a clear warning during build, I think that should do the job of informing the user that the result is something non-functional.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Considering the commments above, I would keep as is: BUILD_ONLY_NO_BLOBS.
There is a big warning banner during build that states that it is not for real-world operation, but, BUILD_WITHOUT_BLOBS leaves a bit of margin to bad interpretation as it sounds to "work" without blobs.

bool "Build only mode (do not link wireless firmware blob)"
help
Skip linking the firmware blob into the Wi-Fi build. This will
not result in a functional application, but allows the Wi-Fi
driver to be built without binary blobs.

source "drivers/wifi/winc1500/Kconfig.winc1500"
source "drivers/wifi/simplelink/Kconfig.simplelink"
source "drivers/wifi/eswifi/Kconfig.eswifi"
Expand Down
2 changes: 1 addition & 1 deletion drivers/wifi/esp32/Kconfig.esp32
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ menuconfig WIFI_ESP32
bool "ESP32 SoC WiFi support"
default y
depends on DT_HAS_ESPRESSIF_ESP32_WIFI_ENABLED
depends on ZEPHYR_HAL_ESPRESSIF_MODULE_BLOBS
depends on ZEPHYR_HAL_ESPRESSIF_MODULE_BLOBS || BUILD_ONLY_NO_BLOBS
depends on !SMP
select THREAD_CUSTOM_DATA
select NET_L2_WIFI_MGMT
Expand Down
Loading
Loading