From 2eb9788846a2b914f6ca859a226e12c8d1807054 Mon Sep 17 00:00:00 2001 From: Rohan S <3526930+brosahay@users.noreply.github.com> Date: Fri, 13 Oct 2023 01:57:11 +0530 Subject: [PATCH] [Silabs] Adds updated WiseConnect SDK and docker pre-installed WiFi SDKs (#29646) * Adds chages to docker image and build scripts * Adds fix for alignment * Adds bugfix for change directory * Removes changes from other PR * Adds book keeping version checks * Reverts changes to be added after docker update * Adds updated SDK as per release * Updates wiseconnect-wifi-bt-sdk to 2.8.1 * Adds updated docker images * Adds update of WiSeConnect 2 SDK 2.8.2 * Adds requirements file for pip freeze --------- Co-authored-by: Rohan Sahay --- .gitmodules | 14 ++++---- .../docker/images/base/chip-build/version | 2 +- .../stage-2/chip-build-efr32/Dockerfile | 34 +++++++++---------- .../stage-2/chip-build-efr32/requirements.txt | 1 + .../vscode/chip-build-vscode/Dockerfile | 4 ++- scripts/setup/requirements.silabs_docker.txt | 10 ++++++ 6 files changed, 39 insertions(+), 26 deletions(-) create mode 120000 integrations/docker/images/stage-2/chip-build-efr32/requirements.txt create mode 100644 scripts/setup/requirements.silabs_docker.txt diff --git a/.gitmodules b/.gitmodules index 6ebfd6dbad7141..28bdba881cb8b2 100644 --- a/.gitmodules +++ b/.gitmodules @@ -243,13 +243,18 @@ [submodule "third_party/silabs/gecko_sdk"] path = third_party/silabs/gecko_sdk url = https://github.com/SiliconLabs/gecko_sdk.git - branch = v4.2.3 + branch = v4.3.2 platforms = efr32 [submodule "third_party/silabs/wiseconnect-wifi-bt-sdk"] path = third_party/silabs/wiseconnect-wifi-bt-sdk url = https://github.com/SiliconLabs/wiseconnect-wifi-bt-sdk.git - branch = 2.7.1-Matter + branch = 2.8.2 platforms = efr32,silabs_docker +[submodule "third_party/silabs/wifi_sdk"] + path = third_party/silabs/wifi_sdk + url = https://github.com/SiliconLabs/wiseconnect.git + branch = v3.1.0 + platforms = efr32 [submodule "editline"] path = third_party/editline/repo url = https://github.com/troglobit/editline.git @@ -314,11 +319,6 @@ url = https://github.com/asriot/ASR550X_Freertos.git branch = matter platforms = asr -[submodule "third_party/silabs/wifi_sdk"] - path = third_party/silabs/wifi_sdk - url = https://github.com/SiliconLabs/wiseconnect - branch = master - platforms = efr32 [submodule "third_party/st/STM32CubeWB"] path = third_party/st/STM32CubeWB url = https://github.com/STMicroelectronics/STM32CubeWB.git diff --git a/integrations/docker/images/base/chip-build/version b/integrations/docker/images/base/chip-build/version index 836a52071db553..16af969338a72c 100644 --- a/integrations/docker/images/base/chip-build/version +++ b/integrations/docker/images/base/chip-build/version @@ -1 +1 @@ -16 : [Telink] Update Docker image (Zephyr update) +17 : [Silabs] Update Docker image (WiseConnect and GECKO SDK(s) update) diff --git a/integrations/docker/images/stage-2/chip-build-efr32/Dockerfile b/integrations/docker/images/stage-2/chip-build-efr32/Dockerfile index e30601b6d70067..c528d74c621161 100644 --- a/integrations/docker/images/stage-2/chip-build-efr32/Dockerfile +++ b/integrations/docker/images/stage-2/chip-build-efr32/Dockerfile @@ -13,14 +13,20 @@ RUN set -x \ && : # last line -# Clone Gecko SDK 4.3.1 (2ba59bf) -RUN git clone --depth=1 --branch=v4.3.1 https://github.com/SiliconLabs/gecko_sdk.git /tmp/gecko_sdk && \ +# Clone Gecko SDK 4.3.2 (1228a95) +RUN git clone --single-branch --depth=1 --branch=v4.3.2 https://github.com/SiliconLabs/gecko_sdk.git /tmp/gecko_sdk && \ cd /tmp/gecko_sdk && \ rm -rf .git \ && : # last line -# Clone Wiseconnect SDK 3.1.0-MatterCert (f84bf66) -RUN git clone --depth=1 --branch=MatterCert https://github.com/SiliconLabs/wiseconnect.git /tmp/wifi_sdk && \ +# Clone WiSeConnect Wi-Fi and Bluetooth Software 2.8.2 (4fa5c5f) +RUN git clone --depth=1 --branch=2.8.2 https://github.com/SiliconLabs/wiseconnect-wifi-bt-sdk.git /tmp/wiseconnect-wifi-bt-sdk && \ + cd /tmp/wiseconnect-wifi-bt-sdk && \ + rm -rf .git \ + && : # last line + +# Clone WiSeConnect SDK 3.1.0 (58a2404) +RUN git clone --depth=1 --branch=v3.1.0 https://github.com/SiliconLabs/wiseconnect.git /tmp/wifi_sdk && \ cd /tmp/wifi_sdk && \ rm -rf .git \ && : # last line @@ -35,6 +41,8 @@ RUN wget https://www.silabs.com/documents/login/software/slc_cli_linux.zip && \ # Final SDK container for compiling using Silabs SDK FROM ghcr.io/project-chip/chip-build:${VERSION} +ADD requirements.txt /tmp/requirements.txt + # GNU ARM Embedded toolchain, cross compiler for various platform builds RUN set -x \ && apt-get update \ @@ -42,28 +50,20 @@ RUN set -x \ gcc-arm-none-eabi \ binutils-arm-none-eabi \ openjdk-17-jdk-headless \ - python3-sphinx \ ccache \ && apt-get clean \ && rm -rf /var/lib/apt/lists/ \ # Install Python Packages - && pip3 install \ - # codegen.py build requirements - # TODO: why are these added here instead of build-env? - lark \ - jinja2 \ - stringcase \ - # Sphinx dependencies (for slc-cli) - myst_parser \ - sphinx_rtd_theme \ - sphinx_tabs \ - linkify-it-py \ + && pip3 install -r /tmp/requirements.txt \ + && rm /tmp/requirements.txt \ && : # last line ENV GSDK_ROOT=/opt/silabs/gecko_sdk/ -ENV WISECONNECT_PATH=/opt/silabs/wifi_sdk/ +ENV WISECONNECT_SDK_ROOT=/opt/silabs/wiseconnect-wifi-bt-sdk/ +ENV WIFI_SDK_ROOT=/opt/silabs/wifi_sdk/ ENV PATH="${PATH}:/opt/silabs/slc_cli/" COPY --from=build /tmp/gecko_sdk /opt/silabs/gecko_sdk +COPY --from=build /tmp/wiseconnect-wifi-bt-sdk/ /opt/silabs/wiseconnect-wifi-bt-sdk/ COPY --from=build /tmp/wifi_sdk /opt/silabs/wifi_sdk COPY --from=build /tmp/slc_cli /opt/silabs/slc_cli diff --git a/integrations/docker/images/stage-2/chip-build-efr32/requirements.txt b/integrations/docker/images/stage-2/chip-build-efr32/requirements.txt new file mode 120000 index 00000000000000..5a41777fc21cb7 --- /dev/null +++ b/integrations/docker/images/stage-2/chip-build-efr32/requirements.txt @@ -0,0 +1 @@ +../../../../../scripts/setup/requirements.silabs_docker.txt \ No newline at end of file diff --git a/integrations/docker/images/vscode/chip-build-vscode/Dockerfile b/integrations/docker/images/vscode/chip-build-vscode/Dockerfile index 024936a18f2855..8f3a177272b785 100644 --- a/integrations/docker/images/vscode/chip-build-vscode/Dockerfile +++ b/integrations/docker/images/vscode/chip-build-vscode/Dockerfile @@ -61,6 +61,7 @@ COPY --from=bouffalolab /opt/bouffalolab_sdk /opt/bouffalolab_sdk COPY --from=asr /opt/asr /opt/asr COPY --from=efr32 /opt/silabs/gecko_sdk /opt/silabs/gecko_sdk +COPY --from=efr32 /opt/silabs/wiseconnect-wifi-bt-sdk /opt/silabs/wiseconnect-wifi-bt-sdk COPY --from=efr32 /opt/silabs/wifi_sdk /opt/silabs/wifi_sdk # Android license file "acceping" is done by writing license hashes @@ -103,7 +104,8 @@ ENV ANDROID_NDK_HOME=/opt/android/android-ndk-r23c ENV CY_TOOLS_PATHS="/opt/ModusToolbox/tools_2.4" ENV SILABS_BOARD=BRD4161A ENV GSDK_ROOT=/opt/silabs/gecko_sdk/ -ENV WISECONNECT_PATH=/opt/silabs/wifi_sdk +ENV WISECONNECT_SDK_ROOT=/opt/silabs/wiseconnect-wifi-bt-sdk/ +ENV WIFI_SDK_ROOT=/opt/silabs/wifi_sdk ENV IDF_PATH=/opt/espressif/esp-idf/ ENV IDF_TOOLS_PATH=/opt/espressif/tools ENV IMX_SDK_ROOT=/opt/fsl-imx-xwayland/6.1-langdale diff --git a/scripts/setup/requirements.silabs_docker.txt b/scripts/setup/requirements.silabs_docker.txt new file mode 100644 index 00000000000000..9879603494656a --- /dev/null +++ b/scripts/setup/requirements.silabs_docker.txt @@ -0,0 +1,10 @@ +# codegen.py build requirements +Jinja2==3.1.2 +lark==1.1.7 +stringcase==1.2.0 +# Sphinx dependencies (for slc-cli) +linkify-it-py==2.0.2 +myst-parser==2.0.0 +Sphinx==7.2.6 +sphinx-rtd-theme==1.3.0 +sphinx-tabs==3.4.1