diff --git a/.github/test-spec.yml b/.github/test-spec.yml new file mode 100644 index 00000000000..bf09724ea49 --- /dev/null +++ b/.github/test-spec.yml @@ -0,0 +1,407 @@ +# This is the Jenkins ci variant of the .github/labler.yaml + +"CI-run-zephyr-twister": + - any: + - "!.github/**/*" + - "!doc/**/*" + - "!CODEOWNERS" + - "!LICENSE" + - "!**/*.rst" + - "!VERSION" + - "!submanifests/**/*" + - "!MAINTAINERS.yml" + - "!version.h.in" + - "!Jenkinsfile" + - "!**/*.md" + +"CI-iot-zephyr-lwm2m-test": + - "drivers/console/**/*" + - "drivers/flash/**/*" + - "subsys/dfu/boot/**/*" + - "subsys/net/ip/**/*" + - "subsys/net/lib/http/**/*" + - "subsys/net/lib/lwm2m//**/*" + - "subsys/net/**/*" + +"CI-iot-samples-test": + - "boards/nordic/nrf9160dk/**/*" + - "dts/arm/nordic/nrf9160*" + - "include/net/**/*" + - "subsys/net/lib/**/*" + +"CI-iot-libraries-test": + - "boards/nordic/nrf9160dk/**/*" + - "dts/arm/nordic/nrf9160*" + - "include/net/socket_ncs.h" + - "subsys/testsuite/ztest/**/*" + +"CI-lwm2m-test": null +# Not necessary to run tests on changes to this repo. + +"CI-boot-test": + - "subsys/mgmt/mcumgr/**/*" + - "subsys/dfu/**/*" + - "include/mgmt/mcumgr/**/*" + - "include/dfu/**/*" + - "samples/subsys/mgmt/mcumgr/smp_svr/**/*" + - "tests/boot/**/*" + - "tests/subsys/dfu/**/*" + - "tests/subsys/mgmt/mcumgr/**/*" + +"CI-tfm-test": + - "boards/nordic/nrf5340dk/**/*" + - "boards/nordic/nrf9160dk/**/*" + - "drivers/entropy/*" + - "dts/arm/nordic/nrf5340*" + - "dts/arm/nordic/nrf9160*" + - "modules/trusted-firmware-m/**/*" + - "samples/tfm_integration/**/*" + +"CI-ble-test": + - any: + - "drivers/bluetooth/**/*" + - any: + - "dts/arm/nordic/nrf5*" + - any: + - "subsys/bluetooth/**/*" + - "!subsys/bluetooth/mesh/**/*" + - "!subsys/bluetooth/audio/**/*" + - any: + - "include/zephyr/bluetooth/**/*" + - "!include/zephyr/bluetooth/mesh/**/*" + - "samples/bluetooth/hci_ipc/**/*" + +"CI-ble-samples-test": + - any: + - "drivers/bluetooth/**/*" + - any: + - "dts/arm/nordic/nrf5*" + - any: + - "subsys/bluetooth/**/*" + - "!subsys/bluetooth/mesh/**/*" + - "!subsys/bluetooth/audio/**/*" + - any: + - "include/zephyr/bluetooth/**/*" + - "!include/zephyr/bluetooth/mesh/**/*" + - "samples/bluetooth/**/*" + +"CI-mesh-test": + - "subsys/bluetooth/mesh/**/*" + - "include/zephyr/bluetooth/mesh/**/*" + - "samples/bluetooth/mesh/**/*" + - "samples/bluetooth/mesh_demo/**/*" + - "samples/bluetooth/mesh_provisioner/**/*" + - "tests/bluetooth/mesh/**/*" + - "tests/bluetooth/mesh_shell/**/*" + +"CI-zigbee-test": + - "subsys/mgmt/mcumgr/**/*" + - "subsys/dfu/**/*" + - "include/mgmt/mcumgr/**/*" + - "include/dfu/**/*" + +"CI-thingy91-test": + - "boards/nordic/nrf9160dk/**/*" + - "arch/x86/core/**/*" + - "arch/x86/include/**/*" + - "drivers/console/**/*" + - "drivers/ethernet/**/*" + - "drivers/flash/**/*" + - "drivers/hwinfo/**/*" + - "drivers/interrupt_controller/**/*" + - "drivers/net/**/*" + - "drivers/serial/**/*" + - "drivers/timer/**/*" + - "include/**/*" + - "kernel/**/*" + - "lib/libc/common/source/stdlib/**/*" + - "lib/libc/newlib/**/*" + - "lib/libc/picolibc/**/*" + - "lib/os/**/*" + - "lib/posix/**/*" + - "misc/**/*" + - "modules/mbedtls/**/*" + - "soc/x86/ia32/**/*" + - "subsys/fs/fcb/**/*" + - "subsys/logging/**/*" + - "subsys/net/**/*" + - "subsys/random/**/*" + - "subsys/settings/include/**/*" + - "subsys/settings/src/**/*" + - "subsys/stats/**/*" + - "subsys/storage/flash_map/**/*" + - "subsys/storage/stream/**/*" + - "subsys/tracing/**/*" + +"CI-desktop-test": + - "drivers/bluetooth/*" + - "subsys/bluetooth/*" + - "include/zephyr/bluetooth/*" + +"CI-crypto-test": + - "boards/nordic/nrf52840dk/**/*" + - "boards/nordic/nrf5340dk/**/*" + - "boards/nordic/nrf9160dk/**/*" + - "drivers/entropy/*" + - "drivers/serial/**/*" + - "dts/arm/nordic/nrf52840*" + - "dts/arm/nordic/nrf5340*" + - "dts/arm/nordic/nrf9160*" + - "include/drivers/serial/**/*" + - "modules/mbedtls/**/*" + +"CI-fem-test": + - "boards/nordic/**/*" + - "drivers/bluetooth/hci/**/*" + - "drivers/entropy/**/*" + - "dts/bindings/**/*" + - "include/zephyr/net/**/*" + - "include/zephyr/arch/**/*" + - "lib/libc/**/*" + - "lib/open-amp/**/*" + - "modules/hal_nordic/**/*" + - "modules/mbedtls/**/*" + - "modules/openthread/**/*" + - "modules/trusted-firmware-m/**/*" + - "samples/net/sockets/echo_*/**/*" + - "share/**/*" + - "soc/nordic/**/*" + - "subsys/net/**/*" + - "subsys/settings/**/*" + - "subsys/bluetooth/shell/**/*" + - "subsys/ipc/**/*" + - "Kconfig" + - "CMakeLists.txt" + +"CI-rs-test": + - "boards/nordic/**/*" + - "drivers/bluetooth/hci/**/*" + - "drivers/entropy/**/*" + - "dts/bindings/**/*" + - "include/zephyr/net/**/*" + - "include/zephyr/arch/**/*" + - "lib/libc/**/*" + - "lib/open-amp/**/*" + - "modules/hal_nordic/**/*" + - "modules/mbedtls/**/*" + - "modules/openthread/**/*" + - "modules/trusted-firmware-m/**/*" + - "samples/net/sockets/echo_*/**/*" + - "share/**/*" + - "soc/nordic/**/*" + - "subsys/net/**/*" + - "subsys/settings/**/*" + - "subsys/bluetooth/shell/**/*" + - "subsys/ipc/**/*" + - "Kconfig" + - "CMakeLists.txt" + +"CI-thread-test": + - "include/zephyr/net/**/*" + - "modules/mbedtls/**/*" + - "modules/openthread/**/*" + - "samples/net/openthread/**/*" + - "soc/nordic/**/*" + - "subsys/net/**/*" + - "subsys/settings/**/*" + +"CI-nfc-test": + - "drivers/bluetooth/hci/**/*" + - "drivers/entropy/**/*" + - "drivers/flash/**/*" + - "drivers/mbox/**/*" + - "drivers/spi/**/*" + - "lib/crc/**/*" + - "modules/hal_nordic/**/*" + - "soc/nordic/**/*" + - "subsys/bluetooth/**/*" + - "subsys/ipc/ipc_service/**/*" + - "subsys/fs/**/*" + - "subsys/mem_mgmt/**/*" + - "subsys/net/**/*" + - "subsys/random/**/*" + - "subsys/settings/**/*" + - "subsys/shell/**/*" + - "subsys/storage/**/*" + +"CI-matter-test": + - "include/dfu/**/*" + - "include/mgmt/mcumgr/**/*" + - "soc/nordic/**/*" + - "subsys/dfu/**/*" + - "subsys/settings/**/*" + - "subsys/net/**/*" + - "subsys/mgmt/mcumgr/**/*" + - "drivers/net/**/*" + - "samples/bluetooth/hci_ipc/**/*" + - any: + - "subsys/bluetooth/**/*" + - "!subsys/bluetooth/mesh/**/*" + - "!subsys/bluetooth/audio/**/*" + +"CI-find-my-test": + - "boards/nordic/**/*" + - "drivers/bluetooth/**/*" + - "drivers/entropy/**/*" + - "drivers/flash/**/*" + - "drivers/usb/**/*" + - "drivers/regulator/**/*" + - "soc/nordic/**/*" + - "subsys/bluetooth/**/*" + - "subsys/dfu/**/*" + - "subsys/fs/**/*" + - "subsys/ipc/**/*" + - "subsys/net/**/*" + - "subsys/random/**/*" + - "subsys/settings/**/*" + - "subsys/storage/**/*" + - "subsys/tracing/**/*" + - "subsys/usb/device/**/*" + +"CI-rpc-test": + - "subsys/ipc/ipc_service/**/*" + - "subsys/random/**/*" + - "soc/nordic/nrf53/**/*" + +"CI-modemshell-test": + - "include/net/**/*" + - "include/posix/**/*" + - "include/shell/**/*" + - "drivers/net/**/*" + - "drivers/serial/**/*" + - "drivers/wifi/**/*" + - "subsys/shell/**/*" + - "subsys/net/**/*" + - "subsys/settings/**/*" + +"CI-positioning-test": + - "include/net/**/*" + - "include/posix/**/*" + - "drivers/net/**/*" + - "drivers/wifi/**/*" + - "subsys/net/**/*" + - "subsys/settings/**/*" + +"CI-cloud-test": + - "include/zephyr/dfu/**/*" + - "include/zephyr/net/**/*" + - "include/zephyr/posix/**/*" + - "include/zephyr/settings/**/*" + - "drivers/led/**/*" + - "drivers/net/**/*" + - "drivers/sensor/**/*" + - "drivers/serial/**/*" + - "drivers/wifi/**/*" + - "lib/posix/**/*" + - "soc/nordic/**/*" + - "subsys/dfu/**/*" + - "subsys/net/**/*" + - "subsys/settings/**/*" + +"CI-wifi": + - "subsys/net/l2/wifi/**/*" + - "subsys/net/l2/ethernet/**/*" + +"CI-sidewalk-test": + - "include/dfu/**/*" + - "include/mgmt/mcumgr/**/*" + - "soc/nordic/**/*" + - "subsys/dfu/**/*" + - "subsys/settings/**/*" + - "subsys/mgmt/mcumgr/**/*" + - "samples/bluetooth/hci_ipc/**/*" + - any: + - "subsys/bluetooth/**/*" + - "!subsys/bluetooth/mesh/**/*" + - "!subsys/bluetooth/audio/**/*" + +"CI-audio-test": + - "boards/nordic/nrf5340_audio_dk/**/*" + - "drivers/flash/**/*" + - "drivers/spi/**/*" + - "drivers/gpio/**/*" + - "drivers/i2c/**/*" + - "drivers/watchdog/**/*" + - "include/dfu/**/*" + - "include/mgmt/mcumgr/**/*" + - "samples/bluetooth/hci_ipc/**/*" + - "soc/nordic/**/*" + - "subsys/bluetooth/audio/**/*" + - "subsys/bluetooth/host/**/*" + - "subsys/dfu/**/*" + - "subsys/fs/**/*" + - "subsys/mgmt/mcumgr/**/*" + - "subsys/sd/**/*" + - "subsys/storage/**/*" + - "subsys/task_wdt/**/*" + - "subsys/usb/**/*" + - "subsys/zbus/**/*" + +"CI-pmic-samples-test": + - "samples/shields/npm1300_ek/**/*" + - "boards/shields/npm1300_ek/**/*" + - "**/**npm1300**/**" + - "drivers/regulator/regulator_common.c" + - "drivers/regulator/regulator_shell.c" + - "drivers/gpio/gpio_shell.c" + - "drivers/sensor/sensor_shell.c" + +"CI-test-low-level": + - "arch/**/*" + - "boards/nordic/nrf54*/**/*" + - "drivers/**/*" + - "dts/**/*" + - "include/zephyr/**/*" + - "kernel/**/*" + - "modules/hal_nordic/**/*" + - "samples/basic/blinky_pwm/**/*" + - "samples/basic/fade_led/**/*" + - "samples/boards/nrf/**/*" + - "samples/boards/nordic/**/*" + - "samples/drivers/adc/**/*" + - "samples/drivers/jesd216/**/*" + - "samples/drivers/mbox/**/*" + - "samples/drivers/soc_flash_nrf/**/*" + - "samples/drivers/spi_flash/**/*" + - "samples/drivers/watchdog/**/*" + - "samples/hello_world/**/*" + - "samples/sensor/**/*" + - "samples/subsys/ipc/**/*" + - "samples/subsys/logging/**/*" + - "samples/subsys/settings/**/*" + - "samples/subsys/usb/cdc_acm/**/*" + - "samples/subsys/usb/mass/**/*" + - "samples/synchronization/**/*" + - "subsys/logging/**/*" + - "subsys/settings/**/*" + - "tests/arch/**/*" + - "tests/boards/nrf/**/*" + - "tests/boards/nordic/**/*" + - "tests/drivers/**/*" + - "tests/kernel/**/*" + +"CI-suit-dfu-test": + - "subsys/mgmt/mcumgr/**/*" + - "include/mgmt/mcumgr/**/*" + - "samples/subsys/mgmt/mcumgr/smp_svr/**/*" + - "subsys/bluetooth/**/*" + - "drivers/bluetooth/**/*" + - "drivers/flash/**/*" + - "drivers/spi/**/*" + - "drivers/mbox/**/*" + - "drivers/serial/**/*" + - "drivers/console/**/*" + - "drivers/gpio/**/*" + - "dts/common/nordic/*" + - "dts/arm/nordic/nrf54h*/**/*" + - "dts/riscv/nordic/nrf54h*/**/*" + - "boards/nordic/nrf54h*/**/*" + - "soc/nordic/nrf54h/**/*" + - "include/zephyr/**/*" + - "subsys/logging/**/*" + - "subsys/tracing/**/*" + - "scripts/west_commands/build.py" + - "scripts/west_commands/flash.py" + - "scripts/west_commands/runners/nrfutil.py" + - "scripts/west_commands/runners/core.py" + - "scripts/west_commands/runners/nrf_common.py" diff --git a/.github/workflows/commit-tags.yml b/.github/workflows/commit-tags.yml new file mode 100644 index 00000000000..828f0297167 --- /dev/null +++ b/.github/workflows/commit-tags.yml @@ -0,0 +1,28 @@ +name: Commit tags + +on: + pull_request: + types: [synchronize, opened, reopened, edited, labeled, unlabeled, + milestoned, demilestoned, assigned, unassigned, ready_for_review, + review_requested] + +jobs: + commit_tags: + runs-on: ubuntu-22.04 + name: Run commit tags checks on patch series (PR) + steps: + - name: Update PATH for west + run: | + echo "$HOME/.local/bin" >> $GITHUB_PATH + + - name: Checkout the code + uses: actions/checkout@v3 + with: + ref: ${{ github.event.pull_request.head.sha }} + fetch-depth: 0 + + - name: Run the commit tags + uses: nrfconnect/action-commit-tags@main + with: + target: . + upstream: zephyrproject-rtos/zephyr/main diff --git a/.github/workflows/compliance.yml b/.github/workflows/compliance.yml index 39815d8baa3..c8ffedcb77b 100644 --- a/.github/workflows/compliance.yml +++ b/.github/workflows/compliance.yml @@ -49,8 +49,8 @@ jobs: git config --global user.name "Your Name" git remote -v # Ensure there's no merge commits in the PR - [[ "$(git rev-list --merges --count origin/${BASE_REF}..)" == "0" ]] || \ - (echo "::error ::Merge commits not allowed, rebase instead";false) + #[[ "$(git rev-list --merges --count origin/${BASE_REF}..)" == "0" ]] || \ + #(echo "::error ::Merge commits not allowed, rebase instead";false) git rebase origin/${BASE_REF} # debug git log --pretty=oneline | head -n 10 @@ -78,8 +78,8 @@ jobs: git log --pretty=oneline | head -n 10 # Increase rename limit to allow for large PRs git config diff.renameLimit 10000 - ./scripts/ci/check_compliance.py --annotate -e KconfigBasic \ - -c origin/${BASE_REF}.. + ./scripts/ci/check_compliance.py --annotate -e KconfigBasic -e Kconfig \ + -e KconfigBasicNoModules -e ModulesMaintainers -c origin/${BASE_REF}.. - name: upload-results uses: actions/upload-artifact@v4 diff --git a/.github/workflows/manifest-PR.yml b/.github/workflows/manifest-PR.yml new file mode 100644 index 00000000000..a871aa381de --- /dev/null +++ b/.github/workflows/manifest-PR.yml @@ -0,0 +1,17 @@ +name: handle manifest PR +on: + pull_request_target: + types: [opened, synchronize, closed] + branches: + - main + + +jobs: + call-manifest-pr-action: + runs-on: ubuntu-latest + steps: + - name: handle manifest PR + uses: nrfconnect/action-manifest-pr@main + with: + token: ${{ secrets.NCS_GITHUB_TOKEN }} + manifest-pr-title-details: ${{ github.event.pull_request.title }} diff --git a/.github/workflows/twister_tests_blackbox.yml b/.github/workflows/twister_tests_blackbox.yml index 8845c7eddd4..b19bce0c535 100644 --- a/.github/workflows/twister_tests_blackbox.yml +++ b/.github/workflows/twister_tests_blackbox.yml @@ -44,7 +44,8 @@ jobs: west init -l . || true # we do not depend on any hals, tools or bootloader, save some time and space... - west config manifest.group-filter -- -hal,-tools,-bootloader + west config manifest.group-filter -- -hal,-tools,-bootloader,-babblesim + west config manifest.project-filter -- -nrf_hw_models west config --global update.narrow true west update --path-cache /github/cache/zephyrproject 2>&1 1> west.update.log || west update --path-cache /github/cache/zephyrproject 2>&1 1> west.update.log || ( rm -rf ../modules ../bootloader ../tools && west update --path-cache /github/cache/zephyrproject) west forall -c 'git reset --hard HEAD' diff --git a/CMakeLists.txt b/CMakeLists.txt index 952acccbba8..64c0f1f8ef5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1617,10 +1617,9 @@ list(APPEND ) list(APPEND post_build_byproducts ${KERNEL_MAP_NAME}) -if(NOT CONFIG_BUILD_NO_GAP_FILL) - # Use ';' as separator to get proper space in resulting command. - set(GAP_FILL "$0xff") -endif() +# Use ';' as separator to get proper space in resulting command. +set(gap_fill_prop "$") +set(gap_fill "$<$:${gap_fill_prop}${CONFIG_BUILD_GAP_FILL_PATTERN}>") if(CONFIG_OUTPUT_PRINT_MEMORY_USAGE) target_link_libraries(${logical_target_for_zephyr_elf} $) @@ -1681,7 +1680,7 @@ if(CONFIG_BUILD_OUTPUT_HEX OR BOARD_FLASH_RUNNER STREQUAL openocd) post_build_commands COMMAND $ $ - ${GAP_FILL} + $<$:${gap_fill}> $ihex ${remove_sections_argument_list} $${KERNEL_ELF_NAME} @@ -1703,7 +1702,7 @@ if(CONFIG_BUILD_OUTPUT_BIN) post_build_commands COMMAND $ $ - ${GAP_FILL} + ${gap_fill} $binary ${remove_sections_argument_list} $${KERNEL_ELF_NAME} @@ -1790,7 +1789,7 @@ if(CONFIG_BUILD_OUTPUT_S19) post_build_commands COMMAND $ $ - ${GAP_FILL} + $<$:${gap_fill}> $srec $1 $${KERNEL_ELF_NAME} @@ -2232,3 +2231,12 @@ add_subdirectory_ifdef( CONFIG_MAKEFILE_EXPORTS cmake/makefile_exports ) + +toolchain_linker_finalize() + +yaml_context(EXISTS NAME build_info result) +if(result) + build_info(zephyr version VALUE ${PROJECT_VERSION_STR}) + build_info(zephyr zephyr-base VALUE ${ZEPHYR_BASE}) + yaml_save(NAME build_info) +endif() diff --git a/CODEOWNERS b/CODEOWNERS index 4c737dc9642..8ba6e3c5b78 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -18,6 +18,7 @@ # component or code. This file is going to be deprecated and currently only had # entries that are not covered by the MAINTAINERS file. +/.github/test-spec.yml @nrfconnect/ncs-test-leads /soc/arm/aspeed/ @aspeeddylan /soc/atmel/ @nandojve /soc/arm/bcm*/ @sbranden diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 00000000000..3b9cf002239 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,5 @@ +@Library("CI_LIB") _ + +def pipeline = new ncs.sdk_zephyr.Main() + +pipeline.run(JOB_NAME) diff --git a/Kconfig.zephyr b/Kconfig.zephyr index 425d79f4e74..510769d8aa7 100644 --- a/Kconfig.zephyr +++ b/Kconfig.zephyr @@ -17,13 +17,13 @@ osource "${APPLICATION_SOURCE_DIR}/VERSION" # Shield defaults should have precedence over board defaults, which should have # precedence over SoC defaults, so include them in that order. # -# $ARCH and $BOARD_DIR will be glob patterns when building documentation. +# $ARCH and $KCONFIG_BOARD_DIR will be glob patterns when building documentation. # This loads custom shields defconfigs (from BOARD_ROOT) osource "$(KCONFIG_BINARY_DIR)/Kconfig.shield.defconfig" # This loads Zephyr base shield defconfigs source "boards/shields/*/Kconfig.defconfig" -osource "$(BOARD_DIR)/Kconfig.defconfig" +osource "$(KCONFIG_BOARD_DIR)/Kconfig.defconfig" # This loads Zephyr specific SoC root defconfigs source "$(KCONFIG_BINARY_DIR)/soc/Kconfig.defconfig" @@ -536,11 +536,10 @@ config NO_OPTIMIZATIONS endchoice config LTO - bool "Link Time Optimization [EXPERIMENTAL]" + bool "Link Time Optimization" depends on !(GEN_ISR_TABLES || GEN_IRQ_VECTOR_TABLE) || ISR_TABLES_LOCAL_DECLARATION depends on !NATIVE_LIBRARY depends on !CODE_DATA_RELOCATION - select EXPERIMENTAL help This option enables Link Time Optimization. @@ -707,8 +706,21 @@ config CLEANUP_INTERMEDIATE_FILES from the build process. Note this breaks incremental builds, west spdx (Software Bill of Material generation), and maybe others. +config BUILD_GAP_FILL_PATTERN + hex "Gap fill pattern" + default 0xFF + help + Pattern used for gap filling of output files. + This value should be set to the value of a clean flash as this can + significantly reduce flash write times. + This setting only defines the gap fill pattern and doesn't enable gap + filling. + Note: binary files are always gap filled as they contain no address + information. + config BUILD_NO_GAP_FILL - bool "Don't fill gaps in generated hex/bin/s19 files." + bool "Don't fill gaps in generated hex/s19 files [DEPRECATED]." + select DEPRECATED config BUILD_OUTPUT_HEX bool "Build a binary in HEX format" @@ -716,6 +728,12 @@ config BUILD_OUTPUT_HEX Build an Intel HEX binary zephyr/zephyr.hex in the build directory. The name of this file can be customized with CONFIG_KERNEL_BIN_NAME. +config BUILD_OUTPUT_HEX_GAP_FILL + bool "Fill gaps in hex files" + depends on !BUILD_NO_GAP_FILL + help + Fill gaps in hex based files. + config BUILD_OUTPUT_BIN bool "Build a binary in BIN format" default y @@ -750,6 +768,12 @@ config BUILD_OUTPUT_S19 Build an S19 binary zephyr/zephyr.s19 in the build directory. The name of this file can be customized with CONFIG_KERNEL_BIN_NAME. +config BUILD_OUTPUT_S19_GAP_FILL + bool "Fill gaps in s19 files" + depends on !BUILD_NO_GAP_FILL + help + Fill gaps in s19 based files. + config BUILD_OUTPUT_UF2 bool "Build a binary in UF2 format" depends on BUILD_OUTPUT_BIN diff --git a/MAINTAINERS.yml b/MAINTAINERS.yml index b4bf261ec29..fdc0a25a5f1 100644 --- a/MAINTAINERS.yml +++ b/MAINTAINERS.yml @@ -975,7 +975,6 @@ Documentation: - doc/images/Zephyr-Kite-in-tree.png - doc/index-tex.rst - doc/index.rst - - doc/kconfig.rst - doc/templates/sample.tmpl - doc/templates/board.tmpl - boards/index.rst @@ -1157,6 +1156,23 @@ Release Notes: tests: - drivers.clock +"Drivers: Comparator": + status: maintained + maintainers: + - bjarki-andreasen + files: + - drivers/comparator/ + - dts/bindings/comparator/ + - include/zephyr/drivers/comparator.h + - include/zephyr/drivers/comparator/ + - tests/drivers/build_all/comparator/ + - tests/drivers/comparator/ + - doc/hardware/peripherals/comparator.rst + labels: + - "area: Comparator" + tests: + - drivers.comparator + "Drivers: Console": status: odd fixes files: @@ -2169,7 +2185,7 @@ Release Notes: collaborators: - sachinthegreen files: - - drivers/wifi/nrfwifi/ + - drivers/wifi/nrf_wifi/ - dts/bindings/wifi/nordic,nrf70.yaml - dts/bindings/wifi/nordic,nrf70-qspi.yaml - dts/bindings/wifi/nordic,nrf70-spi.yaml @@ -4964,6 +4980,16 @@ West: labels: - "area: native port" +"West project: nrf_wifi": + status: maintained + maintainers: + - krish2718 + - sachinthegreen + files: + - modules/nrf_wifi/ + labels: + - "area: Wi-Fi" + "West project: open-amp": status: odd fixes collaborators: diff --git a/arch/arm/core/cortex_a_r/Kconfig b/arch/arm/core/cortex_a_r/Kconfig index 4095a277c61..2ee3c945644 100644 --- a/arch/arm/core/cortex_a_r/Kconfig +++ b/arch/arm/core/cortex_a_r/Kconfig @@ -93,6 +93,14 @@ config CPU_CORTEX_R7 help This option signifies the use of a Cortex-R7 CPU +config CPU_CORTEX_R8 + bool + select CPU_AARCH32_CORTEX_R + select ARMV7_R + select ARMV7_R_FP if CPU_HAS_FPU + help + This option signifies the use of a Cortex-R8 CPU + config CPU_CORTEX_R52 bool select CPU_AARCH32_CORTEX_R diff --git a/arch/arm/core/cortex_m/fault.c b/arch/arm/core/cortex_m/fault.c index 4cc01f87129..4e604ba8033 100644 --- a/arch/arm/core/cortex_m/fault.c +++ b/arch/arm/core/cortex_m/fault.c @@ -743,7 +743,7 @@ static inline bool z_arm_is_pc_valid(uintptr_t pc) return true; } -#if DT_NODE_HAS_STATUS(DT_CHOSEN(zephyr_itcm), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_CHOSEN(zephyr_itcm)) /* Is it in the ITCM */ if ((((uintptr_t)&__itcm_start) <= pc) && (pc < ((uintptr_t)&__itcm_end))) { return true; diff --git a/arch/arm/core/cortex_m/pm_s2ram.S b/arch/arm/core/cortex_m/pm_s2ram.S index f9c82b4069b..aed8cf5b692 100644 --- a/arch/arm/core/cortex_m/pm_s2ram.S +++ b/arch/arm/core/cortex_m/pm_s2ram.S @@ -70,7 +70,9 @@ SECTION_FUNC(TEXT, arch_pm_s2ram_suspend) /* * Mark entering suspend to RAM. */ - bl pm_s2ram_mark_set + mov r1, lr + bl pm_s2ram_mark_set + mov lr, r1 /* * Call the system_off function passed as parameter. This should never @@ -83,12 +85,19 @@ SECTION_FUNC(TEXT, arch_pm_s2ram_suspend) * not successful (in r0 the return value). */ + /* Move return value of system_off to callee-saved register. */ + mov r4, r0 + /* * Reset the marking of suspend to RAM, return is ignored. */ - bl pm_s2ram_mark_check_and_clear + mov r1, lr + bl pm_s2ram_mark_check_and_clear + mov lr, r1 - /* Move system_off back to r0 as return value */ + /* Move the stored return value of system_off back to r0, + * setting it as return value for this function. + */ mov r0, r4 pop {r4-r12, lr} @@ -99,16 +108,13 @@ GTEXT(arch_pm_s2ram_resume) SECTION_FUNC(TEXT, arch_pm_s2ram_resume) /* * Check if reset occurred after suspending to RAM. - * Store LR to ensure we can continue boot when we are not suspended - * to RAM. In addition to LR, R0 is pushed too, to ensure "SP mod 8 = 0", - * as stated by ARM rule 6.2.1.2 for AAPCS32. */ - push {r0, lr} - bl pm_s2ram_mark_check_and_clear - cmp r0, #0x1 - pop {r0, lr} - beq resume - bx lr + mov r1, lr + bl pm_s2ram_mark_check_and_clear + mov lr, r1 + cmp r0, #0x1 + beq resume + bx lr resume: /* diff --git a/arch/arm/core/cortex_m/pm_s2ram.c b/arch/arm/core/cortex_m/pm_s2ram.c index 2657d48dc32..b7fe5d9b626 100644 --- a/arch/arm/core/cortex_m/pm_s2ram.c +++ b/arch/arm/core/cortex_m/pm_s2ram.c @@ -22,20 +22,44 @@ __noinit _cpu_context_t _cpu_context; */ static __noinit uint32_t marker; -void pm_s2ram_mark_set(void) +void __attribute__((naked)) pm_s2ram_mark_set(void) { - marker = MAGIC; + __asm__ volatile( + /* Set the marker to MAGIC value */ + "str %[_magic_val], [%[_marker]]\n" + + "bx lr\n" + : + : [_magic_val] "r"(MAGIC), [_marker] "r"(&marker) + : "r1", "r4", "memory"); } -bool pm_s2ram_mark_check_and_clear(void) +bool __attribute__((naked)) pm_s2ram_mark_check_and_clear(void) { - if (marker == MAGIC) { - marker = 0; + __asm__ volatile( + /* Set return value to 0 */ + "mov r0, #0\n" + + /* Check the marker */ + "ldr r3, [%[_marker]]\n" + "cmp r3, %[_magic_val]\n" + "bne exit\n" + + /* + * Reset the marker + */ + "str r0, [%[_marker]]\n" - return true; - } + /* + * Set return value to 1 + */ + "mov r0, #1\n" - return false; + "exit:\n" + "bx lr\n" + : + : [_magic_val] "r"(MAGIC), [_marker] "r"(&marker) + : "r0", "r1", "r3", "r4", "memory"); } #endif /* CONFIG_PM_S2RAM_CUSTOM_MARKING */ diff --git a/arch/arm/core/mpu/arm_mpu_regions.c b/arch/arm/core/mpu/arm_mpu_regions.c index 6af62f84078..cfe1230c907 100644 --- a/arch/arm/core/mpu/arm_mpu_regions.c +++ b/arch/arm/core/mpu/arm_mpu_regions.c @@ -8,6 +8,9 @@ #include #include +#if USE_PARTITION_MANAGER +#include +#endif static const struct arm_mpu_region mpu_regions[] = { /* Region 0 */ @@ -21,6 +24,14 @@ static const struct arm_mpu_region mpu_regions[] = { #endif /* Region 1 */ MPU_REGION_ENTRY("SRAM_0", +#if USE_PARTITION_MANAGER + PM_SRAM_ADDRESS, +#if defined(CONFIG_ARMV8_M_BASELINE) || defined(CONFIG_ARMV8_M_MAINLINE) + REGION_RAM_ATTR(PM_SRAM_ADDRESS, PM_SRAM_SIZE)), +#else + REGION_RAM_ATTR(REGION_SRAM_SIZE)), +#endif +#else CONFIG_SRAM_BASE_ADDRESS, #if defined(CONFIG_ARMV8_M_BASELINE) || defined(CONFIG_ARMV8_M_MAINLINE) REGION_RAM_ATTR(CONFIG_SRAM_BASE_ADDRESS, \ @@ -28,6 +39,8 @@ static const struct arm_mpu_region mpu_regions[] = { #else REGION_RAM_ATTR(REGION_SRAM_SIZE)), #endif + +#endif /* USE_PARTITION_MANAGER */ }; const struct arm_mpu_config mpu_config = { diff --git a/boards/01space/esp32c3_042_oled/board.yml b/boards/01space/esp32c3_042_oled/board.yml index 40b7b0f5816..35bcbdc0e60 100644 --- a/boards/01space/esp32c3_042_oled/board.yml +++ b/boards/01space/esp32c3_042_oled/board.yml @@ -1,5 +1,6 @@ board: name: esp32c3_042_oled + full_name: ESP32C3 0.42 OLED vendor: 01space socs: - name: esp32c3 diff --git a/boards/96boards/aerocore2/board.yml b/boards/96boards/aerocore2/board.yml index 42c4b7cae96..cc94ae02283 100644 --- a/boards/96boards/aerocore2/board.yml +++ b/boards/96boards/aerocore2/board.yml @@ -1,5 +1,6 @@ board: name: 96b_aerocore2 + full_name: Aerocore2 vendor: 96boards socs: - name: stm32f427xx diff --git a/boards/96boards/argonkey/board.yml b/boards/96boards/argonkey/board.yml index 9e78ee2394a..c142ce4d98c 100644 --- a/boards/96boards/argonkey/board.yml +++ b/boards/96boards/argonkey/board.yml @@ -1,5 +1,6 @@ board: name: 96b_argonkey + full_name: Argonkey vendor: 96boards socs: - name: stm32f412cx diff --git a/boards/96boards/avenger96/board.yml b/boards/96boards/avenger96/board.yml index 042bb6a472f..35f4e4b24f9 100644 --- a/boards/96boards/avenger96/board.yml +++ b/boards/96boards/avenger96/board.yml @@ -1,5 +1,6 @@ board: name: 96b_avenger96 + full_name: Avenger96 vendor: 96boards socs: - name: stm32mp157cxx diff --git a/boards/96boards/carbon/board.yml b/boards/96boards/carbon/board.yml index 79101f957be..28a04570b7a 100644 --- a/boards/96boards/carbon/board.yml +++ b/boards/96boards/carbon/board.yml @@ -1,5 +1,6 @@ board: name: 96b_carbon + full_name: Carbon vendor: 96boards socs: - name: stm32f401xe diff --git a/boards/96boards/meerkat96/board.yml b/boards/96boards/meerkat96/board.yml index 48d60ae6888..4e1425d035a 100644 --- a/boards/96boards/meerkat96/board.yml +++ b/boards/96boards/meerkat96/board.yml @@ -1,5 +1,6 @@ board: name: 96b_meerkat96 + full_name: Meerkat96 vendor: 96boards socs: - name: mcimx7d diff --git a/boards/96boards/neonkey/board.yml b/boards/96boards/neonkey/board.yml index 214cdc883bb..a9204af01c8 100644 --- a/boards/96boards/neonkey/board.yml +++ b/boards/96boards/neonkey/board.yml @@ -1,5 +1,6 @@ board: name: 96b_neonkey + full_name: Neonkey vendor: 96boards socs: - name: stm32f411xe diff --git a/boards/96boards/nitrogen/board.yml b/boards/96boards/nitrogen/board.yml index 279d2c63a66..8c3156c9c19 100644 --- a/boards/96boards/nitrogen/board.yml +++ b/boards/96boards/nitrogen/board.yml @@ -1,5 +1,6 @@ board: name: 96b_nitrogen + full_name: Nitrogen vendor: 96boards socs: - name: nrf52832 diff --git a/boards/96boards/stm32_sensor_mez/board.yml b/boards/96boards/stm32_sensor_mez/board.yml index e410dcc9e65..19d96543563 100644 --- a/boards/96boards/stm32_sensor_mez/board.yml +++ b/boards/96boards/stm32_sensor_mez/board.yml @@ -1,5 +1,6 @@ board: name: 96b_stm32_sensor_mez + full_name: STM32 Sensor Mezzanine vendor: st socs: - name: stm32f446xx diff --git a/boards/96boards/wistrio/board.yml b/boards/96boards/wistrio/board.yml index 508c590a6b5..9cc1efae22e 100644 --- a/boards/96boards/wistrio/board.yml +++ b/boards/96boards/wistrio/board.yml @@ -1,5 +1,6 @@ board: name: 96b_wistrio + full_name: WisTrio vendor: 96boards socs: - name: stm32l151xba diff --git a/boards/Kconfig b/boards/Kconfig index 6eb9ca5916d..8f186b32caf 100644 --- a/boards/Kconfig +++ b/boards/Kconfig @@ -129,7 +129,7 @@ config QEMU_EXTRA_FLAGS GDBstub over serial with `-serial tcp:127.0.0.1:5678,server` # There might not be any board options, hence the optional source -osource "$(BOARD_DIR)/Kconfig" +osource "$(KCONFIG_BOARD_DIR)/Kconfig" endmenu config BOARD_HAS_TIMING_FUNCTIONS diff --git a/boards/Kconfig.v1 b/boards/Kconfig.v1 index 670e2f2376e..c98bd27d2db 100644 --- a/boards/Kconfig.v1 +++ b/boards/Kconfig.v1 @@ -2,9 +2,13 @@ # SPDX-License-Identifier: Apache-2.0 +# In HWMv1 the KCONFIG_BOARD_DIR points directly to the BOARD_DIR. +# Set the BOARD_DIR variable for backwards compatibility to legacy hardware model. +BOARD_DIR := $(KCONFIG_BOARD_DIR) + choice prompt "Board Selection" -source "$(BOARD_DIR)/Kconfig.board" +source "$(KCONFIG_BOARD_DIR)/Kconfig.board" endchoice diff --git a/boards/Kconfig.v2 b/boards/Kconfig.v2 index 47bb3ae2240..6fce9ccb99d 100644 --- a/boards/Kconfig.v2 +++ b/boards/Kconfig.v2 @@ -25,4 +25,4 @@ config BOARD_QUALIFIERS For example, if building for ``nrf5340dk/nrf5340/cpuapp`` then this will contain the value ``nrf5340/cpuapp``. -osource "$(BOARD_DIR)/Kconfig.$(BOARD)" +osource "$(KCONFIG_BOARD_DIR)/Kconfig.$(BOARD)" diff --git a/boards/aconno/acn52832/board.yml b/boards/aconno/acn52832/board.yml index 179637e1ded..3b7d75c68a2 100644 --- a/boards/aconno/acn52832/board.yml +++ b/boards/aconno/acn52832/board.yml @@ -1,5 +1,6 @@ board: name: acn52832 + full_name: acn52832 vendor: aconno socs: - name: nrf52832 diff --git a/boards/acrn/acrn/board.yml b/boards/acrn/acrn/board.yml index 4130a85b8f6..dce367c0f96 100644 --- a/boards/acrn/acrn/board.yml +++ b/boards/acrn/acrn/board.yml @@ -1,9 +1,11 @@ boards: - name: acrn + full_name: ACRN hypervisor socs: - name: atom - name: acrn_ehl_crb + full_name: ACRN on EHL hypervisor socs: - name: elkhart_lake diff --git a/boards/actinius/icarus/board.yml b/boards/actinius/icarus/board.yml index 69d6aa45707..9f5b6450cf9 100644 --- a/boards/actinius/icarus/board.yml +++ b/boards/actinius/icarus/board.yml @@ -1,5 +1,6 @@ board: name: actinius_icarus + full_name: Icarus vendor: actinius socs: - name: nrf9160 diff --git a/boards/actinius/icarus_bee/board.yml b/boards/actinius/icarus_bee/board.yml index 653294a9cf5..648306ed93c 100644 --- a/boards/actinius/icarus_bee/board.yml +++ b/boards/actinius/icarus_bee/board.yml @@ -1,5 +1,6 @@ board: name: actinius_icarus_bee + full_name: Icarus Bee vendor: actinius socs: - name: nrf9160 diff --git a/boards/actinius/icarus_som/board.yml b/boards/actinius/icarus_som/board.yml index 9acf3b4fa5e..b3cf4ca8cb6 100644 --- a/boards/actinius/icarus_som/board.yml +++ b/boards/actinius/icarus_som/board.yml @@ -1,5 +1,6 @@ board: name: actinius_icarus_som + full_name: Icarus SoM vendor: actinius socs: - name: nrf9160 diff --git a/boards/actinius/icarus_som_dk/board.yml b/boards/actinius/icarus_som_dk/board.yml index 137f39705d1..9e5a596828e 100644 --- a/boards/actinius/icarus_som_dk/board.yml +++ b/boards/actinius/icarus_som_dk/board.yml @@ -1,5 +1,6 @@ board: name: actinius_icarus_som_dk + full_name: Icarus SoM DK vendor: actinius socs: - name: nrf9160 diff --git a/boards/adafruit/feather_m0_basic_proto/board.yml b/boards/adafruit/feather_m0_basic_proto/board.yml index cf9353bf78c..15ee020f8a6 100644 --- a/boards/adafruit/feather_m0_basic_proto/board.yml +++ b/boards/adafruit/feather_m0_basic_proto/board.yml @@ -1,5 +1,6 @@ board: name: adafruit_feather_m0_basic_proto + full_name: Feather M0 Basic Proto vendor: adafruit socs: - name: samd21g18a diff --git a/boards/adafruit/feather_m0_basic_proto/doc/index.rst b/boards/adafruit/feather_m0_basic_proto/doc/index.rst index 04206783b15..a01fe241d59 100644 --- a/boards/adafruit/feather_m0_basic_proto/doc/index.rst +++ b/boards/adafruit/feather_m0_basic_proto/doc/index.rst @@ -96,7 +96,7 @@ USB Device Port =============== The SAMD21 MCU has a USB device port that can be used to communicate -with a host PC. See the :ref:`usb-samples` sample applications for +with a host PC. See the :zephyr:code-sample-category:`usb` sample applications for more, such as the :zephyr:code-sample:`usb-cdc-acm` sample which sets up a virtual serial port that echos characters back to the host PC. diff --git a/boards/adafruit/feather_m0_lora/board.yml b/boards/adafruit/feather_m0_lora/board.yml index b720fc95ffe..afef7ea91df 100644 --- a/boards/adafruit/feather_m0_lora/board.yml +++ b/boards/adafruit/feather_m0_lora/board.yml @@ -1,5 +1,6 @@ board: name: adafruit_feather_m0_lora + full_name: Feather M0 LoRa vendor: adafruit socs: - name: samd21g18a diff --git a/boards/adafruit/feather_m0_lora/doc/index.rst b/boards/adafruit/feather_m0_lora/doc/index.rst index b75f73d6fdc..92d63b36ce3 100644 --- a/boards/adafruit/feather_m0_lora/doc/index.rst +++ b/boards/adafruit/feather_m0_lora/doc/index.rst @@ -99,7 +99,7 @@ USB Device Port =============== The SAMD21 MCU has a USB device port that can be used to communicate -with a host PC. See the :ref:`usb-samples` sample applications for +with a host PC. See the :zephyr:code-sample-category:`usb` sample applications for more, such as the :zephyr:code-sample:`usb-cdc-acm` sample which sets up a virtual serial port that echos characters back to the host PC. diff --git a/boards/adafruit/feather_nrf52840/board.yml b/boards/adafruit/feather_nrf52840/board.yml index 5841c2f4bf0..535b60d2f78 100644 --- a/boards/adafruit/feather_nrf52840/board.yml +++ b/boards/adafruit/feather_nrf52840/board.yml @@ -1,5 +1,6 @@ board: name: adafruit_feather_nrf52840 + full_name: Feather nRF52840 (Express, Sense) vendor: adafruit socs: - name: nrf52840 diff --git a/boards/adafruit/feather_stm32f405/board.yml b/boards/adafruit/feather_stm32f405/board.yml index e30f5c0cbcf..839cd4b24c3 100644 --- a/boards/adafruit/feather_stm32f405/board.yml +++ b/boards/adafruit/feather_stm32f405/board.yml @@ -1,5 +1,6 @@ board: name: adafruit_feather_stm32f405 + full_name: Feather STM32F405 Express vendor: adafruit socs: - name: stm32f405xx diff --git a/boards/adafruit/grand_central_m4_express/board.yml b/boards/adafruit/grand_central_m4_express/board.yml index 92a48d1b2b3..4393f3040c7 100644 --- a/boards/adafruit/grand_central_m4_express/board.yml +++ b/boards/adafruit/grand_central_m4_express/board.yml @@ -1,5 +1,6 @@ board: name: adafruit_grand_central_m4_express + full_name: Grand Central M4 Express vendor: adafruit socs: - name: samd51p20a diff --git a/boards/adafruit/grand_central_m4_express/doc/index.rst b/boards/adafruit/grand_central_m4_express/doc/index.rst index e9cf733843a..0244fa73f87 100644 --- a/boards/adafruit/grand_central_m4_express/doc/index.rst +++ b/boards/adafruit/grand_central_m4_express/doc/index.rst @@ -98,7 +98,7 @@ USB Device Port =============== The SAMD51 MCU has a USB device port that can be used to communicate -with a host PC. See the :ref:`usb-samples` sample applications for +with a host PC. See the :zephyr:code-sample-category:`usb` sample applications for more, such as the :zephyr:code-sample:`usb-cdc-acm` sample which sets up a virtual serial port that echos characters back to the host PC. diff --git a/boards/adafruit/itsybitsy/board.yml b/boards/adafruit/itsybitsy/board.yml index 484a68e348b..baf9310f83c 100644 --- a/boards/adafruit/itsybitsy/board.yml +++ b/boards/adafruit/itsybitsy/board.yml @@ -1,5 +1,6 @@ board: name: adafruit_itsybitsy + full_name: ItsyBitsy nRF52840 vendor: adafruit socs: - name: nrf52840 diff --git a/boards/adafruit/itsybitsy_m4_express/board.yml b/boards/adafruit/itsybitsy_m4_express/board.yml index 7d295017fc9..31c9cd6354e 100644 --- a/boards/adafruit/itsybitsy_m4_express/board.yml +++ b/boards/adafruit/itsybitsy_m4_express/board.yml @@ -1,5 +1,6 @@ board: name: adafruit_itsybitsy_m4_express + full_name: ItsyBitsy M4 Express vendor: adafruit socs: - name: samd51g19a diff --git a/boards/adafruit/itsybitsy_m4_express/doc/index.rst b/boards/adafruit/itsybitsy_m4_express/doc/index.rst index ce3efb89b1f..2ab1f7a5853 100644 --- a/boards/adafruit/itsybitsy_m4_express/doc/index.rst +++ b/boards/adafruit/itsybitsy_m4_express/doc/index.rst @@ -106,7 +106,7 @@ USB Device Port =============== The SAMD51 MCU has a USB device port that can be used to communicate -with a host PC. See the :ref:`usb-samples` sample applications for +with a host PC. See the :zephyr:code-sample-category:`usb` sample applications for more, such as the :zephyr:code-sample:`usb-cdc-acm` sample which sets up a virtual serial port that echos characters back to the host PC. diff --git a/boards/adafruit/kb2040/board.yml b/boards/adafruit/kb2040/board.yml index 5fbe751090e..39363e321aa 100644 --- a/boards/adafruit/kb2040/board.yml +++ b/boards/adafruit/kb2040/board.yml @@ -1,5 +1,6 @@ board: name: adafruit_kb2040 + full_name: KB2040 vendor: adafruit socs: - name: rp2040 diff --git a/boards/adafruit/nrf52_adafruit_feather/board.yml b/boards/adafruit/nrf52_adafruit_feather/board.yml index a3d6b4274ce..301d270465e 100644 --- a/boards/adafruit/nrf52_adafruit_feather/board.yml +++ b/boards/adafruit/nrf52_adafruit_feather/board.yml @@ -1,5 +1,6 @@ board: name: nrf52_adafruit_feather + full_name: nRF52 Adafruit Feather vendor: adafruit socs: - name: nrf52832 diff --git a/boards/adafruit/qt_py_rp2040/board.yml b/boards/adafruit/qt_py_rp2040/board.yml index e07cab669c6..ba0a3f89485 100644 --- a/boards/adafruit/qt_py_rp2040/board.yml +++ b/boards/adafruit/qt_py_rp2040/board.yml @@ -1,5 +1,6 @@ board: name: adafruit_qt_py_rp2040 + full_name: QT Py RP2040 vendor: adafruit socs: - name: rp2040 diff --git a/boards/adafruit/trinket_m0/board.yml b/boards/adafruit/trinket_m0/board.yml index 6d7a783ae3e..44b19bf565e 100644 --- a/boards/adafruit/trinket_m0/board.yml +++ b/boards/adafruit/trinket_m0/board.yml @@ -1,5 +1,6 @@ board: name: adafruit_trinket_m0 + full_name: Trinket M0 vendor: adafruit socs: - name: samd21e18a diff --git a/boards/adafruit/trinket_m0/doc/index.rst b/boards/adafruit/trinket_m0/doc/index.rst index e02b829d7a0..4714f9d1aff 100644 --- a/boards/adafruit/trinket_m0/doc/index.rst +++ b/boards/adafruit/trinket_m0/doc/index.rst @@ -98,7 +98,7 @@ USB Device Port =============== The SAMD21 MCU has a USB device port that can be used to communicate -with a host PC. See the :ref:`usb-samples` sample applications for +with a host PC. See the :zephyr:code-sample-category:`usb` sample applications for more, such as the :zephyr:code-sample:`usb-cdc-acm` sample which sets up a virtual serial port that echos characters back to the host PC. diff --git a/boards/adi/apard32690/board.yml b/boards/adi/apard32690/board.yml index 269b5789345..fc6aeac3b24 100644 --- a/boards/adi/apard32690/board.yml +++ b/boards/adi/apard32690/board.yml @@ -3,6 +3,7 @@ board: name: apard32690 + full_name: AD-APARD32690-SL vendor: adi socs: - name: max32690 diff --git a/boards/adi/eval_adin1110ebz/board.yml b/boards/adi/eval_adin1110ebz/board.yml index e5af49e3f35..27763c338c6 100644 --- a/boards/adi/eval_adin1110ebz/board.yml +++ b/boards/adi/eval_adin1110ebz/board.yml @@ -1,5 +1,6 @@ board: name: adi_eval_adin1110ebz + full_name: EVAL-ADIN1110EVB Evaluation board vendor: adi socs: - name: stm32l4s5xx diff --git a/boards/adi/eval_adin2111ebz/board.yml b/boards/adi/eval_adin2111ebz/board.yml index 0151d544aca..d63f5c14edd 100644 --- a/boards/adi/eval_adin2111ebz/board.yml +++ b/boards/adi/eval_adin2111ebz/board.yml @@ -1,5 +1,6 @@ board: name: adi_eval_adin2111ebz + full_name: EVAL-ADIN2111EVB Evaluation board vendor: adi socs: - name: stm32l4s5xx diff --git a/boards/adi/max32655evkit/board.yml b/boards/adi/max32655evkit/board.yml index 4824c6fe8e5..a3182fa647a 100644 --- a/boards/adi/max32655evkit/board.yml +++ b/boards/adi/max32655evkit/board.yml @@ -3,6 +3,7 @@ board: name: max32655evkit + full_name: MAX32655EVKIT vendor: adi socs: - name: max32655 diff --git a/boards/adi/max32655fthr/board.yml b/boards/adi/max32655fthr/board.yml index 087b51d8d95..81c6e41ae32 100644 --- a/boards/adi/max32655fthr/board.yml +++ b/boards/adi/max32655fthr/board.yml @@ -3,6 +3,7 @@ board: name: max32655fthr + full_name: MAX32655FTHR vendor: adi socs: - name: max32655 diff --git a/boards/adi/max32662evkit/board.yml b/boards/adi/max32662evkit/board.yml index 628de9d7668..66ba25e1175 100644 --- a/boards/adi/max32662evkit/board.yml +++ b/boards/adi/max32662evkit/board.yml @@ -3,6 +3,7 @@ board: name: max32662evkit + full_name: MAX32662EVKIT vendor: adi socs: - name: max32662 diff --git a/boards/adi/max32666evkit/board.yml b/boards/adi/max32666evkit/board.yml index 5d1beff7716..6cacbe69acf 100644 --- a/boards/adi/max32666evkit/board.yml +++ b/boards/adi/max32666evkit/board.yml @@ -3,6 +3,7 @@ board: name: max32666evkit + full_name: MAX32666EVKIT vendor: adi socs: - name: max32666 diff --git a/boards/adi/max32666fthr/board.yml b/boards/adi/max32666fthr/board.yml index a071afb909e..a73062b5bfa 100644 --- a/boards/adi/max32666fthr/board.yml +++ b/boards/adi/max32666fthr/board.yml @@ -3,6 +3,7 @@ board: name: max32666fthr + full_name: MAX32666FTHR vendor: adi socs: - name: max32666 diff --git a/boards/adi/max32670evkit/board.yml b/boards/adi/max32670evkit/board.yml index 1d0aabb3954..530810b3be9 100644 --- a/boards/adi/max32670evkit/board.yml +++ b/boards/adi/max32670evkit/board.yml @@ -3,6 +3,7 @@ board: name: max32670evkit + full_name: MAX32670EVKIT vendor: adi socs: - name: max32670 diff --git a/boards/adi/max32672evkit/board.yml b/boards/adi/max32672evkit/board.yml index 5df99f681bf..cd2e29f832c 100644 --- a/boards/adi/max32672evkit/board.yml +++ b/boards/adi/max32672evkit/board.yml @@ -3,6 +3,7 @@ board: name: max32672evkit + full_name: MAX32672EVKIT vendor: adi socs: - name: max32672 diff --git a/boards/adi/max32672fthr/board.yml b/boards/adi/max32672fthr/board.yml index c99d16ad4a1..aa19cea2609 100644 --- a/boards/adi/max32672fthr/board.yml +++ b/boards/adi/max32672fthr/board.yml @@ -3,6 +3,7 @@ board: name: max32672fthr + full_name: MAX32672FTHR vendor: adi socs: - name: max32672 diff --git a/boards/adi/max32675evkit/board.yml b/boards/adi/max32675evkit/board.yml index d51c7284c7f..59ca667e03b 100644 --- a/boards/adi/max32675evkit/board.yml +++ b/boards/adi/max32675evkit/board.yml @@ -3,6 +3,7 @@ board: name: max32675evkit + full_name: MAX32675EVKIT vendor: adi socs: - name: max32675 diff --git a/boards/adi/max32680evkit/board.yml b/boards/adi/max32680evkit/board.yml index 23b5102a97f..11cb8a55c09 100644 --- a/boards/adi/max32680evkit/board.yml +++ b/boards/adi/max32680evkit/board.yml @@ -3,6 +3,7 @@ board: name: max32680evkit + full_name: MAX32680EVKIT vendor: adi socs: - name: max32680 diff --git a/boards/adi/max32690evkit/board.yml b/boards/adi/max32690evkit/board.yml index 53f531e193b..b5d3be3c679 100644 --- a/boards/adi/max32690evkit/board.yml +++ b/boards/adi/max32690evkit/board.yml @@ -3,6 +3,7 @@ board: name: max32690evkit + full_name: MAX32690EVKIT vendor: adi socs: - name: max32690 diff --git a/boards/adi/max32690fthr/board.yml b/boards/adi/max32690fthr/board.yml index 328035bdccd..b97f7e0e6ac 100644 --- a/boards/adi/max32690fthr/board.yml +++ b/boards/adi/max32690fthr/board.yml @@ -3,6 +3,7 @@ board: name: max32690fthr + full_name: MAX32690FTHR vendor: adi socs: - name: max32690 diff --git a/boards/adi/sdp_k1/board.yml b/boards/adi/sdp_k1/board.yml index c659c3b14c8..26b2e819276 100644 --- a/boards/adi/sdp_k1/board.yml +++ b/boards/adi/sdp_k1/board.yml @@ -1,5 +1,6 @@ board: name: adi_sdp_k1 + full_name: SDP-K1 vendor: adi socs: - name: stm32f469xx diff --git a/boards/alientek/pandora_stm32l475/board.yml b/boards/alientek/pandora_stm32l475/board.yml index 725d13c5f30..1cb4fd9a9ff 100644 --- a/boards/alientek/pandora_stm32l475/board.yml +++ b/boards/alientek/pandora_stm32l475/board.yml @@ -1,5 +1,6 @@ board: name: pandora_stm32l475 + full_name: STM32L475 Pandora vendor: alientek socs: - name: stm32l475xx diff --git a/boards/altr/max10/board.yml b/boards/altr/max10/board.yml index 976a0f83a80..9106b7e15ec 100644 --- a/boards/altr/max10/board.yml +++ b/boards/altr/max10/board.yml @@ -1,5 +1,6 @@ board: name: altera_max10 + full_name: MAX10 vendor: altr socs: - name: zephyr_nios2f diff --git a/boards/ambiq/apollo3_evb/board.yml b/boards/ambiq/apollo3_evb/board.yml index 8c3925245c3..9e3a5bd5304 100644 --- a/boards/ambiq/apollo3_evb/board.yml +++ b/boards/ambiq/apollo3_evb/board.yml @@ -1,5 +1,6 @@ board: name: apollo3_evb + full_name: Apollo3 Blue EVB vendor: ambiq socs: - name: apollo3_blue diff --git a/boards/ambiq/apollo3p_evb/board.yml b/boards/ambiq/apollo3p_evb/board.yml index 507a85548b0..b6de5218ca8 100644 --- a/boards/ambiq/apollo3p_evb/board.yml +++ b/boards/ambiq/apollo3p_evb/board.yml @@ -1,5 +1,6 @@ board: name: apollo3p_evb + full_name: Apollo3 Blue Plus EVB vendor: ambiq socs: - name: apollo3p_blue diff --git a/boards/ambiq/apollo4p_blue_kxr_evb/board.yml b/boards/ambiq/apollo4p_blue_kxr_evb/board.yml index 16a9a6cc979..ff5f3768774 100644 --- a/boards/ambiq/apollo4p_blue_kxr_evb/board.yml +++ b/boards/ambiq/apollo4p_blue_kxr_evb/board.yml @@ -1,5 +1,6 @@ board: name: apollo4p_blue_kxr_evb + full_name: Apollo4 Blue Plus KXR EVB vendor: ambiq socs: - name: apollo4p_blue diff --git a/boards/ambiq/apollo4p_evb/board.yml b/boards/ambiq/apollo4p_evb/board.yml index 023487c3ecd..1716e415cd6 100644 --- a/boards/ambiq/apollo4p_evb/board.yml +++ b/boards/ambiq/apollo4p_evb/board.yml @@ -1,5 +1,6 @@ board: name: apollo4p_evb + full_name: Apollo4P EVB vendor: ambiq socs: - name: apollo4p diff --git a/boards/amd/kv260_r5/board.yml b/boards/amd/kv260_r5/board.yml index 9e43962bfc3..da3d08a19c0 100644 --- a/boards/amd/kv260_r5/board.yml +++ b/boards/amd/kv260_r5/board.yml @@ -1,5 +1,6 @@ board: name: kv260_r5 + full_name: KV260 Development Board RPU Cortex-R5 vendor: amd socs: - name: zynqmp_rpu diff --git a/boards/andestech/adp_xc7k_ae350/board.yml b/boards/andestech/adp_xc7k_ae350/board.yml index 09ade0170f3..7c8ace7d5a0 100644 --- a/boards/andestech/adp_xc7k_ae350/board.yml +++ b/boards/andestech/adp_xc7k_ae350/board.yml @@ -1,5 +1,6 @@ board: name: adp_xc7k + full_name: ADP-XC7K AE350 vendor: andestech socs: - name: ae350 diff --git a/boards/arduino/due/board.yml b/boards/arduino/due/board.yml index 351bc719a15..5c7cc707137 100644 --- a/boards/arduino/due/board.yml +++ b/boards/arduino/due/board.yml @@ -1,5 +1,6 @@ board: name: arduino_due + full_name: Arduino Due vendor: arduino socs: - name: sam3x8e diff --git a/boards/arduino/giga_r1/board.yml b/boards/arduino/giga_r1/board.yml index 3079c2f0d5c..cfafa1282fd 100644 --- a/boards/arduino/giga_r1/board.yml +++ b/boards/arduino/giga_r1/board.yml @@ -1,5 +1,6 @@ board: name: arduino_giga_r1 + full_name: Arduino GIGA R1 WiFi vendor: arduino socs: - name: stm32h747xx diff --git a/boards/arduino/mkrzero/board.yml b/boards/arduino/mkrzero/board.yml index a53c04cbd18..776deeb6c23 100644 --- a/boards/arduino/mkrzero/board.yml +++ b/boards/arduino/mkrzero/board.yml @@ -1,5 +1,6 @@ board: name: arduino_mkrzero + full_name: Arduino MKR Zero vendor: arduino socs: - name: samd21g18a diff --git a/boards/arduino/mkrzero/doc/index.rst b/boards/arduino/mkrzero/doc/index.rst index 2ea120d9313..b6f92d96930 100644 --- a/boards/arduino/mkrzero/doc/index.rst +++ b/boards/arduino/mkrzero/doc/index.rst @@ -111,7 +111,7 @@ USB Device Port =============== The SAMD21 MCU has a USB device port that can be used to communicate -with a host PC. See the :ref:`usb-samples` sample applications for +with a host PC. See the :zephyr:code-sample-category:`usb` sample applications for more, such as the :zephyr:code-sample:`usb-cdc-acm` sample which sets up a virtual serial port that echos characters back to the host PC. diff --git a/boards/arduino/nano_33_ble/board.yml b/boards/arduino/nano_33_ble/board.yml index 919864839ed..b1cbb7a9212 100644 --- a/boards/arduino/nano_33_ble/board.yml +++ b/boards/arduino/nano_33_ble/board.yml @@ -1,5 +1,6 @@ board: name: arduino_nano_33_ble + full_name: Arduino Nano 33 BLE (Sense) vendor: arduino socs: - name: nrf52840 diff --git a/boards/arduino/nano_33_iot/board.yml b/boards/arduino/nano_33_iot/board.yml index 63b7dab7992..56977e0f6e8 100644 --- a/boards/arduino/nano_33_iot/board.yml +++ b/boards/arduino/nano_33_iot/board.yml @@ -1,5 +1,6 @@ board: name: arduino_nano_33_iot + full_name: Arduino Nano 33 IOT vendor: arduino socs: - name: samd21g18a diff --git a/boards/arduino/nano_33_iot/doc/index.rst b/boards/arduino/nano_33_iot/doc/index.rst index e6a51198b92..419c02a5cea 100644 --- a/boards/arduino/nano_33_iot/doc/index.rst +++ b/boards/arduino/nano_33_iot/doc/index.rst @@ -102,7 +102,7 @@ USB Device Port =============== The SAMD21 MCU has a USB device port that can be used to communicate -with a host PC. See the :ref:`usb-samples` sample applications for +with a host PC. See the :zephyr:code-sample-category:`usb` sample applications for more, such as the :zephyr:code-sample:`usb-cdc-acm` sample which sets up a virtual serial port that echos characters back to the host PC. diff --git a/boards/arduino/nicla_sense_me/board.yml b/boards/arduino/nicla_sense_me/board.yml index 0a470e79ce5..58398263882 100644 --- a/boards/arduino/nicla_sense_me/board.yml +++ b/boards/arduino/nicla_sense_me/board.yml @@ -1,5 +1,6 @@ board: name: arduino_nicla_sense_me + full_name: Arduino Nicla Sense ME vendor: arduino socs: - name: nrf52832 diff --git a/boards/arduino/nicla_vision/board.yml b/boards/arduino/nicla_vision/board.yml index 660cb3ca8aa..90b90977ae3 100644 --- a/boards/arduino/nicla_vision/board.yml +++ b/boards/arduino/nicla_vision/board.yml @@ -1,5 +1,6 @@ board: name: arduino_nicla_vision + full_name: Arduino Nicla Vision vendor: arduino socs: - name: stm32h747xx diff --git a/boards/arduino/opta/board.yml b/boards/arduino/opta/board.yml index c572627b348..013bfa1c06e 100644 --- a/boards/arduino/opta/board.yml +++ b/boards/arduino/opta/board.yml @@ -1,5 +1,6 @@ board: name: arduino_opta + full_name: Arduino OPTA vendor: arduino socs: - name: stm32h747xx diff --git a/boards/arduino/portenta_h7/board.yml b/boards/arduino/portenta_h7/board.yml index 01e28f0b5fd..fbea7ec271a 100644 --- a/boards/arduino/portenta_h7/board.yml +++ b/boards/arduino/portenta_h7/board.yml @@ -1,5 +1,6 @@ board: name: arduino_portenta_h7 + full_name: Arduino Portenta H7 vendor: arduino socs: - name: stm32h747xx diff --git a/boards/arduino/uno_r4/board.yml b/boards/arduino/uno_r4/board.yml index 8286850b76c..9c168c300c2 100644 --- a/boards/arduino/uno_r4/board.yml +++ b/boards/arduino/uno_r4/board.yml @@ -1,9 +1,11 @@ boards: - name: arduino_uno_r4_minima + full_name: Arduino UNO R4 Minima vendor: arduino socs: - name: r7fa4m1ab3cfm - name: arduino_uno_r4_wifi + full_name: Arduino UNO R4 WiFi vendor: arduino socs: - name: r7fa4m1ab3cfm diff --git a/boards/arduino/zero/board.yml b/boards/arduino/zero/board.yml index 86d4a97c112..495bca3dace 100644 --- a/boards/arduino/zero/board.yml +++ b/boards/arduino/zero/board.yml @@ -1,5 +1,6 @@ board: name: arduino_zero + full_name: Arduino/Genuino Zero vendor: arduino socs: - name: samd21g18a diff --git a/boards/arduino/zero/doc/index.rst b/boards/arduino/zero/doc/index.rst index 3ec0a0fd82a..9e665aa75cd 100644 --- a/boards/arduino/zero/doc/index.rst +++ b/boards/arduino/zero/doc/index.rst @@ -98,7 +98,7 @@ USB Device Port =============== The SAMD21 MCU has a USB device port that can be used to communicate -with a host PC. See the :ref:`usb-samples` sample applications for +with a host PC. See the :zephyr:code-sample-category:`usb` sample applications for more, such as the :zephyr:code-sample:`usb-cdc-acm` sample which sets up a virtual serial port that echos characters back to the host PC. diff --git a/boards/arm/fvp_base_revc_2xaemv8a/board.yml b/boards/arm/fvp_base_revc_2xaemv8a/board.yml index 8c881c9d86a..3af023b670e 100644 --- a/boards/arm/fvp_base_revc_2xaemv8a/board.yml +++ b/boards/arm/fvp_base_revc_2xaemv8a/board.yml @@ -1,5 +1,6 @@ board: name: fvp_base_revc_2xaemv8a + full_name: BASE RevC AEMv8A Fixed Virtual Platforms vendor: arm socs: - name: fvp_base_revc_2xaemv8a diff --git a/boards/arm/fvp_baser_aemv8r/board.yml b/boards/arm/fvp_baser_aemv8r/board.yml index f80eb3a6ed0..a11d3e00811 100644 --- a/boards/arm/fvp_baser_aemv8r/board.yml +++ b/boards/arm/fvp_baser_aemv8r/board.yml @@ -1,5 +1,6 @@ board: name: fvp_baser_aemv8r + full_name: Debug with Arm DS vendor: arm socs: - name: fvp_aemv8r_aarch64 diff --git a/boards/arm/mps2/board.yml b/boards/arm/mps2/board.yml index a069852c1c6..779a8ed21cc 100644 --- a/boards/arm/mps2/board.yml +++ b/boards/arm/mps2/board.yml @@ -1,5 +1,6 @@ board: name: mps2 + full_name: V2M MPS2 vendor: arm socs: - name: an385 diff --git a/boards/arm/mps3/board.yml b/boards/arm/mps3/board.yml index 5ee7ed7c037..9eea26dc244 100644 --- a/boards/arm/mps3/board.yml +++ b/boards/arm/mps3/board.yml @@ -1,5 +1,6 @@ board: name: mps3 + full_name: MPS3 AN547 vendor: arm socs: - name: 'an547' diff --git a/boards/arm/v2m_beetle/board.yml b/boards/arm/v2m_beetle/board.yml index b19e9bfec75..9104c0335cc 100644 --- a/boards/arm/v2m_beetle/board.yml +++ b/boards/arm/v2m_beetle/board.yml @@ -1,5 +1,6 @@ board: name: v2m_beetle + full_name: V2M Beetle vendor: arm socs: - name: beetle_r0 diff --git a/boards/arm/v2m_musca_b1/board.yml b/boards/arm/v2m_musca_b1/board.yml index 47cebc33bb1..40d16232d90 100644 --- a/boards/arm/v2m_musca_b1/board.yml +++ b/boards/arm/v2m_musca_b1/board.yml @@ -1,5 +1,6 @@ board: name: v2m_musca_b1 + full_name: V2M Musca B1 vendor: arm socs: - name: musca_b1 diff --git a/boards/arm/v2m_musca_b1/pinmux.c b/boards/arm/v2m_musca_b1/pinmux.c index 443d462eb21..2a2c44d62b9 100644 --- a/boards/arm/v2m_musca_b1/pinmux.c +++ b/boards/arm/v2m_musca_b1/pinmux.c @@ -40,7 +40,7 @@ static void arm_musca_b1_pinmux_defaults(void) scc[IOMUX_ALTF1_OUTSEL] = 0xffff; scc[IOMUX_ALTF1_OENSEL] = 0xffff; -#if DT_NODE_HAS_STATUS(DT_NODELABEL(uart0), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(uart0)) /* clear bit 0/1 for GPIO0/1 to steer from ALTF1 */ scc[IOMUX_MAIN_INSEL] &= ~(BIT(0) | BIT(1)); scc[IOMUX_MAIN_OUTSEL] &= ~(BIT(0) | BIT(1)); diff --git a/boards/arm/v2m_musca_s1/board.yml b/boards/arm/v2m_musca_s1/board.yml index a7a3e18358d..8cbc49ca31e 100644 --- a/boards/arm/v2m_musca_s1/board.yml +++ b/boards/arm/v2m_musca_s1/board.yml @@ -1,5 +1,6 @@ board: name: v2m_musca_s1 + full_name: V2M Musca-S1 vendor: arm socs: - name: musca_s1 diff --git a/boards/arm/v2m_musca_s1/pinmux.c b/boards/arm/v2m_musca_s1/pinmux.c index a1a1a4ad252..3affa53dadf 100644 --- a/boards/arm/v2m_musca_s1/pinmux.c +++ b/boards/arm/v2m_musca_s1/pinmux.c @@ -40,7 +40,7 @@ static void arm_musca_s1_pinmux_defaults(void) scc[IOMUX_ALTF1_OUTSEL] = 0xffff; scc[IOMUX_ALTF1_OENSEL] = 0xffff; -#if DT_NODE_HAS_STATUS(DT_NODELABEL(uart0), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(uart0)) /* clear bit 0/1 for GPIO0/1 to steer from ALTF1 */ scc[IOMUX_MAIN_INSEL] &= ~(BIT(0) | BIT(1)); scc[IOMUX_MAIN_OUTSEL] &= ~(BIT(0) | BIT(1)); diff --git a/boards/aspeed/ast1030_evb/board.yml b/boards/aspeed/ast1030_evb/board.yml index e129a899425..002da5215bf 100644 --- a/boards/aspeed/ast1030_evb/board.yml +++ b/boards/aspeed/ast1030_evb/board.yml @@ -1,5 +1,6 @@ board: name: ast1030_evb + full_name: AST1030_EVB vendor: aspeed socs: - name: ast1030 diff --git a/boards/atmarktechno/degu_evk/board.yml b/boards/atmarktechno/degu_evk/board.yml index 19859fc1e7d..483521e3a36 100644 --- a/boards/atmarktechno/degu_evk/board.yml +++ b/boards/atmarktechno/degu_evk/board.yml @@ -1,5 +1,6 @@ board: name: degu_evk + full_name: Degu Evaluation Kit vendor: atmarktechno socs: - name: nrf52840 diff --git a/boards/atmel/sam/sam4e_xpro/board.yml b/boards/atmel/sam/sam4e_xpro/board.yml index 017a22d62cd..52c0e9e8dee 100644 --- a/boards/atmel/sam/sam4e_xpro/board.yml +++ b/boards/atmel/sam/sam4e_xpro/board.yml @@ -1,5 +1,6 @@ board: name: sam4e_xpro + full_name: SAM4E Xplained Pro vendor: atmel socs: - name: sam4e16e diff --git a/boards/atmel/sam/sam4l_ek/board.yml b/boards/atmel/sam/sam4l_ek/board.yml index 7045ba351ce..02dbed9f7e1 100644 --- a/boards/atmel/sam/sam4l_ek/board.yml +++ b/boards/atmel/sam/sam4l_ek/board.yml @@ -1,5 +1,6 @@ board: name: sam4l_ek + full_name: SAM4L-EK vendor: atmel socs: - name: sam4lc4c diff --git a/boards/atmel/sam/sam4s_xplained/board.yml b/boards/atmel/sam/sam4s_xplained/board.yml index c406301245b..0bbbe3a0590 100644 --- a/boards/atmel/sam/sam4s_xplained/board.yml +++ b/boards/atmel/sam/sam4s_xplained/board.yml @@ -1,5 +1,6 @@ board: name: sam4s_xplained + full_name: SAM4S Xplained vendor: atmel socs: - name: sam4s16c diff --git a/boards/atmel/sam/sam_e70_xplained/board.yml b/boards/atmel/sam/sam_e70_xplained/board.yml index 1308363814a..905bcdf1887 100644 --- a/boards/atmel/sam/sam_e70_xplained/board.yml +++ b/boards/atmel/sam/sam_e70_xplained/board.yml @@ -1,5 +1,6 @@ board: name: sam_e70_xplained + full_name: SAM E70(B) Xplained vendor: atmel socs: - name: same70q21 diff --git a/boards/atmel/sam/sam_v71_xult/board.yml b/boards/atmel/sam/sam_v71_xult/board.yml index 68996e06485..2cf3c436ecb 100644 --- a/boards/atmel/sam/sam_v71_xult/board.yml +++ b/boards/atmel/sam/sam_v71_xult/board.yml @@ -1,5 +1,6 @@ board: name: sam_v71_xult + full_name: SAM V71(B) Xplained Ultra vendor: atmel socs: - name: samv71q21 diff --git a/boards/atmel/sam0/samc21n_xpro/board.yml b/boards/atmel/sam0/samc21n_xpro/board.yml index 2037cde2398..72ab82fecd8 100644 --- a/boards/atmel/sam0/samc21n_xpro/board.yml +++ b/boards/atmel/sam0/samc21n_xpro/board.yml @@ -1,5 +1,6 @@ board: name: samc21n_xpro + full_name: SAM C21N Xplained Pro Evaluation Kit vendor: atmel socs: - name: samc21n18a diff --git a/boards/atmel/sam0/samd20_xpro/board.yml b/boards/atmel/sam0/samd20_xpro/board.yml index c6c44e37830..b9b4f5f91c1 100644 --- a/boards/atmel/sam0/samd20_xpro/board.yml +++ b/boards/atmel/sam0/samd20_xpro/board.yml @@ -1,5 +1,6 @@ board: name: samd20_xpro + full_name: SAM D20 Xplained Pro Evaluation Kit vendor: atmel socs: - name: samd20j18 diff --git a/boards/atmel/sam0/samd21_xpro/board.yml b/boards/atmel/sam0/samd21_xpro/board.yml index d4fd578dd35..80a77b66591 100644 --- a/boards/atmel/sam0/samd21_xpro/board.yml +++ b/boards/atmel/sam0/samd21_xpro/board.yml @@ -1,5 +1,6 @@ board: name: samd21_xpro + full_name: SAM D21 Xplained Pro Evaluation Kit vendor: atmel socs: - name: samd21j18a diff --git a/boards/atmel/sam0/same54_xpro/board.yml b/boards/atmel/sam0/same54_xpro/board.yml index d10fef7e7b7..5f9db4f9cac 100644 --- a/boards/atmel/sam0/same54_xpro/board.yml +++ b/boards/atmel/sam0/same54_xpro/board.yml @@ -1,5 +1,6 @@ board: name: same54_xpro + full_name: SAM E54 Xplained Pro Evaluation Kit vendor: atmel socs: - name: same54p20a diff --git a/boards/atmel/sam0/saml21_xpro/board.yml b/boards/atmel/sam0/saml21_xpro/board.yml index 10e2284d58b..84e7735c208 100644 --- a/boards/atmel/sam0/saml21_xpro/board.yml +++ b/boards/atmel/sam0/saml21_xpro/board.yml @@ -1,5 +1,6 @@ board: name: saml21_xpro + full_name: SAM L21 Xplained Pro Evaluation Kit vendor: atmel socs: - name: saml21j18b diff --git a/boards/atmel/sam0/samr21_xpro/board.yml b/boards/atmel/sam0/samr21_xpro/board.yml index c56b60ffc6f..c84a465484a 100644 --- a/boards/atmel/sam0/samr21_xpro/board.yml +++ b/boards/atmel/sam0/samr21_xpro/board.yml @@ -1,5 +1,6 @@ board: name: samr21_xpro + full_name: SAM R21 Xplained Pro Evaluation Kit vendor: atmel socs: - name: samr21g18a diff --git a/boards/atmel/sam0/samr34_xpro/board.yml b/boards/atmel/sam0/samr34_xpro/board.yml index 39df0e0451b..22e7d8ba93a 100644 --- a/boards/atmel/sam0/samr34_xpro/board.yml +++ b/boards/atmel/sam0/samr34_xpro/board.yml @@ -1,5 +1,6 @@ board: name: samr34_xpro + full_name: SAM R34 Xplained Pro Evaluation Kit vendor: atmel socs: - name: samr34j18b diff --git a/boards/bbc/microbit/board.yml b/boards/bbc/microbit/board.yml index 3983adf061e..228452b8afc 100644 --- a/boards/bbc/microbit/board.yml +++ b/boards/bbc/microbit/board.yml @@ -1,5 +1,6 @@ board: name: bbc_microbit + full_name: "micro:bit" vendor: bbc socs: - name: nrf51822 diff --git a/boards/bbc/microbit_v2/board.yml b/boards/bbc/microbit_v2/board.yml index 1355002a7d1..11ceee12980 100644 --- a/boards/bbc/microbit_v2/board.yml +++ b/boards/bbc/microbit_v2/board.yml @@ -1,5 +1,6 @@ board: name: bbc_microbit_v2 + full_name: "micro:bit V2" vendor: bbc socs: - name: nrf52833 diff --git a/boards/bcdevices/plt_demo_v2/board.yml b/boards/bcdevices/plt_demo_v2/board.yml index 2d0c58bf628..f95af32a2ac 100644 --- a/boards/bcdevices/plt_demo_v2/board.yml +++ b/boards/bcdevices/plt_demo_v2/board.yml @@ -1,5 +1,6 @@ board: name: blueclover_plt_demo_v2 + full_name: Blue Clover PLT Demo V2 nRF52832 vendor: bcdevices socs: - name: nrf52832 diff --git a/boards/beagle/beagleconnect_freedom/board.yml b/boards/beagle/beagleconnect_freedom/board.yml index a0d11fb2410..b7ce3ced0a0 100644 --- a/boards/beagle/beagleconnect_freedom/board.yml +++ b/boards/beagle/beagleconnect_freedom/board.yml @@ -1,5 +1,6 @@ board: name: beagleconnect_freedom + full_name: BeagleConnect Freedom vendor: beagle socs: - name: cc1352p7 diff --git a/boards/beagle/beagleplay/CMakeLists.txt b/boards/beagle/beagleplay/CMakeLists.txt new file mode 100644 index 00000000000..b772e653618 --- /dev/null +++ b/boards/beagle/beagleplay/CMakeLists.txt @@ -0,0 +1,8 @@ +# SPDX-License-Identifier: Apache-2.0 + +zephyr_library() + +if(CONFIG_SOC_CC1352P7) + zephyr_library_sources(../beagleconnect_freedom/board_antenna.c) + zephyr_library_compile_definitions("DeviceFamily_CC13X2X7") +endif() diff --git a/boards/beagle/beagleplay/Kconfig b/boards/beagle/beagleplay/Kconfig new file mode 100644 index 00000000000..373566d6f26 --- /dev/null +++ b/boards/beagle/beagleplay/Kconfig @@ -0,0 +1,18 @@ +# BeaglePlay CC1352 board configuration + +# Copyright (c) 2020 Erik Larson +# Copyright (c) 2021-2022 Jason Kridner, BeagleBoard.org Foundation +# Copyright (c) 2024 Ayush Singh +# SPDX-License-Identifier: Apache-2.0 + +if BOARD_BEAGLEPLAY_CC1352P7 + +config BOARD_ANTENNA_INIT_PRIO + int "Board antenna switch initialization priority" + default 70 + help + Set the priority for board init, must be greater than + KERNEL_INIT_PRIORITY_DEVICE but smaller than + IEEE802154_CC13XX_CC26XX_SUB_GHZ_INIT_PRIO. + +endif # BOARD_BEAGLEPLAY_CC1352 diff --git a/boards/beagle/beagleplay/Kconfig.beagleplay b/boards/beagle/beagleplay/Kconfig.beagleplay new file mode 100644 index 00000000000..e0f220288d5 --- /dev/null +++ b/boards/beagle/beagleplay/Kconfig.beagleplay @@ -0,0 +1,11 @@ +# BeaglePlay board configuration + +# Copyright (c) 2020 Erik Larson +# Copyright (c) 2021-2022 Jason Kridner, BeagleBoard.org Foundation +# Copyright (c) 2024 Ayush Singh, BeagleBoard.org Foundation +# SPDX-License-Identifier: Apache-2.0 + +config BOARD_BEAGLEPLAY + select SOC_CC1352P7 if BOARD_BEAGLEPLAY_CC1352P7 + help + BeagleBoard.org BeaglePlay CC1352P7 diff --git a/boards/beagle/beagleplay/beagleplay-cc1352p7-pinctrl.dtsi b/boards/beagle/beagleplay/beagleplay-cc1352p7-pinctrl.dtsi new file mode 100644 index 00000000000..9f6b33da2ff --- /dev/null +++ b/boards/beagle/beagleplay/beagleplay-cc1352p7-pinctrl.dtsi @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2022 Vaishnav Achath + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include + +&pinctrl { + /* UART0 */ + uart0_tx_default: uart0_tx_default { + pinmux = <13 IOC_PORT_MCU_UART0_TX>; + bias-disable; + }; + uart0_rx_default: uart0_rx_default { + pinmux = <12 IOC_PORT_MCU_UART0_RX>; + bias-disable; + input-enable; + }; + + /* Antenna pinmux states */ + board_ant_tx_pa_off: board_ant_tx_pa_off { + pinmux = <29 IOC_PORT_GPIO>; + bias-disable; + }; + board_ant_tx_pa_on: board_ant_tx_pa_on { + pinmux = <29 IOC_PORT_RFC_GPO3>; + bias-disable; + }; + board_ant_subg_off: board_ant_subg_off { + pinmux = <30 IOC_PORT_GPIO>; + bias-disable; + }; + board_ant_subg_on: board_ant_subg_on { + pinmux = <30 IOC_PORT_RFC_GPO0>; + bias-disable; + }; +}; diff --git a/boards/beagle/beagleplay/beagleplay_cc1352p7.dts b/boards/beagle/beagleplay/beagleplay_cc1352p7.dts new file mode 100644 index 00000000000..858ca21d162 --- /dev/null +++ b/boards/beagle/beagleplay/beagleplay_cc1352p7.dts @@ -0,0 +1,95 @@ +/* + * Copyright (c) 2022 Jason Kridner, BeagleBoard.org Foundation + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/dts-v1/; + +#include +#include "beagleplay-cc1352p7-pinctrl.dtsi" + +/ { + model = "beagleplay"; + compatible = "beagle,beagleplay-cc1352p7"; + + aliases { + led0 = &led0; + led1 = &led1; + }; + + chosen { + zephyr,sram = &sram0; + zephyr,console = &uart0; + zephyr,shell-uart = &uart0; + zephyr,flash = &flash0; + zephyr,ieee802154 = &ieee802154g; + }; + + leds: leds { + compatible = "gpio-leds"; + led0: led_0 { + gpios = <&gpio0 27 GPIO_ACTIVE_HIGH>; + label = "LED1"; + }; + + led1: led_1 { + gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>; + label = "LED2"; + }; + }; + + /** + * The BeaglePlay cc1352 has an on-board antenna switch (SKY13317-373LF) used to + * select the appropriate RF signal port based on the currently-used PHY. + * + * Truth table: + * + * Path DIO29 DIO30 + * =========== ===== ===== + * Off 0 0 + * Sub-1 GHz 0 1 // DIO30 mux to IOC_PORT_RFC_GPO0 for auto + * 20 dBm TX 1 0 // DIO29 mux to IOC_PORT_RFC_GPO3 for auto + */ + antenna_mux0: antenna_mux0 { + compatible = "skyworks,sky13317"; + status = "okay"; + gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>, <&gpio0 30 GPIO_ACTIVE_HIGH>; + pinctrl-0 = <&board_ant_tx_pa_off &board_ant_subg_off>; + pinctrl-1 = <&board_ant_tx_pa_off &board_ant_subg_on>; + pinctrl-2 = <&board_ant_tx_pa_on &board_ant_subg_on>; + pinctrl-names = "default", "ant_subg", "ant_subg_pa"; + }; +}; + +&cpu0 { + clock-frequency = <48000000>; + cpu-power-states = <&idle &standby>; +}; + +&trng { + status = "okay"; +}; + +&gpio0 { + status = "okay"; +}; + +&uart0 { + status = "okay"; + current-speed = <115200>; + pinctrl-0 = <&uart0_rx_default &uart0_tx_default>; + pinctrl-names = "default"; +}; + +&rtc { + status = "okay"; +}; + +&ieee802154 { + status = "okay"; +}; + +&ieee802154g { + status = "okay"; +}; diff --git a/boards/beagle/beagleplay/beagleplay_cc1352p7.yaml b/boards/beagle/beagleplay/beagleplay_cc1352p7.yaml new file mode 100644 index 00000000000..816b755471f --- /dev/null +++ b/boards/beagle/beagleplay/beagleplay_cc1352p7.yaml @@ -0,0 +1,15 @@ +identifier: beagleplay/cc1352p7 +name: BeaglePlay CC1352P7 +type: mcu +arch: arm +ram: 144 +flash: 704 +toolchain: + - zephyr + - gnuarmemb + - xtools +supported: + - gpio + - uart + - hwinfo +vendor: beagle diff --git a/boards/beagle/beagleplay/beagleplay_cc1352p7_defconfig b/boards/beagle/beagleplay/beagleplay_cc1352p7_defconfig new file mode 100644 index 00000000000..b56ce4d3e8d --- /dev/null +++ b/boards/beagle/beagleplay/beagleplay_cc1352p7_defconfig @@ -0,0 +1,20 @@ +# +# Copyright (c) 2022 Jason Kridner, BeagleBoard.org Foundation +# +# SPDX-License-Identifier: Apache-2.0 +# + +CONFIG_GPIO=y + +CONFIG_BUILD_OUTPUT_HEX=y +# Custom callback for the antenna switch configuration +CONFIG_CC13X2_CC26X2_HAS_CUSTOM_RF_HWATTRS=y +CONFIG_CC13X2_CC26X2_BOOTLOADER_ENABLE=y +CONFIG_CC13X2_CC26X2_BOOTLOADER_BACKDOOR_ENABLE=y +CONFIG_CC13X2_CC26X2_BOOTLOADER_BACKDOOR_PIN=15 + +CONFIG_ARM_MPU=y +CONFIG_HW_STACK_PROTECTION=y + +# Adjust for oscillator capacitors +CONFIG_CC13X2_CC26X2_XOSC_CAPARRAY_DELTA=0x02 diff --git a/boards/beagle/beagleplay/board.cmake b/boards/beagle/beagleplay/board.cmake new file mode 100644 index 00000000000..61ee3cc2358 --- /dev/null +++ b/boards/beagle/beagleplay/board.cmake @@ -0,0 +1,15 @@ +# Copyright (c) 2020 Erik Larson +# Copyright (c) 2023 Jason Kridner, BeagleBoard.org Foundation +# Copyright (c) 2024 Ayush Singh, BeagleBoard.org Foundation +# +# SPDX-License-Identifier: Apache-2.0 + +# Download cc1352-flasher (https://pypi.org/project/cc1352-flasher/) using the following command: +# pip3 install cc1352-flasher +# Be sure to disable the bcfserial driver because it will capture /dev/ttyS4 + +if(CONFIG_SOC_CC1352P7) + find_program(CC1352_FLASHER NAMES cc1352_flasher) + board_set_flasher_ifnset(misc-flasher) + board_finalize_runner_args(misc-flasher ${CC1352_FLASHER} --play) +endif() diff --git a/boards/beagle/beagleplay/board.yml b/boards/beagle/beagleplay/board.yml new file mode 100644 index 00000000000..bd63c308242 --- /dev/null +++ b/boards/beagle/beagleplay/board.yml @@ -0,0 +1,6 @@ +board: + name: beagleplay + full_name: BeaglePlay (CC1352) + vendor: beagle + socs: + - name: cc1352p7 diff --git a/boards/beagle/beagleplay/doc/beagleplay_cc1352p7.rst b/boards/beagle/beagleplay/doc/beagleplay_cc1352p7.rst new file mode 100644 index 00000000000..fc36f0ce430 --- /dev/null +++ b/boards/beagle/beagleplay/doc/beagleplay_cc1352p7.rst @@ -0,0 +1,194 @@ +.. _beagleplay_cc1352p7: + +BeaglePlay (CC1352) +################### + +Overview +******** + +BeagleBoard.org BeaglePlay is an open hardware single board computer based on a TI Sitara AM6254 +quad-core ARM Cortex-A53 SoC with an external TI SimpleLink multi-standard CC1352P7 wireless MCU +providing long-range, low-power connectivity. + + +.. figure:: img/beagle_play.webp + :align: center + :width: 500px + :alt: BeagleBoard.org BeaglePlay + + BeagleBoard.org BeaglePlay + +Hardware +******** + +* Processors + + * TI Sitara AM6252 SoC + + * 4x ARM Cortex-A53 + * ARM Cortex-R5 + * ARM Cortex-M4 + * Dual-core 32-bit RISC Programmble Real-Time Unit (PRU) + + * TI SimpleLink CC1352P7 Wireless MCU + + * ARM Cortex-M4F programmable MCU + * ARM Cortex-M0+ software-defined radio processor + +* Memory + + * 2GB DDR4 + * 16GB eMMC flash + * I2C EEPROM + +* Wired connectivity + + * Gigabit Ethernet (RJ45) + * Single-pair Ethernet with 5V/250mA PoDL output (RJ11) + * HDMI + * USB Type-A (host) + * USB Type-C (client/power) + +* Wireless connectivity + + * TI WL1807 2.4GHz/5GHz WiFi + * BLE/SubG via CC1352P7 + +* Expansion + + * mikroBUS + * Grove + * QWIIC + +BeaglePlay ARM Cortex-A53 CPUs typically run Linux, while the CC1352P7 Cortex-M4 typically runs Zephyr. + + +Supported Features +================== + +The ``beagleplay/cc1352p7`` board target supports the following hardware features: + ++-----------+------------+----------------------+ +| Interface | Controller | Driver/Component | ++===========+============+======================+ +| GPIO | on-chip | gpio | ++-----------+------------+----------------------+ +| MPU | on-chip | arch/arm | ++-----------+------------+----------------------+ +| NVIC | on-chip | arch/arm | ++-----------+------------+----------------------+ +| PINMUX | on-chip | pinmux | ++-----------+------------+----------------------+ +| UART | on-chip | serial | ++-----------+------------+----------------------+ +| RADIO | on-chip | ieee802154 | ++-----------+------------+----------------------+ + +Connections and IOs +=================== + +CC1352 reset is connected to AM62 GPIO0_14. + ++-------+--------------+-------------------------------------+ +| Pin | Function | Usage | ++=======+==============+=====================================+ +| DIO5 | N/C | | ++-------+--------------+-------------------------------------+ +| DIO6 | N/C | | ++-------+--------------+-------------------------------------+ +| DIO7 | N/C | | ++-------+--------------+-------------------------------------+ +| DIO8 | N/C | | ++-------+--------------+-------------------------------------+ +| DIO9 | N/C | | ++-------+--------------+-------------------------------------+ +| DIO10 | N/C | | ++-------+--------------+-------------------------------------+ +| DIO11 | N/C | | ++-------+--------------+-------------------------------------+ +| DIO12 | CC1352_RX | AM62 UART6_TXD | ++-------+--------------+-------------------------------------+ +| DIO13 | CC1352_TX | AM62 UART6_RXD | ++-------+--------------+-------------------------------------+ +| DIO14 | N/C | | ++-------+--------------+-------------------------------------+ +| DIO15 | CC1352_BOOT | AM62 GPIO0_13 | ++-------+--------------+-------------------------------------+ +| DIO16 | CC1352_TDO | TAG-CONNECT TDO | ++-------+--------------+-------------------------------------+ +| DIO17 | CC1352_TDI | TAG-CONNECT TDI | ++-------+--------------+-------------------------------------+ +| DIO18 | N/C | | ++-------+--------------+-------------------------------------+ +| DIO19 | N/C | | ++-------+--------------+-------------------------------------+ +| DIO20 | N/C | | ++-------+--------------+-------------------------------------+ +| DIO21 | N/C | | ++-------+--------------+-------------------------------------+ +| DIO22 | N/C | | ++-------+--------------+-------------------------------------+ +| DIO23 | N/C | | ++-------+--------------+-------------------------------------+ +| DIO24 | N/C | | ++-------+--------------+-------------------------------------+ +| DIO25 | N/C | | ++-------+--------------+-------------------------------------+ +| DIO26 | N/C | | ++-------+--------------+-------------------------------------+ +| DIO27 | LED1 | CC1352_LED1 yellow LED9 | ++-------+--------------+-------------------------------------+ +| DIO28 | LED2 | CC1352_LED2 yellow LED8 | ++-------+--------------+-------------------------------------+ +| DIO29 | RF_PA | SubG/PA Antenna mux PA enable | ++-------+--------------+-------------------------------------+ +| DIO30 | RF_SUB1G | SubG/PA Antenna mux SubG enable | ++-------+--------------+-------------------------------------+ + +Programming and Debugging +************************* + +Flashing +======== + +To flash, disable the existing driver that ties up the serial port and use +the customized BSL Python script. + +1. Ensure the bcfserial or gb-beagleplay driver isn’t blocking the serial port. This can be done by + loading :file: ``/overlays/k3-am625-beagleplay-bcfserial-no-firmware.dtbo`` or selecting uboot + entry which disables bcfserial/gb-beagleplay. + +2. Now reboot the board. + + .. code-block:: console + + sudo shutdown -r now + +3. Install CC1352-flasher if not already installed + + .. code-block:: console + + if ! command -v cc1352_flasher &> /dev/null; then pip install cc1352-flasher; fi + + +4. Flash the CC1352P7 + + .. code-block:: console + + west flash + +Debugging +========= + +For debugging, you can use the serial port or JTAG. You can use OpenOCD +over the Tag-Connect header on the board. + +* Tagconnect JTAG + +References +********** + +.. target-notes:: + +.. _BeagleBoard.org BeaglePlay: https://beagleplay.org +.. _Tagconnect JTAG: https://docs.beagleboard.org/latest/accessories/cables.html#tagconnect-jtag diff --git a/boards/beagle/beagleplay/doc/img/beagle_play.webp b/boards/beagle/beagleplay/doc/img/beagle_play.webp new file mode 100644 index 00000000000..031cfc7e754 Binary files /dev/null and b/boards/beagle/beagleplay/doc/img/beagle_play.webp differ diff --git a/boards/beagle/beagleplay/support/openocd.cfg b/boards/beagle/beagleplay/support/openocd.cfg new file mode 100644 index 00000000000..64adba40393 --- /dev/null +++ b/boards/beagle/beagleplay/support/openocd.cfg @@ -0,0 +1,8 @@ +# SPDX-License-Identifier: Apache-2.0 + +# +# TI CC13x2 LaunchPad Evaluation Kit +# +# Since BeaglePlay CC1352 does not have a built in debugger, we use XDS110 in launchpad +# +source [find board/ti_cc13x2_launchpad.cfg] diff --git a/boards/beagle/beaglev_fire/board.yml b/boards/beagle/beaglev_fire/board.yml index 60520301134..7275bd7aafd 100644 --- a/boards/beagle/beaglev_fire/board.yml +++ b/boards/beagle/beaglev_fire/board.yml @@ -1,5 +1,6 @@ board: name: beaglev_fire + full_name: BeagleV®-Fire vendor: beagle socs: - name: polarfire diff --git a/boards/blues/swan_r5/board.yml b/boards/blues/swan_r5/board.yml index d9d4096e352..48db6d2a4e7 100644 --- a/boards/blues/swan_r5/board.yml +++ b/boards/blues/swan_r5/board.yml @@ -1,5 +1,6 @@ board: name: swan_r5 + full_name: Swan vendor: blues socs: - name: stm32l4r5xx diff --git a/boards/brcm/bcm958401m2/board.yml b/boards/brcm/bcm958401m2/board.yml index 06c116fe825..ac55cec0fe9 100644 --- a/boards/brcm/bcm958401m2/board.yml +++ b/boards/brcm/bcm958401m2/board.yml @@ -1,5 +1,6 @@ board: name: bcm958401m2 + full_name: BCM958401M2 vendor: brcm socs: - name: bcm58400 diff --git a/boards/brcm/bcm958402m2/board.yml b/boards/brcm/bcm958402m2/board.yml index e9ad1770ed5..85a0692a3f7 100644 --- a/boards/brcm/bcm958402m2/board.yml +++ b/boards/brcm/bcm958402m2/board.yml @@ -1,5 +1,6 @@ board: name: bcm958402m2 + full_name: BCM958402M2 (Cortex-M7) vendor: brcm socs: - name: bcm58402 diff --git a/boards/bytesatwork/bytesensi_l/board.yml b/boards/bytesatwork/bytesensi_l/board.yml index 04e4cd9ad11..b3c88c01c84 100644 --- a/boards/bytesatwork/bytesensi_l/board.yml +++ b/boards/bytesatwork/bytesensi_l/board.yml @@ -2,6 +2,7 @@ # SPDX-License-Identifier: Apache-2.0 board: name: bytesensi_l + full_name: byteSENSI-L vendor: bytesatwork socs: - name: nrf52832 diff --git a/boards/cdns/xt-sim/board.yml b/boards/cdns/xt-sim/board.yml index d162e416a3b..b3a0b332df0 100644 --- a/boards/cdns/xt-sim/board.yml +++ b/boards/cdns/xt-sim/board.yml @@ -1,5 +1,6 @@ board: name: xt-sim + full_name: Xtensa simulator vendor: cdns socs: - name: xtensa_sample_controller diff --git a/boards/circuitdojo/feather/board.yml b/boards/circuitdojo/feather/board.yml index 0eb6ff5c4c0..19758e27b6b 100644 --- a/boards/circuitdojo/feather/board.yml +++ b/boards/circuitdojo/feather/board.yml @@ -1,5 +1,6 @@ board: name: circuitdojo_feather + full_name: nRF9160 Feather vendor: circuitdojo socs: - name: nrf9160 diff --git a/boards/contextualelectronics/abc/board.yml b/boards/contextualelectronics/abc/board.yml index 5c921f05256..6209af4e9c4 100644 --- a/boards/contextualelectronics/abc/board.yml +++ b/boards/contextualelectronics/abc/board.yml @@ -1,5 +1,6 @@ board: name: contextualelectronics_abc + full_name: Advanced BLE Cell vendor: contextualelectronics socs: - name: nrf52840 diff --git a/boards/croxel/croxel_cx1825/board.yml b/boards/croxel/croxel_cx1825/board.yml index eed390e4a2c..8c32a6c2acd 100644 --- a/boards/croxel/croxel_cx1825/board.yml +++ b/boards/croxel/croxel_cx1825/board.yml @@ -1,5 +1,6 @@ board: name: croxel_cx1825 + full_name: CX1825 nRF52840 vendor: croxel socs: - name: nrf52840 diff --git a/boards/ct/ctcc/board.yml b/boards/ct/ctcc/board.yml index 780a02f7e7c..b6212047d79 100644 --- a/boards/ct/ctcc/board.yml +++ b/boards/ct/ctcc/board.yml @@ -1,4 +1,5 @@ board: name: ctcc + full_name: Connectivity Card nRF52840 socs: - name: nrf52840 diff --git a/boards/cypress/cy8ckit_062_ble/board.yml b/boards/cypress/cy8ckit_062_ble/board.yml index f0b1325911a..8640f1e7d98 100644 --- a/boards/cypress/cy8ckit_062_ble/board.yml +++ b/boards/cypress/cy8ckit_062_ble/board.yml @@ -1,5 +1,6 @@ board: name: cy8ckit_062_ble + full_name: PSoC63 BLE Pioneer Kit vendor: cypress revision: format: "major.minor.patch" diff --git a/boards/cypress/cy8ckit_062_wifi_bt/board.yml b/boards/cypress/cy8ckit_062_wifi_bt/board.yml index f5113e41a55..f070d6f3960 100644 --- a/boards/cypress/cy8ckit_062_wifi_bt/board.yml +++ b/boards/cypress/cy8ckit_062_wifi_bt/board.yml @@ -1,5 +1,6 @@ board: name: cy8ckit_062_wifi_bt + full_name: PSoC6 WiFi-BT Pioneer Kit vendor: cypress socs: - name: cy8c6247 diff --git a/boards/deprecated.cmake b/boards/deprecated.cmake index a96f68b12da..c2b49e34fef 100644 --- a/boards/deprecated.cmake +++ b/boards/deprecated.cmake @@ -508,9 +508,6 @@ set(nrf5340dk_nrf5340_cpuapp_ns_DEPRECATED set(nrf5340dk_nrf5340_cpunet_DEPRECATED nrf5340dk/nrf5340/cpunet ) -set(nrf54l15pdk_nrf54l15_cpuapp_DEPRECATED - nrf54l15pdk/nrf54l15/cpuapp -) set(nrf9131ek_nrf9131_DEPRECATED nrf9131ek ) diff --git a/boards/digilent/arty_a7/board.c b/boards/digilent/arty_a7/board.c index 984cd34ab43..0e087c212b4 100644 --- a/boards/digilent/arty_a7/board.c +++ b/boards/digilent/arty_a7/board.c @@ -16,7 +16,7 @@ LOG_MODULE_REGISTER(board, CONFIG_LOG_DEFAULT_LEVEL); #define DAPLINK_QSPI_MUX_NODE DT_NODELABEL(daplink_qspi_mux) -#if DT_NODE_HAS_STATUS(DAPLINK_QSPI_MUX_NODE, okay) +#if DT_NODE_HAS_STATUS_OKAY(DAPLINK_QSPI_MUX_NODE) int board_daplink_qspi_mux_select(enum board_daplink_qspi_mux_mode mode) { struct gpio_dt_spec mux = GPIO_DT_SPEC_GET(DAPLINK_QSPI_MUX_NODE, mux_gpios); @@ -77,4 +77,4 @@ static int board_init(void) } SYS_INIT(board_init, POST_KERNEL, CONFIG_BOARD_INIT_PRIORITY); -#endif /* DT_NODE_HAS_STATUS(DAPLINK_QSPI_MUX_NODE, okay) */ +#endif /* DT_NODE_HAS_STATUS_OKAY(DAPLINK_QSPI_MUX_NODE) */ diff --git a/boards/digilent/arty_a7/board.yml b/boards/digilent/arty_a7/board.yml index 14a2c9ef418..3ae72eb903b 100644 --- a/boards/digilent/arty_a7/board.yml +++ b/boards/digilent/arty_a7/board.yml @@ -1,5 +1,6 @@ board: name: arty_a7 + full_name: Arty vendor: digilent socs: - name: designstart_fpga_cortex_m1 diff --git a/boards/digilent/zybo/board.yml b/boards/digilent/zybo/board.yml index f9c9c98bea2..c8970300955 100644 --- a/boards/digilent/zybo/board.yml +++ b/boards/digilent/zybo/board.yml @@ -1,5 +1,6 @@ board: name: zybo + full_name: Zybo vendor: digilent socs: - name: xc7z010 diff --git a/boards/dptechnics/walter/board.yml b/boards/dptechnics/walter/board.yml index c416d547fb2..7d5b0e1cc85 100644 --- a/boards/dptechnics/walter/board.yml +++ b/boards/dptechnics/walter/board.yml @@ -1,5 +1,6 @@ board: name: walter + full_name: Walter vendor: dptechnics socs: - name: esp32s3 diff --git a/boards/dragino/lsn50/board.yml b/boards/dragino/lsn50/board.yml index e7c09a9c7bd..20732b34290 100644 --- a/boards/dragino/lsn50/board.yml +++ b/boards/dragino/lsn50/board.yml @@ -1,5 +1,6 @@ board: name: dragino_lsn50 + full_name: LSN50 LoRA Sensor Node vendor: dragino socs: - name: stm32l072xx diff --git a/boards/dragino/nbsn95/board.yml b/boards/dragino/nbsn95/board.yml index 66d568935ec..fd039983458 100644 --- a/boards/dragino/nbsn95/board.yml +++ b/boards/dragino/nbsn95/board.yml @@ -1,5 +1,6 @@ board: name: dragino_nbsn95 + full_name: NBSN95 NB-IoT Sensor Node vendor: dragino socs: - name: stm32l072xx diff --git a/boards/ebyte/e73_tbb/board.yml b/boards/ebyte/e73_tbb/board.yml index 3ae94fab665..bd8dc6ca8b0 100644 --- a/boards/ebyte/e73_tbb/board.yml +++ b/boards/ebyte/e73_tbb/board.yml @@ -1,5 +1,6 @@ board: name: ebyte_e73_tbb + full_name: E73-TBB vendor: ebyte socs: - name: nrf52832 diff --git a/boards/efinix/titanium_ti60_f225/board.yml b/boards/efinix/titanium_ti60_f225/board.yml index 7daa700f0b3..5dfb38b38b0 100644 --- a/boards/efinix/titanium_ti60_f225/board.yml +++ b/boards/efinix/titanium_ti60_f225/board.yml @@ -1,5 +1,6 @@ board: name: titanium_ti60_f225 + full_name: Titanium Ti60 F225 vendor: efinix socs: - name: efinix_sapphire diff --git a/boards/electronut/nrf52840_blip/board.yml b/boards/electronut/nrf52840_blip/board.yml index 3964f015c2f..874c923a092 100644 --- a/boards/electronut/nrf52840_blip/board.yml +++ b/boards/electronut/nrf52840_blip/board.yml @@ -1,5 +1,6 @@ board: name: nrf52840_blip + full_name: Labs Blip vendor: electronut socs: - name: nrf52840 diff --git a/boards/electronut/nrf52840_papyr/board.yml b/boards/electronut/nrf52840_papyr/board.yml index fcb089ad625..e24da1b0b51 100644 --- a/boards/electronut/nrf52840_papyr/board.yml +++ b/boards/electronut/nrf52840_papyr/board.yml @@ -1,5 +1,6 @@ board: name: nrf52840_papyr + full_name: Labs Papyr vendor: electronut socs: - name: nrf52840 diff --git a/boards/element14/warp7/board.yml b/boards/element14/warp7/board.yml index 99b037ded48..492d4e53898 100644 --- a/boards/element14/warp7/board.yml +++ b/boards/element14/warp7/board.yml @@ -1,5 +1,6 @@ board: name: warp7 + full_name: WaRP7 - Next Generation IoT and Wearable Development Platform vendor: element14 socs: - name: mcimx7d diff --git a/boards/enclustra/mercury_xu/board.yml b/boards/enclustra/mercury_xu/board.yml index 739a5c95857..2f88257c1ef 100644 --- a/boards/enclustra/mercury_xu/board.yml +++ b/boards/enclustra/mercury_xu/board.yml @@ -1,5 +1,6 @@ board: name: mercury_xu + full_name: MERCURY-XU vendor: enclustra socs: - name: zynqmp_rpu diff --git a/boards/ene/kb1200_evb/board.yml b/boards/ene/kb1200_evb/board.yml index d8dd4b412c7..7bff5726453 100644 --- a/boards/ene/kb1200_evb/board.yml +++ b/boards/ene/kb1200_evb/board.yml @@ -1,5 +1,6 @@ board: name: kb1200_evb + full_name: ENE KB1200_EVB vendor: ene socs: - name: kb1200 diff --git a/boards/enjoydigital/litex_vexriscv/board.yml b/boards/enjoydigital/litex_vexriscv/board.yml index 18ea360bb83..c5cd6829183 100644 --- a/boards/enjoydigital/litex_vexriscv/board.yml +++ b/boards/enjoydigital/litex_vexriscv/board.yml @@ -1,5 +1,6 @@ board: name: litex_vexriscv + full_name: LiteX VexRiscv vendor: litex socs: - name: litex_vexriscv diff --git a/boards/espressif/esp32_devkitc_wroom/board.yml b/boards/espressif/esp32_devkitc_wroom/board.yml index 42d9d88dc23..e0d766da0d1 100644 --- a/boards/espressif/esp32_devkitc_wroom/board.yml +++ b/boards/espressif/esp32_devkitc_wroom/board.yml @@ -1,5 +1,6 @@ board: name: esp32_devkitc_wroom + full_name: ESP32-DevKitC-WROOM vendor: espressif socs: - name: esp32 diff --git a/boards/espressif/esp32_devkitc_wroom/doc/index.rst b/boards/espressif/esp32_devkitc_wroom/doc/index.rst index 68955f9c17c..4107dbf6cfe 100644 --- a/boards/espressif/esp32_devkitc_wroom/doc/index.rst +++ b/boards/espressif/esp32_devkitc_wroom/doc/index.rst @@ -54,7 +54,7 @@ Asymmetric Multiprocessing (AMP) ******************************** ESP32-DevKitC-WROOM allows 2 different applications to be executed in ESP32 SoC. Due to its dual-core architecture, each core can be enabled to execute customized tasks in stand-alone mode -and/or exchanging data over OpenAMP framework. See :ref:`ipc_samples` folder as code reference. +and/or exchanging data over OpenAMP framework. See :zephyr:code-sample-category:`ipc` folder as code reference. Supported Features ================== diff --git a/boards/espressif/esp32_devkitc_wrover/board.yml b/boards/espressif/esp32_devkitc_wrover/board.yml index e0eae97f70f..2a8e2a226fd 100644 --- a/boards/espressif/esp32_devkitc_wrover/board.yml +++ b/boards/espressif/esp32_devkitc_wrover/board.yml @@ -1,5 +1,6 @@ board: name: esp32_devkitc_wrover + full_name: ESP32-DevKitC-WROVER vendor: espressif socs: - name: esp32 diff --git a/boards/espressif/esp32_devkitc_wrover/doc/index.rst b/boards/espressif/esp32_devkitc_wrover/doc/index.rst index 81c75c598ca..79bb94f6b1a 100644 --- a/boards/espressif/esp32_devkitc_wrover/doc/index.rst +++ b/boards/espressif/esp32_devkitc_wrover/doc/index.rst @@ -54,7 +54,7 @@ Asymmetric Multiprocessing (AMP) ******************************** ESP32-DevKitC-WROVER allows 2 different applications to be executed in ESP32 SoC. Due to its dual-core architecture, each core can be enabled to execute customized tasks in stand-alone mode -and/or exchanging data over OpenAMP framework. See :ref:`ipc_samples` folder as code reference. +and/or exchanging data over OpenAMP framework. See :zephyr:code-sample-category:`ipc` folder as code reference. Supported Features ================== diff --git a/boards/espressif/esp32_ethernet_kit/board.yml b/boards/espressif/esp32_ethernet_kit/board.yml index 747690f38a6..b7a96265433 100644 --- a/boards/espressif/esp32_ethernet_kit/board.yml +++ b/boards/espressif/esp32_ethernet_kit/board.yml @@ -1,5 +1,6 @@ board: name: esp32_ethernet_kit + full_name: ESP32-Ethernet-Kit vendor: espressif socs: - name: esp32 diff --git a/boards/espressif/esp32c3_devkitc/board.yml b/boards/espressif/esp32c3_devkitc/board.yml index 22db88f664c..5f122687f00 100644 --- a/boards/espressif/esp32c3_devkitc/board.yml +++ b/boards/espressif/esp32c3_devkitc/board.yml @@ -1,5 +1,6 @@ board: name: esp32c3_devkitc + full_name: ESP32-C3-DevKitC vendor: espressif socs: - name: esp32c3 diff --git a/boards/espressif/esp32c3_devkitm/board.yml b/boards/espressif/esp32c3_devkitm/board.yml index 649dce34a7d..90bd85dacc8 100644 --- a/boards/espressif/esp32c3_devkitm/board.yml +++ b/boards/espressif/esp32c3_devkitm/board.yml @@ -1,5 +1,6 @@ board: name: esp32c3_devkitm + full_name: ESP32-C3-DevKitM vendor: espressif socs: - name: esp32c3 diff --git a/boards/espressif/esp32c3_rust/board.yml b/boards/espressif/esp32c3_rust/board.yml index 36dd9b55248..b8beeef6819 100644 --- a/boards/espressif/esp32c3_rust/board.yml +++ b/boards/espressif/esp32c3_rust/board.yml @@ -3,6 +3,7 @@ board: name: esp32c3_rust + full_name: ESP32-C3-DevKit-RUST vendor: espressif socs: - name: esp32c3 diff --git a/boards/espressif/esp32c6_devkitc/board.yml b/boards/espressif/esp32c6_devkitc/board.yml index ad88f3a9315..485d35b548d 100644 --- a/boards/espressif/esp32c6_devkitc/board.yml +++ b/boards/espressif/esp32c6_devkitc/board.yml @@ -1,5 +1,6 @@ board: name: esp32c6_devkitc + full_name: ESP32-C6-DevKitC vendor: espressif socs: - name: esp32c6 diff --git a/boards/espressif/esp32s2_devkitc/board.yml b/boards/espressif/esp32s2_devkitc/board.yml index b3d62e88686..8ec0a493d8c 100644 --- a/boards/espressif/esp32s2_devkitc/board.yml +++ b/boards/espressif/esp32s2_devkitc/board.yml @@ -1,5 +1,6 @@ board: name: esp32s2_devkitc + full_name: ESP32-S2-DevKitC vendor: espressif socs: - name: esp32s2 diff --git a/boards/espressif/esp32s2_saola/board.yml b/boards/espressif/esp32s2_saola/board.yml index aafb5f3ee1e..69eacbf8a2c 100644 --- a/boards/espressif/esp32s2_saola/board.yml +++ b/boards/espressif/esp32s2_saola/board.yml @@ -1,5 +1,6 @@ board: name: esp32s2_saola + full_name: ESP32-S2-Saola vendor: espressif socs: - name: esp32s2 diff --git a/boards/espressif/esp32s3_devkitc/board.yml b/boards/espressif/esp32s3_devkitc/board.yml index a949122fd57..9d2eb9508e0 100644 --- a/boards/espressif/esp32s3_devkitc/board.yml +++ b/boards/espressif/esp32s3_devkitc/board.yml @@ -1,5 +1,6 @@ board: name: esp32s3_devkitc + full_name: ESP32-S3-DevKitC vendor: espressif socs: - name: esp32s3 diff --git a/boards/espressif/esp32s3_devkitc/doc/index.rst b/boards/espressif/esp32s3_devkitc/doc/index.rst index 984a714d0f7..cd49316dacd 100644 --- a/boards/espressif/esp32s3_devkitc/doc/index.rst +++ b/boards/espressif/esp32s3_devkitc/doc/index.rst @@ -76,7 +76,7 @@ Asymmetric Multiprocessing (AMP) ESP32S3-DevKitC allows 2 different applications to be executed in ESP32-S3 SoC. Due to its dual-core architecture, each core can be enabled to execute customized tasks in stand-alone mode -and/or exchanging data over OpenAMP framework. See :ref:`ipc_samples` folder as code reference. +and/or exchanging data over OpenAMP framework. See :zephyr:code-sample-category:`ipc` folder as code reference. For more information, check the datasheet at `ESP32-S3 Datasheet`_ or the technical reference manual at `ESP32-S3 Technical Reference Manual`_. diff --git a/boards/espressif/esp32s3_devkitm/board.yml b/boards/espressif/esp32s3_devkitm/board.yml index 2d0195fc27d..0e4abbade2e 100644 --- a/boards/espressif/esp32s3_devkitm/board.yml +++ b/boards/espressif/esp32s3_devkitm/board.yml @@ -1,5 +1,6 @@ board: name: esp32s3_devkitm + full_name: ESP32-S3-DevKitM vendor: espressif socs: - name: esp32s3 diff --git a/boards/espressif/esp32s3_devkitm/doc/index.rst b/boards/espressif/esp32s3_devkitm/doc/index.rst index b1e79766ed9..04a3997abba 100644 --- a/boards/espressif/esp32s3_devkitm/doc/index.rst +++ b/boards/espressif/esp32s3_devkitm/doc/index.rst @@ -76,7 +76,7 @@ Asymmetric Multiprocessing (AMP) ESP32S3-DevKitM allows 2 different applications to be executed in ESP32-S3 SoC. Due to its dual-core architecture, each core can be enabled to execute customized tasks in stand-alone mode -and/or exchanging data over OpenAMP framework. See :ref:`ipc_samples` folder as code reference. +and/or exchanging data over OpenAMP framework. See :zephyr:code-sample-category:`ipc` folder as code reference. For more information, check the datasheet at `ESP32-S3 Datasheet`_ or the technical reference manual at `ESP32-S3 Technical Reference Manual`_. diff --git a/boards/espressif/esp32s3_eye/board.yml b/boards/espressif/esp32s3_eye/board.yml index b16a5a1605c..9396b3c45db 100644 --- a/boards/espressif/esp32s3_eye/board.yml +++ b/boards/espressif/esp32s3_eye/board.yml @@ -1,5 +1,6 @@ board: name: esp32s3_eye + full_name: ESP32-S3-EYE vendor: espressif socs: - name: esp32s3 diff --git a/boards/espressif/esp8684_devkitm/board.yml b/boards/espressif/esp8684_devkitm/board.yml index 5173f52326d..c6e86e6f11b 100644 --- a/boards/espressif/esp8684_devkitm/board.yml +++ b/boards/espressif/esp8684_devkitm/board.yml @@ -1,5 +1,6 @@ board: name: esp8684_devkitm + full_name: ESP8684-DevKitM vendor: espressif socs: - name: esp32c2 diff --git a/boards/espressif/esp_wrover_kit/board.yml b/boards/espressif/esp_wrover_kit/board.yml index edfaae90477..feb5c6b8bb0 100644 --- a/boards/espressif/esp_wrover_kit/board.yml +++ b/boards/espressif/esp_wrover_kit/board.yml @@ -1,5 +1,6 @@ board: name: esp_wrover_kit + full_name: ESP-WROVER-KIT vendor: espressif socs: - name: esp32 diff --git a/boards/ezurio/bl5340_dvk/board.yml b/boards/ezurio/bl5340_dvk/board.yml index 69be46ffe62..db71cf9ebe0 100644 --- a/boards/ezurio/bl5340_dvk/board.yml +++ b/boards/ezurio/bl5340_dvk/board.yml @@ -1,5 +1,6 @@ board: name: bl5340_dvk + full_name: BL5340 DVK vendor: ezurio socs: - name: 'nrf5340' diff --git a/boards/ezurio/bl652_dvk/board.yml b/boards/ezurio/bl652_dvk/board.yml index b573627457f..2e8064165c0 100644 --- a/boards/ezurio/bl652_dvk/board.yml +++ b/boards/ezurio/bl652_dvk/board.yml @@ -1,5 +1,6 @@ board: name: bl652_dvk + full_name: BL652 DVK vendor: ezurio socs: - name: nrf52832 diff --git a/boards/ezurio/bl653_dvk/board.yml b/boards/ezurio/bl653_dvk/board.yml index dc42555309a..5f6dac2d9ae 100644 --- a/boards/ezurio/bl653_dvk/board.yml +++ b/boards/ezurio/bl653_dvk/board.yml @@ -1,5 +1,6 @@ board: name: bl653_dvk + full_name: BL653 DVK vendor: ezurio socs: - name: nrf52833 diff --git a/boards/ezurio/bl654_dvk/board.yml b/boards/ezurio/bl654_dvk/board.yml index fdc9035ff68..e92ddc965cf 100644 --- a/boards/ezurio/bl654_dvk/board.yml +++ b/boards/ezurio/bl654_dvk/board.yml @@ -1,5 +1,6 @@ board: name: bl654_dvk + full_name: BL654 DVK vendor: ezurio socs: - name: nrf52840 diff --git a/boards/ezurio/bl654_sensor_board/board.yml b/boards/ezurio/bl654_sensor_board/board.yml index 566c992411d..dacfa7f7276 100644 --- a/boards/ezurio/bl654_sensor_board/board.yml +++ b/boards/ezurio/bl654_sensor_board/board.yml @@ -1,5 +1,6 @@ board: name: bl654_sensor_board + full_name: BL654 Sensor Board vendor: ezurio socs: - name: nrf52840 diff --git a/boards/ezurio/bl654_usb/board.yml b/boards/ezurio/bl654_usb/board.yml index 13642fbe712..6329e4db30c 100644 --- a/boards/ezurio/bl654_usb/board.yml +++ b/boards/ezurio/bl654_usb/board.yml @@ -1,5 +1,6 @@ board: name: bl654_usb + full_name: BL654 USB (451-00004) vendor: ezurio socs: - name: nrf52840 diff --git a/boards/ezurio/bt510/board.yml b/boards/ezurio/bt510/board.yml index e4692ed4526..d95dcc4edfb 100644 --- a/boards/ezurio/bt510/board.yml +++ b/boards/ezurio/bt510/board.yml @@ -1,5 +1,6 @@ board: name: bt510 + full_name: Sentrius BT510 Sensor vendor: ezurio socs: - name: nrf52840 diff --git a/boards/ezurio/bt610/board.yml b/boards/ezurio/bt610/board.yml index 0e4f29742c5..b586cf0a5ca 100644 --- a/boards/ezurio/bt610/board.yml +++ b/boards/ezurio/bt610/board.yml @@ -1,5 +1,6 @@ board: name: bt610 + full_name: Sentrius BT610 Sensor vendor: ezurio socs: - name: nrf52840 diff --git a/boards/ezurio/mg100/board.yml b/boards/ezurio/mg100/board.yml index 4c62320fc5e..5a44c139a68 100644 --- a/boards/ezurio/mg100/board.yml +++ b/boards/ezurio/mg100/board.yml @@ -1,5 +1,6 @@ board: name: mg100 + full_name: Sentriusâ„¢ MG100 Gateway vendor: ezurio socs: - name: nrf52840 diff --git a/boards/ezurio/pinnacle_100_dvk/board.yml b/boards/ezurio/pinnacle_100_dvk/board.yml index 8ed639a9a0a..f2b98cd1577 100644 --- a/boards/ezurio/pinnacle_100_dvk/board.yml +++ b/boards/ezurio/pinnacle_100_dvk/board.yml @@ -1,5 +1,6 @@ board: name: pinnacle_100_dvk + full_name: Pinnacle 100 DVK vendor: ezurio socs: - name: nrf52840 diff --git a/boards/ezurio/rm1xx_dvk/board.yml b/boards/ezurio/rm1xx_dvk/board.yml index 4a8792eecc5..f293c416c2d 100644 --- a/boards/ezurio/rm1xx_dvk/board.yml +++ b/boards/ezurio/rm1xx_dvk/board.yml @@ -1,5 +1,6 @@ board: name: rm1xx_dvk + full_name: RM1xx DVK vendor: ezurio socs: - name: nrf51822 diff --git a/boards/fanke/fk7b0m1_vbt6/board.yml b/boards/fanke/fk7b0m1_vbt6/board.yml index 204e3538a93..e4ce6586425 100644 --- a/boards/fanke/fk7b0m1_vbt6/board.yml +++ b/boards/fanke/fk7b0m1_vbt6/board.yml @@ -1,5 +1,6 @@ board: name: fk7b0m1_vbt6 + full_name: FK7B0M1-VBT6 vendor: fanke socs: - name: stm32h7b0xx diff --git a/boards/firefly/roc_rk3568_pc/board.yml b/boards/firefly/roc_rk3568_pc/board.yml index 8a60a165dc4..a123b1f37cc 100644 --- a/boards/firefly/roc_rk3568_pc/board.yml +++ b/boards/firefly/roc_rk3568_pc/board.yml @@ -1,5 +1,6 @@ board: name: roc_rk3568_pc + full_name: ROC-RK3568-PC (Quad-core Cortex-A55) vendor: firefly socs: - name: rk3568 diff --git a/boards/franzininho/esp32s2_franzininho/board.yml b/boards/franzininho/esp32s2_franzininho/board.yml index 913c4d4232f..530d5dcec4e 100644 --- a/boards/franzininho/esp32s2_franzininho/board.yml +++ b/boards/franzininho/esp32s2_franzininho/board.yml @@ -1,5 +1,6 @@ board: name: esp32s2_franzininho + full_name: ESP32-S2 Franzininho vendor: espressif socs: - name: esp32s2 diff --git a/boards/gaisler/generic_leon3/board.yml b/boards/gaisler/generic_leon3/board.yml index 33c4d806add..582dd45593b 100644 --- a/boards/gaisler/generic_leon3/board.yml +++ b/boards/gaisler/generic_leon3/board.yml @@ -1,5 +1,6 @@ board: name: generic_leon3 + full_name: Generic LEON3 vendor: gaisler socs: - name: leon3 diff --git a/boards/gaisler/gr716a_mini/board.yml b/boards/gaisler/gr716a_mini/board.yml index 0de80629b40..b9155b69a92 100644 --- a/boards/gaisler/gr716a_mini/board.yml +++ b/boards/gaisler/gr716a_mini/board.yml @@ -1,5 +1,6 @@ board: name: gr716a_mini + full_name: GR716-MINI Development Board vendor: gaisler socs: - name: gr716a diff --git a/boards/gd/gd32a503v_eval/board.yml b/boards/gd/gd32a503v_eval/board.yml index 129cf4b0b50..6097143109e 100644 --- a/boards/gd/gd32a503v_eval/board.yml +++ b/boards/gd/gd32a503v_eval/board.yml @@ -1,5 +1,6 @@ board: name: gd32a503v_eval + full_name: GD32A503V-EVAL vendor: gd socs: - name: gd32a503 diff --git a/boards/gd/gd32e103v_eval/board.yml b/boards/gd/gd32e103v_eval/board.yml index 1c489697783..cc70a188967 100644 --- a/boards/gd/gd32e103v_eval/board.yml +++ b/boards/gd/gd32e103v_eval/board.yml @@ -1,5 +1,6 @@ board: name: gd32e103v_eval + full_name: GD32E103V-EVAL vendor: gd socs: - name: gd32e103 diff --git a/boards/gd/gd32e507v_start/board.yml b/boards/gd/gd32e507v_start/board.yml index b364620f61a..09e4310394c 100644 --- a/boards/gd/gd32e507v_start/board.yml +++ b/boards/gd/gd32e507v_start/board.yml @@ -1,5 +1,6 @@ board: name: gd32e507v_start + full_name: GD32E507V-START vendor: gd socs: - name: gd32e507 diff --git a/boards/gd/gd32e507z_eval/board.yml b/boards/gd/gd32e507z_eval/board.yml index 2325550db5d..2eaba014c2c 100644 --- a/boards/gd/gd32e507z_eval/board.yml +++ b/boards/gd/gd32e507z_eval/board.yml @@ -1,5 +1,6 @@ board: name: gd32e507z_eval + full_name: GD32E507Z-EVAL vendor: gd socs: - name: gd32e507 diff --git a/boards/gd/gd32f350r_eval/board.yml b/boards/gd/gd32f350r_eval/board.yml index ee486b17983..a272193e2e8 100644 --- a/boards/gd/gd32f350r_eval/board.yml +++ b/boards/gd/gd32f350r_eval/board.yml @@ -1,5 +1,6 @@ board: name: gd32f350r_eval + full_name: GD32F350R-EVAL vendor: gd socs: - name: gd32f350 diff --git a/boards/gd/gd32f403z_eval/board.yml b/boards/gd/gd32f403z_eval/board.yml index 222ba863858..3d45844a0c5 100644 --- a/boards/gd/gd32f403z_eval/board.yml +++ b/boards/gd/gd32f403z_eval/board.yml @@ -1,5 +1,6 @@ board: name: gd32f403z_eval + full_name: GD32F403Z-EVAL vendor: gd socs: - name: gd32f403 diff --git a/boards/gd/gd32f407v_start/board.yml b/boards/gd/gd32f407v_start/board.yml index c4a99ab566e..bf6d7af7c34 100644 --- a/boards/gd/gd32f407v_start/board.yml +++ b/boards/gd/gd32f407v_start/board.yml @@ -1,5 +1,6 @@ board: name: gd32f407v_start + full_name: GD32F407V-START vendor: gd socs: - name: gd32f407 diff --git a/boards/gd/gd32f450i_eval/board.yml b/boards/gd/gd32f450i_eval/board.yml index a5da3b33c36..56b3f1eebed 100644 --- a/boards/gd/gd32f450i_eval/board.yml +++ b/boards/gd/gd32f450i_eval/board.yml @@ -1,5 +1,6 @@ board: name: gd32f450i_eval + full_name: GD32F450I-EVAL vendor: gd socs: - name: gd32f450 diff --git a/boards/gd/gd32f450v_start/board.yml b/boards/gd/gd32f450v_start/board.yml index 96e00536946..02b20c36692 100644 --- a/boards/gd/gd32f450v_start/board.yml +++ b/boards/gd/gd32f450v_start/board.yml @@ -1,5 +1,6 @@ board: name: gd32f450v_start + full_name: GD32F450V-START vendor: gd socs: - name: gd32f450 diff --git a/boards/gd/gd32f450z_eval/board.yml b/boards/gd/gd32f450z_eval/board.yml index 53e30794b6a..f82107573f7 100644 --- a/boards/gd/gd32f450z_eval/board.yml +++ b/boards/gd/gd32f450z_eval/board.yml @@ -1,5 +1,6 @@ board: name: gd32f450z_eval + full_name: GD32F450Z-EVAL vendor: gd socs: - name: gd32f450 diff --git a/boards/gd/gd32f470i_eval/board.yml b/boards/gd/gd32f470i_eval/board.yml index a4205dc69d2..c6cc2501b15 100644 --- a/boards/gd/gd32f470i_eval/board.yml +++ b/boards/gd/gd32f470i_eval/board.yml @@ -1,5 +1,6 @@ board: name: gd32f470i_eval + full_name: GD32F470I-EVAL vendor: gd socs: - name: gd32f470 diff --git a/boards/gd/gd32l233r_eval/board.yml b/boards/gd/gd32l233r_eval/board.yml index 847def4fe2c..5b731d9bcff 100644 --- a/boards/gd/gd32l233r_eval/board.yml +++ b/boards/gd/gd32l233r_eval/board.yml @@ -1,5 +1,6 @@ board: name: gd32l233r_eval + full_name: GD32L233R-EVA vendor: gd socs: - name: gd32l233 diff --git a/boards/gd/gd32vf103c_starter/board.yml b/boards/gd/gd32vf103c_starter/board.yml index e91c7178af8..d46555ad96f 100644 --- a/boards/gd/gd32vf103c_starter/board.yml +++ b/boards/gd/gd32vf103c_starter/board.yml @@ -1,5 +1,6 @@ board: name: gd32vf103c_starter + full_name: GD32VF103C-STARTER vendor: gd socs: - name: gd32vf103 diff --git a/boards/gd/gd32vf103v_eval/board.yml b/boards/gd/gd32vf103v_eval/board.yml index 3d12d916d38..58c34ef2232 100644 --- a/boards/gd/gd32vf103v_eval/board.yml +++ b/boards/gd/gd32vf103v_eval/board.yml @@ -1,5 +1,6 @@ board: name: gd32vf103v_eval + full_name: GD32VF103V-EVAL vendor: gd socs: - name: gd32vf103 diff --git a/boards/google/dragonclaw/board.yml b/boards/google/dragonclaw/board.yml index 18e233f99b6..be55d603e76 100644 --- a/boards/google/dragonclaw/board.yml +++ b/boards/google/dragonclaw/board.yml @@ -1,5 +1,6 @@ board: name: google_dragonclaw + full_name: Dragonclaw Development Board vendor: google socs: - name: stm32f412cx diff --git a/boards/google/twinkie_v2/board.yml b/boards/google/twinkie_v2/board.yml index b77d79328f7..f7129ebec4f 100644 --- a/boards/google/twinkie_v2/board.yml +++ b/boards/google/twinkie_v2/board.yml @@ -1,5 +1,6 @@ board: name: google_twinkie_v2 + full_name: Twinkie V2 vendor: google socs: - name: stm32g0b1xx diff --git a/boards/hardkernel/odroid_go/board.yml b/boards/hardkernel/odroid_go/board.yml index fad513c5ee9..390cff4aa57 100644 --- a/boards/hardkernel/odroid_go/board.yml +++ b/boards/hardkernel/odroid_go/board.yml @@ -1,5 +1,6 @@ board: name: odroid_go + full_name: ODROID-GO vendor: hardkernel socs: - name: esp32 diff --git a/boards/heltec/heltec_wifi_lora32_v2/board.yml b/boards/heltec/heltec_wifi_lora32_v2/board.yml index e87344a9766..dee24b3f3b6 100644 --- a/boards/heltec/heltec_wifi_lora32_v2/board.yml +++ b/boards/heltec/heltec_wifi_lora32_v2/board.yml @@ -1,5 +1,6 @@ board: name: heltec_wifi_lora32_v2 + full_name: WiFi LoRa 32 (V2) vendor: heltec socs: - name: esp32 diff --git a/boards/heltec/heltec_wireless_stick_lite_v3/board.yml b/boards/heltec/heltec_wireless_stick_lite_v3/board.yml index 12cb133cb4f..315b46477ed 100644 --- a/boards/heltec/heltec_wireless_stick_lite_v3/board.yml +++ b/boards/heltec/heltec_wireless_stick_lite_v3/board.yml @@ -1,5 +1,6 @@ board: name: heltec_wireless_stick_lite_v3 + full_name: Wireless Stick Lite (V3) vendor: heltec socs: - name: esp32s3 diff --git a/boards/holyiot/yj16019/board.yml b/boards/holyiot/yj16019/board.yml index e8ab16bc427..db082ff6428 100644 --- a/boards/holyiot/yj16019/board.yml +++ b/boards/holyiot/yj16019/board.yml @@ -1,5 +1,6 @@ board: name: holyiot_yj16019 + full_name: YJ-16019 vendor: holyiot socs: - name: nrf52832 diff --git a/boards/infineon/cy8ckit_062s4/board.yml b/boards/infineon/cy8ckit_062s4/board.yml index c460d9f0503..12d2f987008 100644 --- a/boards/infineon/cy8ckit_062s4/board.yml +++ b/boards/infineon/cy8ckit_062s4/board.yml @@ -1,5 +1,6 @@ board: name: cy8ckit_062s4 + full_name: PSOC 62S4 Pioneer Kit vendor: infineon socs: - name: cy8c6244lqi_s4d92 diff --git a/boards/infineon/cy8cproto_062_4343w/board.yml b/boards/infineon/cy8cproto_062_4343w/board.yml index f89df6ee65e..6d697b9b142 100644 --- a/boards/infineon/cy8cproto_062_4343w/board.yml +++ b/boards/infineon/cy8cproto_062_4343w/board.yml @@ -1,5 +1,6 @@ board: name: cy8cproto_062_4343w + full_name: CY8CPROTO-062-4343W vendor: infineon socs: - name: cy8c624abzi_s2d44 diff --git a/boards/infineon/cy8cproto_063_ble/board.yml b/boards/infineon/cy8cproto_063_ble/board.yml index 6ef5bd8e9d7..d6083a9b171 100644 --- a/boards/infineon/cy8cproto_063_ble/board.yml +++ b/boards/infineon/cy8cproto_063_ble/board.yml @@ -1,5 +1,6 @@ board: name: cy8cproto_063_ble + full_name: CY8CPROTO-063-BLE vendor: infineon socs: - name: cyble_416045_02 diff --git a/boards/infineon/cyw920829m2evk_02/board.yml b/boards/infineon/cyw920829m2evk_02/board.yml index e25e3922b53..c6103646441 100644 --- a/boards/infineon/cyw920829m2evk_02/board.yml +++ b/boards/infineon/cyw920829m2evk_02/board.yml @@ -1,5 +1,6 @@ board: name: cyw920829m2evk_02 + full_name: CYW920829M2EVK-02 vendor: infineon socs: - name: cyw20829b0lkml diff --git a/boards/infineon/xmc45_relax_kit/board.yml b/boards/infineon/xmc45_relax_kit/board.yml index 9622337aa30..77d1049bf4c 100644 --- a/boards/infineon/xmc45_relax_kit/board.yml +++ b/boards/infineon/xmc45_relax_kit/board.yml @@ -1,5 +1,6 @@ board: name: xmc45_relax_kit + full_name: XMC45-RELAX-KIT vendor: infineon socs: - name: xmc4500 diff --git a/boards/infineon/xmc47_relax_kit/board.yml b/boards/infineon/xmc47_relax_kit/board.yml index e0077321e3a..4a081064beb 100644 --- a/boards/infineon/xmc47_relax_kit/board.yml +++ b/boards/infineon/xmc47_relax_kit/board.yml @@ -1,5 +1,6 @@ board: name: xmc47_relax_kit + full_name: XMC47-RELAX-KIT vendor: infineon socs: - name: xmc4700 diff --git a/boards/innblue/innblue21/board.yml b/boards/innblue/innblue21/board.yml index 8d62be56790..e8250dccf0c 100644 --- a/boards/innblue/innblue21/board.yml +++ b/boards/innblue/innblue21/board.yml @@ -1,5 +1,6 @@ board: name: innblue21 + full_name: nRF9160 INNBLUE21 vendor: innblue socs: - name: nrf9160 diff --git a/boards/innblue/innblue22/board.yml b/boards/innblue/innblue22/board.yml index eeb4f946ffb..2b7f6691aba 100644 --- a/boards/innblue/innblue22/board.yml +++ b/boards/innblue/innblue22/board.yml @@ -1,5 +1,6 @@ board: name: innblue22 + full_name: nRF9160 INNBLUE22 vendor: innblue socs: - name: nrf9160 diff --git a/boards/intel/adl/board.yml b/boards/intel/adl/board.yml index fe51b63f813..29b9272757c 100644 --- a/boards/intel/adl/board.yml +++ b/boards/intel/adl/board.yml @@ -1,9 +1,11 @@ boards: - name: intel_adl_crb + full_name: Alder Lake CRB vendor: intel socs: - name: alder_lake - name: intel_adl_rvp + full_name: Alder Lake RVP vendor: intel socs: - name: alder_lake diff --git a/boards/intel/adsp/Kconfig.intel_adsp b/boards/intel/adsp/Kconfig.intel_adsp index 67c3989fe32..225a2747ad5 100644 --- a/boards/intel/adsp/Kconfig.intel_adsp +++ b/boards/intel/adsp/Kconfig.intel_adsp @@ -8,5 +8,5 @@ config BOARD_INTEL_ADSP select SOC_INTEL_ACE15_MTPM if BOARD_INTEL_ADSP_ACE15_MTPM_SIM select SOC_INTEL_ACE20_LNL if BOARD_INTEL_ADSP_ACE20_LNL select SOC_INTEL_ACE20_LNL if BOARD_INTEL_ADSP_ACE20_LNL_SIM - select SOC_INTEL_ACE30_PTL if BOARD_INTEL_ADSP_ACE30_PTL - select SOC_INTEL_ACE30_PTL if BOARD_INTEL_ADSP_ACE30_PTL_SIM + select SOC_INTEL_ACE30 if BOARD_INTEL_ADSP_ACE30_PTL + select SOC_INTEL_ACE30 if BOARD_INTEL_ADSP_ACE30_PTL_SIM diff --git a/boards/intel/adsp/board.yml b/boards/intel/adsp/board.yml index 5eadeb4fe1a..c169a14487b 100644 --- a/boards/intel/adsp/board.yml +++ b/boards/intel/adsp/board.yml @@ -1,5 +1,6 @@ boards: - name: intel_adsp + full_name: Intel ADSP vendor: intel socs: - name: cavs25 @@ -11,6 +12,8 @@ boards: - name: ace20_lnl variants: - name: 'sim' - - name: ace30_ptl + - name: ace30 variants: - - name: 'sim' + - name: 'ptl' + variants: + - name: 'sim' diff --git a/boards/intel/adsp/intel_adsp_ace30_defconfig b/boards/intel/adsp/intel_adsp_ace30_defconfig new file mode 100644 index 00000000000..913d2a8c3e3 --- /dev/null +++ b/boards/intel/adsp/intel_adsp_ace30_defconfig @@ -0,0 +1,12 @@ +# SPDX-License-Identifier: Apache-2.0 + +CONFIG_MAIN_STACK_SIZE=4096 + +CONFIG_GEN_ISR_TABLES=y +CONFIG_GEN_IRQ_VECTOR_TABLE=n + +CONFIG_BUILD_OUTPUT_BIN=n + +CONFIG_DAI_SSP_HAS_POWER_CONTROL=y + +CONFIG_DCACHE_LINE_SIZE=64 diff --git a/boards/intel/adsp/intel_adsp_ace30_ptl.yaml b/boards/intel/adsp/intel_adsp_ace30_ptl.yaml index bdfe837bd08..061ac9cd742 100644 --- a/boards/intel/adsp/intel_adsp_ace30_ptl.yaml +++ b/boards/intel/adsp/intel_adsp_ace30_ptl.yaml @@ -1,4 +1,4 @@ -identifier: intel_adsp/ace30_ptl +identifier: intel_adsp/ace30/ptl name: ACE 3.0 Panther Lake Audio DSP type: mcu arch: xtensa diff --git a/boards/intel/adsp/intel_adsp_ace30_ptl_sim.yaml b/boards/intel/adsp/intel_adsp_ace30_ptl_sim.yaml index 3bf48d4c383..42b07e49ee3 100644 --- a/boards/intel/adsp/intel_adsp_ace30_ptl_sim.yaml +++ b/boards/intel/adsp/intel_adsp_ace30_ptl_sim.yaml @@ -1,4 +1,4 @@ -identifier: intel_adsp/ace30_ptl/sim +identifier: intel_adsp/ace30/ptl/sim name: ACE 3.0 Panther Lake Audio DSP type: sim simulation: custom diff --git a/boards/intel/ehl/board.yml b/boards/intel/ehl/board.yml index 5f8d3cafa1b..05bb75ffe05 100644 --- a/boards/intel/ehl/board.yml +++ b/boards/intel/ehl/board.yml @@ -1,5 +1,6 @@ board: name: intel_ehl_crb + full_name: Elkhart Lake CRB vendor: intel socs: - name: elkhart_lake diff --git a/boards/intel/ish/board.yml b/boards/intel/ish/board.yml index ee7c4661800..3083cc961db 100644 --- a/boards/intel/ish/board.yml +++ b/boards/intel/ish/board.yml @@ -1,16 +1,19 @@ boards: - name: intel_ish_5_4_1 + full_name: Integrated Sensor Hub (ISH) 5.4.1 vendor: intel socs: - name: intel_ish_5_4_1 - name: intel_ish_5_6_0 + full_name: Integrated Sensor Hub (ISH) 5.6.0 vendor: intel socs: - name: intel_ish_5_6_0 - name: intel_ish_5_8_0 + full_name: Integrated Sensor Hub (ISH) 5.8.0 vendor: intel socs: - name: intel_ish_5_8_0 diff --git a/boards/intel/niosv_g/board.yml b/boards/intel/niosv_g/board.yml index 7f6cc30ce62..811aee73f34 100644 --- a/boards/intel/niosv_g/board.yml +++ b/boards/intel/niosv_g/board.yml @@ -1,4 +1,5 @@ board: name: niosv_g + full_name: INTEL FPGA niosv_g socs: - name: niosv_g diff --git a/boards/intel/niosv_m/board.yml b/boards/intel/niosv_m/board.yml index a77efa39ff1..cc7b9bb3bf5 100644 --- a/boards/intel/niosv_m/board.yml +++ b/boards/intel/niosv_m/board.yml @@ -1,4 +1,5 @@ board: name: niosv_m + full_name: INTEL FPGA niosv_m socs: - name: niosv_m diff --git a/boards/intel/rpl/board.yml b/boards/intel/rpl/board.yml index cc3969adced..9f35b648699 100644 --- a/boards/intel/rpl/board.yml +++ b/boards/intel/rpl/board.yml @@ -1,9 +1,11 @@ boards: - name: intel_rpl_p_crb + full_name: Raptor Lake P CRB vendor: intel socs: - name: raptor_lake - name: intel_rpl_s_crb + full_name: Raptor Lake S CRB vendor: intel socs: - name: raptor_lake diff --git a/boards/intel/socfpga/agilex5_socdk/board.yml b/boards/intel/socfpga/agilex5_socdk/board.yml index fd4f5c91d66..f8ccbf5d8c5 100644 --- a/boards/intel/socfpga/agilex5_socdk/board.yml +++ b/boards/intel/socfpga/agilex5_socdk/board.yml @@ -1,4 +1,5 @@ board: name: intel_socfpga_agilex5_socdk + full_name: Agilexâ„¢ 5 SoC FPGA Development Kit socs: - name: agilex5 diff --git a/boards/intel/socfpga/agilex_socdk/board.yml b/boards/intel/socfpga/agilex_socdk/board.yml index 1c09cba0491..80763baa41b 100644 --- a/boards/intel/socfpga/agilex_socdk/board.yml +++ b/boards/intel/socfpga/agilex_socdk/board.yml @@ -1,4 +1,5 @@ board: name: intel_socfpga_agilex_socdk + full_name: Agilex SoC Development Kit socs: - name: agilex diff --git a/boards/intel/socfpga_std/cyclonev_socdk/board.yml b/boards/intel/socfpga_std/cyclonev_socdk/board.yml index 420762dda3f..222de69429a 100644 --- a/boards/intel/socfpga_std/cyclonev_socdk/board.yml +++ b/boards/intel/socfpga_std/cyclonev_socdk/board.yml @@ -1,4 +1,5 @@ board: name: cyclonev_socdk + full_name: Cyclone® V SoC Development Kit socs: - name: cyclonev diff --git a/boards/ite/it82xx2_evb/board.yml b/boards/ite/it82xx2_evb/board.yml index f986050cad3..b36117cb4b4 100644 --- a/boards/ite/it82xx2_evb/board.yml +++ b/boards/ite/it82xx2_evb/board.yml @@ -1,5 +1,6 @@ board: name: it82xx2_evb + full_name: IT82XX2 series vendor: ite socs: - name: it82202ax diff --git a/boards/ite/it8xxx2_evb/board.yml b/boards/ite/it8xxx2_evb/board.yml index a676ec35fa8..55f12393958 100644 --- a/boards/ite/it8xxx2_evb/board.yml +++ b/boards/ite/it8xxx2_evb/board.yml @@ -1,5 +1,6 @@ board: name: it8xxx2_evb + full_name: IT8XXX2 series vendor: ite socs: - name: it81302bx diff --git a/boards/khadas/edgev/board.yml b/boards/khadas/edgev/board.yml index fc70dcf0a44..3feee76d7df 100644 --- a/boards/khadas/edgev/board.yml +++ b/boards/khadas/edgev/board.yml @@ -1,5 +1,6 @@ board: name: khadas_edgev + full_name: Edge-V vendor: khadas socs: - name: rk3399 diff --git a/boards/kincony/kincony_kc868_a32/board.yml b/boards/kincony/kincony_kc868_a32/board.yml index 99bf4fa715b..9a2144f7cd6 100644 --- a/boards/kincony/kincony_kc868_a32/board.yml +++ b/boards/kincony/kincony_kc868_a32/board.yml @@ -1,5 +1,6 @@ board: name: kincony_kc868_a32 + full_name: KC868-A32 vendor: kincony socs: - name: esp32 diff --git a/boards/lilygo/ttgo_lora32/board.yml b/boards/lilygo/ttgo_lora32/board.yml index 8cccfbbf7d2..3997b696fc9 100644 --- a/boards/lilygo/ttgo_lora32/board.yml +++ b/boards/lilygo/ttgo_lora32/board.yml @@ -1,5 +1,6 @@ board: name: ttgo_lora32 + full_name: TTGO LoRa32 vendor: lilygo socs: - name: esp32 diff --git a/boards/lilygo/ttgo_t8c3/board.yml b/boards/lilygo/ttgo_t8c3/board.yml index 8b1084a4493..e6c08739aff 100644 --- a/boards/lilygo/ttgo_t8c3/board.yml +++ b/boards/lilygo/ttgo_t8c3/board.yml @@ -1,5 +1,6 @@ board: name: ttgo_t8c3 + full_name: TTGO T8-C3 vendor: lilygo socs: - name: esp32c3 diff --git a/boards/lowrisc/opentitan_earlgrey/board.yml b/boards/lowrisc/opentitan_earlgrey/board.yml index d7e8a24879c..2659998727c 100644 --- a/boards/lowrisc/opentitan_earlgrey/board.yml +++ b/boards/lowrisc/opentitan_earlgrey/board.yml @@ -1,5 +1,6 @@ board: name: opentitan_earlgrey + full_name: OpenTitan Earl Grey vendor: lowrisc socs: - name: opentitan diff --git a/boards/luatos/esp32c3_luatos_core/board.yml b/boards/luatos/esp32c3_luatos_core/board.yml index e1a5ed42046..0269d7dc85a 100644 --- a/boards/luatos/esp32c3_luatos_core/board.yml +++ b/boards/luatos/esp32c3_luatos_core/board.yml @@ -1,5 +1,6 @@ board: name: esp32c3_luatos_core + full_name: ESP32C3_LUATOS_CORE vendor: luatos socs: - name: esp32c3 diff --git a/boards/luatos/esp32s3_luatos_core/board.yml b/boards/luatos/esp32s3_luatos_core/board.yml index cd29886c969..e806b61e906 100644 --- a/boards/luatos/esp32s3_luatos_core/board.yml +++ b/boards/luatos/esp32s3_luatos_core/board.yml @@ -1,5 +1,6 @@ board: name: esp32s3_luatos_core + full_name: ESP32S3-Luatos-Core vendor: luatos socs: - name: esp32s3 diff --git a/boards/m5stack/m5stack_atom_lite/board.yml b/boards/m5stack/m5stack_atom_lite/board.yml index d7202eda266..964abb52f7e 100644 --- a/boards/m5stack/m5stack_atom_lite/board.yml +++ b/boards/m5stack/m5stack_atom_lite/board.yml @@ -1,5 +1,6 @@ board: name: m5stack_atom_lite + full_name: ATOM Lite vendor: m5stack socs: - name: esp32 diff --git a/boards/m5stack/m5stack_atoms3/board.yml b/boards/m5stack/m5stack_atoms3/board.yml index 4126aa17d2e..c74186cdcd5 100644 --- a/boards/m5stack/m5stack_atoms3/board.yml +++ b/boards/m5stack/m5stack_atoms3/board.yml @@ -1,5 +1,6 @@ board: name: m5stack_atoms3 + full_name: AtomS3 vendor: m5stack socs: - name: esp32s3 diff --git a/boards/m5stack/m5stack_atoms3_lite/board.yml b/boards/m5stack/m5stack_atoms3_lite/board.yml index c9204d5159c..6445b3d9a4f 100644 --- a/boards/m5stack/m5stack_atoms3_lite/board.yml +++ b/boards/m5stack/m5stack_atoms3_lite/board.yml @@ -1,5 +1,6 @@ board: name: m5stack_atoms3_lite + full_name: AtomS3 Lite vendor: m5stack socs: - name: esp32s3 diff --git a/boards/m5stack/m5stack_core2/board.yml b/boards/m5stack/m5stack_core2/board.yml index 1ff253f8201..9a002aa2859 100644 --- a/boards/m5stack/m5stack_core2/board.yml +++ b/boards/m5stack/m5stack_core2/board.yml @@ -1,5 +1,6 @@ board: name: m5stack_core2 + full_name: Core2 vendor: m5stack socs: - name: esp32 diff --git a/boards/m5stack/m5stack_stamps3/board.yml b/boards/m5stack/m5stack_stamps3/board.yml index e723d91c19a..0ac071b1667 100644 --- a/boards/m5stack/m5stack_stamps3/board.yml +++ b/boards/m5stack/m5stack_stamps3/board.yml @@ -1,5 +1,6 @@ board: name: m5stack_stamps3 + full_name: StampS3 vendor: m5stack socs: - name: esp32s3 diff --git a/boards/m5stack/m5stickc_plus/board.yml b/boards/m5stack/m5stickc_plus/board.yml index 3a604266d07..20a1d324a9d 100644 --- a/boards/m5stack/m5stickc_plus/board.yml +++ b/boards/m5stack/m5stickc_plus/board.yml @@ -1,5 +1,6 @@ board: name: m5stickc_plus + full_name: M5StickC PLUS vendor: m5stack socs: - name: esp32 diff --git a/boards/m5stack/stamp_c3/board.yml b/boards/m5stack/stamp_c3/board.yml index aa24963edd6..244d9b12302 100644 --- a/boards/m5stack/stamp_c3/board.yml +++ b/boards/m5stack/stamp_c3/board.yml @@ -1,5 +1,6 @@ board: name: stamp_c3 + full_name: STAMP-C3 vendor: m5stack socs: - name: esp32c3 diff --git a/boards/madmachine/mm_feather/board.yml b/boards/madmachine/mm_feather/board.yml index 1b9ca3f2c7c..23adcce1a2f 100644 --- a/boards/madmachine/mm_feather/board.yml +++ b/boards/madmachine/mm_feather/board.yml @@ -1,5 +1,6 @@ board: name: mm_feather + full_name: SwiftIO Feather vendor: madmachine socs: - name: mimxrt1062 diff --git a/boards/madmachine/mm_swiftio/board.yml b/boards/madmachine/mm_swiftio/board.yml index 784e79c52ad..0f3f04f5526 100644 --- a/boards/madmachine/mm_swiftio/board.yml +++ b/boards/madmachine/mm_swiftio/board.yml @@ -1,5 +1,6 @@ board: name: mm_swiftio + full_name: SwiftIO vendor: madmachine socs: - name: mimxrt1052 diff --git a/boards/makerdiary/nrf52832_mdk/board.yml b/boards/makerdiary/nrf52832_mdk/board.yml index 70028809dc3..7faf1088ce7 100644 --- a/boards/makerdiary/nrf52832_mdk/board.yml +++ b/boards/makerdiary/nrf52832_mdk/board.yml @@ -1,5 +1,6 @@ board: name: nrf52832_mdk + full_name: nRF52832-mdk vendor: makerdiary socs: - name: nrf52832 diff --git a/boards/makerdiary/nrf52840_mdk/board.yml b/boards/makerdiary/nrf52840_mdk/board.yml index 09e13811fc3..dddbb5a3bb3 100644 --- a/boards/makerdiary/nrf52840_mdk/board.yml +++ b/boards/makerdiary/nrf52840_mdk/board.yml @@ -1,5 +1,6 @@ board: name: nrf52840_mdk + full_name: nRF52840-mdk vendor: makerdiary socs: - name: nrf52840 diff --git a/boards/makerdiary/nrf52840_mdk_usb_dongle/board.yml b/boards/makerdiary/nrf52840_mdk_usb_dongle/board.yml index 1c3020c52b5..4326881bc4d 100644 --- a/boards/makerdiary/nrf52840_mdk_usb_dongle/board.yml +++ b/boards/makerdiary/nrf52840_mdk_usb_dongle/board.yml @@ -1,5 +1,6 @@ board: name: nrf52840_mdk_usb_dongle + full_name: nRF52840 MDK USB Dongle vendor: makerdiary socs: - name: nrf52840 diff --git a/boards/mediatek/mt8195_adsp/board.yml b/boards/mediatek/mt8195_adsp/board.yml index 22c31deb1a0..a58b33ecf8d 100644 --- a/boards/mediatek/mt8195_adsp/board.yml +++ b/boards/mediatek/mt8195_adsp/board.yml @@ -1,5 +1,6 @@ boards: - name: mt8195_adsp + full_name: MT8195 ADSP vendor: mediatek socs: - name: mt8195_adsp diff --git a/boards/microchip/ev11l78a/board.yml b/boards/microchip/ev11l78a/board.yml index abaabec67ab..b078a725e8c 100644 --- a/boards/microchip/ev11l78a/board.yml +++ b/boards/microchip/ev11l78a/board.yml @@ -1,5 +1,6 @@ board: name: ev11l78a + full_name: UPD301C Basic Sink Application Example vendor: microchip socs: - name: samd20e16 diff --git a/boards/microchip/m2gl025_miv/board.yml b/boards/microchip/m2gl025_miv/board.yml index 84e61821f35..f3fba2a9720 100644 --- a/boards/microchip/m2gl025_miv/board.yml +++ b/boards/microchip/m2gl025_miv/board.yml @@ -1,5 +1,6 @@ board: name: m2gl025_miv + full_name: M2GL025 Mi-V vendor: microchip socs: - name: miv diff --git a/boards/microchip/mec1501modular_assy6885/board.yml b/boards/microchip/mec1501modular_assy6885/board.yml index d45ec4217f7..62f58a26666 100644 --- a/boards/microchip/mec1501modular_assy6885/board.yml +++ b/boards/microchip/mec1501modular_assy6885/board.yml @@ -1,5 +1,6 @@ board: name: mec1501modular_assy6885 + full_name: MEC1501 Modular card ASSY6885 vendor: microchip socs: - name: mec1501_hsz diff --git a/boards/microchip/mec15xxevb_assy6853/board.yml b/boards/microchip/mec15xxevb_assy6853/board.yml index ae558489438..c4cba01d0dd 100644 --- a/boards/microchip/mec15xxevb_assy6853/board.yml +++ b/boards/microchip/mec15xxevb_assy6853/board.yml @@ -1,5 +1,6 @@ board: name: mec15xxevb_assy6853 + full_name: MEC15xxEVB ASSY6853 vendor: microchip socs: - name: mec1501_hsz diff --git a/boards/microchip/mec172xevb_assy6906/board.yml b/boards/microchip/mec172xevb_assy6906/board.yml index 5f3f57b29a7..0ad61bcc1c7 100644 --- a/boards/microchip/mec172xevb_assy6906/board.yml +++ b/boards/microchip/mec172xevb_assy6906/board.yml @@ -1,5 +1,6 @@ board: name: mec172xevb_assy6906 + full_name: MEC172xEVB ASSY6906 vendor: microchip socs: - name: mec172x_nsz diff --git a/boards/microchip/mec172xmodular_assy6930/board.yml b/boards/microchip/mec172xmodular_assy6930/board.yml index 1fe04eba6e8..e7a176038af 100644 --- a/boards/microchip/mec172xmodular_assy6930/board.yml +++ b/boards/microchip/mec172xmodular_assy6930/board.yml @@ -1,5 +1,6 @@ board: name: mec172xmodular_assy6930 + full_name: MEC172x Modular Card ASSY6930 (Rev. B) vendor: microchip socs: - name: mec172x_nsz diff --git a/boards/microchip/mpfs_icicle/board.yml b/boards/microchip/mpfs_icicle/board.yml index b9799c5830e..fb03fb4c8c4 100644 --- a/boards/microchip/mpfs_icicle/board.yml +++ b/boards/microchip/mpfs_icicle/board.yml @@ -1,5 +1,6 @@ board: name: mpfs_icicle + full_name: mpfs_icicle vendor: microchip socs: - name: polarfire diff --git a/boards/mikroe/clicker_2/board.yml b/boards/mikroe/clicker_2/board.yml index 8ffead86036..11b092291cc 100644 --- a/boards/mikroe/clicker_2/board.yml +++ b/boards/mikroe/clicker_2/board.yml @@ -1,5 +1,6 @@ board: name: mikroe_clicker_2 + full_name: Clicker 2 for STM32 vendor: mikroe socs: - name: stm32f407xx diff --git a/boards/mikroe/clicker_ra4m1/board.yml b/boards/mikroe/clicker_ra4m1/board.yml index 1635cd26a5d..7d4c5beee0e 100644 --- a/boards/mikroe/clicker_ra4m1/board.yml +++ b/boards/mikroe/clicker_ra4m1/board.yml @@ -3,6 +3,7 @@ board: name: mikroe_clicker_ra4m1 + full_name: Clicker RA4M1 vendor: mikroe socs: - name: r7fa4m1ab3cfm diff --git a/boards/mikroe/mini_m4_for_stm32/board.yml b/boards/mikroe/mini_m4_for_stm32/board.yml index 60dde764fe6..84a50a3e090 100644 --- a/boards/mikroe/mini_m4_for_stm32/board.yml +++ b/boards/mikroe/mini_m4_for_stm32/board.yml @@ -1,5 +1,6 @@ board: name: mikroe_mini_m4_for_stm32 + full_name: MINI-M4 for STM32 vendor: mikroe socs: - name: stm32f415xx diff --git a/boards/mikroe/stm32_m4_clicker/board.yml b/boards/mikroe/stm32_m4_clicker/board.yml index 56a329a900f..ad387120bc5 100644 --- a/boards/mikroe/stm32_m4_clicker/board.yml +++ b/boards/mikroe/stm32_m4_clicker/board.yml @@ -3,6 +3,7 @@ board: name: mikroe_stm32_m4_clicker + full_name: STM32 M4 Clicker vendor: mikroe socs: - name: stm32f415xx diff --git a/boards/mxchip/az3166_iotdevkit/board.yml b/boards/mxchip/az3166_iotdevkit/board.yml index 4ac727ed1c2..3cf58f575eb 100644 --- a/boards/mxchip/az3166_iotdevkit/board.yml +++ b/boards/mxchip/az3166_iotdevkit/board.yml @@ -1,5 +1,6 @@ board: name: az3166_iotdevkit + full_name: AZ3166 MXChip IoT DevKit vendor: mxchip socs: - name: stm32f412rx diff --git a/boards/native/native_posix/board.yml b/boards/native/native_posix/board.yml index 0f03465c79b..07defd4185b 100644 --- a/boards/native/native_posix/board.yml +++ b/boards/native/native_posix/board.yml @@ -1,5 +1,6 @@ boards: - name: native_posix + full_name: Native POSIX execution (native_posix) vendor: zephyr socs: - name: native diff --git a/boards/native/native_sim/board.yml b/boards/native/native_sim/board.yml index 19492170138..cebff14d48a 100644 --- a/boards/native/native_sim/board.yml +++ b/boards/native/native_sim/board.yml @@ -1,5 +1,6 @@ boards: - name: native_sim + full_name: Native simulator - native_sim vendor: zephyr socs: - name: native diff --git a/boards/native/nrf_bsim/CMakeLists.txt b/boards/native/nrf_bsim/CMakeLists.txt index d55a52e1a53..244133c1bd6 100644 --- a/boards/native/nrf_bsim/CMakeLists.txt +++ b/boards/native/nrf_bsim/CMakeLists.txt @@ -24,6 +24,7 @@ zephyr_library_sources( cpu_wait.c argparse.c nsi_if.c + native_remap.c soc/nrfx_coredep.c common/bstests_entry.c common/cmsis/cmsis.c @@ -55,6 +56,7 @@ zephyr_include_directories( common common/cmsis ${NSI_DIR}/common/src/include + ${ZEPHYR_BASE}/soc/nordic/common ) zephyr_library_include_directories( diff --git a/boards/native/nrf_bsim/board.yml b/boards/native/nrf_bsim/board.yml index ba14ed8aef6..0ba40b33677 100644 --- a/boards/native/nrf_bsim/board.yml +++ b/boards/native/nrf_bsim/board.yml @@ -1,13 +1,16 @@ boards: - name: nrf52_bsim + full_name: nRF52 simulated board (BabbleSim) vendor: zephyr socs: - name: native - name: nrf5340bsim + full_name: nRF5340 simulated boards (BabbleSim) vendor: zephyr socs: - name: nrf5340 - name: nrf54l15bsim + full_name: nRF54L15 simulated boards (BabbleSim) vendor: zephyr socs: - name: nrf54l15 diff --git a/boards/native/nrf_bsim/board_irq.h b/boards/native/nrf_bsim/board_irq.h index e1a385194fb..38f359fdf62 100644 --- a/boards/native/nrf_bsim/board_irq.h +++ b/boards/native/nrf_bsim/board_irq.h @@ -18,6 +18,7 @@ void nrfbsim_WFE_model(void); void nrfbsim_SEV_model(void); #define IRQ_ZERO_LATENCY BIT(1) /* Unused in this board*/ +#define IRQ_PRIO_LOWEST UINT8_MAX #ifdef __cplusplus } diff --git a/boards/native/nrf_bsim/common/cmsis/cmsis.c b/boards/native/nrf_bsim/common/cmsis/cmsis.c index e80aea6b4ff..dac5f82e699 100644 --- a/boards/native/nrf_bsim/common/cmsis/cmsis.c +++ b/boards/native/nrf_bsim/common/cmsis/cmsis.c @@ -30,6 +30,11 @@ void NVIC_DisableIRQ(IRQn_Type IRQn) hw_irq_ctrl_disable_irq(CONFIG_NATIVE_SIMULATOR_MCU_N, IRQn); } +uint32_t NVIC_GetPendingIRQ(IRQn_Type IRQn) +{ + return hw_irq_ctrl_is_irq_pending(CONFIG_NATIVE_SIMULATOR_MCU_N, IRQn); +} + void NVIC_EnableIRQ(IRQn_Type IRQn) { hw_irq_ctrl_enable_irq(CONFIG_NATIVE_SIMULATOR_MCU_N, IRQn); diff --git a/boards/native/nrf_bsim/common/cmsis/cmsis.h b/boards/native/nrf_bsim/common/cmsis/cmsis.h index ff9030ca547..2afc6e9ae50 100644 --- a/boards/native/nrf_bsim/common/cmsis/cmsis.h +++ b/boards/native/nrf_bsim/common/cmsis/cmsis.h @@ -30,6 +30,7 @@ void __set_PRIMASK(uint32_t primask); void NVIC_SetPendingIRQ(IRQn_Type IRQn); void NVIC_ClearPendingIRQ(IRQn_Type IRQn); void NVIC_DisableIRQ(IRQn_Type IRQn); +uint32_t NVIC_GetPendingIRQ(IRQn_Type IRQn); void NVIC_EnableIRQ(IRQn_Type IRQn); void NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority); uint32_t NVIC_GetPriority(IRQn_Type IRQn); diff --git a/boards/native/nrf_bsim/doc/nrf5340bsim.rst b/boards/native/nrf_bsim/doc/nrf5340bsim.rst index 271e0db1bc1..d726c9d8e7b 100644 --- a/boards/native/nrf_bsim/doc/nrf5340bsim.rst +++ b/boards/native/nrf_bsim/doc/nrf5340bsim.rst @@ -34,6 +34,7 @@ These boards include models of some of the nRF5340 SOC peripherals: * DPPI (Distributed Programmable Peripheral Interconnect) * EGU (Event Generator Unit) * FICR (Factory Information Configuration Registers) +* GPIO & GPIOTE * IPC (Interprocessor communication) * MUTEX (Mutual exclusive peripheral) * NVMC (Non-Volatile Memory Controller / Flash) @@ -42,6 +43,7 @@ These boards include models of some of the nRF5340 SOC peripherals: * RTC (Real Time Counter) * TEMP (Temperature sensor) * TIMER +* UARTE (UART with Easy DMA) * UICR (User Information Configuration Registers) and will use the same drivers as the nrf5340dk targets for these. diff --git a/boards/native/nrf_bsim/doc/nrf54l15bsim.rst b/boards/native/nrf_bsim/doc/nrf54l15bsim.rst index 61ad06c4aa5..5d7d67f7d1a 100644 --- a/boards/native/nrf_bsim/doc/nrf54l15bsim.rst +++ b/boards/native/nrf_bsim/doc/nrf54l15bsim.rst @@ -42,6 +42,7 @@ This boards include models of some of the nRF54L15 SOC peripherals: * ECB (AES electronic codebook mode encryption) * EGU (Event Generator Unit) * FICR (Factory Information Configuration Registers) +* GPIO & GPIOTE * GRTC (Global Real-time Counter) * PPIB (PPI Bridge) * RADIO @@ -49,6 +50,7 @@ This boards include models of some of the nRF54L15 SOC peripherals: * RTC (Real Time Counter) * TEMP (Temperature sensor) * TIMER +* UARTE (UART with Easy DMA) * UICR (User Information Configuration Registers) and will use the same drivers as the nrf54l15dk targets for these. diff --git a/boards/native/nrf_bsim/native_remap.c b/boards/native/nrf_bsim/native_remap.c new file mode 100644 index 00000000000..d8b756a9576 --- /dev/null +++ b/boards/native/nrf_bsim/native_remap.c @@ -0,0 +1,12 @@ +/* + * Copyright (c) 2024 Nordic Semiconductor ASA + * + * SPDX-License-Identifier: Apache-2.0 + */ +#include +#include "NHW_misc.h" + +bool native_emb_addr_remap(void **addr) +{ + return nhw_convert_RAM_addr(addr); +} diff --git a/boards/native/nrf_bsim/nrf5340bsim_nrf5340_cpuapp.dts b/boards/native/nrf_bsim/nrf5340bsim_nrf5340_cpuapp.dts index 256b9bfb875..0273ee4d776 100644 --- a/boards/native/nrf_bsim/nrf5340bsim_nrf5340_cpuapp.dts +++ b/boards/native/nrf_bsim/nrf5340bsim_nrf5340_cpuapp.dts @@ -8,6 +8,7 @@ #include #include +#include <../boards/nordic/nrf5340dk/nrf5340_cpuapp_common-pinctrl.dtsi> / { model = "Nordic NRF5340 BSIM NRF5340 Application"; @@ -35,9 +36,6 @@ /delete-property/ i2s-0; /delete-property/ qdec-0; /delete-property/ qdec-1; - /delete-property/ gpio-0; - /delete-property/ gpio-1; - /delete-property/ gpiote-0; }; chosen { @@ -82,11 +80,8 @@ /delete-node/ regulator@37000; /delete-node/ kmu@39000; /delete-node/ vmc@81000; - /delete-node/ gpio@842500; - /delete-node/ gpio@842800; }; /delete-node/ spu@50003000; - /delete-node/ gpiote@5000d000; /delete-node/ crypto@50844000; }; @@ -112,6 +107,27 @@ }; }; + +&gpiote { + status = "okay"; +}; + +&gpio0 { + status = "okay"; +}; + +&gpio1 { + status = "okay"; +}; + +&uart0 { + status = "okay"; + current-speed = <115200>; + pinctrl-0 = <&uart0_default>; + pinctrl-1 = <&uart0_sleep>; + pinctrl-names = "default", "sleep"; +}; + /* We re-use the IPC shared buffer definition from the real HW. But note the start address of the * buffer won't be used. */ diff --git a/boards/native/nrf_bsim/nrf5340bsim_nrf5340_cpuapp.yaml b/boards/native/nrf_bsim/nrf5340bsim_nrf5340_cpuapp.yaml index 055bc9e578f..9d31586454a 100644 --- a/boards/native/nrf_bsim/nrf5340bsim_nrf5340_cpuapp.yaml +++ b/boards/native/nrf_bsim/nrf5340bsim_nrf5340_cpuapp.yaml @@ -9,7 +9,7 @@ toolchain: - zephyr testing: ignore_tags: - - gpio - modem - - uart - bsim_skip_CI +supported: + - gpio diff --git a/boards/native/nrf_bsim/nrf5340bsim_nrf5340_cpunet.dts b/boards/native/nrf_bsim/nrf5340bsim_nrf5340_cpunet.dts index d7d6a2fe75d..0f098a7dd29 100644 --- a/boards/native/nrf_bsim/nrf5340bsim_nrf5340_cpunet.dts +++ b/boards/native/nrf_bsim/nrf5340bsim_nrf5340_cpunet.dts @@ -8,6 +8,7 @@ #include #include +#include <../boards/nordic/nrf5340dk/nrf5340dk_nrf5340_cpunet-pinctrl.dtsi> / { model = "Nordic NRF5340 BSIM NRF5340 Network"; @@ -17,15 +18,13 @@ aliases { /delete-property/ sram-0; /delete-property/ sram-1; - /delete-property/ gpiote-0; /delete-property/ wdt-0; /delete-property/ i2c-0; /delete-property/ spi-0; - /delete-property/ gpio-0; - /delete-property/ gpio-1; }; chosen { + zephyr,console = &uart0; zephyr,bt-hci-ipc = &ipc0; nordic,802154-spinel-ipc = &ipc0; zephyr,ieee802154 = &ieee802154; @@ -36,14 +35,11 @@ soc { /delete-node/ memory@20000000; /delete-node/ memory@21000000; - /delete-node/ gpiote@4100a000; /delete-node/ watchdog@4100b000; /delete-node/ i2c@41013000; /delete-node/ spi@41013000; /delete-node/ acl@41080000; /delete-node/ vmc@41081000; - /delete-node/ gpio@418c0500; - /delete-node/ gpio@418c0800; }; /delete-node/ cpus; @@ -73,6 +69,26 @@ }; }; +&gpiote { + status = "okay"; +}; + +&gpio0 { + status = "okay"; +}; + +&gpio1 { + status = "okay"; +}; + +&uart0 { + status = "okay"; + current-speed = <115200>; + pinctrl-0 = <&uart0_default>; + pinctrl-1 = <&uart0_sleep>; + pinctrl-names = "default", "sleep"; +}; + /* We re-use the IPC shared buffer definition from the real HW. But note the start address of the * buffer won't be used. */ diff --git a/boards/native/nrf_bsim/nrf5340bsim_nrf5340_cpunet.yaml b/boards/native/nrf_bsim/nrf5340bsim_nrf5340_cpunet.yaml index f88fb9c6ca8..a0d6d2caa44 100644 --- a/boards/native/nrf_bsim/nrf5340bsim_nrf5340_cpunet.yaml +++ b/boards/native/nrf_bsim/nrf5340bsim_nrf5340_cpunet.yaml @@ -9,7 +9,7 @@ toolchain: - zephyr testing: ignore_tags: - - gpio - modem - - uart - bsim_skip_CI +supported: + - gpio diff --git a/boards/native/nrf_bsim/nrf54l15bsim_nrf54l15_cpuapp.dts b/boards/native/nrf_bsim/nrf54l15bsim_nrf54l15_cpuapp.dts index 43ca4460f25..13bf2e338f8 100644 --- a/boards/native/nrf_bsim/nrf54l15bsim_nrf54l15_cpuapp.dts +++ b/boards/native/nrf_bsim/nrf54l15bsim_nrf54l15_cpuapp.dts @@ -8,6 +8,7 @@ #include #include +#include <../boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l_05_10_15-pinctrl.dtsi> / { model = "Nordic NRF54L15 BSIM NRF54L15 Application"; @@ -15,12 +16,12 @@ chosen { zephyr,entropy = &rng; + zephyr,bt-c2h-uart = &uart20; zephyr,flash-controller = &rram_controller; zephyr,flash = &cpuapp_rram; }; /delete-node/ cpus; - /delete-node/ clocks; /delete-node/ sw-pwm; soc { @@ -28,37 +29,27 @@ /delete-node/ memory@2002f000; peripheral@50000000 { /delete-node/ spi@4a000; - /delete-node/ uart@4a000; /delete-node/ vpr@4c000; /delete-node/ mailbox@0; /delete-node/ interrupt-controller@f0000000; - /delete-node/ gpio@50400; /delete-node/ i2c@c6000; /delete-node/ spi@c6000; - /delete-node/ uart@c6000; /delete-node/ i2c@c7000; /delete-node/ spi@c7000; - /delete-node/ uart@c7000; /delete-node/ i2c@c8000; /delete-node/ spi@c8000; - /delete-node/ uart@c8000; /delete-node/ pwm@d2000; /delete-node/ pwm@d3000; /delete-node/ pwm@d4000; /delete-node/ adc@d5000; /delete-node/ nfct@d6000; - /delete-node/ gpio@d8200; - /delete-node/ gpiote@da000; /delete-node/ i2s@dd000; /delete-node/ qdec@e0000; /delete-node/ qdec@e1000; /delete-node/ i2c@104000; /delete-node/ spi@104000; - /delete-node/ uart@104000; /delete-node/ watchdog@108000; /delete-node/ watchdog@109000; - /delete-node/ gpio@10a000; - /delete-node/ gpiote@10c000; }; }; @@ -77,6 +68,8 @@ /* Channels 7-11 reserved for Zero Latency IRQs, 3-4 for FLPR */ child-owned-channels = <3 4 7 8 9 10 11>; status = "okay"; + /delete-property/ clocks; + /delete-property/ clock-names; }; &cpuapp_rram { @@ -91,14 +84,54 @@ }; }; +&uart00 { + /delete-property/ clocks; +}; + +&uart20 { + status = "okay"; + current-speed = <115200>; + pinctrl-0 = <&uart20_default>; + pinctrl-1 = <&uart20_sleep>; + pinctrl-names = "default", "sleep"; +}; + +&uart30 { + current-speed = <115200>; + pinctrl-0 = <&uart30_default>; + pinctrl-1 = <&uart30_sleep>; + pinctrl-names = "default", "sleep"; +}; + +&gpio0 { + status = "okay"; +}; + +&gpio1 { + status = "okay"; +}; + +&gpio2 { + status = "okay"; +}; + +&gpiote20 { + status = "okay"; +}; + +&gpiote30 { + status = "okay"; +}; + &temp { status = "okay"; }; &radio { status = "okay"; - /* This feature is not yet supported by the RADIO model */ + /* These features are not yet supported by the RADIO model */ /delete-property/ dfe-supported; + /delete-property/ cs-supported; }; &clock { diff --git a/boards/native/nrf_bsim/nrf54l15bsim_nrf54l15_cpuapp.yaml b/boards/native/nrf_bsim/nrf54l15bsim_nrf54l15_cpuapp.yaml index cbdd257334f..e09184de96d 100644 --- a/boards/native/nrf_bsim/nrf54l15bsim_nrf54l15_cpuapp.yaml +++ b/boards/native/nrf_bsim/nrf54l15bsim_nrf54l15_cpuapp.yaml @@ -9,9 +9,8 @@ toolchain: - zephyr supported: - counter + - gpio testing: ignore_tags: - - gpio - modem - - uart - bsim_skip_CI diff --git a/boards/nordic/nrf21540dk/board.yml b/boards/nordic/nrf21540dk/board.yml index 4c9cf5943fe..3c977f4489f 100644 --- a/boards/nordic/nrf21540dk/board.yml +++ b/boards/nordic/nrf21540dk/board.yml @@ -1,5 +1,6 @@ board: name: nrf21540dk + full_name: nRF21540 DK vendor: nordic socs: - name: nrf52840 diff --git a/boards/nordic/nrf51dk/board.yml b/boards/nordic/nrf51dk/board.yml index 788be3d79bc..888f9c883b5 100644 --- a/boards/nordic/nrf51dk/board.yml +++ b/boards/nordic/nrf51dk/board.yml @@ -1,5 +1,6 @@ board: name: nrf51dk + full_name: nRF51 DK vendor: nordic socs: - name: nrf51822 diff --git a/boards/nordic/nrf51dongle/board.yml b/boards/nordic/nrf51dongle/board.yml index 4c89cac7fdc..99d423528ed 100644 --- a/boards/nordic/nrf51dongle/board.yml +++ b/boards/nordic/nrf51dongle/board.yml @@ -1,5 +1,6 @@ board: name: nrf51dongle + full_name: nRF51 Dongle vendor: nordic socs: - name: nrf51822 diff --git a/boards/nordic/nrf52833dk/board.yml b/boards/nordic/nrf52833dk/board.yml index 2d6b6e5b12f..dbb8e020d51 100644 --- a/boards/nordic/nrf52833dk/board.yml +++ b/boards/nordic/nrf52833dk/board.yml @@ -1,5 +1,6 @@ board: name: nrf52833dk + full_name: nRF52833 DK vendor: nordic socs: - name: nrf52820 diff --git a/boards/nordic/nrf52840dk/board.yml b/boards/nordic/nrf52840dk/board.yml index d15e1975027..8b6bdef90e2 100644 --- a/boards/nordic/nrf52840dk/board.yml +++ b/boards/nordic/nrf52840dk/board.yml @@ -1,5 +1,6 @@ board: name: nrf52840dk + full_name: nRF52840 DK vendor: nordic socs: # Physical nRF52840 SoC on PCA10056 diff --git a/boards/nordic/nrf52840dongle/board.yml b/boards/nordic/nrf52840dongle/board.yml index a22449e5519..59eae5b3429 100644 --- a/boards/nordic/nrf52840dongle/board.yml +++ b/boards/nordic/nrf52840dongle/board.yml @@ -1,5 +1,6 @@ board: name: nrf52840dongle + full_name: nRF52840 Dongle vendor: nordic socs: - name: nrf52840 diff --git a/boards/nordic/nrf52dk/board.yml b/boards/nordic/nrf52dk/board.yml index 1f21be9c60e..bf4d819be0f 100644 --- a/boards/nordic/nrf52dk/board.yml +++ b/boards/nordic/nrf52dk/board.yml @@ -1,5 +1,6 @@ board: name: nrf52dk + full_name: nRF52 DK vendor: nordic socs: - name: nrf52805 diff --git a/boards/nordic/nrf5340_audio_dk/board.yml b/boards/nordic/nrf5340_audio_dk/board.yml index 443381b9461..4dc67d1bb6f 100644 --- a/boards/nordic/nrf5340_audio_dk/board.yml +++ b/boards/nordic/nrf5340_audio_dk/board.yml @@ -1,5 +1,6 @@ board: name: nrf5340_audio_dk + full_name: nRF5340 Audio DK vendor: nordic socs: - name: 'nrf5340' diff --git a/boards/nordic/nrf5340dk/board.yml b/boards/nordic/nrf5340dk/board.yml index fd90df34350..2454c47862b 100644 --- a/boards/nordic/nrf5340dk/board.yml +++ b/boards/nordic/nrf5340dk/board.yml @@ -1,5 +1,6 @@ board: name: nrf5340dk + full_name: nRF5340 DK vendor: nordic socs: - name: 'nrf5340' diff --git a/boards/nordic/nrf54h20dk/Kconfig.defconfig b/boards/nordic/nrf54h20dk/Kconfig.defconfig index e37975f96ad..a2be74d3648 100644 --- a/boards/nordic/nrf54h20dk/Kconfig.defconfig +++ b/boards/nordic/nrf54h20dk/Kconfig.defconfig @@ -14,3 +14,11 @@ config BT_CTLR default y if BT endif # BOARD_NRF54H20DK_NRF54H20_CPURAD + +if BOARD_NRF54H20DK_NRF54H20_CPUPPR + +# As PPR has limited memory most of tests does not fit with asserts enabled. +config ASSERT + default n if ZTEST + +endif # BOARD_NRF54H20DK_NRF54H20_CPUPPR diff --git a/boards/nordic/nrf54h20dk/Kconfig.nrf54h20dk b/boards/nordic/nrf54h20dk/Kconfig.nrf54h20dk index 9a260be4868..62ad7a0d21c 100644 --- a/boards/nordic/nrf54h20dk/Kconfig.nrf54h20dk +++ b/boards/nordic/nrf54h20dk/Kconfig.nrf54h20dk @@ -4,7 +4,7 @@ config BOARD_NRF54H20DK select SOC_NRF54H20_CPUAPP if BOARD_NRF54H20DK_NRF54H20_CPUAPP select SOC_NRF54H20_CPURAD if BOARD_NRF54H20DK_NRF54H20_CPURAD - select SOC_NRF54H20_CPUPPR if BOARD_NRF54H20DK_NRF54H20_CPUPPR || \ - BOARD_NRF54H20DK_NRF54H20_CPUPPR_XIP - select SOC_NRF54H20_CPUFLPR if BOARD_NRF54H20DK_NRF54H20_CPUFLPR || \ - BOARD_NRF54H20DK_NRF54H20_CPUFLPR_XIP + select SOC_NRF54H20_CPUPPR if (BOARD_NRF54H20DK_NRF54H20_CPUPPR || \ + BOARD_NRF54H20DK_NRF54H20_CPUPPR_XIP) + select SOC_NRF54H20_CPUFLPR if (BOARD_NRF54H20DK_NRF54H20_CPUFLPR || \ + BOARD_NRF54H20DK_NRF54H20_CPUFLPR_XIP) diff --git a/boards/nordic/nrf54h20dk/board.yml b/boards/nordic/nrf54h20dk/board.yml index 61690145d9f..2d3d40c20e0 100644 --- a/boards/nordic/nrf54h20dk/board.yml +++ b/boards/nordic/nrf54h20dk/board.yml @@ -1,5 +1,6 @@ board: name: nrf54h20dk + full_name: nRF54H20 DK vendor: nordic socs: - name: nrf54h20 @@ -8,3 +9,8 @@ board: cpucluster: cpuppr - name: xip cpucluster: cpuflpr + revision: + format: major.minor.patch + default: "0.9.0" + revisions: + - name: "0.9.0" diff --git a/boards/nordic/nrf54h20dk/doc/index.rst b/boards/nordic/nrf54h20dk/doc/index.rst index 41306357fe4..c8e95e39875 100644 --- a/boards/nordic/nrf54h20dk/doc/index.rst +++ b/boards/nordic/nrf54h20dk/doc/index.rst @@ -39,6 +39,7 @@ nRF54H20 SoC provides support for the following devices: * :abbr:`GPIO (General Purpose Input Output)` * :abbr:`GRTC (Global real-time counter)` * :abbr:`I2C (Inter-Integrated Circuit)` +* MEMCONF * MRAM * :abbr:`PWM (Pulse Width Modulation)` * RADIO (Bluetooth Low Energy and 802.15.4) @@ -70,6 +71,8 @@ hardware features: +-----------+------------+----------------------+ | I2C(M) | on-chip | i2c | +-----------+------------+----------------------+ +| MEMCONF | on-chip | retained_mem | ++-----------+------------+----------------------+ | SPI(M/S) | on-chip | spi | +-----------+------------+----------------------+ | UART | on-chip | serial | @@ -89,6 +92,8 @@ hardware features: +-----------+------------+----------------------+ | I2C(M) | on-chip | i2c | +-----------+------------+----------------------+ +| MEMCONF | on-chip | retained_mem | ++-----------+------------+----------------------+ | SPI(M/S) | on-chip | spi | +-----------+------------+----------------------+ | UART | on-chip | serial | diff --git a/boards/nordic/nrf54h20dk/nrf54h20dk_bicr.dtsi b/boards/nordic/nrf54h20dk/nrf54h20dk_bicr.dtsi new file mode 100644 index 00000000000..34652755564 --- /dev/null +++ b/boards/nordic/nrf54h20dk/nrf54h20dk_bicr.dtsi @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2024 Nordic Semiconductor ASA + * + * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause + */ + +/ { + bicr: bicr@fff87b0 { + compatible = "nordic,nrf-bicr"; + reg = <0xfff87b0 0x48>; + + power-vddao5v0 = "external"; + power-vddao1v8 = "internal"; + power-vdd1v0 = "internal"; + power-vddrf1v0 = "shorted"; + power-vddao0v8 = "internal"; + power-vddvs0v8 = "internal"; + + inductor-present; + + ioport-power-rails = <&gpio1 2>, <&gpio2 2>, <&gpio6 2>, <&gpio7 2>, <&gpio9 4>; + ioport-drivectrls = <&gpio6 50>, <&gpio7 50>; + + lfosc-mode = "crystal"; + lfosc-loadcap = <15>; + + lfrc-autocalibration = <20 40 3>; + + hfxo-mode = "crystal"; + hfxo-loadcap = <56>; + }; +}; + +&gpio1 { + #ioport-power-rail-cells = <1>; +}; + +&gpio2 { + #ioport-power-rail-cells = <1>; +}; + +&gpio6 { + #ioport-power-rail-cells = <1>; + #ioport-drivectrl-cells = <1>; +}; + +&gpio7 { + #ioport-power-rail-cells = <1>; + #ioport-drivectrl-cells = <1>; +}; + +&gpio9 { + #ioport-power-rail-cells = <1>; +}; diff --git a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20-ipc_conf.dtsi b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20-ipc_conf.dtsi index a17889fe0b0..94cda5e8ee2 100644 --- a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20-ipc_conf.dtsi +++ b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20-ipc_conf.dtsi @@ -9,6 +9,7 @@ cpusec_cpuapp_ipc: ipc-1-2 { compatible = "zephyr,ipc-icmsg"; status = "disabled"; + dcache-alignment = <32>; mboxes = <&cpusec_bellboard 12>, <&cpuapp_bellboard 0>; }; @@ -16,12 +17,14 @@ cpusec_cpurad_ipc: ipc-1-3 { compatible = "zephyr,ipc-icmsg"; status = "disabled"; + dcache-alignment = <32>; mboxes = <&cpusec_bellboard 18>, <&cpurad_bellboard 0>; }; cpuapp_cpurad_ipc: ipc-2-3 { compatible = "zephyr,ipc-icbmsg"; + dcache-alignment = <32>; status = "disabled"; mboxes = <&cpuapp_bellboard 18>, <&cpurad_bellboard 12>; @@ -30,6 +33,7 @@ cpuapp_cpusys_ipc: ipc-2-12 { compatible = "zephyr,ipc-icmsg"; status = "disabled"; + dcache-alignment = <32>; mboxes = <&cpuapp_bellboard 6>, <&cpusys_vevif 12>; }; @@ -37,6 +41,7 @@ cpuapp_cpuppr_ipc: ipc-2-13 { compatible = "zephyr,ipc-icmsg"; status = "disabled"; + dcache-alignment = <32>; mboxes = <&cpuapp_bellboard 13>, <&cpuppr_vevif 12>; }; @@ -44,6 +49,7 @@ cpuapp_cpuflpr_ipc: ipc-2-14 { compatible = "zephyr,ipc-icmsg"; status = "disabled"; + dcache-alignment = <32>; mboxes = <&cpuapp_bellboard 14>, <&cpuflpr_vevif 16>; }; @@ -51,6 +57,7 @@ cpurad_cpusys_ipc: ipc-3-12 { compatible = "zephyr,ipc-icmsg"; status = "disabled"; + dcache-alignment = <32>; mboxes = <&cpurad_bellboard 6>, <&cpusys_vevif 18>; }; diff --git a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20-memory_map.dtsi b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20-memory_map.dtsi index bf96741de22..f2937402554 100644 --- a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20-memory_map.dtsi +++ b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20-memory_map.dtsi @@ -11,9 +11,7 @@ compatible = "nordic,owned-memory"; reg = <0x2f010000 DT_SIZE_K(260)>; status = "disabled"; - perm-read; - perm-write; - perm-secure; + nordic,access = ; #address-cells = <1>; #size-cells = <1>; ranges = <0x0 0x2f010000 0x41000>; @@ -35,9 +33,7 @@ compatible = "nordic,owned-memory"; reg = <0x2f051000 DT_SIZE_K(4)>; status = "disabled"; - perm-read; - perm-write; - perm-secure; + nordic,access = ; #address-cells = <1>; #size-cells = <1>; ranges = <0x0 0x2f051000 0x1000>; @@ -55,9 +51,7 @@ compatible = "nordic,owned-memory"; reg = <0x2f0be000 DT_SIZE_K(4)>; status = "disabled"; - perm-read; - perm-write; - perm-secure; + nordic,access = ; #address-cells = <1>; #size-cells = <1>; ranges = <0x0 0x2f0be000 0x1000>; @@ -72,8 +66,8 @@ compatible = "nordic,owned-memory"; reg = <0x2f0bf000 DT_SIZE_K(4)>; status = "disabled"; - perm-read; - perm-write; + nordic,access = , + ; #address-cells = <1>; #size-cells = <1>; ranges = <0x0 0x2f0bf000 0x1000>; @@ -87,40 +81,32 @@ }; }; - shared_ram20_region: memory@2f88f000 { - reg = <0x2f88f000 DT_SIZE_K(4)>; - #address-cells = <1>; - #size-cells = <1>; - ranges = <0x0 0x2f88f000 0x1000>; - - cpuapp_cpusys_ipc_shm: memory@ce0 { - reg = <0xce0 0x80>; - }; + cpuapp_cpusys_ipc_shm: memory@2f88fce0 { + reg = <0x2f88fce0 0x80>; + }; - cpusys_cpuapp_ipc_shm: memory@d60 { - reg = <0xd60 0x80>; - }; + cpusys_cpuapp_ipc_shm: memory@2f88fd60 { + reg = <0x2f88fd60 0x80>; + }; - cpurad_cpusys_ipc_shm: memory@e00 { - reg = <0xe00 0x80>; - }; + cpurad_cpusys_ipc_shm: memory@2f88fe00 { + reg = <0x2f88fe00 0x80>; + }; - cpusys_cpurad_ipc_shm: memory@e80 { - reg = <0xe80 0x80>; - }; + cpusys_cpurad_ipc_shm: memory@2f88fe80 { + reg = <0x2f88fe80 0x80>; }; /* - * NOTE: perm-execute is not required as FLPR has a direct - * bridge with RAM21, bypassing MPC. + * NOTE: FLPR has a direct bridge with RAM21 that bypasses MPC. + * This means that when this region is marked as non-executable, + * only FLPR can execute code from it. */ ram21_region: memory@2f890000 { compatible = "nordic,owned-memory"; status = "disabled"; reg = <0x2f890000 DT_SIZE_K(64)>; - perm-read; - perm-write; - perm-secure; + nordic,access = ; #address-cells = <1>; #size-cells = <1>; ranges = <0x0 0x2f890000 0x10000>; @@ -151,9 +137,7 @@ compatible = "nordic,owned-memory"; reg = <0x2fc00000 DT_SIZE_K(64)>; status = "disabled"; - perm-read; - perm-write; - perm-execute; + nordic,access = ; #address-cells = <1>; #size-cells = <1>; ranges = <0x0 0x2fc00000 0x10000>; @@ -171,33 +155,33 @@ }; }; - shared_ram3x_region: memory@2fc12000 { + cpuapp_dma_region: memory@2fc12000 { + compatible = "nordic,owned-memory", "zephyr,memory-region"; + reg = <0x2fc12000 DT_SIZE_K(4)>; + status = "disabled"; + #memory-region-cells = <0>; + nordic,access = ; + zephyr,memory-region = "DMA_RAM3x_APP"; + zephyr,memory-attr = <( DT_MEM_DMA )>; + }; + + cpurad_dma_region: memory@2fc13000 { + compatible = "nordic,owned-memory", "zephyr,memory-region"; + reg = <0x2fc13000 DT_SIZE_K(1)>; + status = "disabled"; + #memory-region-cells = <0>; + nordic,access = ; + zephyr,memory-region = "DMA_RAM3x_RAD"; + zephyr,memory-attr = <( DT_MEM_DMA )>; + }; + + xip_region: memory@60000000 { compatible = "nordic,owned-memory"; - reg = <0x2fc12000 DT_SIZE_K(8)>; + reg = <0x60000000 0x20000000>; status = "disabled"; - perm-read; - perm-write; #address-cells = <1>; #size-cells = <1>; - ranges = <0x0 0x2fc12000 0x2000>; - - cpuapp_dma_region: memory@e80 { - compatible = "zephyr,memory-region"; - reg = <0xe80 DT_SIZE_K(4)>; - status = "disabled"; - #memory-region-cells = <0>; - zephyr,memory-region = "DMA_RAM3x_APP"; - zephyr,memory-attr = <( DT_MEM_DMA )>; - }; - - cpurad_dma_region: memory@1e80 { - compatible = "zephyr,memory-region"; - reg = <0x1e80 0x80>; - status = "disabled"; - #memory-region-cells = <0>; - zephyr,memory-region = "DMA_RAM3x_RAD"; - zephyr,memory-attr = <( DT_MEM_DMA )>; - }; + ranges = <0x0 0x60000000 0x20000000>; }; }; }; @@ -206,28 +190,24 @@ cpurad_rx_partitions: cpurad-rx-partitions { compatible = "nordic,owned-partitions", "fixed-partitions"; status = "disabled"; - perm-read; - perm-execute; - perm-secure; + nordic,access = ; #address-cells = <1>; #size-cells = <1>; - cpurad_slot0_partition: partition@66000 { - reg = <0x66000 DT_SIZE_K(256)>; + cpurad_slot0_partition: partition@54000 { + reg = <0x54000 DT_SIZE_K(256)>; }; }; cpuapp_rx_partitions: cpuapp-rx-partitions { compatible = "nordic,owned-partitions", "fixed-partitions"; status = "disabled"; - perm-read; - perm-execute; - perm-secure; + nordic,access = ; #address-cells = <1>; #size-cells = <1>; - cpuapp_slot0_partition: partition@a6000 { - reg = <0xa6000 DT_SIZE_K(248)>; + cpuapp_slot0_partition: partition@94000 { + reg = <0x94000 DT_SIZE_K(320)>; }; cpuppr_code_partition: partition@e4000 { @@ -242,9 +222,7 @@ cpuapp_rw_partitions: cpuapp-rw-partitions { compatible = "nordic,owned-partitions", "fixed-partitions"; status = "disabled"; - perm-read; - perm-write; - perm-secure; + nordic,access = ; #address-cells = <1>; #size-cells = <1>; @@ -253,7 +231,7 @@ }; storage_partition: partition@1e3000 { - reg = < 0x1e3000 DT_SIZE_K(24) >; + reg = < 0x1e3000 DT_SIZE_K(40) >; }; }; }; diff --git a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20-pinctrl.dtsi b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20-pinctrl.dtsi index 79ac2c6b7ad..f62df87dfe2 100644 --- a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20-pinctrl.dtsi +++ b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20-pinctrl.dtsi @@ -73,12 +73,37 @@ /omit-if-no-ref/ exmif_default: exmif_default { group1 { psels = , + , + , , - ; + , + , + , + , + , + , + ; nordic,drive-mode = ; }; }; + /omit-if-no-ref/ exmif_sleep: exmif_sleep { + group1 { + low-power-enable; + psels = , + , + , + , + , + , + , + , + , + , + ; + }; + }; + /omit-if-no-ref/ can120_default: can120_default { group1 { psels = , @@ -98,4 +123,19 @@ low-power-enable; }; }; + + /omit-if-no-ref/ grtc_default: grtc_default { + group1 { + psels = , + ; + }; + }; + + /omit-if-no-ref/ grtc_sleep: grtc_sleep { + group1 { + psels = , + ; + low-power-enable; + }; + }; }; diff --git a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuapp.dts b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuapp.dts index 517b6ed853c..171732d81e6 100644 --- a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuapp.dts +++ b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuapp.dts @@ -8,6 +8,7 @@ #include #include "nrf54h20dk_nrf54h20-common.dtsi" +#include "nrf54h20dk_bicr.dtsi" /delete-node/ &cpurad_cpusys_ipc; /delete-node/ &cpusec_cpurad_ipc; @@ -26,6 +27,7 @@ zephyr,bt-hci = &bt_hci_ipc0; nordic,802154-spinel-ipc = &ipc0; zephyr,canbus = &can120; + zephyr,entropy = &prng; }; aliases { @@ -106,6 +108,11 @@ pwms = <&pwm130 0 PWM_MSEC(20) PWM_POLARITY_NORMAL>; }; }; + + prng: prng { + compatible = "nordic,entropy-prng"; + status = "okay"; + }; }; &cpuapp_ram0x_region { @@ -116,14 +123,6 @@ status = "okay"; }; -&cpuapp_cpurad_ram0x_region { - status = "okay"; -}; - -&shared_ram3x_region { - status = "okay"; -}; - &ram21_region { status = "okay"; }; @@ -256,7 +255,6 @@ ipc0: &cpuapp_cpurad_ipc { pinctrl-0 = <&uart136_default>; pinctrl-1 = <&uart136_sleep>; pinctrl-names = "default", "sleep"; - hw-flow-control; }; &gpio6 { @@ -264,15 +262,15 @@ ipc0: &cpuapp_cpurad_ipc { }; &exmif { - cs-gpios = <&gpio6 3 GPIO_ACTIVE_LOW>; pinctrl-0 = <&exmif_default>; - pinctrl-names = "default"; + pinctrl-1 = <&exmif_sleep>; + pinctrl-names = "default", "sleep"; status = "okay"; + mx25uw63: mx25uw6345g@0 { - compatible = "jedec,spi-nor"; + compatible = "jedec,mspi-nor"; status = "disabled"; reg = <0>; - spi-max-frequency = ; jedec-id = [c2 84 37]; sfdp-bfp = [ e5 20 8a ff ff ff ff 03 00 ff 00 ff 00 ff 00 ff @@ -285,6 +283,15 @@ ipc0: &cpuapp_cpurad_ipc { has-dpd; t-enter-dpd = <10000>; t-exit-dpd = <30000>; + reset-gpios = <&gpio6 12 GPIO_ACTIVE_LOW>; + + mspi-max-frequency = ; + mspi-io-mode = "MSPI_IO_MODE_OCTAL"; + mspi-data-rate = "MSPI_DATA_RATE_SINGLE"; + mspi-hardware-ce-num = <1>; + mspi-cpp-mode = "MSPI_CPP_MODE_0"; + mspi-endian = "MSPI_BIG_ENDIAN"; + mspi-ce-polarity = "MSPI_CE_ACTIVE_LOW"; }; }; diff --git a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuapp.yaml b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuapp_0_9_0.yaml similarity index 81% rename from boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuapp.yaml rename to boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuapp_0_9_0.yaml index 1fb5a039875..a64f8cf6398 100644 --- a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuapp.yaml +++ b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuapp_0_9_0.yaml @@ -2,7 +2,7 @@ # SPDX-License-Identifier: Apache-2.0 identifier: nrf54h20dk/nrf54h20/cpuapp -name: nRF54H20-DK-nRF54H20-Application +name: nRF54H20-DK-nRF54H20-Application (revision 0.9.0) type: mcu arch: arm toolchain: @@ -19,6 +19,7 @@ supported: - gpio - i2c - pwm + - retained_mem - spi - watchdog - usbd diff --git a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuflpr.yaml b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuflpr_0_9_0.yaml similarity index 84% rename from boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuflpr.yaml rename to boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuflpr_0_9_0.yaml index ba7d9a93382..ff9513fd593 100644 --- a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuflpr.yaml +++ b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuflpr_0_9_0.yaml @@ -2,7 +2,7 @@ # SPDX-License-Identifier: Apache-2.0 identifier: nrf54h20dk/nrf54h20/cpuflpr -name: nRF54H20-DK-nRF54H20-FLPR +name: nRF54H20-DK-nRF54H20-FLPR (revision 0.9.0) type: mcu arch: riscv toolchain: diff --git a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuflpr_xip.yaml b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuflpr_xip_0_9_0.yaml similarity index 79% rename from boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuflpr_xip.yaml rename to boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuflpr_xip_0_9_0.yaml index 63c771688b4..e2880af9be3 100644 --- a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuflpr_xip.yaml +++ b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuflpr_xip_0_9_0.yaml @@ -2,7 +2,7 @@ # SPDX-License-Identifier: Apache-2.0 identifier: nrf54h20dk/nrf54h20/cpuflpr/xip -name: nRF54H20-DK-nRF54H20-FLPR (MRAM XIP) +name: nRF54H20-DK-nRF54H20-FLPR (MRAM XIP) (revision 0.9.0) type: mcu arch: riscv toolchain: diff --git a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuppr.dts b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuppr.dts index 2143823239c..59b53aafcb2 100644 --- a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuppr.dts +++ b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuppr.dts @@ -48,7 +48,6 @@ pinctrl-0 = <&uart135_default>; pinctrl-1 = <&uart135_sleep>; pinctrl-names = "default", "sleep"; - hw-flow-control; }; &uart136 { diff --git a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuppr.yaml b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuppr_0_9_0.yaml similarity index 84% rename from boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuppr.yaml rename to boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuppr_0_9_0.yaml index db1bf4fbefe..60f22350504 100644 --- a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuppr.yaml +++ b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuppr_0_9_0.yaml @@ -2,7 +2,7 @@ # SPDX-License-Identifier: Apache-2.0 identifier: nrf54h20dk/nrf54h20/cpuppr -name: nRF54H20-DK-nRF54H20-PPR +name: nRF54H20-DK-nRF54H20-PPR (revision 0.9.0) type: mcu arch: riscv toolchain: diff --git a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuppr_xip.yaml b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuppr_xip_0_9_0.yaml similarity index 79% rename from boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuppr_xip.yaml rename to boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuppr_xip_0_9_0.yaml index 8cfc343647f..7198a379a9c 100644 --- a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuppr_xip.yaml +++ b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuppr_xip_0_9_0.yaml @@ -2,7 +2,7 @@ # SPDX-License-Identifier: Apache-2.0 identifier: nrf54h20dk/nrf54h20/cpuppr/xip -name: nRF54H20-DK-nRF54H20-PPR (MRAM XIP) +name: nRF54H20-DK-nRF54H20-PPR (MRAM XIP) (revision 0.9.0) type: mcu arch: riscv toolchain: diff --git a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpurad.dts b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpurad.dts index 31c345899cd..049617e6dc6 100644 --- a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpurad.dts +++ b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpurad.dts @@ -27,6 +27,11 @@ zephyr,ieee802154 = &cpurad_ieee802154; zephyr,bt-hci-ipc = &ipc0; nordic,802154-spinel-ipc = &ipc0; + zephyr,entropy = &prng; + }; + prng: prng { + compatible = "nordic,entropy-prng"; + status = "okay"; }; aliases { ipc-to-cpusys = &cpurad_cpusys_ipc; @@ -34,10 +39,6 @@ }; }; -&shared_ram3x_region { - status = "okay"; -}; - &cpuapp_cpurad_ram0x_region { status = "okay"; }; @@ -99,7 +100,6 @@ ipc0: &cpuapp_cpurad_ipc { pinctrl-0 = <&uart135_default>; pinctrl-1 = <&uart135_sleep>; pinctrl-names = "default", "sleep"; - hw-flow-control; }; &uart136 { @@ -112,3 +112,7 @@ ipc0: &cpuapp_cpurad_ipc { &cpurad_ieee802154 { status = "okay"; }; + +zephyr_udc0: &usbhs { + status = "disabled"; +}; diff --git a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpurad.yaml b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpurad_0_9_0.yaml similarity index 80% rename from boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpurad.yaml rename to boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpurad_0_9_0.yaml index 36c0fc01dce..568f6fcc18e 100644 --- a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpurad.yaml +++ b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpurad_0_9_0.yaml @@ -2,7 +2,7 @@ # SPDX-License-Identifier: Apache-2.0 identifier: nrf54h20dk/nrf54h20/cpurad -name: nRF54H20-DK-nRF54H20-Radio +name: nRF54H20-DK-nRF54H20-Radio (revision 0.9.0) type: mcu arch: arm toolchain: @@ -16,4 +16,5 @@ supported: - counter - gpio - pwm + - retained_mem - spi diff --git a/boards/nordic/nrf54h20dk/support/nrf54h20_cpuapp.JLinkScript b/boards/nordic/nrf54h20dk/support/nrf54h20_cpuapp.JLinkScript index ffa1beed1ed..28010addbf1 100644 --- a/boards/nordic/nrf54h20dk/support/nrf54h20_cpuapp.JLinkScript +++ b/boards/nordic/nrf54h20dk/support/nrf54h20_cpuapp.JLinkScript @@ -1,29 +1,248 @@ +// Constants specific to the application core +__constant U32 _CPUCONF_ADDR = 0x52011000; +__constant U32 _PROCESSOR_ID = 2; +__constant U32 _DOMAIN_ID = 2; +__constant U32 _NUM_OTHER_PROCESSORS = 1; +const U32 _OTHER_PROCESSOR_IDS[1] = {3}; + // Debug Halting Control and Status Register -__constant U32 _DHCSR_ADDR = 0xE000EDF0; -__constant U32 _DHCSR_DBGKEY = (0xA05F << 16); -__constant U32 _DHCSR_C_DEBUGEN = (1 << 0); -__constant U32 _DHCSR_C_HALT = (1 << 1); +__constant U32 _DHCSR_ADDR = 0xE000EDF0; +__constant U32 _DHCSR_DBGKEY = (0xA05F << 16); +__constant U32 _DHCSR_C_DEBUGEN = (1 << 0); +__constant U32 _DHCSR_C_HALT = (1 << 1); // Debug Exception and Monitor Control Register -__constant U32 _DEMCR_ADDR = 0xE000EDFC; -__constant U32 _DEMCR_VC_CORERESET = (1 << 0); -__constant U32 _DEMCR_TRCENA = (1 << 24); +__constant U32 _DEMCR_ADDR = 0xE000EDFC; +__constant U32 _DEMCR_VC_CORERESET = (1 << 0); +__constant U32 _DEMCR_TRCENA = (1 << 24); // CPU wait enable register -__constant U32 _CPUCONF_CPUWAIT_ADDR = 0x5201150C; +__constant U32 _CPUCONF_CPUWAIT_OFFSET = 0x50C; + +// CTRL-AP +__constant U32 _CTRLAP_ID = 4; +__constant U32 _CTRLAP_READY_BANK = 0; +__constant U32 _CTRLAP_READY_OFFSET = 1; +__constant U32 _CTRLAP_READY = 0; +__constant U32 _CTRLAP_MAILBOX_BANK = 1; +__constant U32 _CTRLAP_MAILBOX_TXDATA_OFFSET = 0; +__constant U32 _CTRLAP_MAILBOX_TXSTATUS_OFFSET = 1; +__constant U32 _CTRLAP_MAILBOX_RXDATA_OFFSET = 2; +__constant U32 _CTRLAP_MAILBOX_RXSTATUS_OFFSET = 3; +__constant U32 _CTRLAP_MAILBOX_NO_DATA_PENDING = 0; +__constant U32 _CTRLAP_MAILBOX_DATA_PENDING = 1; +__constant int _CTRLAP_TIMEOUT_MS = 500; + +// ADAC transaction buffers +static U32 _adacTx[20]; +static U32 _adacRx[20]; + +// Failed to send to the CTRL-AP MAILBOX +__constant int _ERR_TX = -1; +// Failed to receive from the CTRL-AP MAILBOX +__constant int _ERR_RX = -2; +// ADAC command returned an error +__constant int _ERR_REPLY = -3; + +// Wait for an AP register read to return the expected value. +int _WaitForDataStatus(U32 regOffset, int expectedStatus) +{ + int status; + int ret; + int start; + int elapsed; + + status = 0; + start = JLINK_GetTime(); + elapsed = 0; + + do { + ret = JLINK_CORESIGHT_ReadDAP(regOffset, 1, &status); + elapsed = JLINK_GetTime() - start; + } while ((ret < 0 || status != expectedStatus) && (elapsed < _CTRLAP_TIMEOUT_MS)); + + if (ret < 0) { + return ret; + } + + return status; +} + +// Continuously read from the CTRL-AP MAILBOX until there is no more pending data. +void _DrainMailbox(void) +{ + int ret; + int status; + int data; + + ret = JLINK_CORESIGHT_ReadDAP(_CTRLAP_MAILBOX_RXSTATUS_OFFSET, 1, &status); + while (ret >= 0 && status == _CTRLAP_MAILBOX_DATA_PENDING) { + JLINK_CORESIGHT_ReadDAP(_CTRLAP_MAILBOX_RXDATA_OFFSET, 1, &data); + ret = JLINK_CORESIGHT_ReadDAP(_CTRLAP_MAILBOX_RXSTATUS_OFFSET, 1, &status); + } +} + +// Perform an ADAC transaction by: +// * writing the given sequence of words to MAILBOX.TXDATATA, waiting for MAILBOX.TXSTATUS +// readiness before each write. +// * reading a sequence of words from MAILBOX.RXDATA, waiting for MAILBOX.RXSTATUS readiness before +// each read. +// +// The message to send is read from _adacTx and the reply is written to _adacRx. +// Optionally checks if a single data word is returned and returns an error if it is non-zero. +// +// Assumes that the correct AP and AP bank for CTRL-AP MAILBOX has been selected in the DP. +int _DoAdacTransaction(int checkReplyStatus) +{ + int numWords; + int ret; + int data; + int i; + + i = 0; + numWords = 2 + (_adacTx[1] >> 2); // Length based on the length field of the message + + while (i < numWords) { + ret = _WaitForDataStatus(_CTRLAP_MAILBOX_TXSTATUS_OFFSET, + _CTRLAP_MAILBOX_NO_DATA_PENDING); + if (ret != _CTRLAP_MAILBOX_NO_DATA_PENDING) { + JLINK_SYS_Report1("Timed out waiting for CTRL-AP TX readiness - result: ", + ret); + return _ERR_TX; + } + + ret = JLINK_CORESIGHT_WriteDAP(_CTRLAP_MAILBOX_TXDATA_OFFSET, 1, _adacTx[i]); + if (ret < 0) { + JLINK_SYS_Report1("Failed to write CTRL-AP TX data - result: ", ret); + return _ERR_TX; + } + + i += 1; + } + + i = 0; + numWords = 2; // Minimum message length + + while (i < numWords) { + ret = _WaitForDataStatus(_CTRLAP_MAILBOX_RXSTATUS_OFFSET, + _CTRLAP_MAILBOX_DATA_PENDING); + if (ret != _CTRLAP_MAILBOX_DATA_PENDING) { + JLINK_SYS_Report1("Timed out waiting for CTRL-AP RX data - result: ", ret); + return _ERR_RX; + } + + ret = JLINK_CORESIGHT_ReadDAP(_CTRLAP_MAILBOX_RXDATA_OFFSET, 1, &data); + if (ret < 0) { + JLINK_SYS_Report1("Failed to read CTRL-AP RX data - result: ", ret); + return _ERR_RX; + } + + if (i == 1) { + // Update total length based on the message length field + numWords = 2 + (data >> 2); + } + + _adacRx[i] = data; + i += 1; + } + + if (checkReplyStatus && _adacRx[1] == 4 && _adacRx[2] != 0) { + JLINK_SYS_Report1("ADAC command failed with status: ", _adacRx[2]); + return _ERR_REPLY; + } + + return 0; +} + +int ResetTarget(void) +{ + int err; + U32 adacMajorVersion; + U32 i; + + // Select CTRL-AP bank 0, used for the READY register + JLINK_CORESIGHT_WriteDAP(JLINK_CORESIGHT_DP_REG_SELECT, 0, + (_CTRLAP_ID << 24) | (_CTRLAP_READY_BANK << 4)); + + // Wait for the READY register to indicate that the AP can be used. + err = _WaitForDataStatus(_CTRLAP_READY_OFFSET, _CTRLAP_READY); + if (err < 0) { + JLINK_SYS_Report1("Timed out waiting for CTRL-AP readiness - result: ", err); + return -1; + } + + // Select CTRL-AP bank 1, used for the MAILBOX registers for ADAC communication + JLINK_CORESIGHT_WriteDAP(JLINK_CORESIGHT_DP_REG_SELECT, 0, + (_CTRLAP_ID << 24) | (_CTRLAP_MAILBOX_BANK << 4)); + + // Extract any pre-existing data from the mailbox in case there was previously + // an aborted transaction. + _DrainMailbox(); + + // Read the ADAC version + _adacTx[0] = 0xA3000000; // Command VERSION + _adacTx[1] = 0x00000004; // Data length 4 bytes + _adacTx[2] = 0x00000000; // Type 0 (ADAC version) + err = _DoAdacTransaction(0); + if (err < 0) { + return -1; + } + + adacMajorVersion = (_adacRx[2] >> 24) & 0xff; + JLINK_SYS_Report1("ADAC major version: ", adacMajorVersion); + + if (adacMajorVersion >= 2) { + // There is a very small chance that this command fails if the domain reset itself + // at the exact same time the command was issued. Therefore we retry a few times. + i = 0; + while (i < 3) { + // Reset non-essential domains + _adacTx[0] = 0xA30A0000; // Command RESET + _adacTx[1] = 0x00000004; // Data length 4 bytes + _adacTx[2] = 0x00000000; // (reserved) + err = _DoAdacTransaction(1); + if (err >= 0) { + break; + } else if (err != _ERR_REPLY) { + return -1; + } + + i = i + 1; + } + + // Start the core in halted mode + _adacTx[0] = 0xA3090000; // Command START + _adacTx[1] = 0x00000004; // Data length 4 bytes + _adacTx[2] = 0x01000000 | (_PROCESSOR_ID << 16); // Own processor, Flags HALT + err = _DoAdacTransaction(1); + if (err < 0) { + return -1; + } -int ResetTarget(void) { - // ADAC reset - JLINK_CORESIGHT_WriteDP(2, 0x04000010); - JLINK_CORESIGHT_WriteAP(0, 0xA3030000); - JLINK_CORESIGHT_WriteAP(0, 0x00000004); - JLINK_CORESIGHT_WriteAP(0, 0x01020000); + // Start other cores normally (will fail silently if no firmware is present) + i = 0; + while (i < _NUM_OTHER_PROCESSORS) { + _adacTx[0] = 0xA3090000; // Command START + _adacTx[1] = 0x00000004; // Data length 4 bytes + _adacTx[2] = 0x00000000 | + (_OTHER_PROCESSOR_IDS[i] << 16); // Other processor, No flags + err = _DoAdacTransaction(0); + if (err < 0 && err != _ERR_REPLY) { + return -1; + } - JLINK_SYS_Sleep(100); - JLINK_CORESIGHT_ReadAP(2); - JLINK_CORESIGHT_ReadAP(2); - JLINK_CORESIGHT_ReadAP(2); - JLINK_CORESIGHT_ReadAP(2); + i = i + 1; + } + } else { + // Reset single domain via legacy implementation + _adacTx[0] = 0xA3030000; // Command RESET + _adacTx[1] = 0x00000004; // Data length 4 bytes + _adacTx[2] = 0x01000000 | (_DOMAIN_ID << 16); // Own domain, Mode HALT + err = _DoAdacTransaction(1); + if (err < 0) { + return -1; + } + } // Halt the CPU JLINK_MEM_WriteU32(_DHCSR_ADDR, (_DHCSR_DBGKEY | _DHCSR_C_HALT | _DHCSR_C_DEBUGEN)); @@ -32,7 +251,7 @@ int ResetTarget(void) { JLINK_MEM_WriteU32(_DEMCR_ADDR, (_DEMCR_VC_CORERESET | _DEMCR_TRCENA)); // Disable CPU wait - JLINK_MEM_WriteU32(_CPUCONF_CPUWAIT_ADDR, 0); + JLINK_MEM_WriteU32(_CPUCONF_ADDR + _CPUCONF_CPUWAIT_OFFSET, 0); // Clear vector catch stuff JLINK_MEM_WriteU32(_DEMCR_ADDR, _DEMCR_TRCENA); diff --git a/boards/nordic/nrf54h20dk/support/nrf54h20_cpurad.JLinkScript b/boards/nordic/nrf54h20dk/support/nrf54h20_cpurad.JLinkScript index 2f1802801c1..5c2065307ff 100644 --- a/boards/nordic/nrf54h20dk/support/nrf54h20_cpurad.JLinkScript +++ b/boards/nordic/nrf54h20dk/support/nrf54h20_cpurad.JLinkScript @@ -1,36 +1,256 @@ +// Constants specific to the radio core +__constant U32 _CPUCONF_ADDR = 0x53011000; +__constant U32 _PROCESSOR_ID = 3; +__constant U32 _DOMAIN_ID = 3; +__constant U32 _NUM_OTHER_PROCESSORS = 1; +const U32 _OTHER_PROCESSOR_IDS[1] = {2}; + // Debug Halting Control and Status Register -__constant U32 _DHCSR_ADDR = 0xE000EDF0; -__constant U32 _DHCSR_DBGKEY = (0xA05F << 16); -__constant U32 _DHCSR_C_DEBUGEN = (1 << 0); -__constant U32 _DHCSR_C_HALT = (1 << 1); +__constant U32 _DHCSR_ADDR = 0xE000EDF0; +__constant U32 _DHCSR_DBGKEY = (0xA05F << 16); +__constant U32 _DHCSR_C_DEBUGEN = (1 << 0); +__constant U32 _DHCSR_C_HALT = (1 << 1); // Debug Exception and Monitor Control Register -__constant U32 _DEMCR_ADDR = 0xE000EDFC; -__constant U32 _DEMCR_VC_CORERESET = (1 << 0); -__constant U32 _DEMCR_TRCENA = (1 << 24); +__constant U32 _DEMCR_ADDR = 0xE000EDFC; +__constant U32 _DEMCR_VC_CORERESET = (1 << 0); +__constant U32 _DEMCR_TRCENA = (1 << 24); // CPU wait enable register -__constant U32 _CPUCONF_CPUWAIT_ADDR = 0x5301150C; +__constant U32 _CPUCONF_CPUWAIT_OFFSET = 0x50C; + +// CTRL-AP +__constant U32 _CTRLAP_ID = 4; +__constant U32 _CTRLAP_READY_BANK = 0; +__constant U32 _CTRLAP_READY_OFFSET = 1; +__constant U32 _CTRLAP_READY = 0; +__constant U32 _CTRLAP_MAILBOX_BANK = 1; +__constant U32 _CTRLAP_MAILBOX_TXDATA_OFFSET = 0; +__constant U32 _CTRLAP_MAILBOX_TXSTATUS_OFFSET = 1; +__constant U32 _CTRLAP_MAILBOX_RXDATA_OFFSET = 2; +__constant U32 _CTRLAP_MAILBOX_RXSTATUS_OFFSET = 3; +__constant U32 _CTRLAP_MAILBOX_NO_DATA_PENDING = 0; +__constant U32 _CTRLAP_MAILBOX_DATA_PENDING = 1; +__constant int _CTRLAP_TIMEOUT_MS = 500; + +// ADAC transaction buffers +static U32 _adacTx[20]; +static U32 _adacRx[20]; + +// Failed to send to the CTRL-AP MAILBOX +__constant int _ERR_TX = -1; +// Failed to receive from the CTRL-AP MAILBOX +__constant int _ERR_RX = -2; +// ADAC command returned an error +__constant int _ERR_REPLY = -3; + +// Wait for an AP register read to return the expected value. +int _WaitForDataStatus(U32 regOffset, int expectedStatus) +{ + int status; + int ret; + int start; + int elapsed; + + status = 0; + start = JLINK_GetTime(); + elapsed = 0; + + do { + ret = JLINK_CORESIGHT_ReadDAP(regOffset, 1, &status); + elapsed = JLINK_GetTime() - start; + } while ((ret < 0 || status != expectedStatus) && (elapsed < _CTRLAP_TIMEOUT_MS)); + + if (ret < 0) { + return ret; + } + + return status; +} + +// Continuously read from the CTRL-AP MAILBOX until there is no more pending data. +void _DrainMailbox(void) +{ + int ret; + int status; + int data; + + ret = JLINK_CORESIGHT_ReadDAP(_CTRLAP_MAILBOX_RXSTATUS_OFFSET, 1, &status); + while (ret >= 0 && status == _CTRLAP_MAILBOX_DATA_PENDING) { + JLINK_CORESIGHT_ReadDAP(_CTRLAP_MAILBOX_RXDATA_OFFSET, 1, &data); + ret = JLINK_CORESIGHT_ReadDAP(_CTRLAP_MAILBOX_RXSTATUS_OFFSET, 1, &status); + } +} + +// Perform an ADAC transaction by: +// * writing the given sequence of words to MAILBOX.TXDATATA, waiting for MAILBOX.TXSTATUS +// readiness before each write. +// * reading a sequence of words from MAILBOX.RXDATA, waiting for MAILBOX.RXSTATUS readiness before +// each read. +// +// The message to send is read from _adacTx and the reply is written to _adacRx. +// Optionally checks if a single data word is returned and returns an error if it is non-zero. +// +// Assumes that the correct AP and AP bank for CTRL-AP MAILBOX has been selected in the DP. +int _DoAdacTransaction(int checkReplyStatus) +{ + int numWords; + int ret; + int data; + int i; + + i = 0; + numWords = 2 + (_adacTx[1] >> 2); // Length based on the length field of the message + + while (i < numWords) { + ret = _WaitForDataStatus(_CTRLAP_MAILBOX_TXSTATUS_OFFSET, + _CTRLAP_MAILBOX_NO_DATA_PENDING); + if (ret != _CTRLAP_MAILBOX_NO_DATA_PENDING) { + JLINK_SYS_Report1("Timed out waiting for CTRL-AP TX readiness - result: ", + ret); + return _ERR_TX; + } + + ret = JLINK_CORESIGHT_WriteDAP(_CTRLAP_MAILBOX_TXDATA_OFFSET, 1, _adacTx[i]); + if (ret < 0) { + JLINK_SYS_Report1("Failed to write CTRL-AP TX data - result: ", ret); + return _ERR_TX; + } + + i += 1; + } + + i = 0; + numWords = 2; // Minimum message length -int ConfigTargetSettings(void) { + while (i < numWords) { + ret = _WaitForDataStatus(_CTRLAP_MAILBOX_RXSTATUS_OFFSET, + _CTRLAP_MAILBOX_DATA_PENDING); + if (ret != _CTRLAP_MAILBOX_DATA_PENDING) { + JLINK_SYS_Report1("Timed out waiting for CTRL-AP RX data - result: ", ret); + return _ERR_RX; + } + + ret = JLINK_CORESIGHT_ReadDAP(_CTRLAP_MAILBOX_RXDATA_OFFSET, 1, &data); + if (ret < 0) { + JLINK_SYS_Report1("Failed to read CTRL-AP RX data - result: ", ret); + return _ERR_RX; + } + + if (i == 1) { + // Update total length based on the message length field + numWords = 2 + (data >> 2); + } + + _adacRx[i] = data; + i += 1; + } + + if (checkReplyStatus && _adacRx[1] == 4 && _adacRx[2] != 0) { + JLINK_SYS_Report1("ADAC command failed with status: ", _adacRx[2]); + return _ERR_REPLY; + } + + return 0; +} + +int ConfigTargetSettings(void) +{ JLINK_ExecCommand("CORESIGHT_AddAP = Index=1 Type=AHB-AP"); CORESIGHT_IndexAHBAPToUse = 1; return 0; } -int ResetTarget(void) { - // ADAC reset - JLINK_CORESIGHT_WriteDP(2, 0x04000010); - JLINK_CORESIGHT_WriteAP(0, 0xA3030000); - JLINK_CORESIGHT_WriteAP(0, 0x00000004); - JLINK_CORESIGHT_WriteAP(0, 0x01030000); +int ResetTarget(void) +{ + int err; + U32 adacMajorVersion; + U32 i; + + // Select CTRL-AP bank 0, used for the READY register + JLINK_CORESIGHT_WriteDAP(JLINK_CORESIGHT_DP_REG_SELECT, 0, + (_CTRLAP_ID << 24) | (_CTRLAP_READY_BANK << 4)); + + // Wait for the READY register to indicate that the AP can be used. + err = _WaitForDataStatus(_CTRLAP_READY_OFFSET, _CTRLAP_READY); + if (err < 0) { + JLINK_SYS_Report1("Timed out waiting for CTRL-AP readiness - result: ", err); + return -1; + } + + // Select CTRL-AP bank 1, used for the MAILBOX registers for ADAC communication + JLINK_CORESIGHT_WriteDAP(JLINK_CORESIGHT_DP_REG_SELECT, 0, + (_CTRLAP_ID << 24) | (_CTRLAP_MAILBOX_BANK << 4)); + + // Extract any pre-existing data from the mailbox in case there was previously + // an aborted transaction. + _DrainMailbox(); + + // Read the ADAC version + _adacTx[0] = 0xA3000000; // Command VERSION + _adacTx[1] = 0x00000004; // Data length 4 bytes + _adacTx[2] = 0x00000000; // Type 0 (ADAC version) + err = _DoAdacTransaction(0); + if (err < 0) { + return -1; + } + + adacMajorVersion = (_adacRx[2] >> 24) & 0xff; + JLINK_SYS_Report1("ADAC major version: ", adacMajorVersion); + + if (adacMajorVersion >= 2) { + // There is a very small chance that this command fails if the domain reset itself + // at the exact same time the command was issued. Therefore we retry a few times. + i = 0; + while (i < 3) { + // Reset non-essential domains + _adacTx[0] = 0xA30A0000; // Command RESET + _adacTx[1] = 0x00000004; // Data length 4 bytes + _adacTx[2] = 0x00000000; // (reserved) + err = _DoAdacTransaction(1); + if (err >= 0) { + break; + } else if (err != _ERR_REPLY) { + return -1; + } + + i = i + 1; + } + + // Start the core in halted mode + _adacTx[0] = 0xA3090000; // Command START + _adacTx[1] = 0x00000004; // Data length 4 bytes + _adacTx[2] = 0x01000000 | (_PROCESSOR_ID << 16); // Own processor, Flags HALT + err = _DoAdacTransaction(1); + if (err < 0) { + return -1; + } + + // Start other cores normally (will fail silently if no firmware is present) + i = 0; + while (i < _NUM_OTHER_PROCESSORS) { + _adacTx[0] = 0xA3090000; // Command START + _adacTx[1] = 0x00000004; // Data length 4 bytes + _adacTx[2] = 0x00000000 | + (_OTHER_PROCESSOR_IDS[i] << 16); // Other processor, No flags + err = _DoAdacTransaction(0); + if (err < 0 && err != _ERR_REPLY) { + return -1; + } - JLINK_SYS_Sleep(100); - JLINK_CORESIGHT_ReadAP(2); - JLINK_CORESIGHT_ReadAP(2); - JLINK_CORESIGHT_ReadAP(2); - JLINK_CORESIGHT_ReadAP(2); + i = i + 1; + } + } else { + // Reset single domain via legacy implementation + _adacTx[0] = 0xA3030000; // Command RESET + _adacTx[1] = 0x00000004; // Data length 4 bytes + _adacTx[2] = 0x01000000 | (_DOMAIN_ID << 16); // Own domain, Mode HALT + err = _DoAdacTransaction(1); + if (err < 0) { + return -1; + } + } // Halt the CPU JLINK_MEM_WriteU32(_DHCSR_ADDR, (_DHCSR_DBGKEY | _DHCSR_C_HALT | _DHCSR_C_DEBUGEN)); @@ -39,7 +259,7 @@ int ResetTarget(void) { JLINK_MEM_WriteU32(_DEMCR_ADDR, (_DEMCR_VC_CORERESET | _DEMCR_TRCENA)); // Disable CPU wait - JLINK_MEM_WriteU32(_CPUCONF_CPUWAIT_ADDR, 0); + JLINK_MEM_WriteU32(_CPUCONF_ADDR + _CPUCONF_CPUWAIT_OFFSET, 0); // Clear vector catch stuff JLINK_MEM_WriteU32(_DEMCR_ADDR, _DEMCR_TRCENA); diff --git a/boards/nordic/nrf54l15dk/Kconfig b/boards/nordic/nrf54l15dk/Kconfig new file mode 100644 index 00000000000..c8890bc4498 --- /dev/null +++ b/boards/nordic/nrf54l15dk/Kconfig @@ -0,0 +1,34 @@ +# nRF54L15 DK board configuration + +# Copyright (c) 2024 Nordic Semiconductor ASA +# SPDX-License-Identifier: Apache-2.0 + +if BOARD_NRF54L15DK_NRF54L15_CPUAPP_NS + +config NRF_MPC_REGION_SIZE + hex + default 0x1000 + help + Region size for the Memory Protection Controller (MPC) in bytes. + +config NRF_TRUSTZONE_FLASH_REGION_SIZE + hex + default NRF_MPC_REGION_SIZE + help + This defines the flash region size from the TRUSTZONE perspective. + It is used when configuring the TRUSTZONE and when setting alignments + requirements for the partitions. + This abstraction allows us to configure TRUSTZONE without depending + on peripheral specific symbols. + +config NRF_TRUSTZONE_RAM_REGION_SIZE + hex + default NRF_MPC_REGION_SIZE + help + This defines the RAM region size from the TRUSTZONE perspective. + It is used when configuring the TRUSTZONE and when setting alignments + requirements for the partitions. + This abstraction allows us to configure TRUSTZONE without depending + on peripheral specific symbols. + +endif #BOARD_NRF54L15DK_NRF54L15_CPUAPP_NS diff --git a/boards/nordic/nrf54l15dk/Kconfig.defconfig b/boards/nordic/nrf54l15dk/Kconfig.defconfig index 2b753df3515..bffc4ac3c86 100644 --- a/boards/nordic/nrf54l15dk/Kconfig.defconfig +++ b/boards/nordic/nrf54l15dk/Kconfig.defconfig @@ -1,12 +1,33 @@ # Copyright (c) 2024 Nordic Semiconductor ASA # SPDX-License-Identifier: Apache-2.0 -if BOARD_NRF54L15DK_NRF54L15_CPUAPP +if BOARD_NRF54L15DK_NRF54L05_CPUAPP || BOARD_NRF54L15DK_NRF54L10_CPUAPP || \ + BOARD_NRF54L15DK_NRF54L15_CPUAPP config BT_CTLR default BT config ROM_START_OFFSET + default 0 if PARTITION_MANAGER_ENABLED default 0x800 if BOOTLOADER_MCUBOOT -endif # BOARD_NRF54L15DK_NRF54L15_CPUAPP +endif # BOARD_NRF54L15DK_NRF54L05_CPUAPP || BOARD_NRF54L15DK_NRF54L10_CPUAPP || \ + # BOARD_NRF54L15DK_NRF54L15_CPUAPP + +if BOARD_NRF54L15DK_NRF54L15_CPUAPP_NS + +config BT_CTLR + default BT + +# By default, if we build for a Non-Secure version of the board, +# enable building with TF-M as the Secure Execution Environment. +config BUILD_WITH_TFM + default y if BOARD_NRF54L15DK_NRF54L15_CPUAPP_NS + +# By default, if we build with TF-M, instruct build system to +# flash the combined TF-M (Secure) & Zephyr (Non Secure) image +config TFM_FLASH_MERGED_BINARY + default y + depends on BUILD_WITH_TFM + +endif #BOARD_NRF54L15DK_NRF54L15_CPUAPP_NS diff --git a/boards/nordic/nrf54l15dk/Kconfig.nrf54l15dk b/boards/nordic/nrf54l15dk/Kconfig.nrf54l15dk index e385ef84f89..57b90e2c516 100644 --- a/boards/nordic/nrf54l15dk/Kconfig.nrf54l15dk +++ b/boards/nordic/nrf54l15dk/Kconfig.nrf54l15dk @@ -2,6 +2,8 @@ # SPDX-License-Identifier: Apache-2.0 config BOARD_NRF54L15DK - select SOC_NRF54L15_CPUAPP if BOARD_NRF54L15DK_NRF54L15_CPUAPP + select SOC_NRF54L05_CPUAPP if BOARD_NRF54L15DK_NRF54L05_CPUAPP + select SOC_NRF54L10_CPUAPP if BOARD_NRF54L15DK_NRF54L10_CPUAPP + select SOC_NRF54L15_CPUAPP if BOARD_NRF54L15DK_NRF54L15_CPUAPP || BOARD_NRF54L15DK_NRF54L15_CPUAPP_NS select SOC_NRF54L15_CPUFLPR if BOARD_NRF54L15DK_NRF54L15_CPUFLPR || \ BOARD_NRF54L15DK_NRF54L15_CPUFLPR_XIP diff --git a/boards/nordic/nrf54l15dk/board.cmake b/boards/nordic/nrf54l15dk/board.cmake index 1fd92b7fced..664cb158a6a 100644 --- a/boards/nordic/nrf54l15dk/board.cmake +++ b/boards/nordic/nrf54l15dk/board.cmake @@ -1,11 +1,21 @@ # Copyright (c) 2024 Nordic Semiconductor ASA # SPDX-License-Identifier: Apache-2.0 -if(CONFIG_SOC_NRF54L15_CPUAPP) +if(CONFIG_SOC_NRF54L05_CPUAPP OR CONFIG_SOC_NRF54L10_CPUAPP OR + CONFIG_SOC_NRF54L15_CPUAPP) board_runner_args(jlink "--device=cortex-m33" "--speed=4000") -elseif(CONFIG_SOC_NRF54L15_CPUFLPR) +elseif(CONFIG_SOC_NRF54L05_CPUFLPR OR CONFIG_SOC_NRF54L10_CPUFLPR OR + CONFIG_SOC_NRF54L15_CPUFLPR) board_runner_args(jlink "--speed=4000") endif() +if(BOARD_NRF54L15DK_NRF54L15_CPUAPP_NS) + set(TFM_PUBLIC_KEY_FORMAT "full") +endif() + +if(CONFIG_TFM_FLASH_MERGED_BINARY) + set_property(TARGET runners_yaml_props_target PROPERTY hex_file tfm_merged.hex) +endif() + include(${ZEPHYR_BASE}/boards/common/nrfutil.board.cmake) include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake) diff --git a/boards/nordic/nrf54l15dk/board.yml b/boards/nordic/nrf54l15dk/board.yml index 7a8bf2f5cf1..f4214f09d28 100644 --- a/boards/nordic/nrf54l15dk/board.yml +++ b/boards/nordic/nrf54l15dk/board.yml @@ -1,8 +1,13 @@ board: name: nrf54l15dk + full_name: nRF54L15 DK vendor: nordic socs: + - name: nrf54l05 + - name: nrf54l10 - name: nrf54l15 variants: - name: xip cpucluster: cpuflpr + - name: ns + cpucluster: cpuapp diff --git a/boards/nordic/nrf54l15dk/doc/index.rst b/boards/nordic/nrf54l15dk/doc/index.rst index 7d450912661..4886cadde76 100644 --- a/boards/nordic/nrf54l15dk/doc/index.rst +++ b/boards/nordic/nrf54l15dk/doc/index.rst @@ -19,6 +19,7 @@ nRF54L15 Arm Cortex-M33 CPU and the following devices: * RRAM * :abbr:`GPIO (General Purpose Input Output)` * :abbr:`TWIM (I2C-compatible two-wire interface master with EasyDMA)` +* MEMCONF * :abbr:`MPU (Memory Protection Unit)` * :abbr:`NVIC (Nested Vectored Interrupt Controller)` * :abbr:`PWM (Pulse Width Modulation)` @@ -60,6 +61,8 @@ hardware features: +-----------+------------+----------------------+ | GRTC | on-chip | counter | +-----------+------------+----------------------+ +| MEMCONF | on-chip | retained_mem | ++-----------+------------+----------------------+ | MPU | on-chip | arch/arm | +-----------+------------+----------------------+ | NVIC | on-chip | arch/arm | @@ -98,7 +101,7 @@ to be built as multicore configuration with code snippet called ``vpr_launcher`` for the application core. Enter the following command to compile ``hello_world`` for the FLPR core:: - west build -p -b nrf54l15pdk/nrf54l15/cpuflpr --sysbuild -- -DSB_VPR_LAUNCHER=y + west build -p -b nrf54l15dk/nrf54l15/cpuflpr --sysbuild -- -DSB_VPR_LAUNCHER=y Flashing ======== diff --git a/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l15-common.dtsi b/boards/nordic/nrf54l15dk/nrf54l15dk_common.dtsi similarity index 97% rename from boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l15-common.dtsi rename to boards/nordic/nrf54l15dk/nrf54l15dk_common.dtsi index 02170276476..33cfebb55d6 100644 --- a/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l15-common.dtsi +++ b/boards/nordic/nrf54l15dk/nrf54l15dk_common.dtsi @@ -4,7 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -#include "nrf54l15dk_nrf54l15-pinctrl.dtsi" +#include "nrf54l15dk_nrf54l_05_10_15-pinctrl.dtsi" / { leds { diff --git a/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l05_cpuapp.dts b/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l05_cpuapp.dts new file mode 100644 index 00000000000..e2215ce1294 --- /dev/null +++ b/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l05_cpuapp.dts @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2024 Nordic Semiconductor ASA + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/dts-v1/; + +#include +#include "nrf54l_05_10_15_cpuapp_common.dtsi" + +/ { + compatible = "nordic,nrf54l15dk_nrf54l05-cpuapp"; + model = "Nordic nRF54L15 DK nRF54L05 Application MCU"; + + chosen { + zephyr,code-partition = &slot0_partition; + zephyr,sram = &cpuapp_sram; + }; +}; + +/* FLPR not supported yet, give all SRAM and RRAM to the APP core */ +&cpuapp_sram { + reg = <0x20000000 DT_SIZE_K(96)>; + ranges = <0x0 0x20000000 DT_SIZE_K(96)>; +}; + +&cpuapp_rram { + reg = <0x0 DT_SIZE_K(500)>; +}; + +/* These partition sizes assume no FLPR area in RRAM */ +&cpuapp_rram { + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + boot_partition: partition@0 { + label = "mcuboot"; + reg = <0x0 DT_SIZE_K(64)>; + }; + slot0_partition: partition@10000 { + label = "image-0"; + reg = <0x10000 DT_SIZE_K(100)>; + }; + slot0_ns_partition: partition@29000 { + label = "image-0-nonsecure"; + reg = <0x29000 DT_SIZE_K(100)>; + }; + slot1_partition: partition@42000 { + label = "image-1"; + reg = <0x42000 DT_SIZE_K(100)>; + }; + slot1_ns_partition: partition@5b000 { + label = "image-1-nonsecure"; + reg = <0x5b000 DT_SIZE_K(100)>; + }; + storage_partition: partition@74000 { + label = "storage"; + reg = <0x74000 DT_SIZE_K(36)>; + }; + }; +}; diff --git a/boards/nordic/nrf54l15pdk/nrf54l15pdk_nrf54l15_cpuapp.yaml b/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l05_cpuapp.yaml similarity index 72% rename from boards/nordic/nrf54l15pdk/nrf54l15pdk_nrf54l15_cpuapp.yaml rename to boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l05_cpuapp.yaml index 4b900736910..0c451b19a2e 100644 --- a/boards/nordic/nrf54l15pdk/nrf54l15pdk_nrf54l15_cpuapp.yaml +++ b/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l05_cpuapp.yaml @@ -1,8 +1,8 @@ # Copyright (c) 2024 Nordic Semiconductor ASA # SPDX-License-Identifier: Apache-2.0 -identifier: nrf54l15pdk/nrf54l15/cpuapp -name: nRF54l15-PDK-nRF54l15-Application +identifier: nrf54l15dk/nrf54l05/cpuapp +name: nRF54L15-DK-nRF54L05-Application type: mcu arch: arm toolchain: @@ -10,8 +10,8 @@ toolchain: - xtools - zephyr sysbuild: true -ram: 188 -flash: 324 +ram: 96 +flash: 100 supported: - adc - counter diff --git a/boards/nordic/nrf54l15pdk/nrf54l15pdk_nrf54l15_cpuapp_defconfig b/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l05_cpuapp_defconfig similarity index 94% rename from boards/nordic/nrf54l15pdk/nrf54l15pdk_nrf54l15_cpuapp_defconfig rename to boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l05_cpuapp_defconfig index 25559850091..02796a1361e 100644 --- a/boards/nordic/nrf54l15pdk/nrf54l15pdk_nrf54l15_cpuapp_defconfig +++ b/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l05_cpuapp_defconfig @@ -25,7 +25,5 @@ CONFIG_NULL_POINTER_EXCEPTION_DETECTION_NONE=y CONFIG_CACHE_MANAGEMENT=y CONFIG_EXTERNAL_CACHE=y -CONFIG_SOC_NRF_FORCE_CONSTLAT=y - # Start SYSCOUNTER on driver init CONFIG_NRF_GRTC_START_SYSCOUNTER=y diff --git a/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l10_cpuapp.dts b/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l10_cpuapp.dts new file mode 100644 index 00000000000..1ae6be3e9e9 --- /dev/null +++ b/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l10_cpuapp.dts @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2024 Nordic Semiconductor ASA + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/dts-v1/; + +#include +#include "nrf54l_05_10_15_cpuapp_common.dtsi" + +/ { + compatible = "nordic,nrf54l15dk_nrf54l10-cpuapp"; + model = "Nordic nRF54L15 DK nRF54L10 Application MCU"; + + chosen { + zephyr,code-partition = &slot0_partition; + zephyr,sram = &cpuapp_sram; + }; +}; + +/* FLPR not supported yet, give all SRAM and RRAM to the APP core */ +&cpuapp_sram { + reg = <0x20000000 DT_SIZE_K(192)>; + ranges = <0x0 0x20000000 DT_SIZE_K(192)>; +}; + +&cpuapp_rram { + reg = <0x0 DT_SIZE_K(1022)>; +}; + +/* These partition sizes assume no FLPR area in RRAM */ +&cpuapp_rram { + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + boot_partition: partition@0 { + label = "mcuboot"; + reg = <0x0 DT_SIZE_K(64)>; + }; + slot0_partition: partition@10000 { + label = "image-0"; + reg = <0x10000 DT_SIZE_K(230)>; + }; + slot0_ns_partition: partition@49800 { + label = "image-0-nonsecure"; + reg = <0x49800 DT_SIZE_K(230)>; + }; + slot1_partition: partition@83000 { + label = "image-1"; + reg = <0x83000 DT_SIZE_K(230)>; + }; + slot1_ns_partition: partition@bc800 { + label = "image-1-nonsecure"; + reg = <0xbc800 DT_SIZE_K(230)>; + }; + storage_partition: partition@f6000 { + label = "storage"; + reg = <0xf6000 DT_SIZE_K(38)>; + }; + }; +}; diff --git a/boards/nordic/nrf54l15pdk/nrf54l15pdk_nrf54l15_cpuflpr.yaml b/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l10_cpuapp.yaml similarity index 52% rename from boards/nordic/nrf54l15pdk/nrf54l15pdk_nrf54l15_cpuflpr.yaml rename to boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l10_cpuapp.yaml index 6e8789aeab7..63afb059b93 100644 --- a/boards/nordic/nrf54l15pdk/nrf54l15pdk_nrf54l15_cpuflpr.yaml +++ b/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l10_cpuapp.yaml @@ -1,18 +1,24 @@ # Copyright (c) 2024 Nordic Semiconductor ASA # SPDX-License-Identifier: Apache-2.0 -identifier: nrf54l15pdk/nrf54l15/cpuflpr -name: nRF54L15-PDK-nRF54L15-Fast-Lightweight-Peripheral-Processor +identifier: nrf54l15dk/nrf54l10/cpuapp +name: nRF54L15-DK-nRF54L10-Application type: mcu -arch: riscv +arch: arm toolchain: + - gnuarmemb + - xtools - zephyr sysbuild: true -ram: 96 -flash: 96 +ram: 192 +flash: 230 supported: + - adc - counter - gpio - i2c + - pwm + - retained_mem - spi - watchdog + - i2s diff --git a/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l10_cpuapp_defconfig b/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l10_cpuapp_defconfig new file mode 100644 index 00000000000..02796a1361e --- /dev/null +++ b/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l10_cpuapp_defconfig @@ -0,0 +1,29 @@ +# Copyright (c) 2024 Nordic Semiconductor ASA +# SPDX-License-Identifier: Apache-2.0 + +# Enable UART driver +CONFIG_SERIAL=y + +# Enable console +CONFIG_CONSOLE=y +CONFIG_UART_CONSOLE=y + +# Enable GPIO +CONFIG_GPIO=y + +# Enable MPU +CONFIG_ARM_MPU=y + +# Enable hardware stack protection +CONFIG_HW_STACK_PROTECTION=y + +# MPU-based null-pointer dereferencing detection cannot +# be applied as the (0x0 - 0x400) is unmapped for this target. +CONFIG_NULL_POINTER_EXCEPTION_DETECTION_NONE=y + +# Enable Cache +CONFIG_CACHE_MANAGEMENT=y +CONFIG_EXTERNAL_CACHE=y + +# Start SYSCOUNTER on driver init +CONFIG_NRF_GRTC_START_SYSCOUNTER=y diff --git a/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l15-pinctrl.dtsi b/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l15-pinctrl.dtsi deleted file mode 100644 index 0b6e2056a82..00000000000 --- a/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l15-pinctrl.dtsi +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright (c) 2024 Nordic Semiconductor - * SPDX-License-Identifier: Apache-2.0 - */ - -&pinctrl { - /omit-if-no-ref/ uart20_default: uart20_default { - group1 { - psels = , - ; - }; - group2 { - psels = , - ; - bias-pull-up; - }; - }; - - /omit-if-no-ref/ uart20_sleep: uart20_sleep { - group1 { - psels = , - , - , - ; - low-power-enable; - }; - }; - - /omit-if-no-ref/ uart30_default: uart30_default { - group1 { - psels = , - ; - }; - group2 { - psels = , - ; - bias-pull-up; - }; - }; - - /omit-if-no-ref/ uart30_sleep: uart30_sleep { - group1 { - psels = , - , - , - ; - low-power-enable; - }; - }; - - /omit-if-no-ref/ spi00_default: spi00_default { - group1 { - psels = , - , - ; - }; - }; - - /omit-if-no-ref/ spi00_sleep: spi00_sleep { - group1 { - psels = , - , - ; - low-power-enable; - }; - }; - - /omit-if-no-ref/ pwm20_default: pwm20_default { - group1 { - psels = ; - }; - }; - - /omit-if-no-ref/ pwm20_sleep: pwm20_sleep { - group1 { - psels = ; - low-power-enable; - }; - }; -}; diff --git a/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l15_cpuapp.dts b/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l15_cpuapp.dts index b71f55c5fb4..79b16bd4125 100644 --- a/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l15_cpuapp.dts +++ b/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l15_cpuapp.dts @@ -6,7 +6,8 @@ /dts-v1/; -#include "nrf54l15_cpuapp_common.dtsi" +#include +#include "nrf54l_05_10_15_cpuapp_common.dtsi" / { compatible = "nordic,nrf54l15dk_nrf54l15-cpuapp"; @@ -17,3 +18,36 @@ zephyr,sram = &cpuapp_sram; }; }; + +&cpuapp_rram { + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + boot_partition: partition@0 { + label = "mcuboot"; + reg = <0x0 DT_SIZE_K(64)>; + }; + slot0_partition: partition@10000 { + label = "image-0"; + reg = <0x10000 DT_SIZE_K(324)>; + }; + slot0_ns_partition: partition@61000 { + label = "image-0-nonsecure"; + reg = <0x61000 DT_SIZE_K(324)>; + }; + slot1_partition: partition@b2000 { + label = "image-1"; + reg = <0xb2000 DT_SIZE_K(324)>; + }; + slot1_ns_partition: partition@103000 { + label = "image-1-nonsecure"; + reg = <0x103000 DT_SIZE_K(324)>; + }; + /* 32k from 0x154000 to 0x15bfff reserved for TF-M partitions */ + storage_partition: partition@15c000 { + label = "storage"; + reg = <0x15c000 DT_SIZE_K(36)>; + }; + }; +}; diff --git a/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l15_cpuapp_ns.dts b/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l15_cpuapp_ns.dts new file mode 100644 index 00000000000..e629a8b4ad7 --- /dev/null +++ b/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l15_cpuapp_ns.dts @@ -0,0 +1,65 @@ +/* + * Copyright (c) 2024 Nordic Semiconductor ASA + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/dts-v1/; + +#define USE_NON_SECURE_ADDRESS_MAP 1 + +#include +#include "nrf54l_05_10_15_cpuapp_common.dtsi" + +/ { + compatible = "nordic,nrf54l15dk_nrf54l15-cpuapp"; + model = "Nordic nRF54L15 DK nRF54L15 Application MCU"; + + chosen { + zephyr,code-partition = &slot0_partition; + zephyr,sram = &cpuapp_sram; + }; +}; + +&cpuapp_rram { + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + boot_partition: partition@0 { + label = "mcuboot"; + reg = <0x0 DT_SIZE_K(64)>; + }; + slot0_partition: partition@10000 { + label = "image-0"; + reg = <0x10000 DT_SIZE_K(324)>; + }; + slot0_ns_partition: partition@61000 { + label = "image-0-nonsecure"; + reg = <0x61000 DT_SIZE_K(324)>; + }; + slot1_partition: partition@b2000 { + label = "image-1"; + reg = <0xb2000 DT_SIZE_K(324)>; + }; + slot1_ns_partition: partition@103000 { + label = "image-1-nonsecure"; + reg = <0x103000 DT_SIZE_K(324)>; + }; + /* 32k from 0x154000 to 0x15bfff reserved for TF-M partitions */ + storage_partition: partition@15c000 { + label = "storage"; + reg = <0x15c000 DT_SIZE_K(36)>; + }; + }; +}; + +&uart30 { + /* Disable so that TF-M can use this UART */ + status = "disabled"; + + current-speed = <115200>; + pinctrl-0 = <&uart30_default>; + pinctrl-1 = <&uart30_sleep>; + pinctrl-names = "default", "sleep"; +}; diff --git a/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l15_cpuapp_ns.yaml b/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l15_cpuapp_ns.yaml new file mode 100644 index 00000000000..56b8e9618c0 --- /dev/null +++ b/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l15_cpuapp_ns.yaml @@ -0,0 +1,22 @@ +# Copyright (c) 2024 Nordic Semiconductor ASA +# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause + +identifier: nrf54l15dk/nrf54l15/cpuapp/ns +name: nRF54l15-DK-nRF54l15-Application-Non-Secure +type: mcu +arch: arm +toolchain: + - gnuarmemb + - xtools + - zephyr +ram: 256 +flash: 1524 +supported: + - adc + - gpio + - i2c + - spi + - counter + - watchdog + - adc + - i2s diff --git a/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l15_cpuapp_ns_defconfig b/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l15_cpuapp_ns_defconfig new file mode 100644 index 00000000000..70f01d7c9ba --- /dev/null +++ b/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l15_cpuapp_ns_defconfig @@ -0,0 +1,31 @@ +# Copyright (c) 2024 Nordic Semiconductor ASA +# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause + +# Enable MPU +CONFIG_ARM_MPU=y + +# Enable hardware stack protection +CONFIG_HW_STACK_PROTECTION=y + +CONFIG_NULL_POINTER_EXCEPTION_DETECTION_NONE=y + +# Enable TrustZone-M +CONFIG_ARM_TRUSTZONE_M=y + +# This Board implies building Non-Secure firmware +CONFIG_TRUSTED_EXECUTION_NONSECURE=y + +# Don't enable the cache in the non-secure image as it is a +# secure-only peripheral on 54l +CONFIG_CACHE_MANAGEMENT=n +CONFIG_EXTERNAL_CACHE=n + +CONFIG_UART_CONSOLE=y +CONFIG_CONSOLE=y +CONFIG_SERIAL=y + +# Enable GPIO +CONFIG_GPIO=y + +# Start SYSCOUNTER on driver init +CONFIG_NRF_GRTC_START_SYSCOUNTER=y diff --git a/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l15_cpuflpr.dts b/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l15_cpuflpr.dts index a608941514e..2bc4ba292be 100644 --- a/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l15_cpuflpr.dts +++ b/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l15_cpuflpr.dts @@ -6,7 +6,7 @@ /dts-v1/; #include -#include "nrf54l15dk_nrf54l15-common.dtsi" +#include "nrf54l15dk_common.dtsi" / { model = "Nordic nRF54L15 DK nRF54L15 FLPR MCU"; @@ -48,7 +48,6 @@ &uart30 { status = "okay"; - hw-flow-control; }; &gpio0 { diff --git a/boards/nordic/nrf54l15pdk/nrf54l15pdk_nrf54l15-pinctrl.dtsi b/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l_05_10_15-pinctrl.dtsi similarity index 83% rename from boards/nordic/nrf54l15pdk/nrf54l15pdk_nrf54l15-pinctrl.dtsi rename to boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l_05_10_15-pinctrl.dtsi index 0b6e2056a82..6b7457a2818 100644 --- a/boards/nordic/nrf54l15pdk/nrf54l15pdk_nrf54l15-pinctrl.dtsi +++ b/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l_05_10_15-pinctrl.dtsi @@ -77,4 +77,19 @@ low-power-enable; }; }; + + /omit-if-no-ref/ grtc_default: grtc_default { + group1 { + psels = , + ; + }; + }; + + /omit-if-no-ref/ grtc_sleep: grtc_sleep { + group1 { + psels = , + ; + low-power-enable; + }; + }; }; diff --git a/boards/nordic/nrf54l15dk/nrf54l15_cpuapp_common.dtsi b/boards/nordic/nrf54l15dk/nrf54l_05_10_15_cpuapp_common.dtsi similarity index 68% rename from boards/nordic/nrf54l15dk/nrf54l15_cpuapp_common.dtsi rename to boards/nordic/nrf54l15dk/nrf54l_05_10_15_cpuapp_common.dtsi index 4292e9a1523..323ebfd1a1b 100644 --- a/boards/nordic/nrf54l15dk/nrf54l15_cpuapp_common.dtsi +++ b/boards/nordic/nrf54l15dk/nrf54l_05_10_15_cpuapp_common.dtsi @@ -6,8 +6,7 @@ /* This file is common to the secure and non-secure domain */ -#include -#include "nrf54l15dk_nrf54l15-common.dtsi" +#include "nrf54l15dk_common.dtsi" / { chosen { @@ -52,42 +51,8 @@ status = "okay"; }; -&cpuapp_rram { - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - boot_partition: partition@0 { - label = "mcuboot"; - reg = <0x0 DT_SIZE_K(64)>; - }; - slot0_partition: partition@10000 { - label = "image-0"; - reg = <0x10000 DT_SIZE_K(324)>; - }; - slot0_ns_partition: partition@61000 { - label = "image-0-nonsecure"; - reg = <0x61000 DT_SIZE_K(324)>; - }; - slot1_partition: partition@b2000 { - label = "image-1"; - reg = <0xb2000 DT_SIZE_K(324)>; - }; - slot1_ns_partition: partition@103000 { - label = "image-1-nonsecure"; - reg = <0x103000 DT_SIZE_K(324)>; - }; - /* 32k from 0x154000 to 0x15bfff reserved for TF-M partitions */ - storage_partition: partition@15c000 { - label = "storage"; - reg = <0x15c000 DT_SIZE_K(36)>; - }; - }; -}; - &uart20 { status = "okay"; - hw-flow-control; }; &gpio0 { diff --git a/boards/nordic/nrf54l15pdk/Kconfig.defconfig b/boards/nordic/nrf54l15pdk/Kconfig.defconfig deleted file mode 100644 index 1c83abbb020..00000000000 --- a/boards/nordic/nrf54l15pdk/Kconfig.defconfig +++ /dev/null @@ -1,12 +0,0 @@ -# Copyright (c) 2024 Nordic Semiconductor ASA -# SPDX-License-Identifier: Apache-2.0 - -if BOARD_NRF54L15PDK_NRF54L15_CPUAPP - -config BT_CTLR - default BT - -config ROM_START_OFFSET - default 0x800 if BOOTLOADER_MCUBOOT - -endif # BOARD_NRF54L15PDK_NRF54L15_CPUAPP diff --git a/boards/nordic/nrf54l15pdk/Kconfig.nrf54l15pdk b/boards/nordic/nrf54l15pdk/Kconfig.nrf54l15pdk deleted file mode 100644 index d5116bd50c6..00000000000 --- a/boards/nordic/nrf54l15pdk/Kconfig.nrf54l15pdk +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright (c) 2024 Nordic Semiconductor ASA -# SPDX-License-Identifier: Apache-2.0 - -config BOARD_NRF54L15PDK - select SOC_NRF54L15_ENGA_CPUAPP if BOARD_NRF54L15PDK_NRF54L15_CPUAPP - select SOC_NRF54L15_ENGA_CPUFLPR if BOARD_NRF54L15PDK_NRF54L15_CPUFLPR || \ - BOARD_NRF54L15PDK_NRF54L15_CPUFLPR_XIP diff --git a/boards/nordic/nrf54l15pdk/board.cmake b/boards/nordic/nrf54l15pdk/board.cmake deleted file mode 100644 index 4a6a86a8f8a..00000000000 --- a/boards/nordic/nrf54l15pdk/board.cmake +++ /dev/null @@ -1,12 +0,0 @@ -# Copyright (c) 2024 Nordic Semiconductor ASA -# SPDX-License-Identifier: Apache-2.0 - -if (CONFIG_SOC_NRF54L15_ENGA_CPUAPP) - board_runner_args(jlink "--device=cortex-m33" "--speed=4000") -elseif (CONFIG_SOC_NRF54L15_ENGA_CPUFLPR) - board_runner_args(jlink "--speed=4000") -endif() - -include(${ZEPHYR_BASE}/boards/common/nrfutil.board.cmake) -include(${ZEPHYR_BASE}/boards/common/nrfjprog.board.cmake) -include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake) diff --git a/boards/nordic/nrf54l15pdk/board.yml b/boards/nordic/nrf54l15pdk/board.yml deleted file mode 100644 index e692040f7bd..00000000000 --- a/boards/nordic/nrf54l15pdk/board.yml +++ /dev/null @@ -1,14 +0,0 @@ -board: - name: nrf54l15pdk - vendor: nordic - socs: - - name: nrf54l15 - variants: - - name: xip - cpucluster: cpuflpr - revision: - format: major.minor.patch - default: "0.3.0" - revisions: - - name: "0.2.1" - - name: "0.3.0" diff --git a/boards/nordic/nrf54l15pdk/doc/img/nrf54l15pdk_nrf54l15.webp b/boards/nordic/nrf54l15pdk/doc/img/nrf54l15pdk_nrf54l15.webp deleted file mode 100644 index 80fb2060a07..00000000000 Binary files a/boards/nordic/nrf54l15pdk/doc/img/nrf54l15pdk_nrf54l15.webp and /dev/null differ diff --git a/boards/nordic/nrf54l15pdk/doc/index.rst b/boards/nordic/nrf54l15pdk/doc/index.rst deleted file mode 100644 index dc6e69b65e5..00000000000 --- a/boards/nordic/nrf54l15pdk/doc/index.rst +++ /dev/null @@ -1,139 +0,0 @@ -.. _nrf54l15pdk_nrf54l15: - -nRF54L15 PDK -############ - -Overview -******** - -.. note:: - - All software for the nRF54L15 SoC is experimental and hardware availability - is restricted to the participants in the limited sampling program. - -The nRF54L15 Preview Development Kit hardware provides -support for the Nordic Semiconductor nRF54L15 Arm Cortex-M33 CPU and -the following devices: - -* :abbr:`SAADC (Successive Approximation Analog to Digital Converter)` -* CLOCK -* RRAM -* :abbr:`GPIO (General Purpose Input Output)` -* :abbr:`TWIM (I2C-compatible two-wire interface master with EasyDMA)` -* :abbr:`MPU (Memory Protection Unit)` -* :abbr:`NVIC (Nested Vectored Interrupt Controller)` -* :abbr:`PWM (Pulse Width Modulation)` -* :abbr:`GRTC (Global real-time counter)` -* Segger RTT (RTT Console) -* :abbr:`SPI (Serial Peripheral Interface)` -* :abbr:`UARTE (Universal asynchronous receiver-transmitter)` -* :abbr:`WDT (Watchdog Timer)` - -.. figure:: img/nrf54l15pdk_nrf54l15.webp - :align: center - :alt: nRF54L15 PDK - - nRF54L15 PDK (Credit: Nordic Semiconductor) - -Hardware -******** - -nRF54L15 PDK has two crystal oscillators: - -* High-frequency 32 MHz crystal oscillator (HFXO) -* Low-frequency 32.768 kHz crystal oscillator (LFXO) - -The crystal oscillators can be configured to use either -internal or external capacitors. - -Supported Features -================== - -The ``nrf54l15pdk/nrf54l15/cpuapp`` board configuration supports the following -hardware features: - -+-----------+------------+----------------------+ -| Interface | Controller | Driver/Component | -+===========+============+======================+ -| SAADC | on-chip | adc | -+-----------+------------+----------------------+ -| CLOCK | on-chip | clock_control | -+-----------+------------+----------------------+ -| RRAM | on-chip | flash | -+-----------+------------+----------------------+ -| GPIO | on-chip | gpio | -+-----------+------------+----------------------+ -| TWIM | on-chip | i2c | -+-----------+------------+----------------------+ -| MPU | on-chip | arch/arm | -+-----------+------------+----------------------+ -| NVIC | on-chip | arch/arm | -+-----------+------------+----------------------+ -| PWM | on-chip | pwm | -+-----------+------------+----------------------+ -| GRTC | on-chip | counter | -+-----------+------------+----------------------+ -| RTT | Segger | console | -+-----------+------------+----------------------+ -| SPI(M/S) | on-chip | spi | -+-----------+------------+----------------------+ -| SPU | on-chip | system protection | -+-----------+------------+----------------------+ -| UARTE | on-chip | serial | -+-----------+------------+----------------------+ -| WDT | on-chip | watchdog | -+-----------+------------+----------------------+ - -Other hardware features have not been enabled yet for this board. - -Programming and Debugging -************************* - -Applications for the ``nrf54l15pdk/nrf54l15/cpuapp`` board can be -built, flashed, and debugged in the usual way. See -:ref:`build_an_application` and :ref:`application_run` for more details on -building and running. - -Flashing -======== - -As an example, this section shows how to build and flash the :zephyr:code-sample:`hello_world` -application. - -.. warning:: - - When programming the device, you might get an error similar to the following message:: - - ERROR: The operation attempted is unavailable due to readback protection in - ERROR: your device. Please use --recover to unlock the device. - - This error occurs when readback protection is enabled. - To disable the readback protection, you must *recover* your device. - - Enter the following command to recover the core:: - - west flash --recover - - The ``--recover`` command erases the flash memory and then writes a small binary into - the recovered flash memory. - This binary prevents the readback protection from enabling itself again after a pin - reset or power cycle. - -Follow the instructions in the :ref:`nordic_segger` page to install -and configure all the necessary software. Further information can be -found in :ref:`nordic_segger_flashing`. - -To build and program the sample to the nRF54L15 PDK, complete the following steps: - -First, connect the nRF54L15 PDK to you computer using the IMCU USB port on the PDK. -Next, build the sample by running the following command: - -.. zephyr-app-commands:: - :zephyr-app: samples/hello_world - :board: nrf54l15pdk/nrf54l15/cpuapp - :goals: build flash - -Testing the LEDs and buttons in the nRF54L15 PDK -************************************************ - -Test the nRF54L15 PDK with a :zephyr:code-sample:`blinky` sample. diff --git a/boards/nordic/nrf54l15pdk/nrf54l15_cpuapp_common.dtsi b/boards/nordic/nrf54l15pdk/nrf54l15_cpuapp_common.dtsi deleted file mode 100644 index 1327d48f5bd..00000000000 --- a/boards/nordic/nrf54l15pdk/nrf54l15_cpuapp_common.dtsi +++ /dev/null @@ -1,157 +0,0 @@ -/* - * Copyright (c) 2024 Nordic Semiconductor ASA - * - * SPDX-License-Identifier: Apache-2.0 - */ - -/* This file is common to the secure and non-secure domain */ - -#include -#include "nrf54l15pdk_nrf54l15-common.dtsi" - -/ { - chosen { - zephyr,console = &uart20; - zephyr,shell-uart = &uart20; - zephyr,uart-mcumgr = &uart20; - zephyr,bt-mon-uart = &uart20; - zephyr,bt-c2h-uart = &uart20; - zephyr,flash-controller = &rram_controller; - zephyr,flash = &cpuapp_rram; - zephyr,ieee802154 = &ieee802154; - }; -}; - -&cpuapp_sram { - status = "okay"; -}; - -&lfxo { - load-capacitors = "internal"; - load-capacitance-femtofarad = <15500>; -}; - -&hfxo { - load-capacitors = "internal"; - load-capacitance-femtofarad = <15000>; -}; - -®ulators { - status = "okay"; -}; - -&vregmain { - status = "okay"; - regulator-initial-mode = ; -}; - -&grtc { - owned-channels = <0 1 2 3 4 5 6 7 8 9 10 11>; - /* Channels 7-11 reserved for Zero Latency IRQs, 3-4 for FLPR */ - child-owned-channels = <3 4 7 8 9 10 11>; - status = "okay"; -}; - -&cpuapp_rram { - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - boot_partition: partition@0 { - label = "mcuboot"; - reg = <0x0 DT_SIZE_K(64)>; - }; - slot0_partition: partition@10000 { - label = "image-0"; - reg = <0x10000 DT_SIZE_K(324)>; - }; - slot0_ns_partition: partition@61000 { - label = "image-0-nonsecure"; - reg = <0x61000 DT_SIZE_K(324)>; - }; - slot1_partition: partition@b2000 { - label = "image-1"; - reg = <0xb2000 DT_SIZE_K(324)>; - }; - slot1_ns_partition: partition@103000 { - label = "image-1-nonsecure"; - reg = <0x103000 DT_SIZE_K(324)>; - }; - /* 32k from 0x154000 to 0x15bfff reserved for TF-M partitions */ - storage_partition: partition@15c000 { - label = "storage"; - reg = <0x15c000 DT_SIZE_K(36)>; - }; - }; -}; - -&uart20 { - status = "okay"; - hw-flow-control; -}; - -&gpio0 { - status = "okay"; -}; - -&gpio1 { - status = "okay"; -}; - -&gpio2 { - status = "okay"; -}; - -&gpiote20 { - status = "okay"; -}; - -&gpiote30 { - status = "okay"; -}; - -&radio { - status = "okay"; -}; - -&ieee802154 { - status = "okay"; -}; - -&temp { - status = "okay"; -}; - -&clock { - status = "okay"; -}; - -&spi00 { - status = "okay"; - cs-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>; - pinctrl-0 = <&spi00_default>; - pinctrl-1 = <&spi00_sleep>; - pinctrl-names = "default", "sleep"; - - mx25r64: mx25r6435f@0 { - compatible = "jedec,spi-nor"; - status = "disabled"; - reg = <0>; - spi-max-frequency = <8000000>; - jedec-id = [c2 28 17]; - sfdp-bfp = [ - e5 20 f1 ff ff ff ff 03 44 eb 08 6b 08 3b 04 bb - ee ff ff ff ff ff 00 ff ff ff 00 ff 0c 20 0f 52 - 10 d8 00 ff 23 72 f5 00 82 ed 04 cc 44 83 48 44 - 30 b0 30 b0 f7 c4 d5 5c 00 be 29 ff f0 d0 ff ff - ]; - size = <67108864>; - has-dpd; - t-enter-dpd = <10000>; - t-exit-dpd = <35000>; - }; -}; - -&adc { - status = "okay"; -}; diff --git a/boards/nordic/nrf54l15pdk/nrf54l15pdk_nrf54l15-common.dtsi b/boards/nordic/nrf54l15pdk/nrf54l15pdk_nrf54l15-common.dtsi deleted file mode 100644 index 9668cbe5bbf..00000000000 --- a/boards/nordic/nrf54l15pdk/nrf54l15pdk_nrf54l15-common.dtsi +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Copyright (c) 2024 Nordic Semiconductor ASA - * - * SPDX-License-Identifier: Apache-2.0 - */ - -#include "nrf54l15pdk_nrf54l15-pinctrl.dtsi" - -/ { - leds { - compatible = "gpio-leds"; - led0: led_0 { - gpios = <&gpio2 9 GPIO_ACTIVE_HIGH>; - label = "Green LED 0"; - }; - led1: led_1 { - gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>; - label = "Green LED 1"; - }; - led2: led_2 { - gpios = <&gpio2 7 GPIO_ACTIVE_HIGH>; - label = "Green LED 2"; - }; - led3: led_3 { - gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>; - label = "Green LED 3"; - }; - }; - - pwmleds { - compatible = "pwm-leds"; - /* - * PWM signal can be exposed on GPIO pin only within same domain. - * There is only one domain which contains both PWM and GPIO: - * PWM20/21/22 and GPIO Port P1. - * Only LEDs connected to P1 can work with PWM, for example LED1. - */ - pwm_led1: pwm_led_1 { - pwms = <&pwm20 0 PWM_MSEC(20) PWM_POLARITY_NORMAL>; - }; - }; - - buttons { - compatible = "gpio-keys"; - button0: button_0 { - gpios = <&gpio1 13 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>; - label = "Push button 0"; - zephyr,code = ; - }; - button1: button_1 { - gpios = <&gpio1 9 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>; - label = "Push button 1"; - zephyr,code = ; - }; - button2: button_2 { - gpios = <&gpio1 8 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>; - label = "Push button 2"; - zephyr,code = ; - }; - button3: button_3 { - gpios = <&gpio0 4 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>; - label = "Push button 3"; - zephyr,code = ; - }; - }; - - aliases { - led0 = &led0; - led1 = &led1; - led2 = &led2; - led3 = &led3; - pwm-led0 = &pwm_led1; - sw0 = &button0; - sw1 = &button1; - sw2 = &button2; - sw3 = &button3; - watchdog0 = &wdt31; - }; -}; - -&uart20 { - current-speed = <115200>; - pinctrl-0 = <&uart20_default>; - pinctrl-1 = <&uart20_sleep>; - pinctrl-names = "default", "sleep"; -}; - -&uart30 { - current-speed = <115200>; - pinctrl-0 = <&uart30_default>; - pinctrl-1 = <&uart30_sleep>; - pinctrl-names = "default", "sleep"; -}; - -&pwm20 { - status = "okay"; - pinctrl-0 = <&pwm20_default>; - pinctrl-1 = <&pwm20_sleep>; - pinctrl-names = "default", "sleep"; -}; diff --git a/boards/nordic/nrf54l15pdk/nrf54l15pdk_nrf54l15_common_0_2_1.dtsi b/boards/nordic/nrf54l15pdk/nrf54l15pdk_nrf54l15_common_0_2_1.dtsi deleted file mode 100644 index a37cf230966..00000000000 --- a/boards/nordic/nrf54l15pdk/nrf54l15pdk_nrf54l15_common_0_2_1.dtsi +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (c) 2024 Nordic Semiconductor ASA - * - * SPDX-License-Identifier: Apache-2.0 - */ - -&led0 { - gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>; -}; - -&led1 { - gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>; -}; - -&led2 { - gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>; -}; - -&led3 { - gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>; -}; - -&button0 { - gpios = <&gpio1 9 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>; -}; - -&button1 { - gpios = <&gpio1 10 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>; -}; - -&button2 { - gpios = <&gpio2 9 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>; -}; - -&button3 { - gpios = <&gpio2 10 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>; -}; - -&pinctrl { - /omit-if-no-ref/ pwm20_default: pwm20_default { - group1 { - psels = ; - }; - }; - - /omit-if-no-ref/ pwm20_sleep: pwm20_sleep { - group1 { - psels = ; - low-power-enable; - }; - }; -}; diff --git a/boards/nordic/nrf54l15pdk/nrf54l15pdk_nrf54l15_cpuapp.dts b/boards/nordic/nrf54l15pdk/nrf54l15pdk_nrf54l15_cpuapp.dts deleted file mode 100644 index 831479ea950..00000000000 --- a/boards/nordic/nrf54l15pdk/nrf54l15pdk_nrf54l15_cpuapp.dts +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright (c) 2024 Nordic Semiconductor ASA - * - * SPDX-License-Identifier: Apache-2.0 - */ - -/dts-v1/; - -#include "nrf54l15_cpuapp_common.dtsi" - -/ { - compatible = "nordic,nrf54l15pdk_nrf54l15-cpuapp"; - model = "Nordic nRF54L15 PDK nRF54L15 Application MCU"; - - chosen { - zephyr,code-partition = &slot0_partition; - zephyr,sram = &cpuapp_sram; - }; -}; diff --git a/boards/nordic/nrf54l15pdk/nrf54l15pdk_nrf54l15_cpuflpr.dts b/boards/nordic/nrf54l15pdk/nrf54l15pdk_nrf54l15_cpuflpr.dts deleted file mode 100644 index 2b80a45c4e1..00000000000 --- a/boards/nordic/nrf54l15pdk/nrf54l15pdk_nrf54l15_cpuflpr.dts +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright (c) 2024 Nordic Semiconductor ASA - * - * SPDX-License-Identifier: Apache-2.0 - */ - -/dts-v1/; -#include -#include "nrf54l15pdk_nrf54l15-common.dtsi" - -/ { - model = "Nordic nRF54L15 PDK nRF54L15 FLPR MCU"; - compatible = "nordic,nrf54l15pdk_nrf54l15-cpuflpr"; - - chosen { - zephyr,console = &uart30; - zephyr,shell-uart = &uart30; - zephyr,code-partition = &cpuflpr_code_partition; - zephyr,flash = &cpuflpr_rram; - zephyr,sram = &cpuflpr_sram; - }; -}; - -&cpuflpr_sram { - status = "okay"; - /* size must be increased due to booting from SRAM */ - reg = <0x20028000 DT_SIZE_K(96)>; - ranges = <0x0 0x20028000 0x18000>; -}; - -&cpuflpr_rram { - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - cpuflpr_code_partition: partition@0 { - label = "image-0"; - reg = <0x0 DT_SIZE_K(96)>; - }; - }; -}; - -&grtc { - owned-channels = <3 4>; - status = "okay"; -}; - -&uart30 { - status = "okay"; - hw-flow-control; -}; - -&gpio0 { - status = "okay"; -}; - -&gpio1 { - status = "okay"; -}; - -&gpio2 { - status = "okay"; -}; - -&gpiote20 { - status = "okay"; -}; - -&gpiote30 { - status = "okay"; -}; diff --git a/boards/nordic/nrf54l15pdk/nrf54l15pdk_nrf54l15_cpuflpr_defconfig b/boards/nordic/nrf54l15pdk/nrf54l15pdk_nrf54l15_cpuflpr_defconfig deleted file mode 100644 index 256ac9103b4..00000000000 --- a/boards/nordic/nrf54l15pdk/nrf54l15pdk_nrf54l15_cpuflpr_defconfig +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright (c) 2024 Nordic Semiconductor ASA -# SPDX-License-Identifier: Apache-2.0 - -# Enable UART driver -CONFIG_SERIAL=y - -# Enable console -CONFIG_CONSOLE=y -CONFIG_UART_CONSOLE=y - -# Enable GPIO -CONFIG_GPIO=y - -CONFIG_USE_DT_CODE_PARTITION=y - -# Execute from SRAM -CONFIG_XIP=n diff --git a/boards/nordic/nrf54l15pdk/nrf54l15pdk_nrf54l15_cpuflpr_xip.dts b/boards/nordic/nrf54l15pdk/nrf54l15pdk_nrf54l15_cpuflpr_xip.dts deleted file mode 100644 index cab0eab896e..00000000000 --- a/boards/nordic/nrf54l15pdk/nrf54l15pdk_nrf54l15_cpuflpr_xip.dts +++ /dev/null @@ -1,12 +0,0 @@ -/* - * Copyright (c) 2024 Nordic Semiconductor ASA - * - * SPDX-License-Identifier: Apache-2.0 - */ - -#include "nrf54l15pdk_nrf54l15_cpuflpr.dts" - -&cpuflpr_sram { - reg = <0x2002f000 DT_SIZE_K(68)>; - ranges = <0x0 0x2002f000 0x11000>; -}; diff --git a/boards/nordic/nrf54l15pdk/nrf54l15pdk_nrf54l15_cpuflpr_xip.yaml b/boards/nordic/nrf54l15pdk/nrf54l15pdk_nrf54l15_cpuflpr_xip.yaml deleted file mode 100644 index 156cbb6f8b4..00000000000 --- a/boards/nordic/nrf54l15pdk/nrf54l15pdk_nrf54l15_cpuflpr_xip.yaml +++ /dev/null @@ -1,18 +0,0 @@ -# Copyright (c) 2024 Nordic Semiconductor ASA -# SPDX-License-Identifier: Apache-2.0 - -identifier: nrf54l15pdk/nrf54l15/cpuflpr/xip -name: nRF54L15-PDK-nRF54L15-Fast-Lightweight-Peripheral-Processor (RRAM XIP) -type: mcu -arch: riscv -toolchain: - - zephyr -sysbuild: true -ram: 68 -flash: 96 -supported: - - counter - - gpio - - i2c - - spi - - watchdog diff --git a/boards/nordic/nrf54l15pdk/nrf54l15pdk_nrf54l15_cpuflpr_xip_defconfig b/boards/nordic/nrf54l15pdk/nrf54l15pdk_nrf54l15_cpuflpr_xip_defconfig deleted file mode 100644 index 0a436a648b4..00000000000 --- a/boards/nordic/nrf54l15pdk/nrf54l15pdk_nrf54l15_cpuflpr_xip_defconfig +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright (c) 2024 Nordic Semiconductor ASA -# SPDX-License-Identifier: Apache-2.0 - -# Enable UART driver -CONFIG_SERIAL=y - -# Enable console -CONFIG_CONSOLE=y -CONFIG_UART_CONSOLE=y - -# Enable GPIO -CONFIG_GPIO=y - -# Execute from RRAM -CONFIG_XIP=y diff --git a/boards/nordic/nrf54l20pdk/board.yml b/boards/nordic/nrf54l20pdk/board.yml index 717adf8e75e..4eaa66669fc 100644 --- a/boards/nordic/nrf54l20pdk/board.yml +++ b/boards/nordic/nrf54l20pdk/board.yml @@ -1,5 +1,6 @@ board: name: nrf54l20pdk + full_name: nRF54L20 PDK vendor: nordic socs: - name: nrf54l20 diff --git a/boards/nordic/nrf54l20pdk/nrf54l20_cpuapp_common.dtsi b/boards/nordic/nrf54l20pdk/nrf54l20_cpuapp_common.dtsi index cdf6d62a30a..ed9d76a6b19 100644 --- a/boards/nordic/nrf54l20pdk/nrf54l20_cpuapp_common.dtsi +++ b/boards/nordic/nrf54l20pdk/nrf54l20_cpuapp_common.dtsi @@ -18,7 +18,7 @@ zephyr,bt-c2h-uart = &uart20; zephyr,flash-controller = &rram_controller; zephyr,flash = &cpuapp_rram; - zephyr,bt-hci = &bt_hci_controller; + zephyr,bt-hci = &bt_hci_sdc; zephyr,ieee802154 = &ieee802154; }; }; @@ -108,7 +108,7 @@ status = "okay"; }; -&bt_hci_controller { +&bt_hci_sdc { status = "okay"; }; diff --git a/boards/nordic/nrf7002dk/Kconfig b/boards/nordic/nrf7002dk/Kconfig index 4bd84612e7a..1e2a7d09c93 100644 --- a/boards/nordic/nrf7002dk/Kconfig +++ b/boards/nordic/nrf7002dk/Kconfig @@ -23,8 +23,6 @@ config HEAP_MEM_POOL_ADD_SIZE_BOARD config BOARD_ENABLE_CPUNET bool "nRF53 Network MCU" - select SOC_NRF_GPIO_FORWARDER_FOR_NRF5340 if \ - $(dt_compat_enabled,$(DT_COMPAT_NORDIC_NRF_GPIO_FORWARDER)) help This option enables releasing the Network 'force off' signal, which as a consequence will power up the Network MCU during system boot. diff --git a/boards/nordic/nrf7002dk/board.yml b/boards/nordic/nrf7002dk/board.yml index ca94d73429e..39db5dcfa3a 100644 --- a/boards/nordic/nrf7002dk/board.yml +++ b/boards/nordic/nrf7002dk/board.yml @@ -1,5 +1,6 @@ board: name: nrf7002dk + full_name: nRF7002 DK vendor: nordic socs: - name: nrf5340 diff --git a/boards/nordic/nrf7002dk/nrf5340_cpuapp_common.dtsi b/boards/nordic/nrf7002dk/nrf5340_cpuapp_common.dtsi index ce11dbcb61d..cff6e54fd5d 100644 --- a/boards/nordic/nrf7002dk/nrf5340_cpuapp_common.dtsi +++ b/boards/nordic/nrf7002dk/nrf5340_cpuapp_common.dtsi @@ -173,7 +173,6 @@ arduino_i2c: &i2c1 { cs-gpios = <&gpio0 11 GPIO_ACTIVE_LOW>; mx25r64: mx25r6435f@0 { compatible = "jedec,spi-nor"; - status = "disabled"; reg = <0>; spi-max-frequency = <33000000>; jedec-id = [c2 28 17]; diff --git a/boards/nordic/nrf7002dk/nrf7002dk_nrf5340_cpuapp.dts b/boards/nordic/nrf7002dk/nrf7002dk_nrf5340_cpuapp.dts index fbe74a82224..9b62eafea17 100644 --- a/boards/nordic/nrf7002dk/nrf7002dk_nrf5340_cpuapp.dts +++ b/boards/nordic/nrf7002dk/nrf7002dk_nrf5340_cpuapp.dts @@ -32,7 +32,6 @@ qspi-quad-mode; #include "nrf70_common.dtsi" - #include "nrf70_common_coex.dtsi" #include "nrf70_common_5g.dtsi" }; }; diff --git a/boards/nordic/nrf7002dk/nrf7002dk_nrf5340_cpuapp_nrf7001.dts b/boards/nordic/nrf7002dk/nrf7002dk_nrf5340_cpuapp_nrf7001.dts index 1d78dddbe68..8d955c67fc7 100644 --- a/boards/nordic/nrf7002dk/nrf7002dk_nrf5340_cpuapp_nrf7001.dts +++ b/boards/nordic/nrf7002dk/nrf7002dk_nrf5340_cpuapp_nrf7001.dts @@ -32,6 +32,5 @@ qspi-quad-mode; #include "nrf70_common.dtsi" - #include "nrf70_common_coex.dtsi" }; }; diff --git a/boards/nordic/nrf7002dk/nrf7002dk_nrf5340_cpuapp_nrf7001_ns.dts b/boards/nordic/nrf7002dk/nrf7002dk_nrf5340_cpuapp_nrf7001_ns.dts index cbbd46dff8b..5ff28accf3f 100644 --- a/boards/nordic/nrf7002dk/nrf7002dk_nrf5340_cpuapp_nrf7001_ns.dts +++ b/boards/nordic/nrf7002dk/nrf7002dk_nrf5340_cpuapp_nrf7001_ns.dts @@ -35,6 +35,5 @@ qspi-quad-mode; #include "nrf70_common.dtsi" - #include "nrf70_common_coex.dtsi" }; }; diff --git a/boards/nordic/nrf7002dk/nrf7002dk_nrf5340_cpuapp_ns.dts b/boards/nordic/nrf7002dk/nrf7002dk_nrf5340_cpuapp_ns.dts index ed219384795..0deb8ccc1bf 100644 --- a/boards/nordic/nrf7002dk/nrf7002dk_nrf5340_cpuapp_ns.dts +++ b/boards/nordic/nrf7002dk/nrf7002dk_nrf5340_cpuapp_ns.dts @@ -35,7 +35,6 @@ qspi-quad-mode; #include "nrf70_common.dtsi" - #include "nrf70_common_coex.dtsi" #include "nrf70_common_5g.dtsi" }; }; diff --git a/boards/nordic/nrf7002dk/nrf7002dk_nrf5340_cpunet.dts b/boards/nordic/nrf7002dk/nrf7002dk_nrf5340_cpunet.dts index 823c9fafacb..faea5ee69e3 100644 --- a/boards/nordic/nrf7002dk/nrf7002dk_nrf5340_cpunet.dts +++ b/boards/nordic/nrf7002dk/nrf7002dk_nrf5340_cpunet.dts @@ -82,11 +82,14 @@ <21 0 &gpio1 3 0>; /* D15 */ }; - nrf70: coex { + nrf_radio_coex: coex { status = "okay"; - compatible = "nordic,nrf70-coex"; + compatible = "nordic,nrf7002-coex"; - #include "nrf70_common_coex.dtsi" + req-gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>; + status0-gpios = <&gpio0 30 GPIO_ACTIVE_HIGH>; + grant-gpios = <&gpio0 24 (GPIO_PULL_DOWN | GPIO_ACTIVE_LOW)>; + swctrl1-gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>; }; /* These aliases are provided for compatibility with samples */ diff --git a/boards/nordic/nrf7002dk/nrf70_common.dtsi b/boards/nordic/nrf7002dk/nrf70_common.dtsi index f40f8ad9bb7..cd9cd23bb89 100644 --- a/boards/nordic/nrf7002dk/nrf70_common.dtsi +++ b/boards/nordic/nrf7002dk/nrf70_common.dtsi @@ -7,6 +7,7 @@ iovdd-ctrl-gpios = <&gpio0 31 GPIO_ACTIVE_HIGH>; bucken-gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>; host-irq-gpios = <&gpio0 23 GPIO_ACTIVE_HIGH>; +srrf-switch-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>; wifi-max-tx-pwr-2g-dsss = <21>; wifi-max-tx-pwr-2g-mcs0 = <16>; diff --git a/boards/nordic/nrf7002dk/nrf70_common_coex.dtsi b/boards/nordic/nrf7002dk/nrf70_common_coex.dtsi deleted file mode 100644 index 03f22c3edba..00000000000 --- a/boards/nordic/nrf7002dk/nrf70_common_coex.dtsi +++ /dev/null @@ -1,11 +0,0 @@ -/* - * Copyright (c) 2024 Nordic Semiconductor ASA - * - * SPDX-License-Identifier: Apache-2.0 - */ - -req-gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>; -status0-gpios = <&gpio0 30 GPIO_ACTIVE_HIGH>; -grant-gpios = <&gpio0 24 (GPIO_PULL_DOWN | GPIO_ACTIVE_LOW)>; -swctrl1-gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>; -srrf-switch-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>; diff --git a/boards/nordic/nrf9131ek/Kconfig.defconfig b/boards/nordic/nrf9131ek/Kconfig.defconfig index b63e7ef8d34..8e0e1d02d1d 100644 --- a/boards/nordic/nrf9131ek/Kconfig.defconfig +++ b/boards/nordic/nrf9131ek/Kconfig.defconfig @@ -5,6 +5,21 @@ if BOARD_NRF9131EK_NRF9131 || BOARD_NRF9131EK_NRF9131_NS +# By default, if we build for a Non-Secure version of the board, +# enable building with TF-M as the Secure Execution Environment. +config BUILD_WITH_TFM + default y if BOARD_NRF9131EK_NRF9131_NS + +if BUILD_WITH_TFM + +# By default, if we build with TF-M, instruct build system to +# flash the combined TF-M (Secure) & Zephyr (Non Secure) image +config TFM_FLASH_MERGED_BINARY + bool + default y + +endif # BUILD_WITH_TFM + # For the secure version of the board the firmware is linked at the beginning # of the flash, or into the code-partition defined in DT if it is intended to # be loaded by MCUboot. If the secure firmware is to be combined with a non- diff --git a/boards/nordic/nrf9131ek/board.yml b/boards/nordic/nrf9131ek/board.yml index 246aef6f4e3..6e91098f63b 100644 --- a/boards/nordic/nrf9131ek/board.yml +++ b/boards/nordic/nrf9131ek/board.yml @@ -1,5 +1,6 @@ board: name: nrf9131ek + full_name: nRF9131 EK vendor: nordic socs: - name: nrf9131 diff --git a/boards/nordic/nrf9151dk/board.yml b/boards/nordic/nrf9151dk/board.yml index f765134a460..468b8f0fa2a 100644 --- a/boards/nordic/nrf9151dk/board.yml +++ b/boards/nordic/nrf9151dk/board.yml @@ -1,5 +1,6 @@ board: name: nrf9151dk + full_name: nRF9151 DK vendor: nordic socs: - name: nrf9151 diff --git a/boards/nordic/nrf9160dk/board.c b/boards/nordic/nrf9160dk/board.c index adf137df196..c8e680c4539 100644 --- a/boards/nordic/nrf9160dk/board.c +++ b/boards/nordic/nrf9160dk/board.c @@ -32,7 +32,7 @@ LOG_MODULE_REGISTER(board_control, CONFIG_BOARD_NRF9160DK_LOG_LEVEL); GET_PORT(reset_input, gpios, 0) == 0 && \ GET_PIN(reset_input, gpios, 0) == 18) #define USE_RESET_GPIO \ - (DT_NODE_HAS_STATUS(DT_NODELABEL(reset_input), okay) && \ + (DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(reset_input)) && \ !RESET_INPUT_IS_PINRESET) struct switch_cfg { @@ -47,7 +47,7 @@ struct switch_cfg { #endif }; -#define ROUTING_ENABLED(_name) DT_NODE_HAS_STATUS(DT_NODELABEL(_name), okay) +#define ROUTING_ENABLED(_name) DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(_name)) #define SWITCH_CFG(_name, _idx) \ { \ .gpio = GET_DEV(_name, control_gpios, _idx), \ diff --git a/boards/nordic/nrf9160dk/board.yml b/boards/nordic/nrf9160dk/board.yml index 5e6dcfad89b..1f043a0af8c 100644 --- a/boards/nordic/nrf9160dk/board.yml +++ b/boards/nordic/nrf9160dk/board.yml @@ -1,5 +1,6 @@ board: name: nrf9160dk + full_name: nRF9160 DK vendor: nordic socs: - name: nrf9160 diff --git a/boards/nordic/nrf9160dk/nrf52840_reset.c b/boards/nordic/nrf9160dk/nrf52840_reset.c index e639b5765b7..aa9f9d4b620 100644 --- a/boards/nordic/nrf9160dk/nrf52840_reset.c +++ b/boards/nordic/nrf9160dk/nrf52840_reset.c @@ -12,7 +12,7 @@ #define RESET_NODE DT_NODELABEL(nrf52840_reset) -#if DT_NODE_HAS_STATUS(RESET_NODE, okay) +#if DT_NODE_HAS_STATUS_OKAY(RESET_NODE) #define RESET_GPIO_CTRL DT_GPIO_CTLR(RESET_NODE, gpios) #define RESET_GPIO_PIN DT_GPIO_PIN(RESET_NODE, gpios) @@ -65,4 +65,4 @@ int bt_hci_transport_setup(const struct device *h4) return 0; } -#endif /* DT_NODE_HAS_STATUS(RESET_NODE, okay) */ +#endif /* DT_NODE_HAS_STATUS_OKAY(RESET_NODE) */ diff --git a/boards/nordic/nrf9161dk/board.yml b/boards/nordic/nrf9161dk/board.yml index 9bffcec81a6..da9bafb11d0 100644 --- a/boards/nordic/nrf9161dk/board.yml +++ b/boards/nordic/nrf9161dk/board.yml @@ -1,5 +1,6 @@ board: name: nrf9161dk + full_name: nRF9161 DK vendor: nordic socs: - name: nrf9161 diff --git a/boards/nordic/nrf9280pdk/board.yml b/boards/nordic/nrf9280pdk/board.yml index 450ef9db901..963eae59ba0 100644 --- a/boards/nordic/nrf9280pdk/board.yml +++ b/boards/nordic/nrf9280pdk/board.yml @@ -1,5 +1,6 @@ board: name: nrf9280pdk + full_name: nRF9280 PDK vendor: nordic socs: - name: nrf9280 diff --git a/boards/nordic/nrf9280pdk/nrf9280pdk_nrf9280-ipc_conf.dtsi b/boards/nordic/nrf9280pdk/nrf9280pdk_nrf9280-ipc_conf.dtsi index 944dd7fb6ab..0588e8d0801 100644 --- a/boards/nordic/nrf9280pdk/nrf9280pdk_nrf9280-ipc_conf.dtsi +++ b/boards/nordic/nrf9280pdk/nrf9280pdk_nrf9280-ipc_conf.dtsi @@ -9,6 +9,7 @@ cpusec_cpuapp_ipc: ipc-1-2 { compatible = "zephyr,ipc-icmsg"; status = "disabled"; + dcache-alignment = <32>; mboxes = <&cpusec_bellboard 12>, <&cpuapp_bellboard 0>; }; @@ -16,12 +17,14 @@ cpusec_cpurad_ipc: ipc-1-3 { compatible = "zephyr,ipc-icmsg"; status = "disabled"; + dcache-alignment = <32>; mboxes = <&cpusec_bellboard 18>, <&cpurad_bellboard 0>; }; cpuapp_cpurad_ipc: ipc-2-3 { compatible = "zephyr,ipc-icbmsg"; + dcache-alignment = <32>; status = "disabled"; mboxes = <&cpuapp_bellboard 18>, <&cpurad_bellboard 12>; @@ -30,6 +33,7 @@ cpuapp_cpusys_ipc: ipc-2-12 { compatible = "zephyr,ipc-icmsg"; status = "disabled"; + dcache-alignment = <32>; mboxes = <&cpuapp_bellboard 6>, <&cpusys_vevif 12>; }; @@ -37,6 +41,7 @@ cpuapp_cpuppr_ipc: ipc-2-13 { compatible = "zephyr,ipc-icmsg"; status = "disabled"; + dcache-alignment = <32>; mboxes = <&cpuapp_bellboard 13>, <&cpuppr_vevif 12>; }; @@ -44,6 +49,7 @@ cpurad_cpusys_ipc: ipc-3-12 { compatible = "zephyr,ipc-icmsg"; status = "disabled"; + dcache-alignment = <32>; mboxes = <&cpurad_bellboard 6>, <&cpusys_vevif 18>; }; diff --git a/boards/nordic/nrf9280pdk/nrf9280pdk_nrf9280-memory_map.dtsi b/boards/nordic/nrf9280pdk/nrf9280pdk_nrf9280-memory_map.dtsi index 78e3be8825f..0127998509e 100644 --- a/boards/nordic/nrf9280pdk/nrf9280pdk_nrf9280-memory_map.dtsi +++ b/boards/nordic/nrf9280pdk/nrf9280pdk_nrf9280-memory_map.dtsi @@ -15,9 +15,7 @@ compatible = "nordic,owned-memory"; reg = <0x2f011000 DT_SIZE_K(4)>; status = "disabled"; - perm-read; - perm-write; - perm-secure; + nordic,access = ; #address-cells = <1>; #size-cells = <1>; ranges = <0x0 0x2f011000 0x1000>; @@ -35,9 +33,7 @@ compatible = "nordic,owned-memory"; reg = <0x2f012000 DT_SIZE_K(516)>; status = "disabled"; - perm-read; - perm-write; - perm-secure; + nordic,access = ; #address-cells = <1>; #size-cells = <1>; ranges = <0x0 0x2f012000 0x81000>; @@ -59,8 +55,8 @@ compatible = "nordic,owned-memory"; reg = <0x2f0cf000 DT_SIZE_K(4)>; status = "disabled"; - perm-read; - perm-write; + nordic,access = , + ; #address-cells = <1>; #size-cells = <1>; ranges = <0x0 0x2f0cf000 0x1000>; @@ -75,8 +71,11 @@ }; cpuapp_cpucell_ram0x_region: memory@2f0d0000 { + compatible = "nordic,owned-memory"; reg = <0x2f0d0000 DT_SIZE_K(36)>; status = "disabled"; + nordic,access = , + ; #address-cells = <1>; #size-cells = <1>; ranges = <0x0 0x2f0d0000 0x9000>; @@ -99,61 +98,27 @@ }; }; - /* Shared memory ownership. - * TODO: - * remove these two after https://github.com/zephyrproject-rtos/zephyr/pull/72273 - * and let cpuapp_cpucell_ram0x_region use the `access` binding to describe - * the shared memory ownership. - */ - - cpuapp_cpucell_ipc_shm: memory@2 { - compatible = "nordic,owned-memory"; - reg = <0x2f0d0000 DT_SIZE_K(36)>; - owner-id = <2>; - perm-read; - perm-write; - status = "disabled"; + cpuapp_cpusys_ipc_shm: memory@2f88fce0 { + reg = <0x2f88fce0 0x80>; }; - cpucell_cpuapp_ipc_shm: memory@4 { - compatible = "nordic,owned-memory"; - reg = <0x2f0d0000 DT_SIZE_K(36)>; - owner-id = <4>; - perm-read; - perm-write; - status = "disabled"; + cpusys_cpuapp_ipc_shm: memory@2f88fd60 { + reg = <0x2f88fd60 0x80>; }; - shared_ram20_region: memory@2f88f000 { - reg = <0x2f88f000 DT_SIZE_K(4)>; - #address-cells = <1>; - #size-cells = <1>; - ranges = <0x0 0x2f88f000 0x1000>; - - cpuapp_cpusys_ipc_shm: memory@ce0 { - reg = <0xce0 0x80>; - }; - - cpusys_cpuapp_ipc_shm: memory@d60 { - reg = <0xd60 0x80>; - }; - - cpurad_cpusys_ipc_shm: memory@e00 { - reg = <0xe00 0x80>; - }; + cpurad_cpusys_ipc_shm: memory@2f88fe00 { + reg = <0x2f88fe00 0x80>; + }; - cpusys_cpurad_ipc_shm: memory@e80 { - reg = <0xe80 0x80>; - }; + cpusys_cpurad_ipc_shm: memory@2f88fe80 { + reg = <0x2f88fe80 0x80>; }; ram21_region: memory@2f890000 { compatible = "nordic,owned-memory"; status = "disabled"; reg = <0x2f890000 DT_SIZE_K(32)>; - perm-read; - perm-write; - perm-secure; + nordic,access = ; #address-cells = <1>; #size-cells = <1>; ranges = <0x0 0x2f890000 0x8000>; @@ -172,9 +137,7 @@ compatible = "nordic,owned-memory"; reg = <0x2fc00000 DT_SIZE_K(24)>; status = "disabled"; - perm-read; - perm-write; - perm-execute; + nordic,access = ; #address-cells = <1>; #size-cells = <1>; ranges = <0x0 0x2fc00000 0x6000>; @@ -192,33 +155,24 @@ }; }; - shared_ram3x_region: memory@2fc06000 { - compatible = "nordic,owned-memory"; - reg = <0x2fc06000 DT_SIZE_K(8)>; + cpuapp_dma_region: memory@2fc06000 { + compatible = "nordic,owned-memory", "zephyr,memory-region"; + reg = <0x2fc06000 DT_SIZE_K(4)>; status = "disabled"; - perm-read; - perm-write; - #address-cells = <1>; - #size-cells = <1>; - ranges = <0x0 0x2fc06000 0x4000>; - - cpuapp_dma_region: memory@0 { - compatible = "zephyr,memory-region"; - reg = <0x0 DT_SIZE_K(4)>; - status = "disabled"; - #memory-region-cells = <0>; - zephyr,memory-region = "DMA_RAM3x_APP"; - zephyr,memory-attr = <( DT_MEM_DMA )>; - }; + #memory-region-cells = <0>; + nordic,access = ; + zephyr,memory-region = "DMA_RAM3x_APP"; + zephyr,memory-attr = <( DT_MEM_DMA )>; + }; - cpurad_dma_region: memory@1000 { - compatible = "zephyr,memory-region"; - reg = <0x1000 0x80>; - status = "disabled"; - #memory-region-cells = <0>; - zephyr,memory-region = "DMA_RAM3x_RAD"; - zephyr,memory-attr = <( DT_MEM_DMA )>; - }; + cpurad_dma_region: memory@2fc07000 { + compatible = "nordic,owned-memory", "zephyr,memory-region"; + reg = <0x2fc07000 DT_SIZE_K(1)>; + status = "disabled"; + #memory-region-cells = <0>; + nordic,access = ; + zephyr,memory-region = "DMA_RAM3x_RAD"; + zephyr,memory-attr = <( DT_MEM_DMA )>; }; }; }; @@ -227,9 +181,7 @@ cpurad_rx_partitions: cpurad-rx-partitions { compatible = "nordic,owned-partitions", "fixed-partitions"; status = "disabled"; - perm-read; - perm-execute; - perm-secure; + nordic,access = ; #address-cells = <1>; #size-cells = <1>; @@ -241,9 +193,7 @@ cpuapp_rx_partitions: cpuapp-rx-partitions { compatible = "nordic,owned-partitions", "fixed-partitions"; status = "disabled"; - perm-read; - perm-execute; - perm-secure; + nordic,access = ; #address-cells = <1>; #size-cells = <1>; @@ -259,9 +209,7 @@ cpuapp_rw_partitions: cpuapp-rw-partitions { compatible = "nordic,owned-partitions", "fixed-partitions"; status = "disabled"; - perm-read; - perm-write; - perm-secure; + nordic,access = ; #address-cells = <1>; #size-cells = <1>; diff --git a/boards/nordic/nrf9280pdk/nrf9280pdk_nrf9280-pinctrl.dtsi b/boards/nordic/nrf9280pdk/nrf9280pdk_nrf9280-pinctrl.dtsi index 48067a7052c..143fd45f33e 100644 --- a/boards/nordic/nrf9280pdk/nrf9280pdk_nrf9280-pinctrl.dtsi +++ b/boards/nordic/nrf9280pdk/nrf9280pdk_nrf9280-pinctrl.dtsi @@ -54,12 +54,37 @@ /omit-if-no-ref/ exmif_default: exmif_default { group1 { psels = , + , + , , - ; + , + , + , + , + , + , + ; nordic,drive-mode = ; }; }; + /omit-if-no-ref/ exmif_sleep: exmif_sleep { + group1 { + low-power-enable; + psels = , + , + , + , + , + , + , + , + , + , + ; + }; + }; + /omit-if-no-ref/ can120_default: can120_default { group1 { psels = , diff --git a/boards/nordic/nrf9280pdk/nrf9280pdk_nrf9280_cpuapp.dts b/boards/nordic/nrf9280pdk/nrf9280pdk_nrf9280_cpuapp.dts index ceb4ddc3ff1..043f6f64f87 100644 --- a/boards/nordic/nrf9280pdk/nrf9280pdk_nrf9280_cpuapp.dts +++ b/boards/nordic/nrf9280pdk/nrf9280pdk_nrf9280_cpuapp.dts @@ -28,6 +28,7 @@ zephyr,bt-hci = &bt_hci_ipc0; nordic,802154-spinel-ipc = &ipc0; zephyr,canbus = &can120; + zephyr,entropy = &prng; }; aliases { @@ -108,25 +109,18 @@ pwms = <&pwm130 0 PWM_MSEC(20) PWM_POLARITY_NORMAL>; }; }; -}; - -&cpuapp_ram0x_region { - status = "okay"; -}; - -&cpuapp_cpurad_ram0x_region { - status = "okay"; -}; -&cpuapp_cpucell_ipc_shm { - status = "okay"; + prng: prng { + compatible = "nordic,entropy-prng"; + status = "okay"; + }; }; -&cpucell_cpuapp_ipc_shm { +&cpuapp_ram0x_region { status = "okay"; }; -&shared_ram3x_region { +&cpuapp_cpucell_ram0x_region { status = "okay"; }; @@ -252,7 +246,6 @@ ipc0: &cpuapp_cpurad_ipc { pinctrl-0 = <&uart136_default>; pinctrl-1 = <&uart136_sleep>; pinctrl-names = "default", "sleep"; - hw-flow-control; }; &gpio6 { @@ -260,15 +253,15 @@ ipc0: &cpuapp_cpurad_ipc { }; &exmif { - cs-gpios = <&gpio6 3 GPIO_ACTIVE_LOW>; pinctrl-0 = <&exmif_default>; - pinctrl-names = "default"; + pinctrl-1 = <&exmif_sleep>; + pinctrl-names = "default", "sleep"; status = "okay"; + mx25uw63: mx25uw6345g@0 { - compatible = "jedec,spi-nor"; + compatible = "jedec,mspi-nor"; status = "disabled"; reg = <0>; - spi-max-frequency = ; jedec-id = [c2 84 37]; sfdp-bfp = [ e5 20 8a ff ff ff ff 03 00 ff 00 ff 00 ff 00 ff @@ -281,6 +274,15 @@ ipc0: &cpuapp_cpurad_ipc { has-dpd; t-enter-dpd = <10000>; t-exit-dpd = <30000>; + reset-gpios = <&gpio6 12 GPIO_ACTIVE_LOW>; + + mspi-max-frequency = ; + mspi-io-mode = "MSPI_IO_MODE_OCTAL"; + mspi-data-rate = "MSPI_DATA_RATE_SINGLE"; + mspi-hardware-ce-num = <1>; + mspi-cpp-mode = "MSPI_CPP_MODE_0"; + mspi-endian = "MSPI_BIG_ENDIAN"; + mspi-ce-polarity = "MSPI_CE_ACTIVE_LOW"; }; }; diff --git a/boards/nordic/nrf9280pdk/nrf9280pdk_nrf9280_cpuppr.dts b/boards/nordic/nrf9280pdk/nrf9280pdk_nrf9280_cpuppr.dts index 5da976ef70d..10942796ff3 100644 --- a/boards/nordic/nrf9280pdk/nrf9280pdk_nrf9280_cpuppr.dts +++ b/boards/nordic/nrf9280pdk/nrf9280pdk_nrf9280_cpuppr.dts @@ -49,7 +49,6 @@ pinctrl-0 = <&uart135_default>; pinctrl-1 = <&uart135_sleep>; pinctrl-names = "default", "sleep"; - hw-flow-control; }; &uart136 { diff --git a/boards/nordic/nrf9280pdk/nrf9280pdk_nrf9280_cpurad.dts b/boards/nordic/nrf9280pdk/nrf9280pdk_nrf9280_cpurad.dts index 1235f53df2b..f1f3af54132 100644 --- a/boards/nordic/nrf9280pdk/nrf9280pdk_nrf9280_cpurad.dts +++ b/boards/nordic/nrf9280pdk/nrf9280pdk_nrf9280_cpurad.dts @@ -28,6 +28,11 @@ zephyr,ieee802154 = &cpurad_ieee802154; zephyr,bt-hci-ipc = &ipc0; nordic,802154-spinel-ipc = &ipc0; + zephyr,entropy = &prng; + }; + prng: prng { + compatible = "nordic,entropy-prng"; + status = "okay"; }; aliases { ipc-to-cpusys = &cpurad_cpusys_ipc; @@ -35,10 +40,6 @@ }; }; -&shared_ram3x_region { - status = "okay"; -}; - &cpuapp_cpurad_ram0x_region { status = "okay"; }; @@ -104,7 +105,6 @@ ipc0: &cpuapp_cpurad_ipc { pinctrl-0 = <&uart135_default>; pinctrl-1 = <&uart135_sleep>; pinctrl-names = "default", "sleep"; - hw-flow-control; }; &uart136 { diff --git a/boards/nordic/nrf9280pdk/support/nrf9280_cpuapp.JLinkScript b/boards/nordic/nrf9280pdk/support/nrf9280_cpuapp.JLinkScript index ffa1beed1ed..5791a7bed9b 100644 --- a/boards/nordic/nrf9280pdk/support/nrf9280_cpuapp.JLinkScript +++ b/boards/nordic/nrf9280pdk/support/nrf9280_cpuapp.JLinkScript @@ -1,29 +1,248 @@ +// Constants specific to the application core +__constant U32 _CPUCONF_ADDR = 0x52011000; +__constant U32 _PROCESSOR_ID = 2; +__constant U32 _DOMAIN_ID = 2; +__constant U32 _NUM_OTHER_PROCESSORS = 2; +const U32 _OTHER_PROCESSOR_IDS[2] = {4, 3}; + // Debug Halting Control and Status Register -__constant U32 _DHCSR_ADDR = 0xE000EDF0; -__constant U32 _DHCSR_DBGKEY = (0xA05F << 16); -__constant U32 _DHCSR_C_DEBUGEN = (1 << 0); -__constant U32 _DHCSR_C_HALT = (1 << 1); +__constant U32 _DHCSR_ADDR = 0xE000EDF0; +__constant U32 _DHCSR_DBGKEY = (0xA05F << 16); +__constant U32 _DHCSR_C_DEBUGEN = (1 << 0); +__constant U32 _DHCSR_C_HALT = (1 << 1); // Debug Exception and Monitor Control Register -__constant U32 _DEMCR_ADDR = 0xE000EDFC; -__constant U32 _DEMCR_VC_CORERESET = (1 << 0); -__constant U32 _DEMCR_TRCENA = (1 << 24); +__constant U32 _DEMCR_ADDR = 0xE000EDFC; +__constant U32 _DEMCR_VC_CORERESET = (1 << 0); +__constant U32 _DEMCR_TRCENA = (1 << 24); // CPU wait enable register -__constant U32 _CPUCONF_CPUWAIT_ADDR = 0x5201150C; +__constant U32 _CPUCONF_CPUWAIT_OFFSET = 0x50C; + +// CTRL-AP +__constant U32 _CTRLAP_ID = 4; +__constant U32 _CTRLAP_READY_BANK = 0; +__constant U32 _CTRLAP_READY_OFFSET = 1; +__constant U32 _CTRLAP_READY = 0; +__constant U32 _CTRLAP_MAILBOX_BANK = 1; +__constant U32 _CTRLAP_MAILBOX_TXDATA_OFFSET = 0; +__constant U32 _CTRLAP_MAILBOX_TXSTATUS_OFFSET = 1; +__constant U32 _CTRLAP_MAILBOX_RXDATA_OFFSET = 2; +__constant U32 _CTRLAP_MAILBOX_RXSTATUS_OFFSET = 3; +__constant U32 _CTRLAP_MAILBOX_NO_DATA_PENDING = 0; +__constant U32 _CTRLAP_MAILBOX_DATA_PENDING = 1; +__constant int _CTRLAP_TIMEOUT_MS = 500; + +// ADAC transaction buffers +static U32 _adacTx[20]; +static U32 _adacRx[20]; + +// Failed to send to the CTRL-AP MAILBOX +__constant int _ERR_TX = -1; +// Failed to receive from the CTRL-AP MAILBOX +__constant int _ERR_RX = -2; +// ADAC command returned an error +__constant int _ERR_REPLY = -3; + +// Wait for an AP register read to return the expected value. +int _WaitForDataStatus(U32 regOffset, int expectedStatus) +{ + int status; + int ret; + int start; + int elapsed; + + status = 0; + start = JLINK_GetTime(); + elapsed = 0; + + do { + ret = JLINK_CORESIGHT_ReadDAP(regOffset, 1, &status); + elapsed = JLINK_GetTime() - start; + } while ((ret < 0 || status != expectedStatus) && (elapsed < _CTRLAP_TIMEOUT_MS)); + + if (ret < 0) { + return ret; + } + + return status; +} + +// Continuously read from the CTRL-AP MAILBOX until there is no more pending data. +void _DrainMailbox(void) +{ + int ret; + int status; + int data; + + ret = JLINK_CORESIGHT_ReadDAP(_CTRLAP_MAILBOX_RXSTATUS_OFFSET, 1, &status); + while (ret >= 0 && status == _CTRLAP_MAILBOX_DATA_PENDING) { + JLINK_CORESIGHT_ReadDAP(_CTRLAP_MAILBOX_RXDATA_OFFSET, 1, &data); + ret = JLINK_CORESIGHT_ReadDAP(_CTRLAP_MAILBOX_RXSTATUS_OFFSET, 1, &status); + } +} + +// Perform an ADAC transaction by: +// * writing the given sequence of words to MAILBOX.TXDATATA, waiting for MAILBOX.TXSTATUS +// readiness before each write. +// * reading a sequence of words from MAILBOX.RXDATA, waiting for MAILBOX.RXSTATUS readiness before +// each read. +// +// The message to send is read from _adacTx and the reply is written to _adacRx. +// Optionally checks if a single data word is returned and returns an error if it is non-zero. +// +// Assumes that the correct AP and AP bank for CTRL-AP MAILBOX has been selected in the DP. +int _DoAdacTransaction(int checkReplyStatus) +{ + int numWords; + int ret; + int data; + int i; + + i = 0; + numWords = 2 + (_adacTx[1] >> 2); // Length based on the length field of the message + + while (i < numWords) { + ret = _WaitForDataStatus(_CTRLAP_MAILBOX_TXSTATUS_OFFSET, + _CTRLAP_MAILBOX_NO_DATA_PENDING); + if (ret != _CTRLAP_MAILBOX_NO_DATA_PENDING) { + JLINK_SYS_Report1("Timed out waiting for CTRL-AP TX readiness - result: ", + ret); + return _ERR_TX; + } + + ret = JLINK_CORESIGHT_WriteDAP(_CTRLAP_MAILBOX_TXDATA_OFFSET, 1, _adacTx[i]); + if (ret < 0) { + JLINK_SYS_Report1("Failed to write CTRL-AP TX data - result: ", ret); + return _ERR_TX; + } + + i += 1; + } + + i = 0; + numWords = 2; // Minimum message length + + while (i < numWords) { + ret = _WaitForDataStatus(_CTRLAP_MAILBOX_RXSTATUS_OFFSET, + _CTRLAP_MAILBOX_DATA_PENDING); + if (ret != _CTRLAP_MAILBOX_DATA_PENDING) { + JLINK_SYS_Report1("Timed out waiting for CTRL-AP RX data - result: ", ret); + return _ERR_RX; + } + + ret = JLINK_CORESIGHT_ReadDAP(_CTRLAP_MAILBOX_RXDATA_OFFSET, 1, &data); + if (ret < 0) { + JLINK_SYS_Report1("Failed to read CTRL-AP RX data - result: ", ret); + return _ERR_RX; + } + + if (i == 1) { + // Update total length based on the message length field + numWords = 2 + (data >> 2); + } + + _adacRx[i] = data; + i += 1; + } + + if (checkReplyStatus && _adacRx[1] == 4 && _adacRx[2] != 0) { + JLINK_SYS_Report1("ADAC command failed with status: ", _adacRx[2]); + return _ERR_REPLY; + } + + return 0; +} + +int ResetTarget(void) +{ + int err; + U32 adacMajorVersion; + U32 i; + + // Select CTRL-AP bank 0, used for the READY register + JLINK_CORESIGHT_WriteDAP(JLINK_CORESIGHT_DP_REG_SELECT, 0, + (_CTRLAP_ID << 24) | (_CTRLAP_READY_BANK << 4)); + + // Wait for the READY register to indicate that the AP can be used. + err = _WaitForDataStatus(_CTRLAP_READY_OFFSET, _CTRLAP_READY); + if (err < 0) { + JLINK_SYS_Report1("Timed out waiting for CTRL-AP readiness - result: ", err); + return -1; + } + + // Select CTRL-AP bank 1, used for the MAILBOX registers for ADAC communication + JLINK_CORESIGHT_WriteDAP(JLINK_CORESIGHT_DP_REG_SELECT, 0, + (_CTRLAP_ID << 24) | (_CTRLAP_MAILBOX_BANK << 4)); + + // Extract any pre-existing data from the mailbox in case there was previously + // an aborted transaction. + _DrainMailbox(); + + // Read the ADAC version + _adacTx[0] = 0xA3000000; // Command VERSION + _adacTx[1] = 0x00000004; // Data length 4 bytes + _adacTx[2] = 0x00000000; // Type 0 (ADAC version) + err = _DoAdacTransaction(0); + if (err < 0) { + return -1; + } + + adacMajorVersion = (_adacRx[2] >> 24) & 0xff; + JLINK_SYS_Report1("ADAC major version: ", adacMajorVersion); + + if (adacMajorVersion >= 2) { + // There is a very small chance that this command fails if the domain reset itself + // at the exact same time the command was issued. Therefore we retry a few times. + i = 0; + while (i < 3) { + // Reset non-essential domains + _adacTx[0] = 0xA30A0000; // Command RESET + _adacTx[1] = 0x00000004; // Data length 4 bytes + _adacTx[2] = 0x00000000; // (reserved) + err = _DoAdacTransaction(1); + if (err >= 0) { + break; + } else if (err != _ERR_REPLY) { + return -1; + } + + i = i + 1; + } + + // Start the core in halted mode + _adacTx[0] = 0xA3090000; // Command START + _adacTx[1] = 0x00000004; // Data length 4 bytes + _adacTx[2] = 0x01000000 | (_PROCESSOR_ID << 16); // Own processor, Flags HALT + err = _DoAdacTransaction(1); + if (err < 0) { + return -1; + } -int ResetTarget(void) { - // ADAC reset - JLINK_CORESIGHT_WriteDP(2, 0x04000010); - JLINK_CORESIGHT_WriteAP(0, 0xA3030000); - JLINK_CORESIGHT_WriteAP(0, 0x00000004); - JLINK_CORESIGHT_WriteAP(0, 0x01020000); + // Start other cores normally (will fail silently if no firmware is present) + i = 0; + while (i < _NUM_OTHER_PROCESSORS) { + _adacTx[0] = 0xA3090000; // Command START + _adacTx[1] = 0x00000004; // Data length 4 bytes + _adacTx[2] = 0x00000000 | + (_OTHER_PROCESSOR_IDS[i] << 16); // Other processor, No flags + err = _DoAdacTransaction(0); + if (err < 0 && err != _ERR_REPLY) { + return -1; + } - JLINK_SYS_Sleep(100); - JLINK_CORESIGHT_ReadAP(2); - JLINK_CORESIGHT_ReadAP(2); - JLINK_CORESIGHT_ReadAP(2); - JLINK_CORESIGHT_ReadAP(2); + i = i + 1; + } + } else { + // Reset single domain via legacy implementation + _adacTx[0] = 0xA3030000; // Command RESET + _adacTx[1] = 0x00000004; // Data length 4 bytes + _adacTx[2] = 0x01000000 | (_DOMAIN_ID << 16); // Own domain, Mode HALT + err = _DoAdacTransaction(1); + if (err < 0) { + return -1; + } + } // Halt the CPU JLINK_MEM_WriteU32(_DHCSR_ADDR, (_DHCSR_DBGKEY | _DHCSR_C_HALT | _DHCSR_C_DEBUGEN)); @@ -32,7 +251,7 @@ int ResetTarget(void) { JLINK_MEM_WriteU32(_DEMCR_ADDR, (_DEMCR_VC_CORERESET | _DEMCR_TRCENA)); // Disable CPU wait - JLINK_MEM_WriteU32(_CPUCONF_CPUWAIT_ADDR, 0); + JLINK_MEM_WriteU32(_CPUCONF_ADDR + _CPUCONF_CPUWAIT_OFFSET, 0); // Clear vector catch stuff JLINK_MEM_WriteU32(_DEMCR_ADDR, _DEMCR_TRCENA); diff --git a/boards/nordic/nrf9280pdk/support/nrf9280_cpurad.JLinkScript b/boards/nordic/nrf9280pdk/support/nrf9280_cpurad.JLinkScript index 2f1802801c1..02b84dcc970 100644 --- a/boards/nordic/nrf9280pdk/support/nrf9280_cpurad.JLinkScript +++ b/boards/nordic/nrf9280pdk/support/nrf9280_cpurad.JLinkScript @@ -1,36 +1,256 @@ +// Constants specific to the radio core +__constant U32 _CPUCONF_ADDR = 0x53011000; +__constant U32 _PROCESSOR_ID = 3; +__constant U32 _DOMAIN_ID = 3; +__constant U32 _NUM_OTHER_PROCESSORS = 2; +const U32 _OTHER_PROCESSOR_IDS[2] = {4, 2}; + // Debug Halting Control and Status Register -__constant U32 _DHCSR_ADDR = 0xE000EDF0; -__constant U32 _DHCSR_DBGKEY = (0xA05F << 16); -__constant U32 _DHCSR_C_DEBUGEN = (1 << 0); -__constant U32 _DHCSR_C_HALT = (1 << 1); +__constant U32 _DHCSR_ADDR = 0xE000EDF0; +__constant U32 _DHCSR_DBGKEY = (0xA05F << 16); +__constant U32 _DHCSR_C_DEBUGEN = (1 << 0); +__constant U32 _DHCSR_C_HALT = (1 << 1); // Debug Exception and Monitor Control Register -__constant U32 _DEMCR_ADDR = 0xE000EDFC; -__constant U32 _DEMCR_VC_CORERESET = (1 << 0); -__constant U32 _DEMCR_TRCENA = (1 << 24); +__constant U32 _DEMCR_ADDR = 0xE000EDFC; +__constant U32 _DEMCR_VC_CORERESET = (1 << 0); +__constant U32 _DEMCR_TRCENA = (1 << 24); // CPU wait enable register -__constant U32 _CPUCONF_CPUWAIT_ADDR = 0x5301150C; +__constant U32 _CPUCONF_CPUWAIT_OFFSET = 0x50C; + +// CTRL-AP +__constant U32 _CTRLAP_ID = 4; +__constant U32 _CTRLAP_READY_BANK = 0; +__constant U32 _CTRLAP_READY_OFFSET = 1; +__constant U32 _CTRLAP_READY = 0; +__constant U32 _CTRLAP_MAILBOX_BANK = 1; +__constant U32 _CTRLAP_MAILBOX_TXDATA_OFFSET = 0; +__constant U32 _CTRLAP_MAILBOX_TXSTATUS_OFFSET = 1; +__constant U32 _CTRLAP_MAILBOX_RXDATA_OFFSET = 2; +__constant U32 _CTRLAP_MAILBOX_RXSTATUS_OFFSET = 3; +__constant U32 _CTRLAP_MAILBOX_NO_DATA_PENDING = 0; +__constant U32 _CTRLAP_MAILBOX_DATA_PENDING = 1; +__constant int _CTRLAP_TIMEOUT_MS = 500; + +// ADAC transaction buffers +static U32 _adacTx[20]; +static U32 _adacRx[20]; + +// Failed to send to the CTRL-AP MAILBOX +__constant int _ERR_TX = -1; +// Failed to receive from the CTRL-AP MAILBOX +__constant int _ERR_RX = -2; +// ADAC command returned an error +__constant int _ERR_REPLY = -3; + +// Wait for an AP register read to return the expected value. +int _WaitForDataStatus(U32 regOffset, int expectedStatus) +{ + int status; + int ret; + int start; + int elapsed; + + status = 0; + start = JLINK_GetTime(); + elapsed = 0; + + do { + ret = JLINK_CORESIGHT_ReadDAP(regOffset, 1, &status); + elapsed = JLINK_GetTime() - start; + } while ((ret < 0 || status != expectedStatus) && (elapsed < _CTRLAP_TIMEOUT_MS)); + + if (ret < 0) { + return ret; + } + + return status; +} + +// Continuously read from the CTRL-AP MAILBOX until there is no more pending data. +void _DrainMailbox(void) +{ + int ret; + int status; + int data; + + ret = JLINK_CORESIGHT_ReadDAP(_CTRLAP_MAILBOX_RXSTATUS_OFFSET, 1, &status); + while (ret >= 0 && status == _CTRLAP_MAILBOX_DATA_PENDING) { + JLINK_CORESIGHT_ReadDAP(_CTRLAP_MAILBOX_RXDATA_OFFSET, 1, &data); + ret = JLINK_CORESIGHT_ReadDAP(_CTRLAP_MAILBOX_RXSTATUS_OFFSET, 1, &status); + } +} + +// Perform an ADAC transaction by: +// * writing the given sequence of words to MAILBOX.TXDATATA, waiting for MAILBOX.TXSTATUS +// readiness before each write. +// * reading a sequence of words from MAILBOX.RXDATA, waiting for MAILBOX.RXSTATUS readiness before +// each read. +// +// The message to send is read from _adacTx and the reply is written to _adacRx. +// Optionally checks if a single data word is returned and returns an error if it is non-zero. +// +// Assumes that the correct AP and AP bank for CTRL-AP MAILBOX has been selected in the DP. +int _DoAdacTransaction(int checkReplyStatus) +{ + int numWords; + int ret; + int data; + int i; + + i = 0; + numWords = 2 + (_adacTx[1] >> 2); // Length based on the length field of the message + + while (i < numWords) { + ret = _WaitForDataStatus(_CTRLAP_MAILBOX_TXSTATUS_OFFSET, + _CTRLAP_MAILBOX_NO_DATA_PENDING); + if (ret != _CTRLAP_MAILBOX_NO_DATA_PENDING) { + JLINK_SYS_Report1("Timed out waiting for CTRL-AP TX readiness - result: ", + ret); + return _ERR_TX; + } + + ret = JLINK_CORESIGHT_WriteDAP(_CTRLAP_MAILBOX_TXDATA_OFFSET, 1, _adacTx[i]); + if (ret < 0) { + JLINK_SYS_Report1("Failed to write CTRL-AP TX data - result: ", ret); + return _ERR_TX; + } + + i += 1; + } + + i = 0; + numWords = 2; // Minimum message length -int ConfigTargetSettings(void) { + while (i < numWords) { + ret = _WaitForDataStatus(_CTRLAP_MAILBOX_RXSTATUS_OFFSET, + _CTRLAP_MAILBOX_DATA_PENDING); + if (ret != _CTRLAP_MAILBOX_DATA_PENDING) { + JLINK_SYS_Report1("Timed out waiting for CTRL-AP RX data - result: ", ret); + return _ERR_RX; + } + + ret = JLINK_CORESIGHT_ReadDAP(_CTRLAP_MAILBOX_RXDATA_OFFSET, 1, &data); + if (ret < 0) { + JLINK_SYS_Report1("Failed to read CTRL-AP RX data - result: ", ret); + return _ERR_RX; + } + + if (i == 1) { + // Update total length based on the message length field + numWords = 2 + (data >> 2); + } + + _adacRx[i] = data; + i += 1; + } + + if (checkReplyStatus && _adacRx[1] == 4 && _adacRx[2] != 0) { + JLINK_SYS_Report1("ADAC command failed with status: ", _adacRx[2]); + return _ERR_REPLY; + } + + return 0; +} + +int ConfigTargetSettings(void) +{ JLINK_ExecCommand("CORESIGHT_AddAP = Index=1 Type=AHB-AP"); CORESIGHT_IndexAHBAPToUse = 1; return 0; } -int ResetTarget(void) { - // ADAC reset - JLINK_CORESIGHT_WriteDP(2, 0x04000010); - JLINK_CORESIGHT_WriteAP(0, 0xA3030000); - JLINK_CORESIGHT_WriteAP(0, 0x00000004); - JLINK_CORESIGHT_WriteAP(0, 0x01030000); +int ResetTarget(void) +{ + int err; + U32 adacMajorVersion; + U32 i; + + // Select CTRL-AP bank 0, used for the READY register + JLINK_CORESIGHT_WriteDAP(JLINK_CORESIGHT_DP_REG_SELECT, 0, + (_CTRLAP_ID << 24) | (_CTRLAP_READY_BANK << 4)); + + // Wait for the READY register to indicate that the AP can be used. + err = _WaitForDataStatus(_CTRLAP_READY_OFFSET, _CTRLAP_READY); + if (err < 0) { + JLINK_SYS_Report1("Timed out waiting for CTRL-AP readiness - result: ", err); + return -1; + } + + // Select CTRL-AP bank 1, used for the MAILBOX registers for ADAC communication + JLINK_CORESIGHT_WriteDAP(JLINK_CORESIGHT_DP_REG_SELECT, 0, + (_CTRLAP_ID << 24) | (_CTRLAP_MAILBOX_BANK << 4)); + + // Extract any pre-existing data from the mailbox in case there was previously + // an aborted transaction. + _DrainMailbox(); + + // Read the ADAC version + _adacTx[0] = 0xA3000000; // Command VERSION + _adacTx[1] = 0x00000004; // Data length 4 bytes + _adacTx[2] = 0x00000000; // Type 0 (ADAC version) + err = _DoAdacTransaction(0); + if (err < 0) { + return -1; + } + + adacMajorVersion = (_adacRx[2] >> 24) & 0xff; + JLINK_SYS_Report1("ADAC major version: ", adacMajorVersion); + + if (adacMajorVersion >= 2) { + // There is a very small chance that this command fails if the domain reset itself + // at the exact same time the command was issued. Therefore we retry a few times. + i = 0; + while (i < 3) { + // Reset non-essential domains + _adacTx[0] = 0xA30A0000; // Command RESET + _adacTx[1] = 0x00000004; // Data length 4 bytes + _adacTx[2] = 0x00000000; // (reserved) + err = _DoAdacTransaction(1); + if (err >= 0) { + break; + } else if (err != _ERR_REPLY) { + return -1; + } + + i = i + 1; + } + + // Start the core in halted mode + _adacTx[0] = 0xA3090000; // Command START + _adacTx[1] = 0x00000004; // Data length 4 bytes + _adacTx[2] = 0x01000000 | (_PROCESSOR_ID << 16); // Own processor, Flags HALT + err = _DoAdacTransaction(1); + if (err < 0) { + return -1; + } + + // Start other cores normally (will fail silently if no firmware is present) + i = 0; + while (i < _NUM_OTHER_PROCESSORS) { + _adacTx[0] = 0xA3090000; // Command START + _adacTx[1] = 0x00000004; // Data length 4 bytes + _adacTx[2] = 0x00000000 | + (_OTHER_PROCESSOR_IDS[i] << 16); // Other processor, No flags + err = _DoAdacTransaction(0); + if (err < 0 && err != _ERR_REPLY) { + return -1; + } - JLINK_SYS_Sleep(100); - JLINK_CORESIGHT_ReadAP(2); - JLINK_CORESIGHT_ReadAP(2); - JLINK_CORESIGHT_ReadAP(2); - JLINK_CORESIGHT_ReadAP(2); + i = i + 1; + } + } else { + // Reset single domain via legacy implementation + _adacTx[0] = 0xA3030000; // Command RESET + _adacTx[1] = 0x00000004; // Data length 4 bytes + _adacTx[2] = 0x01000000 | (_DOMAIN_ID << 16); // Own domain, Mode HALT + err = _DoAdacTransaction(1); + if (err < 0) { + return -1; + } + } // Halt the CPU JLINK_MEM_WriteU32(_DHCSR_ADDR, (_DHCSR_DBGKEY | _DHCSR_C_HALT | _DHCSR_C_DEBUGEN)); @@ -39,7 +259,7 @@ int ResetTarget(void) { JLINK_MEM_WriteU32(_DEMCR_ADDR, (_DEMCR_VC_CORERESET | _DEMCR_TRCENA)); // Disable CPU wait - JLINK_MEM_WriteU32(_CPUCONF_CPUWAIT_ADDR, 0); + JLINK_MEM_WriteU32(_CPUCONF_ADDR + _CPUCONF_CPUWAIT_OFFSET, 0); // Clear vector catch stuff JLINK_MEM_WriteU32(_DEMCR_ADDR, _DEMCR_TRCENA); diff --git a/boards/nordic/thingy52/board.yml b/boards/nordic/thingy52/board.yml index 425e24fb596..010d40677db 100644 --- a/boards/nordic/thingy52/board.yml +++ b/boards/nordic/thingy52/board.yml @@ -1,5 +1,6 @@ board: name: thingy52 + full_name: "Thingy:52" vendor: nordic socs: - name: nrf52832 diff --git a/boards/nordic/thingy53/Kconfig.defconfig b/boards/nordic/thingy53/Kconfig.defconfig index 92eac11503d..31ac0093ba2 100644 --- a/boards/nordic/thingy53/Kconfig.defconfig +++ b/boards/nordic/thingy53/Kconfig.defconfig @@ -5,6 +5,12 @@ if BOARD_THINGY53_NRF5340_CPUAPP || BOARD_THINGY53_NRF5340_CPUAPP_NS +config BOOTLOADER_MCUBOOT + default y if !MCUBOOT + +config BOARD_ENABLE_CPUNET + default y if !MCUBOOT + # Code Partition: # # For the secure version of the board the firmware is linked at the beginning @@ -132,6 +138,16 @@ endif # LOG endif # BOARD_SERIAL_BACKEND_CDC_ACM +# By default, a USB CDC ACM instance is already enabled in the board's DTS. +# It is not necessary for nRF Connect SDK to add another instance if MCUBoot +# bootloader is built as a child image. +config MCUBOOT_USB_SUPPORT + bool + default n + +config NORDIC_QSPI_NOR + default y + endif # BOARD_THINGY53_NRF5340_CPUAPP || BOARD_THINGY53_NRF5340_CPUAPP_NS if BOARD_THINGY53_NRF5340_CPUNET diff --git a/boards/nordic/thingy53/Kconfig.sysbuild b/boards/nordic/thingy53/Kconfig.sysbuild new file mode 100644 index 00000000000..df489c1dd54 --- /dev/null +++ b/boards/nordic/thingy53/Kconfig.sysbuild @@ -0,0 +1,29 @@ +# Copyright (c) 2024 Nordic Semiconductor ASA +# SPDX-License-Identifier: Apache-2.0 + +if BOARD_THINGY53_NRF5340_CPUAPP || BOARD_THINGY53_NRF5340_CPUAPP_NS + +choice BOOTLOADER + default BOOTLOADER_MCUBOOT +endchoice + +choice MCUBOOT_MODE + default MCUBOOT_MODE_OVERWRITE_ONLY +endchoice + +config SECURE_BOOT_NETCORE + default y + +config NETCORE_APP_UPDATE + default y if SECURE_BOOT_NETCORE + +config NRF_DEFAULT_EMPTY + default y if SECURE_BOOT_NETCORE + +config MCUBOOT_USE_ALL_AVAILABLE_RAM + default y if BOARD_THINGY53_NRF5340_CPUAPP_NS && BOOTLOADER_MCUBOOT + +endif # BOARD_THINGY53_NRF5340_CPUAPP || BOARD_THINGY53_NRF5340_CPUAPP_NS + +config PM_EXTERNAL_FLASH_MCUBOOT_SECONDARY + default y if BOOTLOADER_MCUBOOT diff --git a/boards/nordic/thingy53/board.yml b/boards/nordic/thingy53/board.yml index 4659222a346..46c8112cc95 100644 --- a/boards/nordic/thingy53/board.yml +++ b/boards/nordic/thingy53/board.yml @@ -1,5 +1,6 @@ board: name: thingy53 + full_name: "Thingy:53" vendor: nordic socs: - name: 'nrf5340' diff --git a/boards/nordic/thingy53/pm_static_thingy53_nrf5340_cpuapp.yml b/boards/nordic/thingy53/pm_static_thingy53_nrf5340_cpuapp.yml new file mode 100644 index 00000000000..7a48d51ec33 --- /dev/null +++ b/boards/nordic/thingy53/pm_static_thingy53_nrf5340_cpuapp.yml @@ -0,0 +1,55 @@ +app: + address: 0x10200 + region: flash_primary + size: 0xdfe00 +mcuboot: + address: 0x0 + region: flash_primary + size: 0x10000 +mcuboot_pad: + address: 0x10000 + region: flash_primary + size: 0x200 +mcuboot_primary: + address: 0x10000 + orig_span: &id001 + - mcuboot_pad + - app + region: flash_primary + size: 0xe0000 + span: *id001 +mcuboot_primary_app: + address: 0x10200 + orig_span: &id002 + - app + region: flash_primary + size: 0xdfe00 + span: *id002 +settings_storage: + address: 0xf0000 + region: flash_primary + size: 0x10000 +mcuboot_primary_1: + address: 0x0 + size: 0x40000 + device: flash_ctrl + region: ram_flash +mcuboot_secondary: + address: 0x00000 + size: 0xe0000 + device: MX25R64 + region: external_flash +mcuboot_secondary_1: + address: 0xe0000 + size: 0x40000 + device: MX25R64 + region: external_flash +external_flash: + address: 0x120000 + size: 0x6e0000 + device: MX25R64 + region: external_flash +pcd_sram: + address: 0x20000000 + size: 0x2000 + region: sram_primary diff --git a/boards/nordic/thingy53/pm_static_thingy53_nrf5340_cpuapp_ns.yml b/boards/nordic/thingy53/pm_static_thingy53_nrf5340_cpuapp_ns.yml new file mode 100644 index 00000000000..70ffe6d9c12 --- /dev/null +++ b/boards/nordic/thingy53/pm_static_thingy53_nrf5340_cpuapp_ns.yml @@ -0,0 +1,73 @@ +mcuboot: + address: 0x0 + region: flash_primary + size: 0x10000 +mcuboot_pad: + address: 0x10000 + region: flash_primary + size: 0x200 +tfm_secure: + address: 0x10000 + size: 0xc000 + span: [mcuboot_pad, tfm] +tfm_nonsecure: + address: 0x1c000 + size: 0xd4000 + span: [app] +tfm: + address: 0x10200 + region: flash_primary + size: 0xbe00 +app: + address: 0x1c000 + region: flash_primary + size: 0xd4000 +mcuboot_primary: + address: 0x10000 + orig_span: &id001 + - mcuboot_pad + - tfm + - app + region: flash_primary + size: 0xe0000 + span: *id001 +mcuboot_primary_app: + address: 0x10200 + orig_span: &id002 + - tfm + - app + region: flash_primary + size: 0xdfe00 + span: *id002 +nonsecure_storage: + address: 0xf0000 + size: 0x10000 + span: [settings_storage] +settings_storage: + address: 0xf0000 + region: flash_primary + size: 0x10000 +mcuboot_primary_1: + address: 0x0 + size: 0x40000 + device: flash_ctrl + region: ram_flash +mcuboot_secondary: + address: 0x00000 + size: 0xe0000 + device: MX25R64 + region: external_flash +mcuboot_secondary_1: + address: 0xe0000 + size: 0x40000 + device: MX25R64 + region: external_flash +external_flash: + address: 0x120000 + size: 0x6e0000 + device: MX25R64 + region: external_flash +pcd_sram: + address: 0x20000000 + size: 0x2000 + region: sram_primary diff --git a/boards/nordic/thingy53/thingy53_nrf5340_common.dtsi b/boards/nordic/thingy53/thingy53_nrf5340_common.dtsi index 13a58443871..e4028edfc94 100644 --- a/boards/nordic/thingy53/thingy53_nrf5340_common.dtsi +++ b/boards/nordic/thingy53/thingy53_nrf5340_common.dtsi @@ -18,6 +18,7 @@ zephyr,bt-hci = &bt_hci_ipc0; nordic,802154-spinel-ipc = &ipc0; zephyr,ieee802154 = &ieee802154; + nordic,pm-ext-flash = &mx25r64; }; buttons { @@ -131,6 +132,18 @@ }; }; + /* Disabled by default as SPI lines are shared with peripherals on application core */ + spi_fwd: nrf-spi-forwarder { + compatible = "nordic,nrf-gpio-forwarder"; + status = "disabled"; + fem-spi-if { + gpios = <&gpio0 24 0>, + <&gpio0 29 0>, + <&gpio0 27 0>, + <&gpio0 28 0>; + }; + }; + aliases { sw0 = &button0; sw1 = &button1; diff --git a/boards/nordic/thingy53/thingy53_nrf5340_cpunet-pinctrl.dtsi b/boards/nordic/thingy53/thingy53_nrf5340_cpunet-pinctrl.dtsi index 940d3afedc7..76d1fd8bad5 100644 --- a/boards/nordic/thingy53/thingy53_nrf5340_cpunet-pinctrl.dtsi +++ b/boards/nordic/thingy53/thingy53_nrf5340_cpunet-pinctrl.dtsi @@ -23,4 +23,20 @@ }; }; + spi0_default: spi0_default { + group1 { + psels = , + , + ; + }; + }; + + spi0_sleep: spi0_sleep { + group1 { + psels = , + , + ; + low-power-enable; + }; + }; }; diff --git a/boards/nordic/thingy53/thingy53_nrf5340_cpunet.dts b/boards/nordic/thingy53/thingy53_nrf5340_cpunet.dts index 89e9f8c64e5..3003d4924ce 100644 --- a/boards/nordic/thingy53/thingy53_nrf5340_cpunet.dts +++ b/boards/nordic/thingy53/thingy53_nrf5340_cpunet.dts @@ -63,6 +63,7 @@ mode-gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>; pdn-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>; tx-en-gpios = <&gpio0 30 GPIO_ACTIVE_HIGH>; + spi-if = <&nrf_radio_fem_spi>; supply-voltage-mv = <3000>; }; @@ -71,7 +72,9 @@ #gpio-cells = <2>; gpio-map-mask = <0xffffffff 0xffffffc0>; gpio-map-pass-thru = <0 0x3f>; - gpio-map = <8 0 &gpio0 5 0>, /* P8, P0.05/AIN1 */ + gpio-map = <5 0 &gpio1 1 0>, /* P5, P1.01/GRANT */ + <6 0 &gpio1 0 0>, /* P6, P1.00/REQ */ + <8 0 &gpio0 5 0>, /* P8, P0.05/AIN1 */ <9 0 &gpio0 4 0>, /* P9, P0.04/AIN0 */ <15 0 &gpio0 8 0>, /* P15, P0.08/TRACEDATA3 */ <16 0 &gpio0 9 0>, /* P16, P0.09/TRACEDATA2 */ @@ -111,6 +114,27 @@ pinctrl-names = "default", "sleep"; }; +/* Disabled by default as shares same GPIO lines as SPI peripherals on application core */ +fem_spi: &spi0 { + status = "disabled"; + cs-gpios = <&gpio0 24 GPIO_ACTIVE_LOW>; + pinctrl-0 = <&spi0_default>; + pinctrl-1 = <&spi0_sleep>; + pinctrl-names = "default", "sleep"; + + nrf_radio_fem_spi: nrf21540_fem_spi@0 { + compatible = "nordic,nrf21540-fem-spi"; + status = "disabled"; + reg = <0>; + spi-max-frequency = <8000000>; + }; +}; + +&radio { + /* Uncomment to enable SPI interface for FEM */ + /* fem = <&nrf_radio_fem>; */ +}; + &flash1 { partitions { diff --git a/boards/nuvoton/npcm400_evb/board.yml b/boards/nuvoton/npcm400_evb/board.yml index 1a428cc5fe1..c73b1d69caa 100644 --- a/boards/nuvoton/npcm400_evb/board.yml +++ b/boards/nuvoton/npcm400_evb/board.yml @@ -1,5 +1,6 @@ board: name: npcm400_evb + full_name: NPCM400_EVB vendor: nuvoton socs: - name: npcm400 diff --git a/boards/nuvoton/npcx4m8f_evb/board.yml b/boards/nuvoton/npcx4m8f_evb/board.yml index 16f6190d195..39fcc762796 100644 --- a/boards/nuvoton/npcx4m8f_evb/board.yml +++ b/boards/nuvoton/npcx4m8f_evb/board.yml @@ -1,5 +1,6 @@ board: name: npcx4m8f_evb + full_name: NPCX4M8F_EVB vendor: nuvoton socs: - name: npcx4m8f diff --git a/boards/nuvoton/npcx7m6fb_evb/board.yml b/boards/nuvoton/npcx7m6fb_evb/board.yml index 33528cde347..71c0df6ba3d 100644 --- a/boards/nuvoton/npcx7m6fb_evb/board.yml +++ b/boards/nuvoton/npcx7m6fb_evb/board.yml @@ -1,5 +1,6 @@ board: name: npcx7m6fb_evb + full_name: NPCX7M6FB_EVB vendor: nuvoton socs: - name: npcx7m6fb diff --git a/boards/nuvoton/npcx9m6f_evb/board.yml b/boards/nuvoton/npcx9m6f_evb/board.yml index 7baeb00dfa3..ff77a27a292 100644 --- a/boards/nuvoton/npcx9m6f_evb/board.yml +++ b/boards/nuvoton/npcx9m6f_evb/board.yml @@ -1,5 +1,6 @@ board: name: npcx9m6f_evb + full_name: NPCX9M6F_EVB vendor: nuvoton socs: - name: npcx9m6f diff --git a/boards/nuvoton/numaker_m2l31ki/board.yml b/boards/nuvoton/numaker_m2l31ki/board.yml index f01805447fa..610fc26e81f 100644 --- a/boards/nuvoton/numaker_m2l31ki/board.yml +++ b/boards/nuvoton/numaker_m2l31ki/board.yml @@ -1,5 +1,6 @@ board: name: numaker_m2l31ki + full_name: NUMAKER M2L31KI vendor: nuvoton socs: - name: m2l31xxx diff --git a/boards/nuvoton/numaker_pfm_m467/board.yml b/boards/nuvoton/numaker_pfm_m467/board.yml index d9b195940ee..e57042889ff 100644 --- a/boards/nuvoton/numaker_pfm_m467/board.yml +++ b/boards/nuvoton/numaker_pfm_m467/board.yml @@ -1,5 +1,6 @@ board: name: numaker_pfm_m467 + full_name: NUMAKER PFM M467 vendor: nuvoton socs: - name: m467 diff --git a/boards/nuvoton/numaker_pfm_m487/board.yml b/boards/nuvoton/numaker_pfm_m487/board.yml index cc9dc43fe6a..82a0720db53 100644 --- a/boards/nuvoton/numaker_pfm_m487/board.yml +++ b/boards/nuvoton/numaker_pfm_m487/board.yml @@ -1,5 +1,6 @@ board: name: numaker_pfm_m487 + full_name: NUMAKER PFM M487 vendor: nuvoton socs: - name: m487 diff --git a/boards/nxp/frdm_k22f/board.yml b/boards/nxp/frdm_k22f/board.yml index 0498d799129..0e8ad732f39 100644 --- a/boards/nxp/frdm_k22f/board.yml +++ b/boards/nxp/frdm_k22f/board.yml @@ -1,5 +1,6 @@ board: name: frdm_k22f + full_name: FRDM-K22F vendor: nxp socs: - name: mk22f51212 diff --git a/boards/nxp/frdm_k64f/board.yml b/boards/nxp/frdm_k64f/board.yml index a338af6b99c..2de73a4ea2c 100644 --- a/boards/nxp/frdm_k64f/board.yml +++ b/boards/nxp/frdm_k64f/board.yml @@ -1,5 +1,6 @@ board: name: frdm_k64f + full_name: FRDM-K64F vendor: nxp socs: - name: mk64f12 diff --git a/boards/nxp/frdm_k82f/board.yml b/boards/nxp/frdm_k82f/board.yml index cf7bc47e121..513136f3e09 100644 --- a/boards/nxp/frdm_k82f/board.yml +++ b/boards/nxp/frdm_k82f/board.yml @@ -1,5 +1,6 @@ board: name: frdm_k82f + full_name: FRDM-K82F vendor: nxp socs: - name: mk82f25615 diff --git a/boards/nxp/frdm_ke15z/board.yml b/boards/nxp/frdm_ke15z/board.yml index c637334b8b8..927356cf0db 100644 --- a/boards/nxp/frdm_ke15z/board.yml +++ b/boards/nxp/frdm_ke15z/board.yml @@ -1,5 +1,6 @@ board: name: frdm_ke15z + full_name: FRDM-KE15Z vendor: nxp socs: - name: mke15z7 diff --git a/boards/nxp/frdm_ke17z/board.yml b/boards/nxp/frdm_ke17z/board.yml index a6b72f27f20..9576c95012a 100644 --- a/boards/nxp/frdm_ke17z/board.yml +++ b/boards/nxp/frdm_ke17z/board.yml @@ -1,5 +1,6 @@ board: name: frdm_ke17z + full_name: FRDM-KE17Z vendor: nxp socs: - name: mke17z7 diff --git a/boards/nxp/frdm_ke17z512/board.yml b/boards/nxp/frdm_ke17z512/board.yml index 46839e065b1..306ddf305bf 100644 --- a/boards/nxp/frdm_ke17z512/board.yml +++ b/boards/nxp/frdm_ke17z512/board.yml @@ -1,5 +1,6 @@ board: name: frdm_ke17z512 + full_name: FRDM-KE17Z512 vendor: nxp socs: - name: mke17z9 diff --git a/boards/nxp/frdm_kl25z/board.yml b/boards/nxp/frdm_kl25z/board.yml index 0caf35c690e..de3270eba7c 100644 --- a/boards/nxp/frdm_kl25z/board.yml +++ b/boards/nxp/frdm_kl25z/board.yml @@ -1,5 +1,6 @@ board: name: frdm_kl25z + full_name: FRDM-KL25Z vendor: nxp socs: - name: mkl25z4 diff --git a/boards/nxp/frdm_kw41z/board.yml b/boards/nxp/frdm_kw41z/board.yml index b17c67beb3e..94a99c91974 100644 --- a/boards/nxp/frdm_kw41z/board.yml +++ b/boards/nxp/frdm_kw41z/board.yml @@ -1,5 +1,6 @@ board: name: frdm_kw41z + full_name: FRDM-KW41Z vendor: nxp socs: - name: mkw41z4 diff --git a/boards/nxp/frdm_mcxa156/board.c b/boards/nxp/frdm_mcxa156/board.c index 98801c47a1a..84347c4715c 100644 --- a/boards/nxp/frdm_mcxa156/board.c +++ b/boards/nxp/frdm_mcxa156/board.c @@ -66,52 +66,52 @@ static int frdm_mcxa156_init(void) CLOCK_SetClockDiv(kCLOCK_DivAHBCLK, 1U); /* !< Set AHBCLKDIV divider to value 1 */ CLOCK_SetClockDiv(kCLOCK_DivFRO_HF_DIV, 1U); /* !< Set FROHFDIV divider to value 1 */ -#if DT_NODE_HAS_STATUS(DT_NODELABEL(porta), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(porta)) RESET_ReleasePeripheralReset(kPORT0_RST_SHIFT_RSTn); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(portb), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(portb)) RESET_ReleasePeripheralReset(kPORT1_RST_SHIFT_RSTn); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(portc), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(portc)) RESET_ReleasePeripheralReset(kPORT2_RST_SHIFT_RSTn); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(portd), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(portd)) RESET_ReleasePeripheralReset(kPORT3_RST_SHIFT_RSTn); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(porte), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(porte)) RESET_ReleasePeripheralReset(kPORT4_RST_SHIFT_RSTn); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(gpio0), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(gpio0)) RESET_ReleasePeripheralReset(kGPIO0_RST_SHIFT_RSTn); CLOCK_EnableClock(kCLOCK_GateGPIO0); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(gpio1), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(gpio1)) RESET_ReleasePeripheralReset(kGPIO1_RST_SHIFT_RSTn); CLOCK_EnableClock(kCLOCK_GateGPIO1); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(gpio2), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(gpio2)) RESET_ReleasePeripheralReset(kGPIO2_RST_SHIFT_RSTn); CLOCK_EnableClock(kCLOCK_GateGPIO2); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(gpio3), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(gpio3)) RESET_ReleasePeripheralReset(kGPIO3_RST_SHIFT_RSTn); CLOCK_EnableClock(kCLOCK_GateGPIO3); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(gpio4), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(gpio4)) RESET_ReleasePeripheralReset(kGPIO4_RST_SHIFT_RSTn); CLOCK_EnableClock(kCLOCK_GateGPIO4); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(lpuart0), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(lpuart0)) CLOCK_SetClockDiv(kCLOCK_DivLPUART0, 1u); CLOCK_AttachClk(kFRO12M_to_LPUART0); #endif diff --git a/boards/nxp/frdm_mcxa156/board.yml b/boards/nxp/frdm_mcxa156/board.yml index fd3cb5a5c6d..8107aa33aee 100644 --- a/boards/nxp/frdm_mcxa156/board.yml +++ b/boards/nxp/frdm_mcxa156/board.yml @@ -1,5 +1,6 @@ board: name: frdm_mcxa156 + full_name: FRDM-MCXA156 vendor: nxp socs: - name: mcxa156 diff --git a/boards/nxp/frdm_mcxc242/board.yml b/boards/nxp/frdm_mcxc242/board.yml index 2aa0aaa3da1..9dc5bbe7f5f 100644 --- a/boards/nxp/frdm_mcxc242/board.yml +++ b/boards/nxp/frdm_mcxc242/board.yml @@ -1,5 +1,6 @@ board: name: frdm_mcxc242 + full_name: FRDM-MCXC242 vendor: nxp socs: - name: mcxc242 diff --git a/boards/nxp/frdm_mcxc444/Kconfig.frdm_mcxc444 b/boards/nxp/frdm_mcxc444/Kconfig.frdm_mcxc444 new file mode 100644 index 00000000000..1fcfeb8fb36 --- /dev/null +++ b/boards/nxp/frdm_mcxc444/Kconfig.frdm_mcxc444 @@ -0,0 +1,6 @@ +# Copyright 2024 NXP +# SPDX-License-Identifier: Apache-2.0 + +config BOARD_FRDM_MCXC444 + select SOC_MCXC444 + select SOC_PART_NUMBER_MCXC444VLH diff --git a/boards/nxp/frdm_mcxc444/board.cmake b/boards/nxp/frdm_mcxc444/board.cmake new file mode 100644 index 00000000000..0e2a64644b3 --- /dev/null +++ b/boards/nxp/frdm_mcxc444/board.cmake @@ -0,0 +1,13 @@ +# +# Copyright 2024 NXP +# +# SPDX-License-Identifier: Apache-2.0 +# + +board_runner_args(jlink "--device=MCXC444") +board_runner_args(linkserver "--device=MCXC444:FRDM-MCXC444") +board_runner_args(pyocd "--target=mcxc444") + +include(${ZEPHYR_BASE}/boards/common/linkserver.board.cmake) +include(${ZEPHYR_BASE}/boards/common/pyocd.board.cmake) +include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake) diff --git a/boards/nxp/frdm_mcxc444/board.yml b/boards/nxp/frdm_mcxc444/board.yml new file mode 100644 index 00000000000..960d2c3f377 --- /dev/null +++ b/boards/nxp/frdm_mcxc444/board.yml @@ -0,0 +1,6 @@ +board: + name: frdm_mcxc444 + full_name: FRDM-MCXC444 + vendor: nxp + socs: + - name: mcxc444 diff --git a/boards/nxp/frdm_mcxc444/doc/frdm_mcxc444.webp b/boards/nxp/frdm_mcxc444/doc/frdm_mcxc444.webp new file mode 100644 index 00000000000..7ab0bb19ac0 Binary files /dev/null and b/boards/nxp/frdm_mcxc444/doc/frdm_mcxc444.webp differ diff --git a/boards/nxp/frdm_mcxc444/doc/index.rst b/boards/nxp/frdm_mcxc444/doc/index.rst new file mode 100644 index 00000000000..db72f8d6fad --- /dev/null +++ b/boards/nxp/frdm_mcxc444/doc/index.rst @@ -0,0 +1,220 @@ +.. _frdm_mcxc444: + +NXP FRDM-MCXC444 +################ + +Overview +******** + +FRDM-MCXC444 is a compact and scalable development board for rapid +prototyping of MCX C444 MCU. It offers industry standard headers +for easy access to the MCU's I/Os, integrated open-standard serial +interfaces and on-board MCU-Link debugger. +The MCXC is a general purpose ultra-low-power MCU family, +providing additional memory, communications and analog peripheral. + + +.. image:: frdm_mcxc444.webp + :align: center + :alt: FRDM-MCXC444 + +Hardware +******** + +- MCXC444VLH Arm Cortex-M0+ microcontroller running at 48 MHz +- 64LQFP package +- 256 KB flash +- 32 KB SRAM +- USB FS 2.0 +- 2x low-power UART, 1x UART, 2x I2C, 2x SPI +- FXLS8974CF accelerometer +- Tri-color LED +- On-board MCU-Link debugger with CMSIS-DAP +- Arduino Header, mikroBUS, Pmod + +For more information about the MCXC444 SoC and FRDM-MCXC444 board, see +these references: + +- `MCX C14x/24x/44x Website`_ +- `MCX C44x Datasheet`_ +- `MCX C44x Reference Manual`_ +- `FRDM-MCXC444 Website`_ +- `FRDM-MCXC444 User Manual`_ +- `FRDM-MCXC444 Design Files`_ + +Supported Features +================== + +The ``frdm_mcxc444`` board target supports the following hardware features: + ++-----------+------------+-------------------------------------+ +| Interface | Controller | Driver/Component | ++===========+============+=====================================+ +| NVIC | on-chip | nested vector interrupt controller | ++-----------+------------+-------------------------------------+ +| SYSTICK | on-chip | systick | ++-----------+------------+-------------------------------------+ +| PINMUX | on-chip | pinmux | ++-----------+------------+-------------------------------------+ +| GPIO | on-chip | gpio | ++-----------+------------+-------------------------------------+ +| UART | on-chip | serial port-polling; | +| | | serial port-interrupt | ++-----------+------------+-------------------------------------+ +| FLASH | on-chip | soc flash | ++-----------+------------+-------------------------------------+ + + +Targets available +================== + +The default configuration can be found in +:zephyr_file:`boards/nxp/frdm_mcxc444/frdm_mcxc444_defconfig` + +Other hardware features are not currently supported by the port. + +Connections and IOs +=================== + +The MCXC444 SoC has five pairs of pinmux/gpio controllers (PORTA/GPIOA, +PORTB/GPIOB, PORTC/GPIOC, PORTD/GPIOD, and PORTE/GPIOE) for the FRDM-MCXC444 board. + ++-------+-------------+---------------------------+ +| Name | Function | Usage | ++=======+=============+===========================+ +| PTE20 | ADC | ADC0 channel 1 | ++-------+-------------+---------------------------+ +| PTE31 | GPIO | Red LED | ++-------+-------------+---------------------------+ +| PTD5 | GPIO | Green LED | ++-------+-------------+---------------------------+ +| PTE29 | GPIO | Blue LED | ++-------+-------------+---------------------------+ +| PTA1 | LPUART0_RX | UART Console | ++-------+-------------+---------------------------+ +| PTA2 | LPUART0_TX | UART Console | ++-------+-------------+---------------------------+ +| PTA20 | RESET | RESET Button SW1 | ++-------+-------------+---------------------------+ +| PTC3 | GPIO | User button SW2 | ++-------+-------------+---------------------------+ +| PTA4 | GPIO | User button SW3 | ++-------+-------------+---------------------------+ +| PTE25 | I2C0_SDA | I2C accelerometer | ++-------+-------------+---------------------------+ +| PTE24 | I2C0_SCL | I2C accelerometer | ++-------+-------------+---------------------------+ + +System Clock +============ + +The MCXC444 SoC is configured to use HIRC running at 48 MHz as a system clock source. + +Serial Port +=========== + +The MCXC444 LPUART0 is used for the console. + +Programming and Debugging +************************* + +Build and flash applications as usual (see :ref:`build_an_application` and +:ref:`application_run` for more details). + +Configuring a Debug Probe +========================= + +A debug probe is used for both flashing and debugging the board. This board is +configured by default to use the MCU-Link CMSIS-DAP Onboard Debug Probe. + +Using LinkServer +---------------- + +Linkserver is the default runner for this board, and supports the factory +default MCU-Link firmware. Follow the instructions in +:ref:`mcu-link-cmsis-onboard-debug-probe` to reprogram the default MCU-Link +firmware. This only needs to be done if the default onboard debug circuit +firmware was changed. To put the board in ``DFU mode`` to program the firmware, +short jumper JP2. + +Using J-Link +------------ + +There are two options. The onboard debug circuit can be updated with Segger +J-Link firmware by following the instructions in +:ref:`mcu-link-jlink-onboard-debug-probe`. +To be able to program the firmware, you need to put the board in ``DFU mode`` +by shortening the jumper JP1. +The second option is to attach a :ref:`jlink-external-debug-probe` to the +10-pin SWD connector (J10) of the board. Additionally, the jumper JP4 must +be shortened. +For both options use the ``-r jlink`` option with west to use the jlink runner. + +.. code-block:: console + + west flash -r jlink + +Configuring a Console +===================== + +Connect a USB cable from your PC to J13, and use the serial terminal of your choice +(minicom, putty, etc.) with the following settings: + +- Speed: 115200 +- Data: 8 bits +- Parity: None +- Stop bits: 1 + +Flashing +======== + +Here is an example for the :zephyr:code-sample:`hello_world` application. + +.. zephyr-app-commands:: + :zephyr-app: samples/hello_world + :board: frdm_mcxc444 + :goals: flash + +Open a serial terminal, reset the board (press the SW1 button), and you should +see the following message in the terminal: + +.. code-block:: console + + *** Booting Zephyr OS build v3.6.0-4475-gfa5bd8bb098e *** + Hello World! frdm_mcxc444/mcxc444 + +Debugging +========= + +Here is an example for the :zephyr:code-sample:`hello_world` application. + +.. zephyr-app-commands:: + :zephyr-app: samples/hello_world + :board: frdm_mcxc444 + :goals: debug + +Open a serial terminal, step through the application in your debugger, and you +should see the following message in the terminal: + +.. code-block:: console + + *** Booting Zephyr OS build v3.6.0-4475-gfa5bd8bb098e *** + Hello World! frdm_mcxc444/mcxc444 + +.. _MCX C14x/24x/44x Website: + https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/mcx-arm-cortex-m/mcx-c-series-microcontrollers/mcx-c14x-24x-44x-mcus-with-arm-cortex-m0-plus-entry-level-mcus-with-usb-segment-lcd-and-classical-peripherals:MCX-C14x-24x-44x + +.. _MCX C44x Datasheet: + https://www.nxp.com/docs/en/data-sheet/MCXC44XP64M48SF6.pdf + +.. _MCX C44x Reference Manual: + https://www.nxp.com/webapp/Download?colCode=MCXC44XP64M48RM + +.. _FRDM-MCXC444 Website: + https://www.nxp.com/design/design-center/development-boards-and-designs/general-purpose-mcus/frdm-development-board-for-mcx-c444-mcus:FRDM-MCXC444 + +.. _FRDM-MCXC444 User Manual: + https://www.nxp.com/webapp/Download?colCode=UM12120 + +.. _FRDM-MCXC444 Design Files: + https://www.nxp.com/webapp/Download?colCode=FRDM-MCXC444-DESIGNFILES diff --git a/boards/nxp/frdm_mcxc444/frdm_mcxc444-pinctrl.dtsi b/boards/nxp/frdm_mcxc444/frdm_mcxc444-pinctrl.dtsi new file mode 100644 index 00000000000..7f0010c3cbe --- /dev/null +++ b/boards/nxp/frdm_mcxc444/frdm_mcxc444-pinctrl.dtsi @@ -0,0 +1,19 @@ +/* + * Copyright 2024 NXP + * + * SPDX-License-Identifier: Apache-2.0 + */ + + +#include + +&pinctrl { + pinmux_lpuart0: pinmux_lpuart0 { + group0 { + pinmux = , + ; + drive-strength = "low"; + slew-rate = "slow"; + }; + }; +}; diff --git a/boards/nxp/frdm_mcxc444/frdm_mcxc444.dts b/boards/nxp/frdm_mcxc444/frdm_mcxc444.dts new file mode 100644 index 00000000000..7e771a60725 --- /dev/null +++ b/boards/nxp/frdm_mcxc444/frdm_mcxc444.dts @@ -0,0 +1,98 @@ +/* + * Copyright 2024 NXP + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/dts-v1/; + +#include +#include "frdm_mcxc444-pinctrl.dtsi" +#include + +/ { + model = "NXP FRDM-MCXC444 board"; + compatible = "nxp,mcxc444", "nxp,mcx"; + + aliases { + led0 = &red_led; + led1 = &green_led; + led2 = &red_led; + sw0 = &user_button_2; + sw1 = &user_button_3; + }; + + chosen { + zephyr,sram = &sram0; + zephyr,flash = &flash0; + zephyr,console = &lpuart0; + zephyr,shell-uart = &lpuart0; + }; + + leds { + compatible = "gpio-leds"; + red_led: led_0 { + gpios = <&gpioe 31 GPIO_ACTIVE_LOW>; + label = "Red LED"; + }; + green_led: led_1 { + gpios = <&gpiob 5 GPIO_ACTIVE_LOW>; + label = "Green LED"; + }; + blue_led: led_2 { + gpios = <&gpioe 29 GPIO_ACTIVE_LOW>; + label = "Blue LED"; + }; + }; + + gpio_keys { + compatible = "gpio-keys"; + user_button_2: button_2 { + label = "User SW2"; + gpios = <&gpioc 3 GPIO_ACTIVE_LOW>; + zephyr,code = ; + }; + user_button_3: button_3 { + label = "User SW3"; + gpios = <&gpioa 4 GPIO_ACTIVE_LOW>; + zephyr,code = ; + }; + }; +}; + +&sim { + pllfll-select = ; + er32k-select = ; +}; + +&cpu0 { + clock-frequency = <48000000>; +}; + +&osc { + clock-frequency = <32768>; + mode = "low-power"; +}; + +&gpioa { + status = "okay"; +}; + +&gpiob { + status = "okay"; +}; + +&gpioc { + status = "okay"; +}; + +&gpioe { + status = "okay"; +}; + +&lpuart0 { + status = "okay"; + current-speed = <115200>; + pinctrl-0 = <&pinmux_lpuart0>; + pinctrl-names = "default"; +}; diff --git a/boards/nxp/frdm_mcxc444/frdm_mcxc444.yaml b/boards/nxp/frdm_mcxc444/frdm_mcxc444.yaml new file mode 100644 index 00000000000..dc92b7dfeb2 --- /dev/null +++ b/boards/nxp/frdm_mcxc444/frdm_mcxc444.yaml @@ -0,0 +1,23 @@ +# +# Copyright 2024 NXP +# +# SPDX-License-Identifier: Apache-2.0 +# + +identifier: frdm_mcxc444 +name: NXP FRDM-MCXC444 +type: mcu +arch: arm +ram: 32 +flash: 256 +toolchain: + - zephyr + - gnuarmemb + - xtools +supported: + - gpio +testing: + ignore_tags: + - net + - bluetooth +vendor: nxp diff --git a/boards/nxp/frdm_mcxc444/frdm_mcxc444_defconfig b/boards/nxp/frdm_mcxc444/frdm_mcxc444_defconfig new file mode 100644 index 00000000000..3d640c35842 --- /dev/null +++ b/boards/nxp/frdm_mcxc444/frdm_mcxc444_defconfig @@ -0,0 +1,10 @@ +# +# Copyright 2024 NXP +# +# SPDX-License-Identifier: Apache-2.0 +# + +CONFIG_CONSOLE=y +CONFIG_UART_CONSOLE=y +CONFIG_SERIAL=y +CONFIG_GPIO=y diff --git a/boards/nxp/frdm_mcxn236/board.c b/boards/nxp/frdm_mcxn236/board.c index 8f0d1fd7976..fbaf20ccd65 100644 --- a/boards/nxp/frdm_mcxn236/board.c +++ b/boards/nxp/frdm_mcxn236/board.c @@ -88,84 +88,84 @@ static int frdm_mcxn236_init(void) /* Set AHBCLKDIV divider to value 1 */ CLOCK_SetClkDiv(kCLOCK_DivAhbClk, 1U); -#if DT_NODE_HAS_STATUS(DT_NODELABEL(flexcomm1), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(flexcomm1)) CLOCK_SetClkDiv(kCLOCK_DivFlexcom1Clk, 1u); CLOCK_AttachClk(kFRO12M_to_FLEXCOMM1); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(flexcomm2), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(flexcomm2)) CLOCK_SetClkDiv(kCLOCK_DivFlexcom2Clk, 1u); CLOCK_AttachClk(kFRO12M_to_FLEXCOMM2); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(flexcomm3), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(flexcomm3)) CLOCK_SetClkDiv(kCLOCK_DivFlexcom3Clk, 1u); CLOCK_AttachClk(kFRO12M_to_FLEXCOMM3); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(flexcomm4), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(flexcomm4)) CLOCK_SetClkDiv(kCLOCK_DivFlexcom4Clk, 1u); CLOCK_AttachClk(kFRO12M_to_FLEXCOMM4); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(flexcomm5), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(flexcomm5)) CLOCK_SetClkDiv(kCLOCK_DivFlexcom5Clk, 1u); CLOCK_AttachClk(kFRO12M_to_FLEXCOMM5); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(os_timer), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(os_timer)) CLOCK_AttachClk(kCLK_1M_to_OSTIMER); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(gpio0), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(gpio0)) CLOCK_EnableClock(kCLOCK_Gpio0); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(gpio1), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(gpio1)) CLOCK_EnableClock(kCLOCK_Gpio1); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(gpio2), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(gpio2)) CLOCK_EnableClock(kCLOCK_Gpio2); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(gpio3), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(gpio3)) CLOCK_EnableClock(kCLOCK_Gpio3); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(gpio4), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(gpio4)) CLOCK_EnableClock(kCLOCK_Gpio4); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(gpio5), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(gpio5)) CLOCK_EnableClock(kCLOCK_Gpio5); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(wwdt0), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(wwdt0)) CLOCK_SetClkDiv(kCLOCK_DivWdt0Clk, 1u); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(ctimer0), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(ctimer0)) CLOCK_SetClkDiv(kCLOCK_DivCtimer0Clk, 1U); CLOCK_AttachClk(kPLL0_to_CTIMER0); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(ctimer1), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(ctimer1)) CLOCK_SetClkDiv(kCLOCK_DivCtimer1Clk, 1U); CLOCK_AttachClk(kPLL0_to_CTIMER1); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(ctimer2), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(ctimer2)) CLOCK_SetClkDiv(kCLOCK_DivCtimer2Clk, 1U); CLOCK_AttachClk(kPLL0_to_CTIMER2); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(ctimer3), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(ctimer3)) CLOCK_SetClkDiv(kCLOCK_DivCtimer3Clk, 1U); CLOCK_AttachClk(kPLL0_to_CTIMER3); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(ctimer4), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(ctimer4)) CLOCK_SetClkDiv(kCLOCK_DivCtimer4Clk, 1U); CLOCK_AttachClk(kPLL0_to_CTIMER4); #endif diff --git a/boards/nxp/frdm_mcxn236/board.yml b/boards/nxp/frdm_mcxn236/board.yml index 0bd2d3928ba..6c1645c9272 100644 --- a/boards/nxp/frdm_mcxn236/board.yml +++ b/boards/nxp/frdm_mcxn236/board.yml @@ -1,5 +1,6 @@ board: name: frdm_mcxn236 + full_name: FRDM-MCXN236 vendor: nxp socs: - name: mcxn236 diff --git a/boards/nxp/frdm_mcxn947/board.c b/boards/nxp/frdm_mcxn947/board.c index 37ec5f4dd6d..db21a4ae194 100644 --- a/boards/nxp/frdm_mcxn947/board.c +++ b/boards/nxp/frdm_mcxn947/board.c @@ -127,7 +127,7 @@ static int frdm_mcxn947_init(void) CLOCK_SetupExtClocking(BOARD_XTAL0_CLK_HZ); -#if DT_NODE_HAS_STATUS(DT_NODELABEL(flexcan0), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(flexcan0)) /* Set up PLL1 for 80 MHz FlexCAN clock */ const pll_setup_t pll1Setup = { .pllctrl = SCG_SPLLCTRL_SOURCE(1U) | SCG_SPLLCTRL_SELI(27U) | @@ -146,50 +146,50 @@ static int frdm_mcxn947_init(void) CLOCK_SetClkDiv(kCLOCK_DivPLL1Clk0, 1U); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(flexcomm1), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(flexcomm1)) CLOCK_SetClkDiv(kCLOCK_DivFlexcom1Clk, 1u); CLOCK_AttachClk(kFRO12M_to_FLEXCOMM1); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(flexcomm2), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(flexcomm2)) CLOCK_SetClkDiv(kCLOCK_DivFlexcom2Clk, 1u); CLOCK_AttachClk(kFRO12M_to_FLEXCOMM2); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(flexcomm4), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(flexcomm4)) CLOCK_SetClkDiv(kCLOCK_DivFlexcom4Clk, 1u); CLOCK_AttachClk(kFRO12M_to_FLEXCOMM4); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(os_timer), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(os_timer)) CLOCK_AttachClk(kCLK_1M_to_OSTIMER); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(gpio0), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(gpio0)) CLOCK_EnableClock(kCLOCK_Gpio0); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(gpio1), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(gpio1)) CLOCK_EnableClock(kCLOCK_Gpio1); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(gpio2), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(gpio2)) CLOCK_EnableClock(kCLOCK_Gpio2); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(gpio3), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(gpio3)) CLOCK_EnableClock(kCLOCK_Gpio3); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(gpio4), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(gpio4)) CLOCK_EnableClock(kCLOCK_Gpio4); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(gpio5), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(gpio5)) CLOCK_EnableClock(kCLOCK_Gpio5); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(dac0), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(dac0)) SPC_EnableActiveModeAnalogModules(SPC0, kSPC_controlDac0); CLOCK_SetClkDiv(kCLOCK_DivDac0Clk, 1u); CLOCK_AttachClk(kFRO_HF_to_DAC0); @@ -197,7 +197,7 @@ static int frdm_mcxn947_init(void) CLOCK_EnableClock(kCLOCK_Dac0); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(dac1), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(dac1)) SPC_EnableActiveModeAnalogModules(SPC0, kSPC_controlDac1); CLOCK_SetClkDiv(kCLOCK_DivDac1Clk, 1u); CLOCK_AttachClk(kFRO_HF_to_DAC1); @@ -205,7 +205,7 @@ static int frdm_mcxn947_init(void) CLOCK_EnableClock(kCLOCK_Dac1); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(enet), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(enet)) CLOCK_AttachClk(kNONE_to_ENETRMII); CLOCK_EnableClock(kCLOCK_Enet); SYSCON0->PRESETCTRL2 = SYSCON_PRESETCTRL2_ENET_RST_MASK; @@ -214,41 +214,41 @@ static int frdm_mcxn947_init(void) SYSCON->ENET_PHY_INTF_SEL = SYSCON_ENET_PHY_INTF_SEL_PHY_SEL(1); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(wwdt0), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(wwdt0)) CLOCK_SetClkDiv(kCLOCK_DivWdt0Clk, 1u); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(ctimer0), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(ctimer0)) CLOCK_SetClkDiv(kCLOCK_DivCtimer0Clk, 1U); CLOCK_AttachClk(kPLL0_to_CTIMER0); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(ctimer1), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(ctimer1)) CLOCK_SetClkDiv(kCLOCK_DivCtimer1Clk, 1U); CLOCK_AttachClk(kPLL0_to_CTIMER1); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(ctimer2), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(ctimer2)) CLOCK_SetClkDiv(kCLOCK_DivCtimer2Clk, 1U); CLOCK_AttachClk(kPLL0_to_CTIMER2); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(ctimer3), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(ctimer3)) CLOCK_SetClkDiv(kCLOCK_DivCtimer3Clk, 1U); CLOCK_AttachClk(kPLL0_to_CTIMER3); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(ctimer4), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(ctimer4)) CLOCK_SetClkDiv(kCLOCK_DivCtimer4Clk, 1U); CLOCK_AttachClk(kPLL0_to_CTIMER4); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(flexcan0), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(flexcan0)) CLOCK_SetClkDiv(kCLOCK_DivFlexcan0Clk, 1U); CLOCK_AttachClk(kPLL1_CLK0_to_FLEXCAN0); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(usdhc0), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(usdhc0)) CLOCK_SetClkDiv(kCLOCK_DivUSdhcClk, 1u); CLOCK_AttachClk(kFRO_HF_to_USDHC); #endif @@ -260,17 +260,17 @@ static int frdm_mcxn947_init(void) enable_cache64(); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(vref), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(vref)) CLOCK_EnableClock(kCLOCK_Vref); SPC_EnableActiveModeAnalogModules(SPC0, kSPC_controlVref); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(lpadc0), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(lpadc0)) CLOCK_SetClkDiv(kCLOCK_DivAdc0Clk, 1U); CLOCK_AttachClk(kFRO_HF_to_ADC0); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(usb1), okay) && CONFIG_USB_DC_NXP_EHCI +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(usb1)) && CONFIG_USB_DC_NXP_EHCI usb_phy_config_struct_t usbPhyConfig = { BOARD_USB_PHY_D_CAL, BOARD_USB_PHY_TXCAL45DP, BOARD_USB_PHY_TXCAL45DM, }; @@ -312,13 +312,13 @@ static int frdm_mcxn947_init(void) USB_EhciPhyInit(kUSB_ControllerEhci0, BOARD_XTAL0_CLK_HZ, &usbPhyConfig); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(lpcmp0), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(lpcmp0)) CLOCK_SetClkDiv(kCLOCK_DivCmp0FClk, 1U); CLOCK_AttachClk(kFRO12M_to_CMP0F); SPC_EnableActiveModeAnalogModules(SPC0, (kSPC_controlCmp0 | kSPC_controlCmp0Dac)); #endif -#if DT_NODE_HAS_STATUS(DT_NODELABEL(lptmr0), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(lptmr0)) /* * Clock Select Decides what input source the lptmr will clock from @@ -340,9 +340,9 @@ static int frdm_mcxn947_init(void) CLOCK_SetupClockCtrl(kCLOCK_CLKIN_ENA_FM_USBH_LPT); #endif /* DT_PROP(DT_NODELABEL(lptmr0), clk_source) */ -#endif /* DT_NODE_HAS_STATUS(DT_NODELABEL(lptmr0), okay) */ +#endif /* DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(lptmr0)) */ -#if DT_NODE_HAS_STATUS(DT_NODELABEL(flexio0), okay) +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(flexio0)) CLOCK_SetClkDiv(kCLOCK_DivFlexioClk, 1u); CLOCK_AttachClk(kPLL0_to_FLEXIO); #endif diff --git a/boards/nxp/frdm_mcxn947/board.yml b/boards/nxp/frdm_mcxn947/board.yml index b4a64533333..dd17fc68dc4 100644 --- a/boards/nxp/frdm_mcxn947/board.yml +++ b/boards/nxp/frdm_mcxn947/board.yml @@ -1,5 +1,6 @@ board: name: frdm_mcxn947 + full_name: FRDM-MCXN947 vendor: nxp socs: - name: mcxn947 diff --git a/boards/nxp/frdm_mcxw71/Kconfig.frdm_mcxw71 b/boards/nxp/frdm_mcxw71/Kconfig.frdm_mcxw71 new file mode 100644 index 00000000000..1febea3fe4a --- /dev/null +++ b/boards/nxp/frdm_mcxw71/Kconfig.frdm_mcxw71 @@ -0,0 +1,6 @@ +# Copyright 2024 NXP +# SPDX-License-Identifier: Apache-2.0 + +config BOARD_FRDM_MCXW71 + select SOC_MCXW716C + select SOC_PART_NUMBER_MCXW716CMFTA diff --git a/boards/nxp/frdm_mcxw71/board.cmake b/boards/nxp/frdm_mcxw71/board.cmake new file mode 100644 index 00000000000..27c59c8d358 --- /dev/null +++ b/boards/nxp/frdm_mcxw71/board.cmake @@ -0,0 +1,6 @@ +# Copyright 2024 NXP +# SPDX-License-Identifier: Apache-2.0 + +board_runner_args(jlink "--device=mcxw716" "--reset-after-load") + +include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake) diff --git a/boards/nxp/frdm_mcxw71/board.yml b/boards/nxp/frdm_mcxw71/board.yml new file mode 100644 index 00000000000..e0243a0f32b --- /dev/null +++ b/boards/nxp/frdm_mcxw71/board.yml @@ -0,0 +1,6 @@ +board: + name: frdm_mcxw71 + full_name: FRDM-MCXW71 + vendor: nxp + socs: + - name: mcxw716c diff --git a/boards/nxp/frdm_mcxw71/doc/frdm_mcxw71.webp b/boards/nxp/frdm_mcxw71/doc/frdm_mcxw71.webp new file mode 100644 index 00000000000..25c7ca3feb5 Binary files /dev/null and b/boards/nxp/frdm_mcxw71/doc/frdm_mcxw71.webp differ diff --git a/boards/nxp/frdm_mcxw71/doc/index.rst b/boards/nxp/frdm_mcxw71/doc/index.rst new file mode 100644 index 00000000000..2ed258c39a4 --- /dev/null +++ b/boards/nxp/frdm_mcxw71/doc/index.rst @@ -0,0 +1,141 @@ +.. _frdm_mcxw71: + +NXP FRDM-MCXW71 +################ + +Overview +******** + +The FRDM-MCXW71 is a compact and scalable development board for rapid +prototyping of the MCX W71 wireless MCU. It offers easy evaluation of the MCX +W71's multiprotocol wireless support for Bluetooth LE, Zigbee, Thread and +Matter. The board includes an on-board MCU-Link debugger, industry standard +headers for easy access to the MCU’s I/Os, an accelerometer, a light sensor and +external SPI flash memory. + +The MCX W71x family features a 96 MHz Arm® Cortex®-M33 core coupled with a +multiprotocol radio subsystem supporting Matter, Thread, Zigbee and Bluetooth +LE. The independent radio subsystem, with a dedicated core and memory, offloads +the main CPU, preserving it for the primary application and allowing firmware +updates to support future wireless standards. + +.. image:: frdm_mcxw71.webp + :align: center + :alt: FRDM-MCXW71 + +Hardware +******** + +- MCXW71 Arm Cortex-M33 microcontroller running up to 96 MHz +- 1MB on-chip Flash memory unit +- 128 KB TCM RAM +- On-board MCU-Link debugger with CMSIS-DAP + +For more information about the MCXW71 SoC and FRDM-MCXW71 board, see: + +- `MCXW71 SoC Website`_ +- `FRDM-MCXW71 Website`_ + +Supported Features +================== + +The ``frdm_mcxw71`` board target in Zephyr currently supports the following features: + ++-----------+------------+-------------------------------------+ +| Interface | Controller | Driver/Component | ++===========+============+=====================================+ +| NVIC | on-chip | nested vector interrupt controller | ++-----------+------------+-------------------------------------+ +| SYSTICK | on-chip | systick | ++-----------+------------+-------------------------------------+ +| PINMUX | on-chip | pinctrl | ++-----------+------------+-------------------------------------+ +| GPIO | on-chip | gpio | ++-----------+------------+-------------------------------------+ +| LPUART | on-chip | serial port-polling; | +| | | serial port-interrupt | ++-----------+------------+-------------------------------------+ + +Programming and Debugging +************************* + +Build and flash applications as usual (see :ref:`build_an_application` and +:ref:`application_run` for more details). + +Configuring a Debug Probe +========================= + +A debug probe is used for both flashing and debugging the board. This board is +configured by default to use the MCU-Link CMSIS-DAP Onboard Debug Probe. + +Using J-Link +------------ + +There are two options. The onboard debug circuit can be updated with Segger +J-Link firmware by following the instructions in +:ref:`mcu-link-jlink-onboard-debug-probe`. +To be able to program the firmware, you need to put the board in ``DFU mode`` +by shortening the jumper JP5. +The second option is to attach a :ref:`jlink-external-debug-probe` to the +10-pin SWD connector (J12) of the board. +For both options use the ``-r jlink`` option with west to use the jlink runner. + +.. code-block:: console + + west flash -r jlink + +Configuring a Console +===================== + +Connect a USB cable from your PC to J10, and use the serial terminal of your choice +(minicom, putty, etc.) with the following settings: + +- Speed: 115200 +- Data: 8 bits +- Parity: None +- Stop bits: 1 + +Flashing +======== + +Here is an example for the :zephyr:code-sample:`hello_world` application. + +.. zephyr-app-commands:: + :zephyr-app: samples/hello_world + :board: frdm_mcxw71/mcxw716c + :goals: flash + +Open a serial terminal, reset the board (press the RESET button), and you should +see the following message in the terminal: + +.. code-block:: console + + *** Booting Zephyr OS build v3.7.0-xxx-xxxx *** + Hello World! frdm_mcxw71/mcxw716c + +Debugging +========= + +Here is an example for the :zephyr:code-sample:`hello_world` application. + +.. zephyr-app-commands:: + :zephyr-app: samples/hello_world + :board: frdm_mcxw71/mcxw716c + :goals: debug + +Open a serial terminal, step through the application in your debugger, and you +should see the following message in the terminal: + +.. code-block:: console + + *** Booting Zephyr OS build v3.7.0-xxx-xxxx *** + Hello World! frdm_mcxw71/mcxw716c + +References +********** + +.. _MCXW71 SoC Website: + https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/mcx-arm-cortex-m/mcx-w-series-microcontrollers/mcx-w71x-secure-and-ultra-low-power-mcus-for-matter-thread-zigbee-and-bluetooth-le:MCX-W71X + +.. _FRDM-MCXW71 Website: + https://www.nxp.com/design/design-center/development-boards-and-designs/general-purpose-mcus/frdm-development-board-for-mcx-w71x-wireless-mcus:FRDM-MCXW71 diff --git a/boards/nxp/frdm_mcxw71/frdm_mcxw71-pinctrl.dtsi b/boards/nxp/frdm_mcxw71/frdm_mcxw71-pinctrl.dtsi new file mode 100644 index 00000000000..d834ed38453 --- /dev/null +++ b/boards/nxp/frdm_mcxw71/frdm_mcxw71-pinctrl.dtsi @@ -0,0 +1,16 @@ +/* + * Copyright 2024 NXP + * SPDX-License-Identifier: Apache-2.0 + */ + +#include + +&pinctrl { + pinmux_lpuart1: pinmux_lpuart1 { + group0 { + pinmux = , ; + drive-strength = "low"; + slew-rate = "fast"; + }; + }; +}; diff --git a/boards/nxp/frdm_mcxw71/frdm_mcxw71.dts b/boards/nxp/frdm_mcxw71/frdm_mcxw71.dts new file mode 100644 index 00000000000..6577fe5ccca --- /dev/null +++ b/boards/nxp/frdm_mcxw71/frdm_mcxw71.dts @@ -0,0 +1,62 @@ +/* + * Copyright 2024 NXP + * SPDX-License-Identifier: Apache-2.0 + */ + +/dts-v1/; + +#include +#include "frdm_mcxw71-pinctrl.dtsi" + +/ { + model = "NXP FRDM-MCXW71 board"; + + aliases { + led0 = &green_led; + }; + + chosen { + zephyr,flash = &flash; + zephyr,code-partition = &code_partition; + zephyr,sram = &stcm0; + zephyr,console = &lpuart1; + zephyr,shell-uart = &lpuart1; + }; + + user_led { + compatible = "gpio-leds"; + green_led: led { + gpios = <&gpioc 1 GPIO_ACTIVE_LOW>; + }; + }; +}; + +&gpioc { + status = "okay"; +}; + +&lpuart1 { + current-speed = <115200>; + status = "okay"; + pinctrl-0 = <&pinmux_lpuart1>; + pinctrl-names = "default"; +}; + +&flash { + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + code_partition: partition@0 { + reg = <0x0 DT_SIZE_K(896)>; + label = "code"; + read-only; + }; + + storage_partition: partition@e0000 { + reg = <0xe0000 DT_SIZE_K(128)>; + label = "storage"; + }; + }; +}; diff --git a/boards/nxp/frdm_mcxw71/frdm_mcxw71.yaml b/boards/nxp/frdm_mcxw71/frdm_mcxw71.yaml new file mode 100644 index 00000000000..bdc3c13959b --- /dev/null +++ b/boards/nxp/frdm_mcxw71/frdm_mcxw71.yaml @@ -0,0 +1,15 @@ +identifier: frdm_mcxw71 +name: NXP FRDM_MCXW71 +type: mcu +arch: arm +ram: 64 +flash: 1024 +toolchain: + - zephyr + - gnuarmemb + - xtools +supported: + - gpio + - uart + - pinctrl + - flash diff --git a/boards/nxp/frdm_mcxw71/frdm_mcxw71_defconfig b/boards/nxp/frdm_mcxw71/frdm_mcxw71_defconfig new file mode 100644 index 00000000000..ef284e16e65 --- /dev/null +++ b/boards/nxp/frdm_mcxw71/frdm_mcxw71_defconfig @@ -0,0 +1,13 @@ +# +# Copyright 2023 NXP +# +# SPDX-License-Identifier: Apache-2.0 +# + +CONFIG_ARM_MPU=y +CONFIG_TRUSTED_EXECUTION_SECURE=y +CONFIG_PINCTRL=y +CONFIG_SERIAL=y +CONFIG_CONSOLE=y +CONFIG_UART_CONSOLE=y +CONFIG_GPIO=y diff --git a/boards/nxp/frdm_rw612/board.yml b/boards/nxp/frdm_rw612/board.yml index e52333358c4..17ec6bda829 100644 --- a/boards/nxp/frdm_rw612/board.yml +++ b/boards/nxp/frdm_rw612/board.yml @@ -1,5 +1,6 @@ board: name: frdm_rw612 + full_name: FRDM_RW612 vendor: nxp socs: - name: rw612 diff --git a/boards/nxp/hexiwear/board.yml b/boards/nxp/hexiwear/board.yml index c478fa02678..63a0e80de9a 100644 --- a/boards/nxp/hexiwear/board.yml +++ b/boards/nxp/hexiwear/board.yml @@ -1,5 +1,6 @@ board: name: hexiwear + full_name: Hexiwear vendor: nxp socs: - name: mk64f12 diff --git a/boards/nxp/imx8mm_evk/board.yml b/boards/nxp/imx8mm_evk/board.yml index 0c46177f70b..3b760999b3f 100644 --- a/boards/nxp/imx8mm_evk/board.yml +++ b/boards/nxp/imx8mm_evk/board.yml @@ -1,5 +1,6 @@ board: name: imx8mm_evk + full_name: i.MX8MM EVK vendor: nxp socs: - name: mimx8mm6 diff --git a/boards/nxp/imx8mn_evk/board.yml b/boards/nxp/imx8mn_evk/board.yml index 294060de506..c26c08d5bb6 100644 --- a/boards/nxp/imx8mn_evk/board.yml +++ b/boards/nxp/imx8mn_evk/board.yml @@ -1,5 +1,6 @@ board: name: imx8mn_evk + full_name: i.MX8MN EVK (Cortex-A53) vendor: nxp socs: - name: mimx8mn6 diff --git a/boards/nxp/imx8mp_evk/board.yml b/boards/nxp/imx8mp_evk/board.yml index d810c27a596..c9616826269 100644 --- a/boards/nxp/imx8mp_evk/board.yml +++ b/boards/nxp/imx8mp_evk/board.yml @@ -1,5 +1,6 @@ board: name: imx8mp_evk + full_name: i.MX8MP EVK vendor: nxp socs: - name: mimx8ml8 diff --git a/boards/nxp/imx8mq_evk/board.yml b/boards/nxp/imx8mq_evk/board.yml index c599f0a7afd..cb272769958 100644 --- a/boards/nxp/imx8mq_evk/board.yml +++ b/boards/nxp/imx8mq_evk/board.yml @@ -1,5 +1,6 @@ board: name: imx8mq_evk + full_name: MIMX8MQ EVK vendor: nxp socs: - name: mimx8mq6 diff --git a/boards/nxp/imx8qm_mek/board.yml b/boards/nxp/imx8qm_mek/board.yml index d044277a622..c97d6c179e8 100644 --- a/boards/nxp/imx8qm_mek/board.yml +++ b/boards/nxp/imx8qm_mek/board.yml @@ -1,5 +1,6 @@ board: name: imx8qm_mek + full_name: i.MX 8QuadMax Multisensory Enablement Kit (MEK) vendor: nxp socs: - name: mimx8qm6 diff --git a/boards/nxp/imx8qxp_mek/board.yml b/boards/nxp/imx8qxp_mek/board.yml index e31754086d7..a2c838ef239 100644 --- a/boards/nxp/imx8qxp_mek/board.yml +++ b/boards/nxp/imx8qxp_mek/board.yml @@ -1,5 +1,6 @@ board: name: imx8qxp_mek + full_name: i.MX 8QuadXPlus Multisensory Enablement Kit (MEK) vendor: nxp socs: - name: mimx8qx6 diff --git a/boards/nxp/imx8ulp_evk/board.yml b/boards/nxp/imx8ulp_evk/board.yml index bd5e16dc93d..45167a37f26 100644 --- a/boards/nxp/imx8ulp_evk/board.yml +++ b/boards/nxp/imx8ulp_evk/board.yml @@ -1,5 +1,6 @@ board: name: imx8ulp_evk + full_name: i.MX 8ULP Evaluation Kit vendor: nxp socs: - name: mimx8ud7 diff --git a/boards/nxp/imx93_evk/board.yml b/boards/nxp/imx93_evk/board.yml index 110334be558..008156c5fa5 100644 --- a/boards/nxp/imx93_evk/board.yml +++ b/boards/nxp/imx93_evk/board.yml @@ -1,5 +1,6 @@ board: name: imx93_evk + full_name: i.MX93 EVK vendor: nxp socs: - name: mimx9352 diff --git a/boards/nxp/imx95_evk/board.yml b/boards/nxp/imx95_evk/board.yml index 14909074457..9f170d32918 100644 --- a/boards/nxp/imx95_evk/board.yml +++ b/boards/nxp/imx95_evk/board.yml @@ -1,5 +1,6 @@ board: name: imx95_evk + full_name: i.MX95 EVK vendor: nxp socs: - name: mimx9596 diff --git a/boards/nxp/lpcxpresso11u68/board.yml b/boards/nxp/lpcxpresso11u68/board.yml index 30712d42e69..b0e31a04eab 100644 --- a/boards/nxp/lpcxpresso11u68/board.yml +++ b/boards/nxp/lpcxpresso11u68/board.yml @@ -1,5 +1,6 @@ board: name: lpcxpresso11u68 + full_name: LPCXpresso11U68 vendor: nxp socs: - name: lpc11u68 diff --git a/boards/nxp/lpcxpresso51u68/board.yml b/boards/nxp/lpcxpresso51u68/board.yml index 7eb0f17095e..b27419f0f99 100644 --- a/boards/nxp/lpcxpresso51u68/board.yml +++ b/boards/nxp/lpcxpresso51u68/board.yml @@ -1,5 +1,6 @@ board: name: lpcxpresso51u68 + full_name: LPCXPRESSO51U68 vendor: nxp socs: - name: lpc51u68 diff --git a/boards/nxp/lpcxpresso54114/board.yml b/boards/nxp/lpcxpresso54114/board.yml index 64477bf2ac8..d891073c5f7 100644 --- a/boards/nxp/lpcxpresso54114/board.yml +++ b/boards/nxp/lpcxpresso54114/board.yml @@ -1,5 +1,6 @@ board: name: lpcxpresso54114 + full_name: LPCXPRESSO54114 vendor: nxp socs: - name: lpc54114 diff --git a/boards/nxp/lpcxpresso55s06/board.yml b/boards/nxp/lpcxpresso55s06/board.yml index a15c5a1da85..e8924e0d941 100644 --- a/boards/nxp/lpcxpresso55s06/board.yml +++ b/boards/nxp/lpcxpresso55s06/board.yml @@ -1,5 +1,6 @@ board: name: lpcxpresso55s06 + full_name: LPCXpresso55S06 vendor: nxp socs: - name: lpc55s06 diff --git a/boards/nxp/lpcxpresso55s16/board.yml b/boards/nxp/lpcxpresso55s16/board.yml index 5b4c627af1c..33328c04d1d 100644 --- a/boards/nxp/lpcxpresso55s16/board.yml +++ b/boards/nxp/lpcxpresso55s16/board.yml @@ -1,5 +1,6 @@ board: name: lpcxpresso55s16 + full_name: LPCXpresso55S16 vendor: nxp socs: - name: lpc55s16 diff --git a/boards/nxp/lpcxpresso55s28/board.yml b/boards/nxp/lpcxpresso55s28/board.yml index d4309c4e3df..9cedc7e450c 100644 --- a/boards/nxp/lpcxpresso55s28/board.yml +++ b/boards/nxp/lpcxpresso55s28/board.yml @@ -1,5 +1,6 @@ board: name: lpcxpresso55s28 + full_name: LPCXpresso55S28 vendor: nxp socs: - name: lpc55s28 diff --git a/boards/nxp/lpcxpresso55s36/board.yml b/boards/nxp/lpcxpresso55s36/board.yml index e888d768815..7257c1d421a 100644 --- a/boards/nxp/lpcxpresso55s36/board.yml +++ b/boards/nxp/lpcxpresso55s36/board.yml @@ -1,5 +1,6 @@ board: name: lpcxpresso55s36 + full_name: LPCXpresso55S36 vendor: nxp socs: - name: lpc55s36 diff --git a/boards/nxp/lpcxpresso55s69/board.yml b/boards/nxp/lpcxpresso55s69/board.yml index 605ab7b3e9f..6c38dd06b0a 100644 --- a/boards/nxp/lpcxpresso55s69/board.yml +++ b/boards/nxp/lpcxpresso55s69/board.yml @@ -1,5 +1,6 @@ board: name: lpcxpresso55s69 + full_name: LPCXPRESSO55S69 vendor: nxp socs: - name: lpc55s69 diff --git a/boards/nxp/ls1046ardb/board.yml b/boards/nxp/ls1046ardb/board.yml index 9ad69170480..64001359b9a 100644 --- a/boards/nxp/ls1046ardb/board.yml +++ b/boards/nxp/ls1046ardb/board.yml @@ -1,5 +1,6 @@ board: name: ls1046ardb + full_name: LS1046A RDB vendor: nxp socs: - name: ls1046a diff --git a/boards/nxp/mimxrt1010_evk/board.yml b/boards/nxp/mimxrt1010_evk/board.yml index 8c5dd6f1d75..6a82a521460 100644 --- a/boards/nxp/mimxrt1010_evk/board.yml +++ b/boards/nxp/mimxrt1010_evk/board.yml @@ -1,5 +1,6 @@ board: name: mimxrt1010_evk + full_name: MIMXRT1010-EVK vendor: nxp socs: - name: mimxrt1011 diff --git a/boards/nxp/mimxrt1015_evk/board.yml b/boards/nxp/mimxrt1015_evk/board.yml index 5f26dc3898b..8661e008230 100644 --- a/boards/nxp/mimxrt1015_evk/board.yml +++ b/boards/nxp/mimxrt1015_evk/board.yml @@ -1,5 +1,6 @@ board: name: mimxrt1015_evk + full_name: MIMXRT1015-EVK vendor: nxp socs: - name: mimxrt1015 diff --git a/boards/nxp/mimxrt1020_evk/board.yml b/boards/nxp/mimxrt1020_evk/board.yml index 4df4def13bc..c56ebb2360d 100644 --- a/boards/nxp/mimxrt1020_evk/board.yml +++ b/boards/nxp/mimxrt1020_evk/board.yml @@ -1,5 +1,6 @@ board: name: mimxrt1020_evk + full_name: MIMXRT1020-EVK vendor: nxp socs: - name: mimxrt1021 diff --git a/boards/nxp/mimxrt1024_evk/board.yml b/boards/nxp/mimxrt1024_evk/board.yml index c9420ad2b75..e3858413637 100644 --- a/boards/nxp/mimxrt1024_evk/board.yml +++ b/boards/nxp/mimxrt1024_evk/board.yml @@ -1,5 +1,6 @@ board: name: mimxrt1024_evk + full_name: MIMXRT1024-EVK vendor: nxp socs: - name: mimxrt1024 diff --git a/boards/nxp/mimxrt1040_evk/board.yml b/boards/nxp/mimxrt1040_evk/board.yml index ded85cfce4a..a5e5803ca22 100644 --- a/boards/nxp/mimxrt1040_evk/board.yml +++ b/boards/nxp/mimxrt1040_evk/board.yml @@ -1,5 +1,6 @@ board: name: mimxrt1040_evk + full_name: MIMXRT1040-EVK vendor: nxp socs: - name: mimxrt1042 diff --git a/boards/nxp/mimxrt1050_evk/board.yml b/boards/nxp/mimxrt1050_evk/board.yml index c1276214baa..48b8680e4b5 100644 --- a/boards/nxp/mimxrt1050_evk/board.yml +++ b/boards/nxp/mimxrt1050_evk/board.yml @@ -1,5 +1,6 @@ board: name: mimxrt1050_evk + full_name: MIMXRT1050-EVK vendor: nxp socs: - name: mimxrt1052 diff --git a/boards/nxp/mimxrt1060_evk/board.yml b/boards/nxp/mimxrt1060_evk/board.yml index 6682fbd7228..c3787a5385e 100644 --- a/boards/nxp/mimxrt1060_evk/board.yml +++ b/boards/nxp/mimxrt1060_evk/board.yml @@ -1,11 +1,13 @@ boards: - name: mimxrt1060_evk + full_name: MIMXRT1060-EVK vendor: nxp socs: - name: mimxrt1062 revision: format: "custom" - name: mimxrt1060_evkb + full_name: MIMXRT1060-EVKB vendor: nxp socs: - name: mimxrt1062 diff --git a/boards/nxp/mimxrt1062_fmurt6/board.yml b/boards/nxp/mimxrt1062_fmurt6/board.yml index bebcb6c7954..60541a7f361 100644 --- a/boards/nxp/mimxrt1062_fmurt6/board.yml +++ b/boards/nxp/mimxrt1062_fmurt6/board.yml @@ -1,5 +1,6 @@ board: name: mimxrt1062_fmurt6 + full_name: FMURT6 vendor: nxp socs: - name: mimxrt1062 diff --git a/boards/nxp/mimxrt1064_evk/board.yml b/boards/nxp/mimxrt1064_evk/board.yml index b3116560663..9800be05066 100644 --- a/boards/nxp/mimxrt1064_evk/board.yml +++ b/boards/nxp/mimxrt1064_evk/board.yml @@ -1,5 +1,6 @@ board: name: mimxrt1064_evk + full_name: MIMXRT1064-EVK vendor: nxp socs: - name: mimxrt1064 diff --git a/boards/nxp/mimxrt1160_evk/board.yml b/boards/nxp/mimxrt1160_evk/board.yml index 4fe56f8d256..85136c78580 100644 --- a/boards/nxp/mimxrt1160_evk/board.yml +++ b/boards/nxp/mimxrt1160_evk/board.yml @@ -1,5 +1,6 @@ board: name: mimxrt1160_evk + full_name: MIMXRT1160-EVK vendor: nxp socs: - name: mimxrt1166 diff --git a/boards/nxp/mimxrt1170_evk/board.yml b/boards/nxp/mimxrt1170_evk/board.yml index 0b8e2b058e0..4a6a25318b0 100644 --- a/boards/nxp/mimxrt1170_evk/board.yml +++ b/boards/nxp/mimxrt1170_evk/board.yml @@ -1,5 +1,6 @@ board: name: mimxrt1170_evk + full_name: MIMXRT1170-EVK/EVKB vendor: nxp socs: - name: mimxrt1176 diff --git a/boards/nxp/mimxrt1180_evk/board.yml b/boards/nxp/mimxrt1180_evk/board.yml index 0153cf4260d..3c3a3680cb3 100644 --- a/boards/nxp/mimxrt1180_evk/board.yml +++ b/boards/nxp/mimxrt1180_evk/board.yml @@ -1,5 +1,6 @@ board: name: mimxrt1180_evk + full_name: MIMXRT1180-EVK vendor: nxp socs: - name: mimxrt1189 diff --git a/boards/nxp/mimxrt595_evk/board.yml b/boards/nxp/mimxrt595_evk/board.yml index 5982f346712..052648e5b86 100644 --- a/boards/nxp/mimxrt595_evk/board.yml +++ b/boards/nxp/mimxrt595_evk/board.yml @@ -1,5 +1,6 @@ board: name: mimxrt595_evk + full_name: MIMXRT595-EVK vendor: nxp socs: - name: mimxrt595s diff --git a/boards/nxp/mimxrt685_evk/board.yml b/boards/nxp/mimxrt685_evk/board.yml index 41956acbb31..c65a7e860bc 100644 --- a/boards/nxp/mimxrt685_evk/board.yml +++ b/boards/nxp/mimxrt685_evk/board.yml @@ -1,5 +1,6 @@ board: name: mimxrt685_evk + full_name: MIMXRT685-EVK vendor: nxp socs: - name: mimxrt685s diff --git a/boards/nxp/mr_canhubk3/board.yml b/boards/nxp/mr_canhubk3/board.yml index 3840a8f3d30..fcf396d2c45 100644 --- a/boards/nxp/mr_canhubk3/board.yml +++ b/boards/nxp/mr_canhubk3/board.yml @@ -1,5 +1,6 @@ board: name: mr_canhubk3 + full_name: MR-CANHUBK3 vendor: nxp socs: - name: s32k344 diff --git a/boards/nxp/rd_rw612_bga/board.yml b/boards/nxp/rd_rw612_bga/board.yml index 3316d695614..e5b918b3ec9 100644 --- a/boards/nxp/rd_rw612_bga/board.yml +++ b/boards/nxp/rd_rw612_bga/board.yml @@ -1,5 +1,6 @@ board: name: rd_rw612_bga + full_name: RD-RW612-BGA vendor: nxp socs: - name: rw612 diff --git a/boards/nxp/rddrone_fmuk66/board.yml b/boards/nxp/rddrone_fmuk66/board.yml index 40707b2f2e4..5d83c0d237f 100644 --- a/boards/nxp/rddrone_fmuk66/board.yml +++ b/boards/nxp/rddrone_fmuk66/board.yml @@ -1,5 +1,6 @@ board: name: rddrone_fmuk66 + full_name: RDDRONE-FMUK66 vendor: nxp socs: - name: mk66f18 diff --git a/boards/nxp/s32z2xxdc2/board.yml b/boards/nxp/s32z2xxdc2/board.yml index bffe1839c3c..ab7e2be4c38 100644 --- a/boards/nxp/s32z2xxdc2/board.yml +++ b/boards/nxp/s32z2xxdc2/board.yml @@ -1,5 +1,6 @@ board: name: s32z2xxdc2 + full_name: X-S32Z27X-DC (DC2) vendor: nxp revision: format: letter diff --git a/boards/nxp/twr_ke18f/board.yml b/boards/nxp/twr_ke18f/board.yml index ffaf5fb235f..0f18fed1466 100644 --- a/boards/nxp/twr_ke18f/board.yml +++ b/boards/nxp/twr_ke18f/board.yml @@ -1,5 +1,6 @@ board: name: twr_ke18f + full_name: TWR-KE18F vendor: nxp socs: - name: mke18f16 diff --git a/boards/nxp/twr_kv58f220m/board.yml b/boards/nxp/twr_kv58f220m/board.yml index 536e16c178f..d7ec86a420e 100644 --- a/boards/nxp/twr_kv58f220m/board.yml +++ b/boards/nxp/twr_kv58f220m/board.yml @@ -1,5 +1,6 @@ board: name: twr_kv58f220m + full_name: TWR-KV58F220M vendor: nxp socs: - name: mkv58f24 diff --git a/boards/nxp/ucans32k1sic/board.yml b/boards/nxp/ucans32k1sic/board.yml index 87964b5201f..d4cdb83314b 100644 --- a/boards/nxp/ucans32k1sic/board.yml +++ b/boards/nxp/ucans32k1sic/board.yml @@ -1,5 +1,6 @@ board: name: ucans32k1sic + full_name: UCANS32K1SIC vendor: nxp socs: - name: s32k146 diff --git a/boards/nxp/usb_kw24d512/board.yml b/boards/nxp/usb_kw24d512/board.yml index 21dae9f8435..a166d3bdca8 100644 --- a/boards/nxp/usb_kw24d512/board.yml +++ b/boards/nxp/usb_kw24d512/board.yml @@ -1,5 +1,6 @@ board: name: usb_kw24d512 + full_name: USB-KW24D512 vendor: nxp socs: - name: mkw24d5 diff --git a/boards/nxp/vmu_rt1170/board.yml b/boards/nxp/vmu_rt1170/board.yml index 91d9d2e83b2..45e37ad7898 100644 --- a/boards/nxp/vmu_rt1170/board.yml +++ b/boards/nxp/vmu_rt1170/board.yml @@ -1,5 +1,6 @@ board: name: vmu_rt1170 + full_name: VMU RT1170 vendor: nxp socs: - name: mimxrt1176 diff --git a/boards/olimex/lora_stm32wl_devkit/board.yml b/boards/olimex/lora_stm32wl_devkit/board.yml index 511de6634d2..6b1397bf3b5 100644 --- a/boards/olimex/lora_stm32wl_devkit/board.yml +++ b/boards/olimex/lora_stm32wl_devkit/board.yml @@ -1,5 +1,6 @@ board: name: olimex_lora_stm32wl_devkit + full_name: LoRa STM32WL DevKit vendor: olimex revision: format: letter diff --git a/boards/olimex/olimex_esp32_evb/board.yml b/boards/olimex/olimex_esp32_evb/board.yml index 8dc816efceb..ab25d5859c2 100644 --- a/boards/olimex/olimex_esp32_evb/board.yml +++ b/boards/olimex/olimex_esp32_evb/board.yml @@ -1,5 +1,6 @@ board: name: olimex_esp32_evb + full_name: ESP32-EVB vendor: olimex socs: - name: esp32 diff --git a/boards/olimex/olimexino_stm32/board.yml b/boards/olimex/olimexino_stm32/board.yml index 0944c4bb280..6f2276da7b0 100644 --- a/boards/olimex/olimexino_stm32/board.yml +++ b/boards/olimex/olimexino_stm32/board.yml @@ -1,5 +1,6 @@ board: name: olimexino_stm32 + full_name: OLIMEXINO-STM32 vendor: olimex socs: - name: stm32f103xb diff --git a/boards/olimex/stm32_e407/board.yml b/boards/olimex/stm32_e407/board.yml index b01060566dc..d15c9456c2c 100644 --- a/boards/olimex/stm32_e407/board.yml +++ b/boards/olimex/stm32_e407/board.yml @@ -1,5 +1,6 @@ board: name: olimex_stm32_e407 + full_name: OLIMEX-STM32-E407 vendor: olimex socs: - name: stm32f407xx diff --git a/boards/olimex/stm32_h103/board.yml b/boards/olimex/stm32_h103/board.yml index 2917e4e19d9..eb8195402ae 100644 --- a/boards/olimex/stm32_h103/board.yml +++ b/boards/olimex/stm32_h103/board.yml @@ -1,5 +1,6 @@ board: name: olimex_stm32_h103 + full_name: OLIMEX-STM32-H103 vendor: olimex socs: - name: stm32f103xb diff --git a/boards/olimex/stm32_h405/board.yml b/boards/olimex/stm32_h405/board.yml index bd0e8f4beaa..aa10f3c9ef9 100644 --- a/boards/olimex/stm32_h405/board.yml +++ b/boards/olimex/stm32_h405/board.yml @@ -1,5 +1,6 @@ board: name: olimex_stm32_h405 + full_name: OLIMEX-STM32-H405 vendor: olimex socs: - name: stm32f405xx diff --git a/boards/olimex/stm32_h407/board.yml b/boards/olimex/stm32_h407/board.yml index 5d2f0d7a783..452a712f595 100644 --- a/boards/olimex/stm32_h407/board.yml +++ b/boards/olimex/stm32_h407/board.yml @@ -1,5 +1,6 @@ board: name: olimex_stm32_h407 + full_name: OLIMEX-STM32-H407 vendor: olimex socs: - name: stm32f407xx diff --git a/boards/olimex/stm32_p405/board.yml b/boards/olimex/stm32_p405/board.yml index 12201ed22c9..8ac0ac264ab 100644 --- a/boards/olimex/stm32_p405/board.yml +++ b/boards/olimex/stm32_p405/board.yml @@ -1,5 +1,6 @@ board: name: olimex_stm32_p405 + full_name: OLIMEX-STM32-P405 vendor: olimex socs: - name: stm32f405xx diff --git a/boards/openisa/rv32m1_vega/board.yml b/boards/openisa/rv32m1_vega/board.yml index 5813a21b54f..4e60beab435 100644 --- a/boards/openisa/rv32m1_vega/board.yml +++ b/boards/openisa/rv32m1_vega/board.yml @@ -1,5 +1,6 @@ board: name: rv32m1_vega + full_name: OpenISA VEGAboard vendor: openisa socs: - name: openisa_rv32m1 diff --git a/boards/openisa/rv32m1_vega/doc/index.rst b/boards/openisa/rv32m1_vega/doc/index.rst index 92d9e999752..a8ff0b6c4b8 100644 --- a/boards/openisa/rv32m1_vega/doc/index.rst +++ b/boards/openisa/rv32m1_vega/doc/index.rst @@ -578,7 +578,7 @@ toolchain and OpenOCD:: You need to make sure this happens every time you use this board. Now let's compile the :zephyr:code-sample:`hello_world` application. (You can try -others as well; see :ref:`samples-and-demos` for more.) +others as well; see :zephyr:code-sample-category:`samples` for more.) .. We can't use zephyr-app-commands to provide build instructions due to the below mentioned linker issue. diff --git a/boards/others/black_f407ve/board.yml b/boards/others/black_f407ve/board.yml index 472d766cbc7..6c14732f07c 100644 --- a/boards/others/black_f407ve/board.yml +++ b/boards/others/black_f407ve/board.yml @@ -1,5 +1,6 @@ board: name: black_f407ve + full_name: Black STM32 F407VE Development Board vendor: others socs: - name: stm32f407xx diff --git a/boards/others/black_f407zg_pro/board.yml b/boards/others/black_f407zg_pro/board.yml index dc322315620..96f2891f768 100644 --- a/boards/others/black_f407zg_pro/board.yml +++ b/boards/others/black_f407zg_pro/board.yml @@ -1,5 +1,6 @@ board: name: black_f407zg_pro + full_name: Black STM32 F407ZG Pro Development Board vendor: others socs: - name: stm32f407xx diff --git a/boards/others/icev_wireless/board.yml b/boards/others/icev_wireless/board.yml index 2dcef96cbdf..b810e970f76 100644 --- a/boards/others/icev_wireless/board.yml +++ b/boards/others/icev_wireless/board.yml @@ -1,5 +1,6 @@ board: name: icev_wireless + full_name: ICE-V Wireless vendor: others socs: - name: esp32c3 diff --git a/boards/others/neorv32/board.yml b/boards/others/neorv32/board.yml index f12fa42b78f..9154d90e8a9 100644 --- a/boards/others/neorv32/board.yml +++ b/boards/others/neorv32/board.yml @@ -1,5 +1,6 @@ board: name: neorv32 + full_name: NEORV32 vendor: others revision: format: major.minor.patch diff --git a/boards/others/serpente/board.yml b/boards/others/serpente/board.yml index e5775329a06..0be3e94ffe6 100644 --- a/boards/others/serpente/board.yml +++ b/boards/others/serpente/board.yml @@ -1,5 +1,6 @@ board: name: serpente + full_name: Arturo182 Serpente vendor: solderparty socs: - name: samd21e18a diff --git a/boards/others/serpente/doc/index.rst b/boards/others/serpente/doc/index.rst index c624c5ad062..e7140707d74 100644 --- a/boards/others/serpente/doc/index.rst +++ b/boards/others/serpente/doc/index.rst @@ -74,7 +74,7 @@ USB Device Port =============== The SAMD21 MCU has a USB device port that can be used to communicate -with a host PC. See the :ref:`usb-samples` sample applications for +with a host PC. See the :zephyr:code-sample-category:`usb` sample applications for more, such as the :zephyr:code-sample:`usb-cdc-acm` sample which prints "Hello World!" to the host PC. diff --git a/boards/others/stm32_min_dev/board.yml b/boards/others/stm32_min_dev/board.yml index 28a35697379..3ac7dfb8958 100644 --- a/boards/others/stm32_min_dev/board.yml +++ b/boards/others/stm32_min_dev/board.yml @@ -1,5 +1,6 @@ board: name: stm32_min_dev + full_name: STM32 Minimum Development Board vendor: others revision: format: custom diff --git a/boards/others/stm32f030_demo/board.yml b/boards/others/stm32f030_demo/board.yml index 348d40a665b..b0f19e11846 100644 --- a/boards/others/stm32f030_demo/board.yml +++ b/boards/others/stm32f030_demo/board.yml @@ -1,5 +1,6 @@ board: name: stm32f030_demo + full_name: STM32F030 DEMO BOARD vendor: others socs: - name: stm32f030x6 diff --git a/boards/others/stm32f103_mini/board.yml b/boards/others/stm32f103_mini/board.yml index 4ea8f6fbb2d..f88d33224dd 100644 --- a/boards/others/stm32f103_mini/board.yml +++ b/boards/others/stm32f103_mini/board.yml @@ -1,5 +1,6 @@ board: name: stm32f103_mini + full_name: STM32F103 Mini vendor: st socs: - name: stm32f103xe diff --git a/boards/others/stm32f401_mini/board.yml b/boards/others/stm32f401_mini/board.yml index b6ec3cd3af8..6c057c149df 100644 --- a/boards/others/stm32f401_mini/board.yml +++ b/boards/others/stm32f401_mini/board.yml @@ -1,5 +1,6 @@ board: name: stm32f401_mini + full_name: STM32 Mini F401 vendor: others socs: - name: stm32f401xc diff --git a/boards/panasonic/pan1770_evb/board.yml b/boards/panasonic/pan1770_evb/board.yml index 0808b91b99b..91d8a8c01b7 100644 --- a/boards/panasonic/pan1770_evb/board.yml +++ b/boards/panasonic/pan1770_evb/board.yml @@ -1,5 +1,6 @@ board: name: pan1770_evb + full_name: PAN1770 Evaluation Board vendor: panasonic socs: - name: nrf52840 diff --git a/boards/panasonic/pan1780_evb/board.yml b/boards/panasonic/pan1780_evb/board.yml index 53a9a68192a..fcb9c21e6f5 100644 --- a/boards/panasonic/pan1780_evb/board.yml +++ b/boards/panasonic/pan1780_evb/board.yml @@ -1,5 +1,6 @@ board: name: pan1780_evb + full_name: PAN1780 Evaluation Board vendor: panasonic socs: - name: nrf52840 diff --git a/boards/panasonic/pan1781_evb/board.yml b/boards/panasonic/pan1781_evb/board.yml index 64a5a239961..9f4fae581f7 100644 --- a/boards/panasonic/pan1781_evb/board.yml +++ b/boards/panasonic/pan1781_evb/board.yml @@ -1,5 +1,6 @@ board: name: pan1781_evb + full_name: PAN1781 Evaluation Board vendor: panasonic socs: - name: nrf52820 diff --git a/boards/panasonic/pan1782_evb/board.yml b/boards/panasonic/pan1782_evb/board.yml index 649e5507d82..f4bfec853e0 100644 --- a/boards/panasonic/pan1782_evb/board.yml +++ b/boards/panasonic/pan1782_evb/board.yml @@ -1,5 +1,6 @@ board: name: pan1782_evb + full_name: PAN1782 Evaluation Board vendor: panasonic socs: - name: nrf52833 diff --git a/boards/panasonic/pan1783/board.yml b/boards/panasonic/pan1783/board.yml index 461763d86f2..750f82b7848 100644 --- a/boards/panasonic/pan1783/board.yml +++ b/boards/panasonic/pan1783/board.yml @@ -1,13 +1,16 @@ boards: - name: pan1783_evb + full_name: PAN1783 Evaluation Board vendor: panasonic socs: - name: nrf5340 - name: pan1783a_evb + full_name: PAN1783A Evaluation Board vendor: panasonic socs: - name: nrf5340 - name: pan1783a_pa_evb + full_name: PAN1783A-PA Evaluation Board vendor: panasonic socs: - name: nrf5340 diff --git a/boards/particle/argon/board.yml b/boards/particle/argon/board.yml index 08eadfda743..b4cf83969ec 100644 --- a/boards/particle/argon/board.yml +++ b/boards/particle/argon/board.yml @@ -1,5 +1,6 @@ board: name: particle_argon + full_name: Argon vendor: particle socs: - name: nrf52840 diff --git a/boards/particle/boron/board.yml b/boards/particle/boron/board.yml index bb77655e8c0..25742d7ee79 100644 --- a/boards/particle/boron/board.yml +++ b/boards/particle/boron/board.yml @@ -1,5 +1,6 @@ board: name: particle_boron + full_name: Boron vendor: particle socs: - name: nrf52840 diff --git a/boards/particle/nrf51_blenano/board.yml b/boards/particle/nrf51_blenano/board.yml index bc651160fa4..f4b6bc29495 100644 --- a/boards/particle/nrf51_blenano/board.yml +++ b/boards/particle/nrf51_blenano/board.yml @@ -1,5 +1,6 @@ board: name: nrf51_blenano + full_name: Redbear Labs Nano vendor: particle socs: - name: nrf51822 diff --git a/boards/particle/nrf52_blenano2/board.yml b/boards/particle/nrf52_blenano2/board.yml index fedad35babc..dc90277b7e7 100644 --- a/boards/particle/nrf52_blenano2/board.yml +++ b/boards/particle/nrf52_blenano2/board.yml @@ -1,5 +1,6 @@ board: name: nrf52_blenano2 + full_name: Redbear Labs Nano v2 vendor: particle socs: - name: nrf52832 diff --git a/boards/particle/xenon/board.yml b/boards/particle/xenon/board.yml index a681db97a1f..894b1cf6c90 100644 --- a/boards/particle/xenon/board.yml +++ b/boards/particle/xenon/board.yml @@ -1,5 +1,6 @@ board: name: particle_xenon + full_name: Xenon vendor: particle socs: - name: nrf52840 diff --git a/boards/phytec/mimx8mm_phyboard_polis/board.yml b/boards/phytec/mimx8mm_phyboard_polis/board.yml index 1c416b90eb1..8f834205354 100644 --- a/boards/phytec/mimx8mm_phyboard_polis/board.yml +++ b/boards/phytec/mimx8mm_phyboard_polis/board.yml @@ -1,5 +1,6 @@ board: name: mimx8mm_phyboard_polis + full_name: PhyBOARD Polis (NXP i.MX8M Mini) vendor: phytec socs: - name: mimx8mm6 diff --git a/boards/phytec/mimx8mp_phyboard_pollux/board.yml b/boards/phytec/mimx8mp_phyboard_pollux/board.yml index b871a53e370..a8e5cbf9a0a 100644 --- a/boards/phytec/mimx8mp_phyboard_pollux/board.yml +++ b/boards/phytec/mimx8mp_phyboard_pollux/board.yml @@ -1,5 +1,6 @@ board: name: mimx8mp_phyboard_pollux + full_name: PhyBOARD Pollux (NXP i.MX8M Plus) vendor: phytec socs: - name: mimx8ml8 diff --git a/boards/phytec/phyboard_electra/board.yml b/boards/phytec/phyboard_electra/board.yml index d5c24f15cbd..5e58cfb5431 100644 --- a/boards/phytec/phyboard_electra/board.yml +++ b/boards/phytec/phyboard_electra/board.yml @@ -1,5 +1,6 @@ board: name: phyboard_electra + full_name: phyBOARD-Electra AM64x M4F Core vendor: phytec socs: - name: am6442 diff --git a/boards/phytec/phyboard_lyra/board.yml b/boards/phytec/phyboard_lyra/board.yml index 2b98d77f510..c9a6c3a9b14 100644 --- a/boards/phytec/phyboard_lyra/board.yml +++ b/boards/phytec/phyboard_lyra/board.yml @@ -1,5 +1,6 @@ board: name: phyboard_lyra + full_name: phyBOARD-Lyra AM62x A53 Core vendor: phytec socs: - name: am6234 diff --git a/boards/phytec/reel_board/board.yml b/boards/phytec/reel_board/board.yml index 75878900418..2fd1363c0d7 100644 --- a/boards/phytec/reel_board/board.yml +++ b/boards/phytec/reel_board/board.yml @@ -1,5 +1,6 @@ board: name: reel_board + full_name: reel board vendor: phytec socs: - name: nrf52840 diff --git a/boards/pine64/pinetime_devkit0/board.yml b/boards/pine64/pinetime_devkit0/board.yml index e4c926cf96b..448cbca23b8 100644 --- a/boards/pine64/pinetime_devkit0/board.yml +++ b/boards/pine64/pinetime_devkit0/board.yml @@ -1,5 +1,6 @@ board: name: pinetime_devkit0 + full_name: PineTime DevKit0 vendor: pine64 socs: - name: nrf52832 diff --git a/boards/pjrc/teensy4/board.yml b/boards/pjrc/teensy4/board.yml index 7906ae3b823..0ae483ebc2c 100644 --- a/boards/pjrc/teensy4/board.yml +++ b/boards/pjrc/teensy4/board.yml @@ -1,9 +1,11 @@ boards: - name: teensy40 + full_name: Teensy 4.0 vendor: pjrc socs: - name: mimxrt1062 - name: teensy41 + full_name: Teensy 4.1 vendor: pjrc socs: - name: mimxrt1062 diff --git a/boards/qemu/arc/board.yml b/boards/qemu/arc/board.yml index 1fb49911afa..27571b6c5ce 100644 --- a/boards/qemu/arc/board.yml +++ b/boards/qemu/arc/board.yml @@ -1,5 +1,6 @@ board: name: qemu_arc + full_name: QEMU Emulation for ARCv2 & ARCv3 vendor: qemu socs: - name: qemu_arc_em diff --git a/boards/qemu/cortex_a53/board.yml b/boards/qemu/cortex_a53/board.yml index ab04f6ac8f1..d096f5495a1 100644 --- a/boards/qemu/cortex_a53/board.yml +++ b/boards/qemu/cortex_a53/board.yml @@ -1,5 +1,6 @@ board: name: qemu_cortex_a53 + full_name: QEMU Emulation for ARM Cortex-A53 vendor: arm socs: - name: qemu_cortex_a53 diff --git a/boards/qemu/cortex_a9/board.yml b/boards/qemu/cortex_a9/board.yml index 72cba6ce8d9..4b48ca9d2ad 100644 --- a/boards/qemu/cortex_a9/board.yml +++ b/boards/qemu/cortex_a9/board.yml @@ -1,5 +1,6 @@ board: name: qemu_cortex_a9 + full_name: QEMU Emulation for Cortex-A9 vendor: qemu socs: - name: xc7z007s diff --git a/boards/qemu/cortex_m0/board.yml b/boards/qemu/cortex_m0/board.yml index fc71c63896b..aa58b1a0ef4 100644 --- a/boards/qemu/cortex_m0/board.yml +++ b/boards/qemu/cortex_m0/board.yml @@ -1,5 +1,6 @@ board: name: qemu_cortex_m0 + full_name: QEMU Emulation for ARM Cortex-M0 vendor: nordic socs: - name: nrf51822 diff --git a/boards/qemu/cortex_m3/board.yml b/boards/qemu/cortex_m3/board.yml index 5566adb5e02..6422e416ef3 100644 --- a/boards/qemu/cortex_m3/board.yml +++ b/boards/qemu/cortex_m3/board.yml @@ -1,5 +1,6 @@ board: name: qemu_cortex_m3 + full_name: QEMU Emulation for ARM Cortex-M3 vendor: qemu socs: - name: ti_lm3s6965 diff --git a/boards/qemu/cortex_r5/board.yml b/boards/qemu/cortex_r5/board.yml index 6cf5b2fee95..ae013f0a4ba 100644 --- a/boards/qemu/cortex_r5/board.yml +++ b/boards/qemu/cortex_r5/board.yml @@ -1,5 +1,6 @@ board: name: qemu_cortex_r5 + full_name: QEMU Emulation for ARM Cortex-R5 vendor: qemu socs: - name: zynqmp_rpu diff --git a/boards/qemu/kvm_arm64/board.yml b/boards/qemu/kvm_arm64/board.yml index dd0edf80316..ff9a9e4c2be 100644 --- a/boards/qemu/kvm_arm64/board.yml +++ b/boards/qemu/kvm_arm64/board.yml @@ -1,5 +1,6 @@ board: name: qemu_kvm_arm64 + full_name: QEMU Emulation for ARM AArch64 Virt KVM vendor: arm socs: - name: qemu_virt_arm64 diff --git a/boards/qemu/leon3/board.yml b/boards/qemu/leon3/board.yml index 6d4fdc189bf..61d3cd2f71a 100644 --- a/boards/qemu/leon3/board.yml +++ b/boards/qemu/leon3/board.yml @@ -1,5 +1,6 @@ board: name: qemu_leon3 + full_name: QEMU Emulation for LEON3 vendor: gaisler socs: - name: leon3 diff --git a/boards/qemu/malta/board.yml b/boards/qemu/malta/board.yml index 050bd381c73..acb375c5804 100644 --- a/boards/qemu/malta/board.yml +++ b/boards/qemu/malta/board.yml @@ -1,5 +1,6 @@ board: name: qemu_malta + full_name: QEMU Emulation for MIPS Malta vendor: qemu socs: - name: qemu_malta diff --git a/boards/qemu/nios2/board.yml b/boards/qemu/nios2/board.yml index 93f6487d318..aae11848062 100644 --- a/boards/qemu/nios2/board.yml +++ b/boards/qemu/nios2/board.yml @@ -1,5 +1,6 @@ board: name: qemu_nios2 + full_name: QEMU Emulation for Altera Nios-II vendor: altr socs: - name: qemu_nios2 diff --git a/boards/qemu/riscv32/board.yml b/boards/qemu/riscv32/board.yml index 0ba208612a9..00b7b794e24 100644 --- a/boards/qemu/riscv32/board.yml +++ b/boards/qemu/riscv32/board.yml @@ -1,5 +1,6 @@ board: name: qemu_riscv32 + full_name: QEMU Emulation for RISCV32 vendor: qemu socs: - name: qemu_virt_riscv32 diff --git a/boards/qemu/riscv32_xip/board.yml b/boards/qemu/riscv32_xip/board.yml index beca29532f4..4c43b4d73c8 100644 --- a/boards/qemu/riscv32_xip/board.yml +++ b/boards/qemu/riscv32_xip/board.yml @@ -1,5 +1,6 @@ board: name: qemu_riscv32_xip + full_name: QEMU Emulation for RISCV32 XIP vendor: qemu socs: - name: fe310 diff --git a/boards/qemu/riscv32e/board.yml b/boards/qemu/riscv32e/board.yml index cc8e6f0becc..e4b41d79f3e 100644 --- a/boards/qemu/riscv32e/board.yml +++ b/boards/qemu/riscv32e/board.yml @@ -1,5 +1,6 @@ board: name: qemu_riscv32e + full_name: QEMU Emulation for RISCV32E Emulation vendor: qemu socs: - name: qemu_virt_riscv32e diff --git a/boards/qemu/riscv64/board.yml b/boards/qemu/riscv64/board.yml index aa51fd1fdba..eeab9480a24 100644 --- a/boards/qemu/riscv64/board.yml +++ b/boards/qemu/riscv64/board.yml @@ -1,5 +1,6 @@ board: name: qemu_riscv64 + full_name: QEMU Emulation for RISCV64 vendor: qemu socs: - name: qemu_virt_riscv64 diff --git a/boards/qemu/x86/board.yml b/boards/qemu/x86/board.yml index 75d0cd6eb4b..7e0fa76a043 100644 --- a/boards/qemu/x86/board.yml +++ b/boards/qemu/x86/board.yml @@ -1,6 +1,7 @@ boards: - name: qemu_x86 + full_name: QEMU Emulation for X86 socs: - name: atom variants: @@ -11,15 +12,18 @@ boards: - name: 'xip' - name: qemu_x86_lakemont + full_name: QEMU Emulation for X86 / Lakemont CPU socs: - name: lakemont - name: qemu_x86_64 + full_name: QEMU Emulation for X86 64bit socs: - name: atom variants: - name: 'nokpti' - name: qemu_x86_tiny + full_name: QEMU Emulation for X86 Minimal Configuration socs: - name: atom diff --git a/boards/qemu/xtensa/board.yml b/boards/qemu/xtensa/board.yml index 1441dcc25fc..116a53db80b 100644 --- a/boards/qemu/xtensa/board.yml +++ b/boards/qemu/xtensa/board.yml @@ -1,5 +1,6 @@ board: name: qemu_xtensa + full_name: QEMU Emulation for Xtensa vendor: cdns socs: - name: dc233c diff --git a/boards/qorvo/decawave_dwm1001_dev/board.yml b/boards/qorvo/decawave_dwm1001_dev/board.yml index f1d0ae7def0..3197993cc38 100644 --- a/boards/qorvo/decawave_dwm1001_dev/board.yml +++ b/boards/qorvo/decawave_dwm1001_dev/board.yml @@ -1,5 +1,6 @@ board: name: decawave_dwm1001_dev + full_name: Decawave DWM1001 vendor: qorvo socs: - name: nrf52832 diff --git a/boards/quicklogic/qomu/board.yml b/boards/quicklogic/qomu/board.yml index e71125610fa..b1c9dd2ce60 100644 --- a/boards/quicklogic/qomu/board.yml +++ b/boards/quicklogic/qomu/board.yml @@ -1,5 +1,6 @@ board: name: qomu + full_name: Qomu vendor: quicklogic socs: - name: quicklogic_eos_s3 diff --git a/boards/quicklogic/quick_feather/board.yml b/boards/quicklogic/quick_feather/board.yml index 3ca618cbe34..d271954fb97 100644 --- a/boards/quicklogic/quick_feather/board.yml +++ b/boards/quicklogic/quick_feather/board.yml @@ -1,5 +1,6 @@ board: name: quick_feather + full_name: QuickFeather vendor: quicklogic socs: - name: quicklogic_eos_s3 diff --git a/boards/rak/rak11720/board.yml b/boards/rak/rak11720/board.yml index 827beef7e76..418094b216c 100644 --- a/boards/rak/rak11720/board.yml +++ b/boards/rak/rak11720/board.yml @@ -1,5 +1,6 @@ board: name: rak11720 + full_name: RAK11720 vendor: rakwireless socs: - name: apollo3_blue diff --git a/boards/rak/rak4631/board.yml b/boards/rak/rak4631/board.yml index a3b88672823..5a97085dd0a 100644 --- a/boards/rak/rak4631/board.yml +++ b/boards/rak/rak4631/board.yml @@ -1,5 +1,6 @@ board: name: rak4631 + full_name: RAK4631 vendor: rakwireless socs: - name: nrf52840 diff --git a/boards/rak/rak5010/board.yml b/boards/rak/rak5010/board.yml index c681ac27cb7..d3fc3948831 100644 --- a/boards/rak/rak5010/board.yml +++ b/boards/rak/rak5010/board.yml @@ -1,5 +1,6 @@ board: name: rak5010 + full_name: RAK5010 vendor: rakwireless socs: - name: nrf52840 diff --git a/boards/raspberrypi/rpi_4b/board.yml b/boards/raspberrypi/rpi_4b/board.yml index a84904f9b29..9c8a7ad5bc2 100644 --- a/boards/raspberrypi/rpi_4b/board.yml +++ b/boards/raspberrypi/rpi_4b/board.yml @@ -1,5 +1,6 @@ board: name: rpi_4b + full_name: Raspberry Pi 4 Model B (Cortex-A72) vendor: raspberrypi socs: - name: bcm2711 diff --git a/boards/raspberrypi/rpi_5/board.yml b/boards/raspberrypi/rpi_5/board.yml index d604b7f4e51..2c90e5c2db0 100644 --- a/boards/raspberrypi/rpi_5/board.yml +++ b/boards/raspberrypi/rpi_5/board.yml @@ -1,5 +1,6 @@ board: name: rpi_5 + full_name: Raspberry Pi 5 (Cortex-A76) vendor: raspberrypi socs: - name: bcm2712 diff --git a/boards/raspberrypi/rpi_pico/board.yml b/boards/raspberrypi/rpi_pico/board.yml index e4f8e5bc8d5..c7378a32801 100644 --- a/boards/raspberrypi/rpi_pico/board.yml +++ b/boards/raspberrypi/rpi_pico/board.yml @@ -1,5 +1,6 @@ board: name: rpi_pico + full_name: Raspberry Pi Pico vendor: raspberrypi socs: - name: rp2040 diff --git a/boards/raytac/mdbt50q_db_33/board.yml b/boards/raytac/mdbt50q_db_33/board.yml index dbad99fd489..c15a873add0 100644 --- a/boards/raytac/mdbt50q_db_33/board.yml +++ b/boards/raytac/mdbt50q_db_33/board.yml @@ -1,5 +1,6 @@ board: name: raytac_mdbt50q_db_33 + full_name: MDBT50Q-DB-33 vendor: raytac socs: - name: nrf52833 diff --git a/boards/raytac/mdbt50q_db_40/board.yml b/boards/raytac/mdbt50q_db_40/board.yml index a8c109b715f..1d06509fb2f 100644 --- a/boards/raytac/mdbt50q_db_40/board.yml +++ b/boards/raytac/mdbt50q_db_40/board.yml @@ -1,5 +1,6 @@ board: name: raytac_mdbt50q_db_40 + full_name: MDBT50Q-DB-40 vendor: raytac socs: - name: nrf52840 diff --git a/boards/raytac/mdbt53_db_40/board.yml b/boards/raytac/mdbt53_db_40/board.yml index 84bef186b33..823043b0c01 100644 --- a/boards/raytac/mdbt53_db_40/board.yml +++ b/boards/raytac/mdbt53_db_40/board.yml @@ -1,5 +1,6 @@ board: name: raytac_mdbt53_db_40 + full_name: MDBT53-DB-40 vendor: raytac socs: - name: 'nrf5340' diff --git a/boards/raytac/mdbt53v_db_40/board.yml b/boards/raytac/mdbt53v_db_40/board.yml index 9d3bfd4689b..56fe6f20294 100644 --- a/boards/raytac/mdbt53v_db_40/board.yml +++ b/boards/raytac/mdbt53v_db_40/board.yml @@ -1,5 +1,6 @@ board: name: raytac_mdbt53v_db_40 + full_name: MDBT53V-DB-40 vendor: raytac socs: - name: 'nrf5340' diff --git a/boards/renesas/da14695_dk_usb/board.yml b/boards/renesas/da14695_dk_usb/board.yml index b9d3f06cb1d..fa0ea2c2bc2 100644 --- a/boards/renesas/da14695_dk_usb/board.yml +++ b/boards/renesas/da14695_dk_usb/board.yml @@ -1,5 +1,6 @@ board: name: da14695_dk_usb + full_name: DA14695 Development Kit USB vendor: renesas socs: - name: da14695 diff --git a/boards/renesas/da1469x_dk_pro/board.yml b/boards/renesas/da1469x_dk_pro/board.yml index 09ab03c0b26..6c7388567ac 100644 --- a/boards/renesas/da1469x_dk_pro/board.yml +++ b/boards/renesas/da1469x_dk_pro/board.yml @@ -1,5 +1,6 @@ board: name: da1469x_dk_pro + full_name: DA1469x Development Kit Pro vendor: renesas socs: - name: da14699 diff --git a/boards/renesas/ek_ra2a1/board.yml b/boards/renesas/ek_ra2a1/board.yml index 82c498850aa..6c47b918ec5 100644 --- a/boards/renesas/ek_ra2a1/board.yml +++ b/boards/renesas/ek_ra2a1/board.yml @@ -1,5 +1,6 @@ board: name: ek_ra2a1 + full_name: RA2A1 Evaluation Kit vendor: renesas socs: - name: r7fa2a1ab3cfm diff --git a/boards/renesas/ek_ra4e2/board.yml b/boards/renesas/ek_ra4e2/board.yml index 8baa0819ff2..161c7543ff9 100644 --- a/boards/renesas/ek_ra4e2/board.yml +++ b/boards/renesas/ek_ra4e2/board.yml @@ -1,5 +1,6 @@ board: name: ek_ra4e2 + full_name: RA4E2 Evaluation Kit vendor: renesas socs: - name: r7fa4e2b93cfm diff --git a/boards/renesas/ek_ra4m2/board.yml b/boards/renesas/ek_ra4m2/board.yml index c19484eff8a..31a7e8e269a 100644 --- a/boards/renesas/ek_ra4m2/board.yml +++ b/boards/renesas/ek_ra4m2/board.yml @@ -1,5 +1,6 @@ board: name: ek_ra4m2 + full_name: RA4M2 Evaluation Kit vendor: renesas socs: - name: r7fa4m2ad3cfp diff --git a/boards/renesas/ek_ra4m3/board.yml b/boards/renesas/ek_ra4m3/board.yml index 30b3b39ac4e..b84c06cd531 100644 --- a/boards/renesas/ek_ra4m3/board.yml +++ b/boards/renesas/ek_ra4m3/board.yml @@ -1,5 +1,6 @@ board: name: ek_ra4m3 + full_name: RA4M3 Evaluation Kit vendor: renesas socs: - name: r7fa4m3af3cfb diff --git a/boards/renesas/ek_ra4w1/board.yml b/boards/renesas/ek_ra4w1/board.yml index 709a8435475..8783b2b957c 100644 --- a/boards/renesas/ek_ra4w1/board.yml +++ b/boards/renesas/ek_ra4w1/board.yml @@ -1,5 +1,6 @@ board: name: ek_ra4w1 + full_name: RA4W1 Evaluation Kit vendor: renesas socs: - name: r7fa4w1ad2cng diff --git a/boards/renesas/ek_ra6e2/board.yml b/boards/renesas/ek_ra6e2/board.yml index 972476c9b2e..5c2629250d7 100644 --- a/boards/renesas/ek_ra6e2/board.yml +++ b/boards/renesas/ek_ra6e2/board.yml @@ -1,5 +1,6 @@ board: name: ek_ra6e2 + full_name: RA6E2 Evaluation Kit vendor: renesas socs: - name: r7fa6e2bb3cfm diff --git a/boards/renesas/ek_ra6m1/board.yml b/boards/renesas/ek_ra6m1/board.yml index db68eb8a068..003486b48ff 100644 --- a/boards/renesas/ek_ra6m1/board.yml +++ b/boards/renesas/ek_ra6m1/board.yml @@ -1,5 +1,6 @@ board: name: ek_ra6m1 + full_name: RA6M1 Evaluation Kit vendor: renesas socs: - name: r7fa6m1ad3cfp diff --git a/boards/renesas/ek_ra6m2/board.yml b/boards/renesas/ek_ra6m2/board.yml index 325b1601c9a..ec00a66bf19 100644 --- a/boards/renesas/ek_ra6m2/board.yml +++ b/boards/renesas/ek_ra6m2/board.yml @@ -1,5 +1,6 @@ board: name: ek_ra6m2 + full_name: RA6M2 Evaluation Kit vendor: renesas socs: - name: r7fa6m2af3cfb diff --git a/boards/renesas/ek_ra6m3/board.yml b/boards/renesas/ek_ra6m3/board.yml index 2bf115b0a18..084afa42ced 100644 --- a/boards/renesas/ek_ra6m3/board.yml +++ b/boards/renesas/ek_ra6m3/board.yml @@ -1,5 +1,6 @@ board: name: ek_ra6m3 + full_name: RA6M3 Evaluation Kit vendor: renesas socs: - name: r7fa6m3ah3cfc diff --git a/boards/renesas/ek_ra6m4/board.yml b/boards/renesas/ek_ra6m4/board.yml index 5c7e34ff180..c7bb851f8d7 100644 --- a/boards/renesas/ek_ra6m4/board.yml +++ b/boards/renesas/ek_ra6m4/board.yml @@ -1,5 +1,6 @@ board: name: ek_ra6m4 + full_name: RA6M4 Evaluation Kit vendor: renesas socs: - name: r7fa6m4af3cfb diff --git a/boards/renesas/ek_ra6m5/board.yml b/boards/renesas/ek_ra6m5/board.yml index 826e64f943e..d084f775ec1 100644 --- a/boards/renesas/ek_ra6m5/board.yml +++ b/boards/renesas/ek_ra6m5/board.yml @@ -1,5 +1,6 @@ board: name: ek_ra6m5 + full_name: RA6M5 Evaluation Kit vendor: renesas socs: - name: r7fa6m5bh3cfc diff --git a/boards/renesas/ek_ra8d1/board.yml b/boards/renesas/ek_ra8d1/board.yml index 9b48ea9b942..d109cd234a3 100644 --- a/boards/renesas/ek_ra8d1/board.yml +++ b/boards/renesas/ek_ra8d1/board.yml @@ -1,5 +1,6 @@ board: name: ek_ra8d1 + full_name: RA8D1 Evaluation Kit vendor: renesas socs: - name: r7fa8d1bhecbd diff --git a/boards/renesas/ek_ra8m1/board.yml b/boards/renesas/ek_ra8m1/board.yml index 136846ecc81..f98587420bc 100644 --- a/boards/renesas/ek_ra8m1/board.yml +++ b/boards/renesas/ek_ra8m1/board.yml @@ -1,5 +1,6 @@ board: name: ek_ra8m1 + full_name: RA8M1 Evaluation Kit vendor: renesas socs: - name: r7fa8m1ahecbd diff --git a/boards/renesas/fpb_ra6e1/board.yml b/boards/renesas/fpb_ra6e1/board.yml index ed1e0a18bfd..d2f980d6acc 100644 --- a/boards/renesas/fpb_ra6e1/board.yml +++ b/boards/renesas/fpb_ra6e1/board.yml @@ -1,5 +1,6 @@ board: name: fpb_ra6e1 + full_name: RA6E1 Fast Prototyping Board vendor: renesas socs: - name: r7fa6e10f2cfp diff --git a/boards/renesas/fpb_ra6e2/board.yml b/boards/renesas/fpb_ra6e2/board.yml index 0d28094c404..586b7c74810 100644 --- a/boards/renesas/fpb_ra6e2/board.yml +++ b/boards/renesas/fpb_ra6e2/board.yml @@ -1,5 +1,6 @@ board: name: fpb_ra6e2 + full_name: RA6E2 Fast Prototyping Board vendor: renesas socs: - name: r7fa6e2bb3cfm diff --git a/boards/renesas/mck_ra8t1/board.yml b/boards/renesas/mck_ra8t1/board.yml index d7227163611..b7897016bbe 100644 --- a/boards/renesas/mck_ra8t1/board.yml +++ b/boards/renesas/mck_ra8t1/board.yml @@ -1,5 +1,6 @@ board: name: mck_ra8t1 + full_name: RA8T1 Evaluation Kit vendor: renesas socs: - name: r7fa8t1ahecbd diff --git a/boards/renesas/rcar_h3ulcb/board.yml b/boards/renesas/rcar_h3ulcb/board.yml index 7989c688e81..a0e38a44a90 100644 --- a/boards/renesas/rcar_h3ulcb/board.yml +++ b/boards/renesas/rcar_h3ulcb/board.yml @@ -1,5 +1,6 @@ board: name: rcar_h3ulcb + full_name: R-CAR H3 ARM CA57 (ARMv8) vendor: renesas socs: - name: r8a77951 diff --git a/boards/renesas/rcar_salvator_x/board.yml b/boards/renesas/rcar_salvator_x/board.yml index b85c3aebe67..11166fb0a2c 100644 --- a/boards/renesas/rcar_salvator_x/board.yml +++ b/boards/renesas/rcar_salvator_x/board.yml @@ -1,5 +1,6 @@ board: name: rcar_salvator_x + full_name: R-Car H3 Salvator-X vendor: renesas socs: - name: r8a77951 diff --git a/boards/renesas/rcar_salvator_xs/board.yml b/boards/renesas/rcar_salvator_xs/board.yml index b48fda7ff48..2b8ded23f8a 100644 --- a/boards/renesas/rcar_salvator_xs/board.yml +++ b/boards/renesas/rcar_salvator_xs/board.yml @@ -1,5 +1,6 @@ board: name: rcar_salvator_xs + full_name: R-CAR Salvator XS M3 ARM CA57 (ARMv8) vendor: renesas socs: - name: r8a77961 diff --git a/boards/renesas/rcar_spider_s4/board.yml b/boards/renesas/rcar_spider_s4/board.yml index 560ed7f2ae8..caf9b8cf5ad 100644 --- a/boards/renesas/rcar_spider_s4/board.yml +++ b/boards/renesas/rcar_spider_s4/board.yml @@ -1,5 +1,6 @@ board: name: rcar_spider_s4 + full_name: R-CAR Spider S4 (ARM64) vendor: renesas socs: - name: r8a779f0 diff --git a/boards/renesas/rzt2m_starterkit/board.yml b/boards/renesas/rzt2m_starterkit/board.yml index def32c06cd2..21be12a29b2 100644 --- a/boards/renesas/rzt2m_starterkit/board.yml +++ b/boards/renesas/rzt2m_starterkit/board.yml @@ -1,5 +1,6 @@ board: name: rzt2m_starter_kit + full_name: Starter Kit+ for RZ/T2M vendor: renesas socs: - name: renesas_rzt2m diff --git a/boards/renode/cortex_r8_virtual/Kconfig.cortex_r8_virtual b/boards/renode/cortex_r8_virtual/Kconfig.cortex_r8_virtual new file mode 100644 index 00000000000..e9830df9f05 --- /dev/null +++ b/boards/renode/cortex_r8_virtual/Kconfig.cortex_r8_virtual @@ -0,0 +1,5 @@ +# Copyright (c) 2024 Antmicro +# SPDX-License-Identifier: Apache-2.0 + +config BOARD_CORTEX_R8_VIRTUAL + select SOC_CORTEX_R8_VIRTUAL diff --git a/boards/renode/cortex_r8_virtual/board.cmake b/boards/renode/cortex_r8_virtual/board.cmake new file mode 100644 index 00000000000..272149871d0 --- /dev/null +++ b/boards/renode/cortex_r8_virtual/board.cmake @@ -0,0 +1,6 @@ +# Copyright (c) 2024 Antmicro +# SPDX-License-Identifier: Apache-2.0 + +set(SUPPORTED_EMU_PLATFORMS renode) +set(RENODE_SCRIPT ${CMAKE_CURRENT_LIST_DIR}/support/cortex_r8_virtual.resc) +set(RENODE_UART sysbus.uart0) diff --git a/boards/renode/cortex_r8_virtual/board.yml b/boards/renode/cortex_r8_virtual/board.yml new file mode 100644 index 00000000000..b201b3e96c3 --- /dev/null +++ b/boards/renode/cortex_r8_virtual/board.yml @@ -0,0 +1,6 @@ +board: + name: cortex_r8_virtual + full_name: Cortex-R8 Virtual + vendor: renode + socs: + - name: cortex_r8_virtual diff --git a/boards/renode/cortex_r8_virtual/cortex_r8_virtual.dts b/boards/renode/cortex_r8_virtual/cortex_r8_virtual.dts new file mode 100644 index 00000000000..9e8bd04f7df --- /dev/null +++ b/boards/renode/cortex_r8_virtual/cortex_r8_virtual.dts @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2024 Antmicro + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/dts-v1/; + +#include + +/ { + model = "Cortex-R8 Virtual target"; + compatible = "renode,cortex-r8-virtual"; + chosen { + zephyr,sram = &sram0; + zephyr,flash = &flash0; + zephyr,console = &uart0; + zephyr,shell-uart = &uart0; + }; +}; + +&uart0 { + status = "okay"; + current-speed = <115200>; + clock-frequency = <99999901>; +}; diff --git a/boards/renode/cortex_r8_virtual/cortex_r8_virtual.yaml b/boards/renode/cortex_r8_virtual/cortex_r8_virtual.yaml new file mode 100644 index 00000000000..8d888e8806c --- /dev/null +++ b/boards/renode/cortex_r8_virtual/cortex_r8_virtual.yaml @@ -0,0 +1,18 @@ +identifier: cortex_r8_virtual +name: Cortex R8 Virtual Board +type: mcu +arch: arm +toolchain: + - zephyr +ram: 131072 +simulation: renode +simulation_exec: renode +testing: + ignore_tags: + - net + - bluetooth + renode: + uart: sysbus.uart0 + resc: boards/renode/cortex_r8_virtual/support/cortex_r8_virtual.resc +supported: + - uart diff --git a/boards/renode/cortex_r8_virtual/cortex_r8_virtual_defconfig b/boards/renode/cortex_r8_virtual/cortex_r8_virtual_defconfig new file mode 100644 index 00000000000..1c358355b1e --- /dev/null +++ b/boards/renode/cortex_r8_virtual/cortex_r8_virtual_defconfig @@ -0,0 +1,22 @@ +# Copyright (c) 2024 Antmicro +# SPDX-License-Identifier: Apache-2.0 + +CONFIG_XIP=n + +CONFIG_ISR_STACK_SIZE=512 +CONFIG_THREAD_STACK_INFO=y + +CONFIG_MAX_DOMAIN_PARTITIONS=24 + +# Enable UART driver +CONFIG_SERIAL=y + +# Enable console +CONFIG_CONSOLE=y +CONFIG_UART_CONSOLE=y + +# Enable serial port +CONFIG_UART_XLNX_PS=y + +CONFIG_SYS_CLOCK_TICKS_PER_SEC=1000 +CONFIG_ARM_MPU=y diff --git a/boards/renode/cortex_r8_virtual/doc/index.rst b/boards/renode/cortex_r8_virtual/doc/index.rst new file mode 100644 index 00000000000..07a18a77650 --- /dev/null +++ b/boards/renode/cortex_r8_virtual/doc/index.rst @@ -0,0 +1,62 @@ +.. _cortex_r8_virtual: + +Cortex-R8 Virtual +################# + +Overview +******** + +The Cortex-R8 Virtual board is a virtual platform that can be emulated with Renode. +Edit the :zephyr_file:`boards/renode/cortex_r8_virtual/support/cortex_r8_virtual.repl` file to adapt the platform layout to your needs. + +Refer to the `Renode documentation `_ +to learn how to obtain Renode for your host. + +Programming and debugging +************************* + +Building +======== + +Applications for the ``cortex_r8_virtual`` board target can be built +using the standard build flow (see :ref:`build_an_application`): + +.. zephyr-app-commands:: + :board: cortex_r8_virtual + :goals: build + +Flashing +======== + +Your software will run in simulation and you don't need to "flash" the board in a traditional way, +but you can use this configuration to run Zephyr applications +and kernel tests directly in Renode with the use of the ``run`` command. + +For example, with the :zephyr:code-sample:`synchronization` sample: + +.. zephyr-app-commands:: + :zephyr-app: samples/synchronization + :host-os: unix + :board: cortex_r8_virtual + :goals: run + +This will build an image with the synchronization sample app, boot it using +Renode, and display the following console output: + +.. code-block:: console + + *** Booting Zephyr OS build v3.6.0-5689-g2a5c606abfa7 *** + thread_a: Hello World from cpu 0 on cortex_r8_virtual! + thread_b: Hello World from cpu 0 on cortex_r8_virtual! + thread_a: Hello World from cpu 0 on cortex_r8_virtual! + thread_b: Hello World from cpu 0 on cortex_r8_virtual! + +Exit Renode by pressing :kbd:`CTRL+C`. + +Debugging +========= + +Refer to the detailed overview about :ref:`application_debugging`. + +Renode can serve as a GDB server. For more information, refer to the +`Renode documentation about GDB debugging `_. diff --git a/boards/renode/cortex_r8_virtual/support/cortex_r8_virtual.repl b/boards/renode/cortex_r8_virtual/support/cortex_r8_virtual.repl new file mode 100644 index 00000000000..2c4c9d4cc6f --- /dev/null +++ b/boards/renode/cortex_r8_virtual/support/cortex_r8_virtual.repl @@ -0,0 +1,31 @@ +cpu: CPU.ARMv7R @ sysbus + cpuType: "cortex-r8" + genericInterruptController: gic + numberOfMPURegions: 24 + cpuId: 0 + +scu: Miscellaneous.ArmSnoopControlUnit @ sysbus 0xae000000 + +gic: IRQControllers.ARM_GenericInterruptController @ { + sysbus new Bus.BusMultiRegistration { address: 0xf9001000; size: 0x100; region: "cpuInterface" }; + sysbus new Bus.BusMultiRegistration { address: 0xf9000000; size: 0x1000; region: "distributor" } + } + [0,1] -> cpu@[0,1] + architectureVersion: IRQControllers.ARM_GenericInterruptControllerVersion.GICv1 + supportsTwoSecurityStates: false + +privateTimer0: Timers.ARM_PrivateTimer @ { + sysbus new Bus.BusPointRegistration { address: 0xae000600; cpu: cpu } + } + -> gic#0@29 + frequency: 667000000 + +mem: Memory.MappedMemory @ sysbus 0x0 + size: 0x8000000 + +uart0: UART.Cadence_UART @ sysbus 0xff000000 + -> gic@21 + +ttc0: Timers.Cadence_TTC @ sysbus 0xff110000 + [0-2] -> gic@[36-38] + frequency: 5000000 diff --git a/boards/renode/cortex_r8_virtual/support/cortex_r8_virtual.resc b/boards/renode/cortex_r8_virtual/support/cortex_r8_virtual.resc new file mode 100644 index 00000000000..6fbf739750a --- /dev/null +++ b/boards/renode/cortex_r8_virtual/support/cortex_r8_virtual.resc @@ -0,0 +1,18 @@ +:name: Cortex-R8-Virtual +:description: This script is prepared to run Zephyr on a virtual Cortex-R8 board. + +$name?="Cortex-R8-Virtual" + +using sysbus +mach create $name +machine LoadPlatformDescription $ORIGIN/cortex_r8_virtual.repl + + +showAnalyzer uart0 +cpu PerformanceInMips 5 + +macro reset +""" + sysbus LoadELF $elf +""" +runMacro $reset diff --git a/boards/renode/riscv32_virtual/board.yml b/boards/renode/riscv32_virtual/board.yml index b059266009a..27c5eb7c368 100644 --- a/boards/renode/riscv32_virtual/board.yml +++ b/boards/renode/riscv32_virtual/board.yml @@ -1,5 +1,6 @@ board: name: riscv32_virtual + full_name: RISCV32 Virtual vendor: renode socs: - name: riscv_virtual_renode diff --git a/boards/ronoth/lodev/board.yml b/boards/ronoth/lodev/board.yml index 008f2e5a7f5..db71507ae8a 100644 --- a/boards/ronoth/lodev/board.yml +++ b/boards/ronoth/lodev/board.yml @@ -1,5 +1,6 @@ board: name: ronoth_lodev + full_name: LoDev vendor: ronoth socs: - name: stm32l073xx diff --git a/boards/ruuvi/ruuvitag/board.yml b/boards/ruuvi/ruuvitag/board.yml index c8d45886d82..e0e6fc40a55 100644 --- a/boards/ruuvi/ruuvitag/board.yml +++ b/boards/ruuvi/ruuvitag/board.yml @@ -1,5 +1,6 @@ board: name: ruuvi_ruuvitag + full_name: RuuviTag vendor: ruuvi socs: - name: nrf52832 diff --git a/boards/sc/scobc_module1/board.yml b/boards/sc/scobc_module1/board.yml index d8f83a733ac..2ffbcc51e54 100644 --- a/boards/sc/scobc_module1/board.yml +++ b/boards/sc/scobc_module1/board.yml @@ -1,5 +1,6 @@ board: name: scobc_module1 + full_name: OBC module 1 vendor: spacecubics socs: - name: designstart_fpga_cortex_m3 diff --git a/boards/seagate/faze/board.yml b/boards/seagate/faze/board.yml index bd672fe549f..29ad19a2d55 100644 --- a/boards/seagate/faze/board.yml +++ b/boards/seagate/faze/board.yml @@ -1,5 +1,6 @@ board: name: faze + full_name: FireCuda Gaming SSD (FaZe) board vendor: seagate socs: - name: lpc11u67 diff --git a/boards/seagate/legend/board.yml b/boards/seagate/legend/board.yml index 0c100284bde..a015c60bc4e 100644 --- a/boards/seagate/legend/board.yml +++ b/boards/seagate/legend/board.yml @@ -1,5 +1,6 @@ board: name: legend + full_name: Legend vendor: seagate revision: format: custom diff --git a/boards/seco/stm32f3_seco_d23/board.yml b/boards/seco/stm32f3_seco_d23/board.yml index a7976211a2c..75a16bd3b48 100644 --- a/boards/seco/stm32f3_seco_d23/board.yml +++ b/boards/seco/stm32f3_seco_d23/board.yml @@ -1,5 +1,6 @@ board: name: stm32f3_seco_d23 + full_name: SECO SBC-3.5-PX30 (JUNO - D23) (STM32F302) vendor: seco socs: - name: stm32f302xc diff --git a/boards/seeed/lora_e5_dev_board/board.yml b/boards/seeed/lora_e5_dev_board/board.yml index b6691948f2b..e53e5451e0c 100644 --- a/boards/seeed/lora_e5_dev_board/board.yml +++ b/boards/seeed/lora_e5_dev_board/board.yml @@ -1,5 +1,6 @@ board: name: lora_e5_dev_board + full_name: LoRa-E5 Dev Board vendor: seeed socs: - name: stm32wle5xx diff --git a/boards/seeed/lora_e5_mini/board.yml b/boards/seeed/lora_e5_mini/board.yml index 1643caea3c1..7f1080afb5d 100644 --- a/boards/seeed/lora_e5_mini/board.yml +++ b/boards/seeed/lora_e5_mini/board.yml @@ -1,5 +1,6 @@ board: name: lora_e5_mini + full_name: LoRa-E5 mini vendor: seeed socs: - name: stm32wle5xx diff --git a/boards/seeed/seeeduino_xiao/board.yml b/boards/seeed/seeeduino_xiao/board.yml index 386a3b3cbb6..642e7e750e3 100644 --- a/boards/seeed/seeeduino_xiao/board.yml +++ b/boards/seeed/seeeduino_xiao/board.yml @@ -1,5 +1,6 @@ board: name: seeeduino_xiao + full_name: Seeeduino XIAO vendor: seeed socs: - name: samd21g18a diff --git a/boards/seeed/seeeduino_xiao/doc/index.rst b/boards/seeed/seeeduino_xiao/doc/index.rst index 8f3614918f6..48003fdb63c 100644 --- a/boards/seeed/seeeduino_xiao/doc/index.rst +++ b/boards/seeed/seeeduino_xiao/doc/index.rst @@ -98,7 +98,7 @@ USB Device Port =============== The SAMD21 MCU has a USB device port that can be used to communicate -with a host PC. See the :ref:`usb-samples` sample applications for +with a host PC. See the :zephyr:code-sample-category:`usb` sample applications for more, such as the :zephyr:code-sample:`usb-cdc-acm` sample which sets up a virtual serial port that echos characters back to the host PC. diff --git a/boards/seeed/wio_terminal/board.yml b/boards/seeed/wio_terminal/board.yml index a7080a87777..7972eeb9de5 100644 --- a/boards/seeed/wio_terminal/board.yml +++ b/boards/seeed/wio_terminal/board.yml @@ -1,5 +1,6 @@ board: name: wio_terminal + full_name: Wio Terminal vendor: seeed socs: - name: samd51p19a diff --git a/boards/seeed/wio_terminal/doc/index.rst b/boards/seeed/wio_terminal/doc/index.rst index 73cef0f3c5b..f640f11b445 100644 --- a/boards/seeed/wio_terminal/doc/index.rst +++ b/boards/seeed/wio_terminal/doc/index.rst @@ -121,7 +121,7 @@ USB Device Port =============== The SAMD51 MCU has a USB device port that can be used to communicate with a -host PC. See the :ref:`usb-samples` sample applications for more, such as the +host PC. See the :zephyr:code-sample-category:`usb` sample applications for more, such as the :zephyr:code-sample:`usb-cdc-acm` sample which sets up a virtual serial port that echos characters back to the host PC. diff --git a/boards/seeed/xiao_ble/board.yml b/boards/seeed/xiao_ble/board.yml index 3f83399a7fb..ecc63f716ad 100644 --- a/boards/seeed/xiao_ble/board.yml +++ b/boards/seeed/xiao_ble/board.yml @@ -1,5 +1,6 @@ board: name: xiao_ble + full_name: XIAO BLE (Sense) vendor: seeed socs: - name: nrf52840 diff --git a/boards/seeed/xiao_esp32c3/board.yml b/boards/seeed/xiao_esp32c3/board.yml index 2bd54cf346f..d9c7cef765c 100644 --- a/boards/seeed/xiao_esp32c3/board.yml +++ b/boards/seeed/xiao_esp32c3/board.yml @@ -1,5 +1,6 @@ board: name: xiao_esp32c3 + full_name: XIAO ESP32C3 vendor: seeed socs: - name: esp32c3 diff --git a/boards/seeed/xiao_esp32s3/board.yml b/boards/seeed/xiao_esp32s3/board.yml index 02ba87e5bc2..c3eb3a0204d 100644 --- a/boards/seeed/xiao_esp32s3/board.yml +++ b/boards/seeed/xiao_esp32s3/board.yml @@ -1,5 +1,6 @@ board: name: xiao_esp32s3 + full_name: XIAO ESP32S3 vendor: seeed socs: - name: esp32s3 diff --git a/boards/seeed/xiao_rp2040/board.yml b/boards/seeed/xiao_rp2040/board.yml index 7eaca915972..75b352e9aee 100644 --- a/boards/seeed/xiao_rp2040/board.yml +++ b/boards/seeed/xiao_rp2040/board.yml @@ -1,5 +1,6 @@ board: name: xiao_rp2040 + full_name: XIAO RP2040 vendor: seeed socs: - name: rp2040 diff --git a/boards/segger/ip_k66f/board.yml b/boards/segger/ip_k66f/board.yml index c1593280a49..21b7c0b65e4 100644 --- a/boards/segger/ip_k66f/board.yml +++ b/boards/segger/ip_k66f/board.yml @@ -1,5 +1,6 @@ board: name: ip_k66f + full_name: IP Switch Board vendor: segger socs: - name: mk66f18 diff --git a/boards/segger/trb_stm32f407/board.yml b/boards/segger/trb_stm32f407/board.yml index 52ba24a33eb..1fc912e38ca 100644 --- a/boards/segger/trb_stm32f407/board.yml +++ b/boards/segger/trb_stm32f407/board.yml @@ -1,5 +1,6 @@ board: name: segger_trb_stm32f407 + full_name: Cortex-M Trace Reference Board V1.2 vendor: segger socs: - name: stm32f407xx diff --git a/boards/sensry/ganymed_bob/board.yml b/boards/sensry/ganymed_bob/board.yml index cc6591f6253..5e444b0dbb8 100644 --- a/boards/sensry/ganymed_bob/board.yml +++ b/boards/sensry/ganymed_bob/board.yml @@ -3,6 +3,7 @@ board: name: ganymed_bob + full_name: Ganymed Break-Out-Board (BOB) vendor: sensry socs: - name: sy120_gbm diff --git a/boards/shields/npm1300_ek/doc/index.rst b/boards/shields/npm1300_ek/doc/index.rst index f46a8cf47a0..816c31a5fff 100644 --- a/boards/shields/npm1300_ek/doc/index.rst +++ b/boards/shields/npm1300_ek/doc/index.rst @@ -22,7 +22,7 @@ Usage ***** The shield can be used in any application by setting ``--shield npm1300_ek`` -when invoking ``west build``. You can check :ref:`npm1300_ek_sample` for a +when invoking ``west build``. You can check :zephyr:code-sample:`npm1300_ek` for a comprehensive sample. References diff --git a/boards/shields/npm6001_ek/doc/index.rst b/boards/shields/npm6001_ek/doc/index.rst index bc982d7f436..32305cd5a8c 100644 --- a/boards/shields/npm6001_ek/doc/index.rst +++ b/boards/shields/npm6001_ek/doc/index.rst @@ -28,7 +28,7 @@ Usage ***** The shield can be used in any application by setting ``--shield npm6001_ek`` -when invoking ``west build``. You can check :ref:`npm6001_ek_sample` for a +when invoking ``west build``. You can check :zephyr:code-sample:`npm6001_ek` for a comprehensive sample. References diff --git a/boards/shields/nrf7002eb/Kconfig.shield b/boards/shields/nrf7002eb/Kconfig.shield new file mode 100644 index 00000000000..e369cfe3de4 --- /dev/null +++ b/boards/shields/nrf7002eb/Kconfig.shield @@ -0,0 +1,8 @@ +# Copyright (c) 2024 Nordic Semiconductor ASA +# SPDX-License-Identifier: Apache-2.0 + +config SHIELD_NRF7002EB + def_bool $(shields_list_contains,nrf7002eb) + +config SHIELD_NRF7002EB_COEX + def_bool $(shields_list_contains,nrf7002eb_coex) diff --git a/boards/shields/nrf7002eb/boards/nrf54h20dk_nrf54h20_cpuapp.overlay b/boards/shields/nrf7002eb/boards/nrf54h20dk_nrf54h20_cpuapp.overlay new file mode 100644 index 00000000000..89e3d5c4c9a --- /dev/null +++ b/boards/shields/nrf7002eb/boards/nrf54h20dk_nrf54h20_cpuapp.overlay @@ -0,0 +1,13 @@ +/* + * Copyright (c) 2024 Nordic Semiconductor ASA + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/* Only GPIOs 1..11 are supported for PORT1 in nRF54H20DK board, for now + * remove this as Wi-Fi SR co-existence is not yet supported on this board. + * The external SR RF switch may not even be present on this board. + */ +&nrf70 { + /delete-property/ srrf-switch-gpios; +}; diff --git a/boards/shields/nrf7002eb/boards/thingy53_nrf5340_cpuapp.overlay b/boards/shields/nrf7002eb/boards/thingy53_nrf5340_cpuapp.overlay new file mode 100644 index 00000000000..ee052ec68ae --- /dev/null +++ b/boards/shields/nrf7002eb/boards/thingy53_nrf5340_cpuapp.overlay @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2024 Nordic Semiconductor ASA + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/* + * This uses gpio0 pin 8 which conflicts with STATUS pin of Wi-Fi SR coex + */ +&npm1100_force_pwm_mode { + status = "disabled"; +}; + +/* + * Pins P0.9, P0.10, P0.11, P0.12 conflict with SPI4 and nrf7002 host irq + */ +&uart0 { + status = "disabled"; +}; diff --git a/boards/shields/nrf7002eb/doc/index.rst b/boards/shields/nrf7002eb/doc/index.rst new file mode 100644 index 00000000000..e93c778f87c --- /dev/null +++ b/boards/shields/nrf7002eb/doc/index.rst @@ -0,0 +1,72 @@ +.. _nrf7002eb: + +nRF7002 EB +########## + +Overview +******** + +The nRF7002 EB is a versatile evaluation kit in the form of a thumbstick shield which connects to +compatible Nordic host boards, like the Thingy53, using the Nordic edge-connector. + +The nRF7002 EB unlocks low-power Wi-Fi 6 capabilities for your host device. It support dual-band Wi-Fi +2.4GHz and 5GHz, and is based on the nRF7002 SoC. +Seamlessly connect to Wi-Fi networks and leverage Wi-Fi-based locationing, enabling advanced +features such as SSID sniffing of local Wi-Fi hubs + +.. figure:: nrf7002eb.jpg + :alt: nRF7002 EB + :align: center + + nRF7002 EB + +Requirements +************ + +The nRF7002 EB board is designed to fit straight into a Nordic edge-connector and uses SPI as the +communication interface. Any host board that supports the Nordic edge-connector can be used with +the nRF7002 EB. + +Prerequisites +------------- + +the nRF70 driver requires firmware binary blobs for Wi-Fi operation. Run the command +below to retrieve those files. + +.. code-block:: console + + west update + west blobs fetch hal_nordic + +Usage +***** + +The shield can be used in any application by setting ``--shield nrf7002eb`` when invoking ``west build``. + +Shield Variants +############### + +The nRF7002 EK has a variant which includes the COEX pins. These pins are not be routed to the +edge-connector on some boards, like earlier revisions of the Thingy53 than v1.0.0. + +- ``nrf7002ek``: The default variant. +- ``nrf7002ek_coex``: Variant which includes the COEX pins. + +SR Co-existence +############### + +The nRF7002 EK supports SR co-existence provided the host board supports it. The SR co-existence +pins are connected to the host board's GPIO pins. + +Two Kconfig options are available to enable SR co-existence: + +- :kconfig:option:`CONFIG_NRF70_SR_COEX`: Enables SR co-existence. +- :kconfig:option:`CONFIG_NRF70_SR_COEX_RF_SWITCH`: Control SR side RF switch. + +References +********** + +- `Developing with nRF7002 EB `_ +- `nRF7002 EB product specification `_ +- `nRF7002 product specification `_ +- `nRF7002 Co-existence `_ diff --git a/boards/shields/nrf7002eb/doc/nrf7002eb.jpg b/boards/shields/nrf7002eb/doc/nrf7002eb.jpg new file mode 100644 index 00000000000..a8afd674135 Binary files /dev/null and b/boards/shields/nrf7002eb/doc/nrf7002eb.jpg differ diff --git a/boards/shields/nrf7002eb/nrf7002eb.overlay b/boards/shields/nrf7002eb/nrf7002eb.overlay new file mode 100644 index 00000000000..7f9074da9d0 --- /dev/null +++ b/boards/shields/nrf7002eb/nrf7002eb.overlay @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2024 Nordic Semiconductor ASA + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include + +/ { + chosen { + zephyr,wifi = &wlan0; + }; +}; + +&edge_connector_spi { + status = "okay"; + + nrf70: nrf7002@0 { + compatible = "nordic,nrf7002-spi"; + status = "okay"; + reg = <0>; + spi-max-frequency = ; + + bucken-gpios = <&edge_connector 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>; + iovdd-ctrl-gpios = <&edge_connector 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>; + host-irq-gpios = <&edge_connector 19 GPIO_ACTIVE_HIGH>; + srrf-switch-gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>; + + wlan0: wlan0 { + compatible = "nordic,wlan"; + }; + + wifi-max-tx-pwr-2g-dsss = <21>; + wifi-max-tx-pwr-2g-mcs0 = <16>; + wifi-max-tx-pwr-2g-mcs7 = <16>; + wifi-max-tx-pwr-5g-low-mcs0 = <13>; + wifi-max-tx-pwr-5g-low-mcs7 = <13>; + wifi-max-tx-pwr-5g-mid-mcs0 = <13>; + wifi-max-tx-pwr-5g-mid-mcs7 = <13>; + wifi-max-tx-pwr-5g-high-mcs0 = <12>; + wifi-max-tx-pwr-5g-high-mcs7 = <12>; + }; +}; diff --git a/boards/shields/nrf7002eb/nrf7002eb_coex.overlay b/boards/shields/nrf7002eb/nrf7002eb_coex.overlay new file mode 100644 index 00000000000..09bfb6e1906 --- /dev/null +++ b/boards/shields/nrf7002eb/nrf7002eb_coex.overlay @@ -0,0 +1,16 @@ +/* + * Copyright (c) 2024 Nordic Semiconductor ASA + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/ { + nrf_radio_coex: coex { + compatible = "nordic,nrf7002-coex"; + status = "okay"; + + status0-gpios = <&edge_connector 5 GPIO_ACTIVE_HIGH>; + req-gpios = <&edge_connector 6 GPIO_ACTIVE_HIGH>; + grant-gpios = <&edge_connector 15 (GPIO_PULL_DOWN | GPIO_ACTIVE_LOW)>; + }; +}; diff --git a/boards/shields/nrf7002ek/Kconfig.shield b/boards/shields/nrf7002ek/Kconfig.shield index 7627ff96dbd..5b52d5710f2 100644 --- a/boards/shields/nrf7002ek/Kconfig.shield +++ b/boards/shields/nrf7002ek/Kconfig.shield @@ -9,3 +9,6 @@ config SHIELD_NRF7002EK_NRF7001 config SHIELD_NRF7002EK_NRF7000 def_bool $(shields_list_contains,nrf7002ek_nrf7000) + +config SHIELD_NRF7002EK_COEX + def_bool $(shields_list_contains,nrf7002ek_coex) diff --git a/boards/shields/nrf7002ek/doc/index.rst b/boards/shields/nrf7002ek/doc/index.rst index 9f247be3501..cfe08750f57 100644 --- a/boards/shields/nrf7002ek/doc/index.rst +++ b/boards/shields/nrf7002ek/doc/index.rst @@ -47,24 +47,25 @@ SR Co-existence ############### The nRF7002 EK supports SR co-existence provided the host board supports it. The SR co-existence -pins are connected to the host board's GPIO pins. +pins are connected to the host board's GPIO pins. The interface is selected by setting +``--shield nrf7002ek_coex`` when invoking ``west build``. Two Kconfig options are available to enable SR co-existence: -- :kconfig:option:`CONFIG_NRF70_SR_COEX`: Enables SR co-existence. +- :kconfig:option:`CONFIG_NRF70_SR_COEX`: Enables SR co-existence driver. - :kconfig:option:`CONFIG_NRF70_SR_COEX_RF_SWITCH`: Control SR side RF switch. Shield Variants ############### -The nRF7002 EK is available in three variants: +The nRF7002 EK is available in four variants: - ``nrf7002ek``: The default variant. - ``nrf7002ek_nrf7001``: Variant for the nRF7001 SoC or nRF7002 SoC emulating nRF7001 - that supports only 2.4GHz Wi-Fi. + that supports only 2.4GHz Wi-Fi. - ``nrf7002ek_nrf7000``: Variant for the nRF7000 SoC or nRF7002 SoC emulating nRF7000 - that supports only 2.4GHz Wi-Fi. - + that supports only 2.4GHz Wi-Fi. +- ``nrf7002ek_coex``: Variant for the SR co-existence interface References ********** diff --git a/boards/shields/nrf7002ek/nrf7002ek_coex.overlay b/boards/shields/nrf7002ek/nrf7002ek_coex.overlay new file mode 100644 index 00000000000..60ff3ca6ea4 --- /dev/null +++ b/boards/shields/nrf7002ek/nrf7002ek_coex.overlay @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2024 Nordic Semiconductor ASA + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/ { + nrf_radio_coex: coex { + compatible = "nordic,nrf7002-coex"; + status = "okay"; + + /* D2 */ + status0-gpios = <&arduino_header 8 GPIO_ACTIVE_HIGH>; + /* D3 */ + req-gpios = <&arduino_header 9 GPIO_ACTIVE_HIGH>; + /* D4 */ + grant-gpios = <&arduino_header 10 (GPIO_PULL_DOWN | GPIO_ACTIVE_LOW)>; + /* D6 */ + swctrl1-gpios = <&arduino_header 12 GPIO_ACTIVE_HIGH>; + }; +}; diff --git a/boards/shields/nrf7002ek/nrf7002ek_common.dtsi b/boards/shields/nrf7002ek/nrf7002ek_common.dtsi index 102e0078d5f..c9bbbde4b92 100644 --- a/boards/shields/nrf7002ek/nrf7002ek_common.dtsi +++ b/boards/shields/nrf7002ek/nrf7002ek_common.dtsi @@ -12,15 +12,8 @@ iovdd-ctrl-gpios = <&arduino_header 6 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>; bucken-gpios = <&arduino_header 7 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>; /* D7 */ host-irq-gpios = <&arduino_header 13 GPIO_ACTIVE_HIGH>; + /* Short-range (SR) co-existence */ -/* D2 */ -status0-gpios = <&arduino_header 8 GPIO_ACTIVE_HIGH>; -/* D3 */ -req-gpios = <&arduino_header 9 GPIO_ACTIVE_HIGH>; -/* D4 */ -grant-gpios = <&arduino_header 10 (GPIO_PULL_DOWN | GPIO_ACTIVE_LOW)>; -/* D6 */ -swctrl1-gpios = <&arduino_header 12 GPIO_ACTIVE_HIGH>; /* D8 */ srrf-switch-gpios = <&arduino_header 14 GPIO_ACTIVE_HIGH>; diff --git a/boards/sifive/hifive1/board.yml b/boards/sifive/hifive1/board.yml index 2909cb5aaeb..a83c4f2e2c7 100644 --- a/boards/sifive/hifive1/board.yml +++ b/boards/sifive/hifive1/board.yml @@ -1,5 +1,6 @@ board: name: hifive1 + full_name: HiFive1 vendor: sifive socs: - name: fe310 diff --git a/boards/sifive/hifive_unleashed/board.yml b/boards/sifive/hifive_unleashed/board.yml index f9dd3ce6e6b..5535b9ca544 100644 --- a/boards/sifive/hifive_unleashed/board.yml +++ b/boards/sifive/hifive_unleashed/board.yml @@ -1,5 +1,6 @@ board: name: hifive_unleashed + full_name: HiFive Unleashed vendor: sifive socs: - name: fu540 diff --git a/boards/sifive/hifive_unmatched/board.yml b/boards/sifive/hifive_unmatched/board.yml index 703d94e852b..eb61e98e55c 100644 --- a/boards/sifive/hifive_unmatched/board.yml +++ b/boards/sifive/hifive_unmatched/board.yml @@ -1,5 +1,6 @@ board: name: hifive_unmatched + full_name: HiFive Unmatched vendor: sifive socs: - name: fu740 diff --git a/boards/silabs/dev_kits/sim3u1xx_dk/board.yml b/boards/silabs/dev_kits/sim3u1xx_dk/board.yml index c70d5420483..facdc0f817a 100644 --- a/boards/silabs/dev_kits/sim3u1xx_dk/board.yml +++ b/boards/silabs/dev_kits/sim3u1xx_dk/board.yml @@ -4,6 +4,7 @@ board: name: sim3u1xx_dk + full_name: SiM3U1xx 32-bit MCU USB Development Kit vendor: silabs socs: - name: sim3u167 diff --git a/boards/silabs/dev_kits/sltb004a/board.c b/boards/silabs/dev_kits/sltb004a/board.c index 43dd2a6b3b2..1b09177ce69 100644 --- a/boards/silabs/dev_kits/sltb004a/board.c +++ b/boards/silabs/dev_kits/sltb004a/board.c @@ -37,7 +37,7 @@ static int efr32mg_sltb004a_init(void) #define CCS811 DT_NODELABEL(ccs811) -#if DT_NODE_HAS_STATUS(CCS811, okay) +#if DT_NODE_HAS_STATUS_OKAY(CCS811) cfg = (struct supply_cfg){ .gpio = DEVICE_DT_GET(DT_GPIO_CTLR(CCS811, supply_gpios)), .pin = DT_GPIO_PIN(CCS811, supply_gpios), diff --git a/boards/silabs/dev_kits/sltb004a/board.yml b/boards/silabs/dev_kits/sltb004a/board.yml index 2141aa3817d..73c4c2aced7 100644 --- a/boards/silabs/dev_kits/sltb004a/board.yml +++ b/boards/silabs/dev_kits/sltb004a/board.yml @@ -1,5 +1,6 @@ board: name: sltb004a + full_name: EFR32MG12 Thunderboard (SLTB004A) vendor: silabs socs: - name: efr32mg12p332f1024gl125 diff --git a/boards/silabs/dev_kits/sltb009a/board.yml b/boards/silabs/dev_kits/sltb009a/board.yml index af69758728d..e42c7cd0b66 100644 --- a/boards/silabs/dev_kits/sltb009a/board.yml +++ b/boards/silabs/dev_kits/sltb009a/board.yml @@ -1,5 +1,6 @@ board: name: sltb009a + full_name: EFM32GG12 Thunderboard (SLTB009A) vendor: silabs socs: - name: efm32gg12b810f1024gm64 diff --git a/boards/silabs/dev_kits/sltb010a/board.yml b/boards/silabs/dev_kits/sltb010a/board.yml index 4586a51ef72..8e2cf705005 100644 --- a/boards/silabs/dev_kits/sltb010a/board.yml +++ b/boards/silabs/dev_kits/sltb010a/board.yml @@ -1,5 +1,6 @@ boards: - name: sltb010a + full_name: EFR32BG22 Thunderboard (SLTB010A) vendor: silabs socs: - name: efr32bg22c224f512im40 diff --git a/boards/silabs/dev_kits/xg24_dk2601b/board.yml b/boards/silabs/dev_kits/xg24_dk2601b/board.yml index f946744d228..46b2e55a2ce 100644 --- a/boards/silabs/dev_kits/xg24_dk2601b/board.yml +++ b/boards/silabs/dev_kits/xg24_dk2601b/board.yml @@ -1,5 +1,6 @@ board: name: xg24_dk2601b + full_name: EFR32xG24 Dev Kit (xG24-DK2601B) vendor: silabs socs: - name: efr32mg24b310f1536im48 diff --git a/boards/silabs/dev_kits/xg27_dk2602a/board.yml b/boards/silabs/dev_kits/xg27_dk2602a/board.yml index 83a3037a1a7..1d6d016ecf5 100644 --- a/boards/silabs/dev_kits/xg27_dk2602a/board.yml +++ b/boards/silabs/dev_kits/xg27_dk2602a/board.yml @@ -1,5 +1,6 @@ boards: - name: xg27_dk2602a + full_name: EFR32xG27 Dev Kit (xG27-DK2602A) vendor: silabs socs: - name: efr32bg27c140f768im40 diff --git a/boards/silabs/radio_boards/slwrb4104a/board.yml b/boards/silabs/radio_boards/slwrb4104a/board.yml index 5ca377b2c8f..d1122ace331 100644 --- a/boards/silabs/radio_boards/slwrb4104a/board.yml +++ b/boards/silabs/radio_boards/slwrb4104a/board.yml @@ -1,4 +1,5 @@ boards: - name: slwrb4104a + full_name: EFR32BG13 2.4 GHz 10 dBm (SLWRB4104A) socs: - name: efr32bg13p632f512gm48 diff --git a/boards/silabs/radio_boards/slwrb4161a/board.yml b/boards/silabs/radio_boards/slwrb4161a/board.yml index a05542a40d8..fd0c68e48b2 100644 --- a/boards/silabs/radio_boards/slwrb4161a/board.yml +++ b/boards/silabs/radio_boards/slwrb4161a/board.yml @@ -1,4 +1,5 @@ boards: - name: slwrb4161a + full_name: EFR32MG12 2.4 GHz 19 dBm (SLWRB4161A) socs: - name: efr32mg12p432f1024gl125 diff --git a/boards/silabs/radio_boards/slwrb4170a/board.yml b/boards/silabs/radio_boards/slwrb4170a/board.yml index 3137d819edb..5d9fd340d3e 100644 --- a/boards/silabs/radio_boards/slwrb4170a/board.yml +++ b/boards/silabs/radio_boards/slwrb4170a/board.yml @@ -1,4 +1,5 @@ boards: - name: slwrb4170a + full_name: EFR32MG12 2400/868-915 MHz 19 dBm Dual Band (SLWRB4170A) socs: - name: efr32mg12p433f1024gm68 diff --git a/boards/silabs/radio_boards/slwrb4180a/board.yml b/boards/silabs/radio_boards/slwrb4180a/board.yml index c6f825f735a..f77ecb3f65b 100644 --- a/boards/silabs/radio_boards/slwrb4180a/board.yml +++ b/boards/silabs/radio_boards/slwrb4180a/board.yml @@ -1,4 +1,5 @@ boards: - name: slwrb4180a + full_name: EFR32xG21 2.4 GHz 20 dBm (SLWRB4180A) socs: - name: efr32mg21a020f1024im32 diff --git a/boards/silabs/radio_boards/slwrb4250b/board.yml b/boards/silabs/radio_boards/slwrb4250b/board.yml index cffd4c63dbb..052b39f83c3 100644 --- a/boards/silabs/radio_boards/slwrb4250b/board.yml +++ b/boards/silabs/radio_boards/slwrb4250b/board.yml @@ -1,4 +1,5 @@ boards: - name: slwrb4250b + full_name: EFR32FG1 2400/868 MHz 13 dBm Dual Band (SLWRB4250B) socs: - name: efr32fg1p133f256gm48 diff --git a/boards/silabs/radio_boards/slwrb4255a/board.yml b/boards/silabs/radio_boards/slwrb4255a/board.yml index 4b76604b170..841a0858e13 100644 --- a/boards/silabs/radio_boards/slwrb4255a/board.yml +++ b/boards/silabs/radio_boards/slwrb4255a/board.yml @@ -1,4 +1,5 @@ boards: - name: slwrb4255a + full_name: EFR32FG13 2400/915 MHz 19 dBm Dual Band (SLWRB4255A) socs: - name: efr32fg13p233f512gm48 diff --git a/boards/silabs/radio_boards/slwrb4321a/board.yml b/boards/silabs/radio_boards/slwrb4321a/board.yml index a86f5c2d620..c0ad89de758 100644 --- a/boards/silabs/radio_boards/slwrb4321a/board.yml +++ b/boards/silabs/radio_boards/slwrb4321a/board.yml @@ -1,5 +1,6 @@ board: name: slwrb4321a + full_name: WGM160P Wi-Fi Module (SLWRB4321A) vendor: silabs socs: - name: efm32gg11b820f2048gm64 diff --git a/boards/silabs/radio_boards/xg24_rb4187c/board.yml b/boards/silabs/radio_boards/xg24_rb4187c/board.yml index 09a4d074370..36457142237 100644 --- a/boards/silabs/radio_boards/xg24_rb4187c/board.yml +++ b/boards/silabs/radio_boards/xg24_rb4187c/board.yml @@ -1,4 +1,5 @@ boards: - name: xg24_rb4187c + full_name: EFR32xG24 2.4 GHz 20 dBm (xG24-RB4187C) socs: - name: efr32mg24b220f1536im48 diff --git a/boards/silabs/starter_kits/efm32wg_stk3800/board.yml b/boards/silabs/starter_kits/efm32wg_stk3800/board.yml index 034c623141b..ab827f8b346 100644 --- a/boards/silabs/starter_kits/efm32wg_stk3800/board.yml +++ b/boards/silabs/starter_kits/efm32wg_stk3800/board.yml @@ -1,5 +1,6 @@ board: name: efm32wg_stk3800 + full_name: EFM32 Wonder Gecko (EFM32WG-STK3800) vendor: silabs socs: - name: efm32wg990f256 diff --git a/boards/silabs/starter_kits/slstk3400a/board.yml b/boards/silabs/starter_kits/slstk3400a/board.yml index e6573ac89f5..30d6090012d 100644 --- a/boards/silabs/starter_kits/slstk3400a/board.yml +++ b/boards/silabs/starter_kits/slstk3400a/board.yml @@ -1,5 +1,6 @@ board: name: slstk3400a + full_name: EFM32 Happy Gecko (SLSTK3400A) vendor: silabs socs: - name: efm32hg322f64 diff --git a/boards/silabs/starter_kits/slstk3401a/board.yml b/boards/silabs/starter_kits/slstk3401a/board.yml index 98ae08c1992..99ce00a0ad2 100644 --- a/boards/silabs/starter_kits/slstk3401a/board.yml +++ b/boards/silabs/starter_kits/slstk3401a/board.yml @@ -1,5 +1,6 @@ board: name: slstk3401a + full_name: EFM32 Pearl Gecko (SLSTK3401A) vendor: silabs socs: - name: efm32pg1b200f256gm48 diff --git a/boards/silabs/starter_kits/slstk3402a/board.yml b/boards/silabs/starter_kits/slstk3402a/board.yml index 539af134c6d..6c9350d31bf 100644 --- a/boards/silabs/starter_kits/slstk3402a/board.yml +++ b/boards/silabs/starter_kits/slstk3402a/board.yml @@ -1,5 +1,6 @@ board: name: slstk3402a + full_name: EFM32 Pearl Gecko 12 (SLSTK3402A) vendor: silabs socs: - name: efm32pg12b500f1024gl125 diff --git a/boards/silabs/starter_kits/slstk3701a/board.yml b/boards/silabs/starter_kits/slstk3701a/board.yml index 5c1db884a42..86615b1e8fe 100644 --- a/boards/silabs/starter_kits/slstk3701a/board.yml +++ b/boards/silabs/starter_kits/slstk3701a/board.yml @@ -1,5 +1,6 @@ board: name: slstk3701a + full_name: EFM32 Giant Gecko 11 (SLSTK3701A) vendor: silabs socs: - name: efm32gg11b820f2048gl192 diff --git a/boards/sipeed/longan_nano/board.yml b/boards/sipeed/longan_nano/board.yml index 035ea8f540d..4f1fedeba77 100644 --- a/boards/sipeed/longan_nano/board.yml +++ b/boards/sipeed/longan_nano/board.yml @@ -1,5 +1,6 @@ board: name: longan_nano + full_name: Longan Nano vendor: sipeed socs: - name: gd32vf103 diff --git a/boards/snps/em_starterkit/board.yml b/boards/snps/em_starterkit/board.yml index b5c30f1ba9d..c9279e060f2 100644 --- a/boards/snps/em_starterkit/board.yml +++ b/boards/snps/em_starterkit/board.yml @@ -1,5 +1,6 @@ board: name: em_starterkit + full_name: ARC EM Starter Kit vendor: snps socs: - name: emsk_em7d diff --git a/boards/snps/emsdp/board.yml b/boards/snps/emsdp/board.yml index 463c30bc2fc..6a5f944733d 100644 --- a/boards/snps/emsdp/board.yml +++ b/boards/snps/emsdp/board.yml @@ -1,5 +1,6 @@ board: name: emsdp + full_name: ARC EM Software Development Platform vendor: snps socs: - name: emsdp_em4 diff --git a/boards/snps/hsdk/board.yml b/boards/snps/hsdk/board.yml index 44363f8a9b8..164b176bae6 100644 --- a/boards/snps/hsdk/board.yml +++ b/boards/snps/hsdk/board.yml @@ -1,5 +1,6 @@ board: name: hsdk + full_name: ARC HS Development Kit vendor: snps socs: - name: arc_hsdk diff --git a/boards/snps/hsdk/doc/index.rst b/boards/snps/hsdk/doc/index.rst index a7165a27658..b79ecbca968 100644 --- a/boards/snps/hsdk/doc/index.rst +++ b/boards/snps/hsdk/doc/index.rst @@ -387,9 +387,9 @@ Set up Zephyr Software Building Sample Applications ============================== -You can try many of the :ref:`sample applications and demos -`. We'll use :zephyr:code-sample:`hello_world`, found in -:zephyr_file:`samples/hello_world` as an example. +You can try many of the :zephyr:code-sample-category:`sample applications and demos `. +We'll use :zephyr:code-sample:`hello_world`, found in :zephyr_file:`samples/hello_world` as an +example. Configuring ----------- diff --git a/boards/snps/hsdk4xd/board.yml b/boards/snps/hsdk4xd/board.yml index 70e04fa7e80..147e75e69f0 100644 --- a/boards/snps/hsdk4xd/board.yml +++ b/boards/snps/hsdk4xd/board.yml @@ -1,5 +1,6 @@ board: name: hsdk4xd + full_name: ARC HS4x/HS4xD Development Kit vendor: snps socs: - name: arc_hsdk4xd diff --git a/boards/snps/hsdk4xd/doc/index.rst b/boards/snps/hsdk4xd/doc/index.rst index a5cfd534c00..04b30bcaf9b 100644 --- a/boards/snps/hsdk4xd/doc/index.rst +++ b/boards/snps/hsdk4xd/doc/index.rst @@ -384,9 +384,8 @@ Set up Zephyr Software Building Sample Applications ============================== -You can try many of the :ref:`sample applications and demos -`. We'll use :zephyr:code-sample:`hello_world`, found in -:zephyr_file:`samples/hello_world` as an example. +You can try many of the :zephyr:code-sample-category:`sample applications and demos `. +We'll use :zephyr:code-sample:`hello_world`, found in :zephyr_file:`samples/hello_world` as an example. Configuring ----------- diff --git a/boards/snps/iotdk/board.yml b/boards/snps/iotdk/board.yml index 5222ad815cf..9889a3762f8 100644 --- a/boards/snps/iotdk/board.yml +++ b/boards/snps/iotdk/board.yml @@ -1,5 +1,6 @@ board: name: iotdk + full_name: ARC IoT Development Kit vendor: snps socs: - name: arc_iot diff --git a/boards/snps/nsim/arc_classic/board.yml b/boards/snps/nsim/arc_classic/board.yml index a5089774c47..20bbd3071ec 100644 --- a/boards/snps/nsim/arc_classic/board.yml +++ b/boards/snps/nsim/arc_classic/board.yml @@ -1,5 +1,6 @@ board: name: nsim + full_name: ARC nSIM and HAPS FPGA boards vendor: snps socs: - name: nsim_em diff --git a/boards/snps/nsim/arc_v/board.yml b/boards/snps/nsim/arc_v/board.yml index a91eaffd90a..4a8d44eee29 100644 --- a/boards/snps/nsim/arc_v/board.yml +++ b/boards/snps/nsim/arc_v/board.yml @@ -1,5 +1,6 @@ board: name: nsim_arc_v + full_name: RISC-V nSIM and HAPS FPGA boards vendor: snps socs: - name: rmx100 diff --git a/boards/sparkfun/micromod/board.yml b/boards/sparkfun/micromod/board.yml index 851ac345bc5..2f7df46ca0c 100644 --- a/boards/sparkfun/micromod/board.yml +++ b/boards/sparkfun/micromod/board.yml @@ -1,5 +1,6 @@ board: name: micromod + full_name: MicroMod board Processor vendor: sparkfun socs: - name: nrf52840 diff --git a/boards/sparkfun/nrf52_sparkfun/board.yml b/boards/sparkfun/nrf52_sparkfun/board.yml index 5e44e8a072b..d892ab054bb 100644 --- a/boards/sparkfun/nrf52_sparkfun/board.yml +++ b/boards/sparkfun/nrf52_sparkfun/board.yml @@ -1,5 +1,6 @@ board: name: nrf52_sparkfun + full_name: nRF52832 breakout vendor: sparkfun socs: - name: nrf52832 diff --git a/boards/sparkfun/pro_micro_rp2040/board.yml b/boards/sparkfun/pro_micro_rp2040/board.yml index ed9e449e8aa..e4c96de669d 100644 --- a/boards/sparkfun/pro_micro_rp2040/board.yml +++ b/boards/sparkfun/pro_micro_rp2040/board.yml @@ -1,5 +1,6 @@ board: name: sparkfun_pro_micro_rp2040 + full_name: Pro Micro RP2040 vendor: sparkfun socs: - name: rp2040 diff --git a/boards/sparkfun/red_v_things_plus/board.yml b/boards/sparkfun/red_v_things_plus/board.yml index 6ef8e39c2f9..fe588482767 100644 --- a/boards/sparkfun/red_v_things_plus/board.yml +++ b/boards/sparkfun/red_v_things_plus/board.yml @@ -1,5 +1,6 @@ board: name: sparkfun_red_v_things_plus + full_name: RED-V Things Plus vendor: sparkfun socs: - name: fe310 diff --git a/boards/sparkfun/thing_plus/board.yml b/boards/sparkfun/thing_plus/board.yml index 18037dfd5b6..f632d9feab0 100644 --- a/boards/sparkfun/thing_plus/board.yml +++ b/boards/sparkfun/thing_plus/board.yml @@ -1,5 +1,6 @@ board: name: sparkfun_thing_plus + full_name: nRF9160 Thing Plus vendor: sparkfun socs: - name: nrf9160 diff --git a/boards/sparkfun/thing_plus_matter_mgm240p/board.yml b/boards/sparkfun/thing_plus_matter_mgm240p/board.yml index 69ecc88a5b8..e2d94d63e1c 100644 --- a/boards/sparkfun/thing_plus_matter_mgm240p/board.yml +++ b/boards/sparkfun/thing_plus_matter_mgm240p/board.yml @@ -1,5 +1,6 @@ board: name: sparkfun_thing_plus_matter_mgm240p + full_name: THING PLUS MATTER vendor: sparkfun socs: - name: efr32mg24b020f1536im40 diff --git a/boards/st/b_g474e_dpow1/board.yml b/boards/st/b_g474e_dpow1/board.yml index 06d037f81a0..c2c81d97489 100644 --- a/boards/st/b_g474e_dpow1/board.yml +++ b/boards/st/b_g474e_dpow1/board.yml @@ -1,5 +1,6 @@ board: name: b_g474e_dpow1 + full_name: B-G474E-DPOW1 Discovery vendor: st socs: - name: stm32g474xx diff --git a/boards/st/b_l072z_lrwan1/board.yml b/boards/st/b_l072z_lrwan1/board.yml index 1a7b494de19..70a1d334a4a 100644 --- a/boards/st/b_l072z_lrwan1/board.yml +++ b/boards/st/b_l072z_lrwan1/board.yml @@ -1,5 +1,6 @@ board: name: b_l072z_lrwan1 + full_name: B-L072Z-LRWAN1 Discovery kit vendor: st socs: - name: stm32l072xx diff --git a/boards/st/b_l4s5i_iot01a/board.yml b/boards/st/b_l4s5i_iot01a/board.yml index e41cb4b1002..de0a620a93f 100644 --- a/boards/st/b_l4s5i_iot01a/board.yml +++ b/boards/st/b_l4s5i_iot01a/board.yml @@ -1,5 +1,6 @@ board: name: b_l4s5i_iot01a + full_name: B-L4S5I-IOT01A Discovery kit vendor: st socs: - name: stm32l4s5xx diff --git a/boards/st/b_u585i_iot02a/board.yml b/boards/st/b_u585i_iot02a/board.yml index 55e740ec45d..c5ae28435f0 100644 --- a/boards/st/b_u585i_iot02a/board.yml +++ b/boards/st/b_u585i_iot02a/board.yml @@ -1,5 +1,6 @@ board: name: b_u585i_iot02a + full_name: B-U585I-IOT02A Discovery kit vendor: st socs: - name: stm32u585xx diff --git a/boards/st/disco_l475_iot1/board.yml b/boards/st/disco_l475_iot1/board.yml index c11f22591a5..1179b080028 100644 --- a/boards/st/disco_l475_iot1/board.yml +++ b/boards/st/disco_l475_iot1/board.yml @@ -1,5 +1,6 @@ board: name: disco_l475_iot1 + full_name: Disco L475 IOT01 (B-L475E-IOT01A) vendor: st socs: - name: stm32l475xx diff --git a/boards/st/nucleo_c031c6/board.yml b/boards/st/nucleo_c031c6/board.yml index 37d48de4d52..412db17f2df 100644 --- a/boards/st/nucleo_c031c6/board.yml +++ b/boards/st/nucleo_c031c6/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_c031c6 + full_name: Nucleo C031C6 vendor: st socs: - name: stm32c031xx diff --git a/boards/st/nucleo_f030r8/board.yml b/boards/st/nucleo_f030r8/board.yml index 515aae8c5b0..bc62b0f7a8d 100644 --- a/boards/st/nucleo_f030r8/board.yml +++ b/boards/st/nucleo_f030r8/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_f030r8 + full_name: Nucleo F030R8 vendor: st revision: format: number diff --git a/boards/st/nucleo_f031k6/board.yml b/boards/st/nucleo_f031k6/board.yml index 01fc79ac033..4e0c5730751 100644 --- a/boards/st/nucleo_f031k6/board.yml +++ b/boards/st/nucleo_f031k6/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_f031k6 + full_name: Nucleo F031K6 vendor: st socs: - name: stm32f031x6 diff --git a/boards/st/nucleo_f042k6/board.yml b/boards/st/nucleo_f042k6/board.yml index 89d8b050428..787d8d41b3d 100644 --- a/boards/st/nucleo_f042k6/board.yml +++ b/boards/st/nucleo_f042k6/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_f042k6 + full_name: Nucleo F042K6 vendor: st socs: - name: stm32f042x6 diff --git a/boards/st/nucleo_f070rb/board.yml b/boards/st/nucleo_f070rb/board.yml index 8f3a6a49878..4ed7f75d40b 100644 --- a/boards/st/nucleo_f070rb/board.yml +++ b/boards/st/nucleo_f070rb/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_f070rb + full_name: Nucleo F070RB vendor: st socs: - name: stm32f070xb diff --git a/boards/st/nucleo_f091rc/board.yml b/boards/st/nucleo_f091rc/board.yml index 9f3fe67f8f6..7e7b8e5876e 100644 --- a/boards/st/nucleo_f091rc/board.yml +++ b/boards/st/nucleo_f091rc/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_f091rc + full_name: Nucleo F091RC vendor: st socs: - name: stm32f091xc diff --git a/boards/st/nucleo_f103rb/board.yml b/boards/st/nucleo_f103rb/board.yml index 57425f7832d..230bda28975 100644 --- a/boards/st/nucleo_f103rb/board.yml +++ b/boards/st/nucleo_f103rb/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_f103rb + full_name: Nucleo F103RB vendor: st socs: - name: stm32f103xb diff --git a/boards/st/nucleo_f207zg/board.yml b/boards/st/nucleo_f207zg/board.yml index 8b35f4457cd..ea2312af9a7 100644 --- a/boards/st/nucleo_f207zg/board.yml +++ b/boards/st/nucleo_f207zg/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_f207zg + full_name: Nucleo F207ZG vendor: st socs: - name: stm32f207xx diff --git a/boards/st/nucleo_f302r8/board.yml b/boards/st/nucleo_f302r8/board.yml index a39ae3dc6d2..dd7c32ff7d7 100644 --- a/boards/st/nucleo_f302r8/board.yml +++ b/boards/st/nucleo_f302r8/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_f302r8 + full_name: Nucleo F302R8 vendor: st socs: - name: stm32f302x8 diff --git a/boards/st/nucleo_f303k8/board.yml b/boards/st/nucleo_f303k8/board.yml index ae44e2bbb55..50a409d7358 100644 --- a/boards/st/nucleo_f303k8/board.yml +++ b/boards/st/nucleo_f303k8/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_f303k8 + full_name: Nucleo F303K8 vendor: st socs: - name: stm32f303x8 diff --git a/boards/st/nucleo_f303re/board.yml b/boards/st/nucleo_f303re/board.yml index dc99dcc1d6a..5b33354408c 100644 --- a/boards/st/nucleo_f303re/board.yml +++ b/boards/st/nucleo_f303re/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_f303re + full_name: Nucleo F303RE vendor: st socs: - name: stm32f303xe diff --git a/boards/st/nucleo_f334r8/board.yml b/boards/st/nucleo_f334r8/board.yml index 7a8a3e642d8..8ae552c4895 100644 --- a/boards/st/nucleo_f334r8/board.yml +++ b/boards/st/nucleo_f334r8/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_f334r8 + full_name: Nucleo F334R8 vendor: st socs: - name: stm32f334x8 diff --git a/boards/st/nucleo_f401re/board.yml b/boards/st/nucleo_f401re/board.yml index 4cb781427b5..8d322a5d408 100644 --- a/boards/st/nucleo_f401re/board.yml +++ b/boards/st/nucleo_f401re/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_f401re + full_name: Nucleo F401RE vendor: st socs: - name: stm32f401xe diff --git a/boards/st/nucleo_f410rb/board.yml b/boards/st/nucleo_f410rb/board.yml index 23c247e3bad..b2a93fcb445 100644 --- a/boards/st/nucleo_f410rb/board.yml +++ b/boards/st/nucleo_f410rb/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_f410rb + full_name: Nucleo F410RB vendor: st socs: - name: stm32f410rx diff --git a/boards/st/nucleo_f411re/board.yml b/boards/st/nucleo_f411re/board.yml index 6ed17fdc2c4..e3cfe259304 100644 --- a/boards/st/nucleo_f411re/board.yml +++ b/boards/st/nucleo_f411re/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_f411re + full_name: Nucleo F411RE vendor: st socs: - name: stm32f411xe diff --git a/boards/st/nucleo_f412zg/board.yml b/boards/st/nucleo_f412zg/board.yml index b4bb8372f50..07919c3f445 100644 --- a/boards/st/nucleo_f412zg/board.yml +++ b/boards/st/nucleo_f412zg/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_f412zg + full_name: Nucleo F412ZG vendor: st socs: - name: stm32f412zx diff --git a/boards/st/nucleo_f413zh/board.yml b/boards/st/nucleo_f413zh/board.yml index a372cec4b8a..a207e5e0357 100644 --- a/boards/st/nucleo_f413zh/board.yml +++ b/boards/st/nucleo_f413zh/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_f413zh + full_name: Nucleo F413ZH vendor: st socs: - name: stm32f413xx diff --git a/boards/st/nucleo_f429zi/board.yml b/boards/st/nucleo_f429zi/board.yml index ecf8e93828b..c2a2b867a11 100644 --- a/boards/st/nucleo_f429zi/board.yml +++ b/boards/st/nucleo_f429zi/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_f429zi + full_name: Nucleo F429ZI vendor: st socs: - name: stm32f429xx diff --git a/boards/st/nucleo_f446re/board.yml b/boards/st/nucleo_f446re/board.yml index d68a45990b8..659fff64636 100644 --- a/boards/st/nucleo_f446re/board.yml +++ b/boards/st/nucleo_f446re/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_f446re + full_name: Nucleo F446RE vendor: st socs: - name: stm32f446xx diff --git a/boards/st/nucleo_f446ze/board.yml b/boards/st/nucleo_f446ze/board.yml index eb577af456b..32861aa1789 100644 --- a/boards/st/nucleo_f446ze/board.yml +++ b/boards/st/nucleo_f446ze/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_f446ze + full_name: Nucleo F446ZE vendor: st socs: - name: stm32f446xx diff --git a/boards/st/nucleo_f722ze/board.yml b/boards/st/nucleo_f722ze/board.yml index 793193bc2ca..80ab328c14e 100644 --- a/boards/st/nucleo_f722ze/board.yml +++ b/boards/st/nucleo_f722ze/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_f722ze + full_name: Nucleo F722ZE vendor: st socs: - name: stm32f722xx diff --git a/boards/st/nucleo_f746zg/board.yml b/boards/st/nucleo_f746zg/board.yml index 1df68107ece..d21d7faab75 100644 --- a/boards/st/nucleo_f746zg/board.yml +++ b/boards/st/nucleo_f746zg/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_f746zg + full_name: Nucleo F746ZG vendor: st socs: - name: stm32f746xx diff --git a/boards/st/nucleo_f756zg/board.yml b/boards/st/nucleo_f756zg/board.yml index 791d7601754..f95bc53df7f 100644 --- a/boards/st/nucleo_f756zg/board.yml +++ b/boards/st/nucleo_f756zg/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_f756zg + full_name: Nucleo F756ZG vendor: st socs: - name: stm32f756xx diff --git a/boards/st/nucleo_f767zi/board.yml b/boards/st/nucleo_f767zi/board.yml index 810b80a5fdc..30dea098842 100644 --- a/boards/st/nucleo_f767zi/board.yml +++ b/boards/st/nucleo_f767zi/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_f767zi + full_name: Nucleo F767ZI vendor: st socs: - name: stm32f767xx diff --git a/boards/st/nucleo_g031k8/board.yml b/boards/st/nucleo_g031k8/board.yml index 690afd52fb0..2382e3e70fd 100644 --- a/boards/st/nucleo_g031k8/board.yml +++ b/boards/st/nucleo_g031k8/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_g031k8 + full_name: Nucleo G031K8 vendor: st socs: - name: stm32g031xx diff --git a/boards/st/nucleo_g070rb/board.yml b/boards/st/nucleo_g070rb/board.yml index 88306b0d7f0..a0074bc9449 100644 --- a/boards/st/nucleo_g070rb/board.yml +++ b/boards/st/nucleo_g070rb/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_g070rb + full_name: Nucleo G070RB vendor: st socs: - name: stm32g070xx diff --git a/boards/st/nucleo_g071rb/board.yml b/boards/st/nucleo_g071rb/board.yml index 05e948a2f36..63c1ce9add4 100644 --- a/boards/st/nucleo_g071rb/board.yml +++ b/boards/st/nucleo_g071rb/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_g071rb + full_name: Nucleo G071RB vendor: st socs: - name: stm32g071xx diff --git a/boards/st/nucleo_g0b1re/board.yml b/boards/st/nucleo_g0b1re/board.yml index b9d0f93261f..f7732c1330f 100644 --- a/boards/st/nucleo_g0b1re/board.yml +++ b/boards/st/nucleo_g0b1re/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_g0b1re + full_name: Nucleo G0B1RE vendor: st socs: - name: stm32g0b1xx diff --git a/boards/st/nucleo_g431rb/board.yml b/boards/st/nucleo_g431rb/board.yml index 460dcf740e8..e338c94cbaa 100644 --- a/boards/st/nucleo_g431rb/board.yml +++ b/boards/st/nucleo_g431rb/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_g431rb + full_name: Nucleo G431RB vendor: st socs: - name: stm32g431xx diff --git a/boards/st/nucleo_g474re/board.yml b/boards/st/nucleo_g474re/board.yml index 7cf7857f527..9921219d1e5 100644 --- a/boards/st/nucleo_g474re/board.yml +++ b/boards/st/nucleo_g474re/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_g474re + full_name: Nucleo G474RE vendor: st socs: - name: stm32g474xx diff --git a/boards/st/nucleo_h503rb/board.yml b/boards/st/nucleo_h503rb/board.yml index bbf3662873b..15f7b72e306 100644 --- a/boards/st/nucleo_h503rb/board.yml +++ b/boards/st/nucleo_h503rb/board.yml @@ -3,6 +3,7 @@ board: name: nucleo_h503rb + full_name: Nucleo H503RB vendor: st socs: - name: stm32h503xx diff --git a/boards/st/nucleo_h533re/board.yml b/boards/st/nucleo_h533re/board.yml index 4b633011b71..11b0d6aa069 100644 --- a/boards/st/nucleo_h533re/board.yml +++ b/boards/st/nucleo_h533re/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_h533re + full_name: Nucleo H533RE vendor: st socs: - name: stm32h533xx diff --git a/boards/st/nucleo_h563zi/board.yml b/boards/st/nucleo_h563zi/board.yml index 42319f55755..fec89e6d37b 100644 --- a/boards/st/nucleo_h563zi/board.yml +++ b/boards/st/nucleo_h563zi/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_h563zi + full_name: Nucleo H563ZI vendor: st socs: - name: stm32h563xx diff --git a/boards/st/nucleo_h723zg/board.yml b/boards/st/nucleo_h723zg/board.yml index 56a6d5cfb52..2efee3e24c4 100644 --- a/boards/st/nucleo_h723zg/board.yml +++ b/boards/st/nucleo_h723zg/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_h723zg + full_name: Nucleo H723ZG vendor: st socs: - name: stm32h723xx diff --git a/boards/st/nucleo_h743zi/board.yml b/boards/st/nucleo_h743zi/board.yml index e133a6fc034..8feba5b5c7a 100644 --- a/boards/st/nucleo_h743zi/board.yml +++ b/boards/st/nucleo_h743zi/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_h743zi + full_name: Nucleo H743ZI vendor: st socs: - name: stm32h743xx diff --git a/boards/st/nucleo_h745zi_q/board.yml b/boards/st/nucleo_h745zi_q/board.yml index 7ba025f5bb7..6d9df5de248 100644 --- a/boards/st/nucleo_h745zi_q/board.yml +++ b/boards/st/nucleo_h745zi_q/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_h745zi_q + full_name: Nucleo H745ZI-Q vendor: st socs: - name: stm32h745xx diff --git a/boards/st/nucleo_h753zi/board.yml b/boards/st/nucleo_h753zi/board.yml index 12dc4b5a501..704face7bc9 100644 --- a/boards/st/nucleo_h753zi/board.yml +++ b/boards/st/nucleo_h753zi/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_h753zi + full_name: Nucleo H753ZI vendor: st socs: - name: stm32h753xx diff --git a/boards/st/nucleo_h755zi_q/board.yml b/boards/st/nucleo_h755zi_q/board.yml index ecffd3b0fd1..73e4e8e0cf1 100644 --- a/boards/st/nucleo_h755zi_q/board.yml +++ b/boards/st/nucleo_h755zi_q/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_h755zi_q + full_name: Nucleo H755ZI-Q vendor: st socs: - name: stm32h755xx diff --git a/boards/st/nucleo_h7a3zi_q/board.yml b/boards/st/nucleo_h7a3zi_q/board.yml index 0c64ac88228..f3e32247481 100644 --- a/boards/st/nucleo_h7a3zi_q/board.yml +++ b/boards/st/nucleo_h7a3zi_q/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_h7a3zi_q + full_name: Nucleo H7A3ZI-Q vendor: st socs: - name: stm32h7a3xx diff --git a/boards/st/nucleo_l011k4/board.yml b/boards/st/nucleo_l011k4/board.yml index be64789e754..4f9e1429176 100644 --- a/boards/st/nucleo_l011k4/board.yml +++ b/boards/st/nucleo_l011k4/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_l011k4 + full_name: Nucleo L011K4 vendor: st socs: - name: stm32l011xx diff --git a/boards/st/nucleo_l031k6/board.yml b/boards/st/nucleo_l031k6/board.yml index 7fc334c0c2d..43bbdbd2c22 100644 --- a/boards/st/nucleo_l031k6/board.yml +++ b/boards/st/nucleo_l031k6/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_l031k6 + full_name: Nucleo L031K6 vendor: st socs: - name: stm32l031xx diff --git a/boards/st/nucleo_l053r8/board.yml b/boards/st/nucleo_l053r8/board.yml index a31629d6443..0952d7d4b8e 100644 --- a/boards/st/nucleo_l053r8/board.yml +++ b/boards/st/nucleo_l053r8/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_l053r8 + full_name: Nucleo L053R8 vendor: st socs: - name: stm32l053xx diff --git a/boards/st/nucleo_l073rz/board.yml b/boards/st/nucleo_l073rz/board.yml index 232170aa06d..01d4430d252 100644 --- a/boards/st/nucleo_l073rz/board.yml +++ b/boards/st/nucleo_l073rz/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_l073rz + full_name: Nucleo L073RZ vendor: st socs: - name: stm32l073xx diff --git a/boards/st/nucleo_l152re/board.yml b/boards/st/nucleo_l152re/board.yml index 2838a81f7b0..80adf11ee4d 100644 --- a/boards/st/nucleo_l152re/board.yml +++ b/boards/st/nucleo_l152re/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_l152re + full_name: Nucleo L152RE vendor: st socs: - name: stm32l152xe diff --git a/boards/st/nucleo_l412rb_p/board.yml b/boards/st/nucleo_l412rb_p/board.yml index 92ab56d2df3..37a8159f3c5 100644 --- a/boards/st/nucleo_l412rb_p/board.yml +++ b/boards/st/nucleo_l412rb_p/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_l412rb_p + full_name: Nucleo L412RB-P vendor: st socs: - name: stm32l412xx diff --git a/boards/st/nucleo_l432kc/board.yml b/boards/st/nucleo_l432kc/board.yml index 25ccfc0ddf9..badd59ab6a5 100644 --- a/boards/st/nucleo_l432kc/board.yml +++ b/boards/st/nucleo_l432kc/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_l432kc + full_name: Nucleo L432KC vendor: st socs: - name: stm32l432xx diff --git a/boards/st/nucleo_l433rc_p/board.yml b/boards/st/nucleo_l433rc_p/board.yml index 03c1f3c6f6f..3f5b40b949d 100644 --- a/boards/st/nucleo_l433rc_p/board.yml +++ b/boards/st/nucleo_l433rc_p/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_l433rc_p + full_name: Nucleo L433RC vendor: st socs: - name: stm32l433xx diff --git a/boards/st/nucleo_l452re/board.yml b/boards/st/nucleo_l452re/board.yml index 9bbf9630497..32318946ec8 100644 --- a/boards/st/nucleo_l452re/board.yml +++ b/boards/st/nucleo_l452re/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_l452re + full_name: Nucleo L452RE vendor: st socs: - name: stm32l452xx diff --git a/boards/st/nucleo_l476rg/board.yml b/boards/st/nucleo_l476rg/board.yml index c6b21713e34..c250fa89a58 100644 --- a/boards/st/nucleo_l476rg/board.yml +++ b/boards/st/nucleo_l476rg/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_l476rg + full_name: Nucleo L476RG vendor: st socs: - name: stm32l476xx diff --git a/boards/st/nucleo_l496zg/board.yml b/boards/st/nucleo_l496zg/board.yml index 3d1c909cffc..4b0e2a75e3e 100644 --- a/boards/st/nucleo_l496zg/board.yml +++ b/boards/st/nucleo_l496zg/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_l496zg + full_name: Nucleo L496ZG vendor: st socs: - name: stm32l496xx diff --git a/boards/st/nucleo_l4a6zg/board.yml b/boards/st/nucleo_l4a6zg/board.yml index 6e935c5d082..5cf94c4be2e 100644 --- a/boards/st/nucleo_l4a6zg/board.yml +++ b/boards/st/nucleo_l4a6zg/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_l4a6zg + full_name: Nucleo L4A6ZG vendor: st socs: - name: stm32l4a6xx diff --git a/boards/st/nucleo_l4r5zi/board.yml b/boards/st/nucleo_l4r5zi/board.yml index 46ead4d8831..86befedebd2 100644 --- a/boards/st/nucleo_l4r5zi/board.yml +++ b/boards/st/nucleo_l4r5zi/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_l4r5zi + full_name: Nucleo L4R5ZI vendor: st socs: - name: stm32l4r5xx diff --git a/boards/st/nucleo_l552ze_q/board.yml b/boards/st/nucleo_l552ze_q/board.yml index 713b695aeba..58e78575e12 100644 --- a/boards/st/nucleo_l552ze_q/board.yml +++ b/boards/st/nucleo_l552ze_q/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_l552ze_q + full_name: Nucleo L552ZE Q vendor: st socs: - name: stm32l552xx diff --git a/boards/st/nucleo_u031r8/board.yml b/boards/st/nucleo_u031r8/board.yml index afbb6b5b6b6..1a3d7fdf20b 100644 --- a/boards/st/nucleo_u031r8/board.yml +++ b/boards/st/nucleo_u031r8/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_u031r8 + full_name: Nucleo U031R8 vendor: st socs: - name: stm32u031xx diff --git a/boards/st/nucleo_u083rc/board.yml b/boards/st/nucleo_u083rc/board.yml index 65d9734b288..c26a846edc6 100644 --- a/boards/st/nucleo_u083rc/board.yml +++ b/boards/st/nucleo_u083rc/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_u083rc + full_name: Nucleo U083RC vendor: st socs: - name: stm32u083xx diff --git a/boards/st/nucleo_u575zi_q/board.yml b/boards/st/nucleo_u575zi_q/board.yml index ced9ac720b3..66fc909baef 100644 --- a/boards/st/nucleo_u575zi_q/board.yml +++ b/boards/st/nucleo_u575zi_q/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_u575zi_q + full_name: Nucleo U575ZI Q vendor: st socs: - name: stm32u575xx diff --git a/boards/st/nucleo_u5a5zj_q/board.yml b/boards/st/nucleo_u5a5zj_q/board.yml index 9e594c30fb1..d5376588b21 100644 --- a/boards/st/nucleo_u5a5zj_q/board.yml +++ b/boards/st/nucleo_u5a5zj_q/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_u5a5zj_q + full_name: Nucleo U5A5ZJ Q vendor: st socs: - name: stm32u5a5xx diff --git a/boards/st/nucleo_wb05kz/board.yml b/boards/st/nucleo_wb05kz/board.yml index 645506c7953..7b519b73009 100644 --- a/boards/st/nucleo_wb05kz/board.yml +++ b/boards/st/nucleo_wb05kz/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_wb05kz + full_name: Nucleo WB05KZ vendor: st socs: - name: stm32wb05 diff --git a/boards/st/nucleo_wb09ke/board.yml b/boards/st/nucleo_wb09ke/board.yml index 2bff9e912b5..faba2d61bd4 100644 --- a/boards/st/nucleo_wb09ke/board.yml +++ b/boards/st/nucleo_wb09ke/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_wb09ke + full_name: Nucleo WB09KE vendor: st socs: - name: stm32wb09 diff --git a/boards/st/nucleo_wb55rg/board.yml b/boards/st/nucleo_wb55rg/board.yml index 49366ba9e62..8b161072dee 100644 --- a/boards/st/nucleo_wb55rg/board.yml +++ b/boards/st/nucleo_wb55rg/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_wb55rg + full_name: Nucleo WB55RG vendor: st socs: - name: stm32wb55xx diff --git a/boards/st/nucleo_wba52cg/board.yml b/boards/st/nucleo_wba52cg/board.yml index 70950acf34d..0b12139fcf2 100644 --- a/boards/st/nucleo_wba52cg/board.yml +++ b/boards/st/nucleo_wba52cg/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_wba52cg + full_name: Nucleo WBA52CG vendor: st socs: - name: stm32wba52xx diff --git a/boards/st/nucleo_wba55cg/board.yml b/boards/st/nucleo_wba55cg/board.yml index 2fbe6b2bca4..0963755cc50 100644 --- a/boards/st/nucleo_wba55cg/board.yml +++ b/boards/st/nucleo_wba55cg/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_wba55cg + full_name: Nucleo WBA55CG vendor: st socs: - name: stm32wba55xx diff --git a/boards/st/nucleo_wl55jc/board.yml b/boards/st/nucleo_wl55jc/board.yml index 930da79b199..9313b6a7ef7 100644 --- a/boards/st/nucleo_wl55jc/board.yml +++ b/boards/st/nucleo_wl55jc/board.yml @@ -1,5 +1,6 @@ board: name: nucleo_wl55jc + full_name: Nucleo WL55JC vendor: st socs: - name: stm32wl55xx diff --git a/boards/st/sensortile_box/board.yml b/boards/st/sensortile_box/board.yml index 4ac086b2cb7..f314a51c356 100644 --- a/boards/st/sensortile_box/board.yml +++ b/boards/st/sensortile_box/board.yml @@ -1,5 +1,6 @@ board: name: sensortile_box + full_name: SensorTile.box vendor: st socs: - name: stm32l4r9xx diff --git a/boards/st/sensortile_box_pro/board.yml b/boards/st/sensortile_box_pro/board.yml index d3bb8ca9ee9..bfa681499cc 100644 --- a/boards/st/sensortile_box_pro/board.yml +++ b/boards/st/sensortile_box_pro/board.yml @@ -1,5 +1,6 @@ board: name: sensortile_box_pro + full_name: SensorTile.box PRO vendor: st socs: - name: stm32u585xx diff --git a/boards/st/st25dv_mb1283_disco/board.yml b/boards/st/st25dv_mb1283_disco/board.yml index 8fc19fff61e..054880ab5d9 100644 --- a/boards/st/st25dv_mb1283_disco/board.yml +++ b/boards/st/st25dv_mb1283_disco/board.yml @@ -1,5 +1,6 @@ board: name: st25dv_mb1283_disco + full_name: ST25DV Discovery, MB1283 version vendor: st socs: - name: stm32f405xx diff --git a/boards/st/steval_fcu001v1/board.yml b/boards/st/steval_fcu001v1/board.yml index 16357770fa4..23fb900e8c7 100644 --- a/boards/st/steval_fcu001v1/board.yml +++ b/boards/st/steval_fcu001v1/board.yml @@ -1,5 +1,6 @@ board: name: steval_fcu001v1 + full_name: STM32 Flight Controller Unit vendor: st socs: - name: stm32f401xc diff --git a/boards/st/steval_stwinbx1/board.yml b/boards/st/steval_stwinbx1/board.yml index 64319223253..e72eee7c5d2 100644 --- a/boards/st/steval_stwinbx1/board.yml +++ b/boards/st/steval_stwinbx1/board.yml @@ -1,5 +1,6 @@ board: name: steval_stwinbx1 + full_name: STEVAL STWINBX1 Development kit vendor: st socs: - name: stm32u585xx diff --git a/boards/st/stm3210c_eval/board.yml b/boards/st/stm3210c_eval/board.yml index bb8003f01ab..d204be60d35 100644 --- a/boards/st/stm3210c_eval/board.yml +++ b/boards/st/stm3210c_eval/board.yml @@ -1,5 +1,6 @@ board: name: stm3210c_eval + full_name: STM3210C Evaluation vendor: st socs: - name: stm32f107xc diff --git a/boards/st/stm32373c_eval/board.yml b/boards/st/stm32373c_eval/board.yml index 32da748e9a7..6817d43bdb8 100644 --- a/boards/st/stm32373c_eval/board.yml +++ b/boards/st/stm32373c_eval/board.yml @@ -1,5 +1,6 @@ board: name: stm32373c_eval + full_name: STM32373C Evaluation vendor: st socs: - name: stm32f373xc diff --git a/boards/st/stm32c0116_dk/board.yml b/boards/st/stm32c0116_dk/board.yml index 1764907618b..db0eb8377ae 100644 --- a/boards/st/stm32c0116_dk/board.yml +++ b/boards/st/stm32c0116_dk/board.yml @@ -1,5 +1,6 @@ board: name: stm32c0116_dk + full_name: STM32C0116-DK Discovery Kit vendor: st socs: - name: stm32c011xx diff --git a/boards/st/stm32f072_eval/board.yml b/boards/st/stm32f072_eval/board.yml index 43e4ec82854..70ea37e0567 100644 --- a/boards/st/stm32f072_eval/board.yml +++ b/boards/st/stm32f072_eval/board.yml @@ -1,5 +1,6 @@ board: name: stm32f072_eval + full_name: STM32F072 Evaluation vendor: st socs: - name: stm32f072xb diff --git a/boards/st/stm32f072b_disco/board.yml b/boards/st/stm32f072b_disco/board.yml index ca3e636655f..9152aa3b6a2 100644 --- a/boards/st/stm32f072b_disco/board.yml +++ b/boards/st/stm32f072b_disco/board.yml @@ -1,5 +1,6 @@ board: name: stm32f072b_disco + full_name: STM32F072B Discovery vendor: st socs: - name: stm32f072xb diff --git a/boards/st/stm32f0_disco/board.yml b/boards/st/stm32f0_disco/board.yml index a195ae98ae7..df8b2b52b90 100644 --- a/boards/st/stm32f0_disco/board.yml +++ b/boards/st/stm32f0_disco/board.yml @@ -1,5 +1,6 @@ board: name: stm32f0_disco + full_name: STM32F0 Discovery vendor: st socs: - name: stm32f051x8 diff --git a/boards/st/stm32f3_disco/board.yml b/boards/st/stm32f3_disco/board.yml index ae48f138fa5..7c2626178f5 100644 --- a/boards/st/stm32f3_disco/board.yml +++ b/boards/st/stm32f3_disco/board.yml @@ -1,5 +1,6 @@ board: name: stm32f3_disco + full_name: STM32F3 Discovery vendor: st revision: format: letter diff --git a/boards/st/stm32f411e_disco/board.yml b/boards/st/stm32f411e_disco/board.yml index f42b1ada4a4..fa455d610e8 100644 --- a/boards/st/stm32f411e_disco/board.yml +++ b/boards/st/stm32f411e_disco/board.yml @@ -1,5 +1,6 @@ board: name: stm32f411e_disco + full_name: STM32F411E Discovery vendor: st revision: format: letter diff --git a/boards/st/stm32f412g_disco/board.yml b/boards/st/stm32f412g_disco/board.yml index 836972823ad..ab33ccba899 100644 --- a/boards/st/stm32f412g_disco/board.yml +++ b/boards/st/stm32f412g_disco/board.yml @@ -1,5 +1,6 @@ board: name: stm32f412g_disco + full_name: STM32F412G Discovery vendor: st socs: - name: stm32f412zx diff --git a/boards/st/stm32f429i_disc1/board.yml b/boards/st/stm32f429i_disc1/board.yml index e8e33228307..5843685a476 100644 --- a/boards/st/stm32f429i_disc1/board.yml +++ b/boards/st/stm32f429i_disc1/board.yml @@ -1,5 +1,6 @@ board: name: stm32f429i_disc1 + full_name: STM32F429I Discovery vendor: st socs: - name: stm32f429xx diff --git a/boards/st/stm32f469i_disco/board.yml b/boards/st/stm32f469i_disco/board.yml index 2f7407bbc38..cd76731d91f 100644 --- a/boards/st/stm32f469i_disco/board.yml +++ b/boards/st/stm32f469i_disco/board.yml @@ -1,5 +1,6 @@ board: name: stm32f469i_disco + full_name: STM32F469I Discovery vendor: st socs: - name: stm32f469xx diff --git a/boards/st/stm32f4_disco/board.yml b/boards/st/stm32f4_disco/board.yml index 663f8613eec..55f96320600 100644 --- a/boards/st/stm32f4_disco/board.yml +++ b/boards/st/stm32f4_disco/board.yml @@ -1,5 +1,6 @@ board: name: stm32f4_disco + full_name: STM32F4 Discovery vendor: st socs: - name: stm32f407xx diff --git a/boards/st/stm32f723e_disco/board.yml b/boards/st/stm32f723e_disco/board.yml index 65248705234..b90191d201f 100644 --- a/boards/st/stm32f723e_disco/board.yml +++ b/boards/st/stm32f723e_disco/board.yml @@ -1,5 +1,6 @@ board: name: stm32f723e_disco + full_name: STM32F723E Discovery vendor: st socs: - name: stm32f723xx diff --git a/boards/st/stm32f746g_disco/board.yml b/boards/st/stm32f746g_disco/board.yml index 3522ea40ac3..2417218da2f 100644 --- a/boards/st/stm32f746g_disco/board.yml +++ b/boards/st/stm32f746g_disco/board.yml @@ -1,5 +1,6 @@ board: name: stm32f746g_disco + full_name: STM32F746G Discovery vendor: st socs: - name: stm32f746xx diff --git a/boards/st/stm32f7508_dk/board.yml b/boards/st/stm32f7508_dk/board.yml index 46e12e5a6f0..ec81a75c0f0 100644 --- a/boards/st/stm32f7508_dk/board.yml +++ b/boards/st/stm32f7508_dk/board.yml @@ -1,5 +1,6 @@ board: name: stm32f7508_dk + full_name: STM32F7508-DK Discovery Kit vendor: st socs: - name: stm32f750xx diff --git a/boards/st/stm32f769i_disco/board.yml b/boards/st/stm32f769i_disco/board.yml index de83c60be99..552b7dd5ee3 100644 --- a/boards/st/stm32f769i_disco/board.yml +++ b/boards/st/stm32f769i_disco/board.yml @@ -1,5 +1,6 @@ board: name: stm32f769i_disco + full_name: STM32F769I Discovery vendor: st socs: - name: stm32f769xx diff --git a/boards/st/stm32g0316_disco/board.yml b/boards/st/stm32g0316_disco/board.yml index 5a67daf81d6..a032c898a75 100644 --- a/boards/st/stm32g0316_disco/board.yml +++ b/boards/st/stm32g0316_disco/board.yml @@ -1,5 +1,6 @@ board: name: stm32g0316_disco + full_name: STM32G0316 Discovery vendor: st socs: - name: stm32g031xx diff --git a/boards/st/stm32g071b_disco/board.yml b/boards/st/stm32g071b_disco/board.yml index 5445391255f..78b83fac451 100644 --- a/boards/st/stm32g071b_disco/board.yml +++ b/boards/st/stm32g071b_disco/board.yml @@ -1,5 +1,6 @@ board: name: stm32g071b_disco + full_name: STM32G071B Discovery vendor: st socs: - name: stm32g071xx diff --git a/boards/st/stm32g081b_eval/board.yml b/boards/st/stm32g081b_eval/board.yml index 5cdb22ef9b8..2a6fa75aadd 100644 --- a/boards/st/stm32g081b_eval/board.yml +++ b/boards/st/stm32g081b_eval/board.yml @@ -1,5 +1,6 @@ board: name: stm32g081b_eval + full_name: STM32G081B Evaluation vendor: st socs: - name: stm32g081xx diff --git a/boards/st/stm32h573i_dk/board.yml b/boards/st/stm32h573i_dk/board.yml index e6a08a9197f..55f38200999 100644 --- a/boards/st/stm32h573i_dk/board.yml +++ b/boards/st/stm32h573i_dk/board.yml @@ -1,5 +1,6 @@ board: name: stm32h573i_dk + full_name: STM32H573I-DK Discovery vendor: st socs: - name: stm32h573xx diff --git a/boards/st/stm32h735g_disco/board.yml b/boards/st/stm32h735g_disco/board.yml index 146a622647e..acf25fbe1a2 100644 --- a/boards/st/stm32h735g_disco/board.yml +++ b/boards/st/stm32h735g_disco/board.yml @@ -1,5 +1,6 @@ board: name: stm32h735g_disco + full_name: STM32H735G Discovery vendor: st socs: - name: stm32h735xx diff --git a/boards/st/stm32h745i_disco/board.yml b/boards/st/stm32h745i_disco/board.yml index e1da9c4b2f4..cbd323cb9ce 100644 --- a/boards/st/stm32h745i_disco/board.yml +++ b/boards/st/stm32h745i_disco/board.yml @@ -1,5 +1,6 @@ board: name: stm32h745i_disco + full_name: STM32H745I Discovery vendor: st socs: - name: stm32h745xx diff --git a/boards/st/stm32h747i_disco/board.yml b/boards/st/stm32h747i_disco/board.yml index 431d3e4f486..67649b5dab6 100644 --- a/boards/st/stm32h747i_disco/board.yml +++ b/boards/st/stm32h747i_disco/board.yml @@ -1,5 +1,6 @@ board: name: stm32h747i_disco + full_name: STM32H747I Discovery vendor: st socs: - name: stm32h747xx diff --git a/boards/st/stm32h750b_dk/board.yml b/boards/st/stm32h750b_dk/board.yml index 95275ee2e42..9c95b1c77d1 100644 --- a/boards/st/stm32h750b_dk/board.yml +++ b/boards/st/stm32h750b_dk/board.yml @@ -1,5 +1,6 @@ board: name: stm32h750b_dk + full_name: STM32H750B Discovery Kit vendor: st socs: - name: stm32h750xx diff --git a/boards/st/stm32h7b3i_dk/board.yml b/boards/st/stm32h7b3i_dk/board.yml index 5516412eac9..6a9e0626b7c 100644 --- a/boards/st/stm32h7b3i_dk/board.yml +++ b/boards/st/stm32h7b3i_dk/board.yml @@ -1,5 +1,6 @@ board: name: stm32h7b3i_dk + full_name: STM32H7B3I Discovery kit vendor: st socs: - name: stm32h7b3xx diff --git a/boards/st/stm32h7s78_dk/board.yml b/boards/st/stm32h7s78_dk/board.yml index c17be71480c..fdc77091323 100644 --- a/boards/st/stm32h7s78_dk/board.yml +++ b/boards/st/stm32h7s78_dk/board.yml @@ -1,5 +1,6 @@ board: name: stm32h7s78_dk + full_name: STM32H7S78-DK Discovery vendor: st socs: - name: stm32h7s7xx diff --git a/boards/st/stm32l1_disco/board.yml b/boards/st/stm32l1_disco/board.yml index 97a69b88157..1f606b80070 100644 --- a/boards/st/stm32l1_disco/board.yml +++ b/boards/st/stm32l1_disco/board.yml @@ -1,9 +1,11 @@ boards: - name: stm32l1_disco + full_name: STM32L1 Discovery vendor: st socs: - name: stm32l151xb - name: stm32l152c_disco + full_name: STM32L152C Discovery vendor: st socs: - name: stm32l152xc diff --git a/boards/st/stm32l476g_disco/board.yml b/boards/st/stm32l476g_disco/board.yml index c82c2c61843..7899adc9ea0 100644 --- a/boards/st/stm32l476g_disco/board.yml +++ b/boards/st/stm32l476g_disco/board.yml @@ -1,5 +1,6 @@ board: name: stm32l476g_disco + full_name: STM32L476G Discovery vendor: st socs: - name: stm32l476xx diff --git a/boards/st/stm32l496g_disco/board.yml b/boards/st/stm32l496g_disco/board.yml index 9d6b18a598d..e5b9ec923c4 100644 --- a/boards/st/stm32l496g_disco/board.yml +++ b/boards/st/stm32l496g_disco/board.yml @@ -1,5 +1,6 @@ board: name: stm32l496g_disco + full_name: STM32L496G Discovery vendor: st socs: - name: stm32l496xx diff --git a/boards/st/stm32l4r9i_disco/board.yml b/boards/st/stm32l4r9i_disco/board.yml index 267fd87932d..eedbfcd51e2 100644 --- a/boards/st/stm32l4r9i_disco/board.yml +++ b/boards/st/stm32l4r9i_disco/board.yml @@ -1,5 +1,6 @@ board: name: stm32l4r9i_disco + full_name: STM32L4R9I Discovery vendor: st socs: - name: stm32l4r9xx diff --git a/boards/st/stm32l562e_dk/board.yml b/boards/st/stm32l562e_dk/board.yml index 225f25adc2e..93e80fb9f5d 100644 --- a/boards/st/stm32l562e_dk/board.yml +++ b/boards/st/stm32l562e_dk/board.yml @@ -1,5 +1,6 @@ board: name: stm32l562e_dk + full_name: STM32L562E-DK Discovery vendor: st socs: - name: stm32l562xx diff --git a/boards/st/stm32mp157c_dk2/board.yml b/boards/st/stm32mp157c_dk2/board.yml index d8ffb9a66b5..6226ea364e1 100644 --- a/boards/st/stm32mp157c_dk2/board.yml +++ b/boards/st/stm32mp157c_dk2/board.yml @@ -1,5 +1,6 @@ board: name: stm32mp157c_dk2 + full_name: STM32MP157C-DK2 Discovery vendor: st socs: - name: stm32mp157cxx diff --git a/boards/st/stm32u083c_dk/board.yml b/boards/st/stm32u083c_dk/board.yml index 7bcf691ac69..18deefdfecc 100644 --- a/boards/st/stm32u083c_dk/board.yml +++ b/boards/st/stm32u083c_dk/board.yml @@ -1,5 +1,6 @@ board: name: stm32u083c_dk + full_name: STM32U083C-DK vendor: st socs: - name: stm32u083xx diff --git a/boards/st/stm32u5a9j_dk/board.yml b/boards/st/stm32u5a9j_dk/board.yml index 93bcec39743..665d0bbc419 100644 --- a/boards/st/stm32u5a9j_dk/board.yml +++ b/boards/st/stm32u5a9j_dk/board.yml @@ -1,5 +1,6 @@ board: name: stm32u5a9j_dk + full_name: STM32U5A9J Discovery Kit vendor: st socs: - name: stm32u5a9xx diff --git a/boards/st/stm32vl_disco/board.yml b/boards/st/stm32vl_disco/board.yml index 15c8b5b3cac..011d7f7e71a 100644 --- a/boards/st/stm32vl_disco/board.yml +++ b/boards/st/stm32vl_disco/board.yml @@ -1,5 +1,6 @@ board: name: stm32vl_disco + full_name: STM32VL Discovery vendor: st socs: - name: stm32f100xb diff --git a/boards/st/stm32wb5mm_dk/board.yml b/boards/st/stm32wb5mm_dk/board.yml index 5df998d28c1..019c11d7905 100644 --- a/boards/st/stm32wb5mm_dk/board.yml +++ b/boards/st/stm32wb5mm_dk/board.yml @@ -1,5 +1,6 @@ board: name: stm32wb5mm_dk + full_name: STM32WB5MM-DK vendor: st socs: - name: stm32wb55xx diff --git a/boards/st/stm32wb5mmg/board.yml b/boards/st/stm32wb5mmg/board.yml index dc90a918930..29ce1a3426b 100644 --- a/boards/st/stm32wb5mmg/board.yml +++ b/boards/st/stm32wb5mmg/board.yml @@ -1,5 +1,6 @@ board: name: stm32wb5mmg + full_name: STM32WB5MMG vendor: st socs: - name: stm32wb55xx diff --git a/boards/starfive/visionfive2/board.yml b/boards/starfive/visionfive2/board.yml index cc856efaa92..9d106a29a48 100644 --- a/boards/starfive/visionfive2/board.yml +++ b/boards/starfive/visionfive2/board.yml @@ -3,6 +3,7 @@ board: name: visionfive2 + full_name: VisionFive 2 JH7110 vendor: starfive socs: - name: jh7110 diff --git a/boards/tdk/robokit1/board.yml b/boards/tdk/robokit1/board.yml index c97c2a0c940..2aafcdd702e 100644 --- a/boards/tdk/robokit1/board.yml +++ b/boards/tdk/robokit1/board.yml @@ -1,5 +1,6 @@ board: name: robokit1 + full_name: RoboKit 1 vendor: tdk socs: - name: same70q21b diff --git a/boards/technexion/pico_pi/board.yml b/boards/technexion/pico_pi/board.yml index 61c6713a925..297ee427131 100644 --- a/boards/technexion/pico_pi/board.yml +++ b/boards/technexion/pico_pi/board.yml @@ -1,5 +1,6 @@ board: name: pico_pi + full_name: Pico-Pi i.MX7D - Android Things IoT Development Platform vendor: technexion socs: - name: mcimx7d diff --git a/boards/telink/tlsr9518adk80d/board.yml b/boards/telink/tlsr9518adk80d/board.yml index b4d45ba665d..454b29592eb 100644 --- a/boards/telink/tlsr9518adk80d/board.yml +++ b/boards/telink/tlsr9518adk80d/board.yml @@ -1,5 +1,6 @@ board: name: tlsr9518adk80d + full_name: TLSR9518ADK80D vendor: telink socs: - name: tlsr9518 diff --git a/boards/ti/cc1352p1_launchxl/board.yml b/boards/ti/cc1352p1_launchxl/board.yml index 5d9b234947d..8ac020cd134 100644 --- a/boards/ti/cc1352p1_launchxl/board.yml +++ b/boards/ti/cc1352p1_launchxl/board.yml @@ -1,5 +1,6 @@ board: name: cc1352p1_launchxl + full_name: CC1352P1 LaunchXL vendor: ti socs: - name: cc1352p diff --git a/boards/ti/cc1352p7_launchpad/board.yml b/boards/ti/cc1352p7_launchpad/board.yml index 0e97ad4ff43..cf29dd69e6a 100644 --- a/boards/ti/cc1352p7_launchpad/board.yml +++ b/boards/ti/cc1352p7_launchpad/board.yml @@ -1,5 +1,6 @@ board: name: cc1352p7_lp + full_name: CC1352P7 LaunchPad vendor: ti socs: - name: cc1352p7 diff --git a/boards/ti/cc1352r1_launchxl/board.yml b/boards/ti/cc1352r1_launchxl/board.yml index a96d6d89a10..b7b52e31053 100644 --- a/boards/ti/cc1352r1_launchxl/board.yml +++ b/boards/ti/cc1352r1_launchxl/board.yml @@ -1,5 +1,6 @@ board: name: cc1352r1_launchxl + full_name: CC1352R1 LaunchXL vendor: ti socs: - name: cc1352r diff --git a/boards/ti/cc1352r_sensortag/board.yml b/boards/ti/cc1352r_sensortag/board.yml index b359f530fa2..055e40a74e1 100644 --- a/boards/ti/cc1352r_sensortag/board.yml +++ b/boards/ti/cc1352r_sensortag/board.yml @@ -1,5 +1,6 @@ board: name: cc1352r_sensortag + full_name: CC1352R SensorTag vendor: ti socs: - name: cc1352r diff --git a/boards/ti/cc26x2r1_launchxl/board.yml b/boards/ti/cc26x2r1_launchxl/board.yml index 3361b2ccff7..3c9e65ea3dd 100644 --- a/boards/ti/cc26x2r1_launchxl/board.yml +++ b/boards/ti/cc26x2r1_launchxl/board.yml @@ -1,5 +1,6 @@ board: name: cc26x2r1_launchxl + full_name: CC26x2R1 LaunchXL vendor: ti socs: - name: cc2652r diff --git a/boards/ti/cc3220sf_launchxl/board.yml b/boards/ti/cc3220sf_launchxl/board.yml index f902db4d392..498fbe37fb7 100644 --- a/boards/ti/cc3220sf_launchxl/board.yml +++ b/boards/ti/cc3220sf_launchxl/board.yml @@ -1,5 +1,6 @@ board: name: cc3220sf_launchxl + full_name: CC3220SF LaunchXL vendor: ti socs: - name: cc3220sf diff --git a/boards/ti/cc3235sf_launchxl/board.yml b/boards/ti/cc3235sf_launchxl/board.yml index 6cf8104545a..89dee3ce673 100644 --- a/boards/ti/cc3235sf_launchxl/board.yml +++ b/boards/ti/cc3235sf_launchxl/board.yml @@ -1,5 +1,6 @@ board: name: cc3235sf_launchxl + full_name: CC3235SF LaunchXL vendor: ti socs: - name: cc3235sf diff --git a/boards/ti/msp_exp432p401r_launchxl/board.yml b/boards/ti/msp_exp432p401r_launchxl/board.yml index 1e9ed0b7ed3..c8f10746b46 100644 --- a/boards/ti/msp_exp432p401r_launchxl/board.yml +++ b/boards/ti/msp_exp432p401r_launchxl/board.yml @@ -1,5 +1,6 @@ board: name: msp_exp432p401r_launchxl + full_name: MSP-EXP432P401R LaunchXL vendor: ti socs: - name: msp432p401r diff --git a/boards/ti/sk_am62/board.yml b/boards/ti/sk_am62/board.yml index da6e946fe02..f0083b00434 100644 --- a/boards/ti/sk_am62/board.yml +++ b/boards/ti/sk_am62/board.yml @@ -1,5 +1,6 @@ board: name: sk_am62 + full_name: SK-AM62 M4F Core vendor: ti socs: - name: am6234 diff --git a/boards/toradex/colibri_imx7d/board.yml b/boards/toradex/colibri_imx7d/board.yml index 7a6ffe62495..32a4e1db7eb 100644 --- a/boards/toradex/colibri_imx7d/board.yml +++ b/boards/toradex/colibri_imx7d/board.yml @@ -1,5 +1,6 @@ board: name: colibri_imx7d + full_name: i.MX 7 Computer on Module - Colibri iMX7 vendor: toradex socs: - name: mcimx7d diff --git a/boards/toradex/verdin_imx8mp/board.yml b/boards/toradex/verdin_imx8mp/board.yml index 6ffbf4561a2..bc2f8ff6ba6 100644 --- a/boards/toradex/verdin_imx8mp/board.yml +++ b/boards/toradex/verdin_imx8mp/board.yml @@ -1,5 +1,6 @@ board: name: verdin_imx8mp + full_name: Verdin iMX8M Plus SoM vendor: toradex socs: - name: mimx8ml8 diff --git a/boards/u-blox/ubx_bmd300eval/board.yml b/boards/u-blox/ubx_bmd300eval/board.yml index 522c0808eed..759e2345665 100644 --- a/boards/u-blox/ubx_bmd300eval/board.yml +++ b/boards/u-blox/ubx_bmd300eval/board.yml @@ -1,5 +1,6 @@ board: name: ubx_bmd300eval + full_name: "EVK-BMD-30/35: BMD-300-EVAL, BMD-301-EVAL, and BMD-350-EVAL" vendor: u-blox socs: - name: nrf52832 diff --git a/boards/u-blox/ubx_bmd330eval/board.yml b/boards/u-blox/ubx_bmd330eval/board.yml index d50ce8816f7..6c842ef563f 100644 --- a/boards/u-blox/ubx_bmd330eval/board.yml +++ b/boards/u-blox/ubx_bmd330eval/board.yml @@ -1,5 +1,6 @@ board: name: ubx_bmd330eval + full_name: "EVK-BMD-330: BMD-330-EVAL" vendor: u-blox socs: - name: nrf52810 diff --git a/boards/u-blox/ubx_bmd340eval/board.yml b/boards/u-blox/ubx_bmd340eval/board.yml index 2440541fc45..2e57087548a 100644 --- a/boards/u-blox/ubx_bmd340eval/board.yml +++ b/boards/u-blox/ubx_bmd340eval/board.yml @@ -1,5 +1,6 @@ board: name: ubx_bmd340eval + full_name: "EVK-BMD-34/38: BMD-340-EVAL and BMD-341-EVAL" vendor: u-blox socs: - name: nrf52840 diff --git a/boards/u-blox/ubx_bmd345eval/board.yml b/boards/u-blox/ubx_bmd345eval/board.yml index eec2be0b7d9..2f84225aea8 100644 --- a/boards/u-blox/ubx_bmd345eval/board.yml +++ b/boards/u-blox/ubx_bmd345eval/board.yml @@ -1,5 +1,6 @@ board: name: ubx_bmd345eval + full_name: "EVK-BMD-34/38: BMD-345-EVAL" vendor: u-blox socs: - name: nrf52840 diff --git a/boards/u-blox/ubx_bmd360eval/board.yml b/boards/u-blox/ubx_bmd360eval/board.yml index a06d24dd008..1866bd39f41 100644 --- a/boards/u-blox/ubx_bmd360eval/board.yml +++ b/boards/u-blox/ubx_bmd360eval/board.yml @@ -1,5 +1,6 @@ board: name: ubx_bmd360eval + full_name: "EVK-BMD-360: BMD-360-EVAL" vendor: u-blox socs: - name: nrf52811 diff --git a/boards/u-blox/ubx_bmd380eval/board.yml b/boards/u-blox/ubx_bmd380eval/board.yml index 0f7ec7263e7..b830ad7da0e 100644 --- a/boards/u-blox/ubx_bmd380eval/board.yml +++ b/boards/u-blox/ubx_bmd380eval/board.yml @@ -1,5 +1,6 @@ board: name: ubx_bmd380eval + full_name: "EVK-BMD-34/48: BMD-380-EVAL" vendor: u-blox socs: - name: nrf52840 diff --git a/boards/u-blox/ubx_evkannab1/board.yml b/boards/u-blox/ubx_evkannab1/board.yml index 3aeac881aba..2a7540ed01d 100644 --- a/boards/u-blox/ubx_evkannab1/board.yml +++ b/boards/u-blox/ubx_evkannab1/board.yml @@ -1,5 +1,6 @@ board: name: ubx_evkannab1 + full_name: EVK-ANNA-B11x vendor: u-blox socs: - name: nrf52832 diff --git a/boards/u-blox/ubx_evkninab1/board.yml b/boards/u-blox/ubx_evkninab1/board.yml index 3073c5833d2..e6b70d481e6 100644 --- a/boards/u-blox/ubx_evkninab1/board.yml +++ b/boards/u-blox/ubx_evkninab1/board.yml @@ -1,5 +1,6 @@ board: name: ubx_evkninab1 + full_name: EVK NINA-B11x vendor: u-blox socs: - name: nrf52832 diff --git a/boards/u-blox/ubx_evkninab3/board.yml b/boards/u-blox/ubx_evkninab3/board.yml index 3914fd28149..7b96e215daf 100644 --- a/boards/u-blox/ubx_evkninab3/board.yml +++ b/boards/u-blox/ubx_evkninab3/board.yml @@ -1,5 +1,6 @@ board: name: ubx_evkninab3 + full_name: EVK-NINA-B3 vendor: u-blox socs: - name: nrf52840 diff --git a/boards/u-blox/ubx_evkninab4/board.yml b/boards/u-blox/ubx_evkninab4/board.yml index 787ae9c4cdf..f8dc4ba07e1 100644 --- a/boards/u-blox/ubx_evkninab4/board.yml +++ b/boards/u-blox/ubx_evkninab4/board.yml @@ -1,5 +1,6 @@ board: name: ubx_evkninab4 + full_name: EVK NINA-B40x vendor: u-blox socs: - name: nrf52833 diff --git a/boards/udoo/udoo_neo_full/board.yml b/boards/udoo/udoo_neo_full/board.yml index 1c20ebdc15f..c304b49b367 100644 --- a/boards/udoo/udoo_neo_full/board.yml +++ b/boards/udoo/udoo_neo_full/board.yml @@ -1,5 +1,6 @@ board: name: udoo_neo_full + full_name: Neo Full vendor: udoo socs: - name: mcimx6x diff --git a/boards/up-bridge-the-gap/up_squared/board.yml b/boards/up-bridge-the-gap/up_squared/board.yml index 0955b6967af..1525911058f 100644 --- a/boards/up-bridge-the-gap/up_squared/board.yml +++ b/boards/up-bridge-the-gap/up_squared/board.yml @@ -1,4 +1,5 @@ board: name: up_squared + full_name: UP Squared socs: - name: apollo_lake diff --git a/boards/up-bridge-the-gap/up_squared_pro_7000/board.yml b/boards/up-bridge-the-gap/up_squared_pro_7000/board.yml index b929cca9967..c3546042dea 100644 --- a/boards/up-bridge-the-gap/up_squared_pro_7000/board.yml +++ b/boards/up-bridge-the-gap/up_squared_pro_7000/board.yml @@ -1,4 +1,5 @@ board: name: up_squared_pro_7000 + full_name: UP Squared Pro 7000 socs: - name: alder_lake diff --git a/boards/vcc-gnd/yd_esp32/board.yml b/boards/vcc-gnd/yd_esp32/board.yml index a930386ed84..86c8d22885f 100644 --- a/boards/vcc-gnd/yd_esp32/board.yml +++ b/boards/vcc-gnd/yd_esp32/board.yml @@ -1,5 +1,6 @@ board: name: yd_esp32 + full_name: YD-ESP32 vendor: vcc-gnd socs: - name: esp32 diff --git a/boards/vcc-gnd/yd_stm32h750vb/board.yml b/boards/vcc-gnd/yd_stm32h750vb/board.yml index f26fffaa901..fd8114075b1 100644 --- a/boards/vcc-gnd/yd_stm32h750vb/board.yml +++ b/boards/vcc-gnd/yd_stm32h750vb/board.yml @@ -1,5 +1,6 @@ board: name: yd_stm32h750vb + full_name: YD-STM32H750VB vendor: vcc-gnd socs: - name: stm32h750xx diff --git a/boards/vngiotlab/nrf51_vbluno51/board.yml b/boards/vngiotlab/nrf51_vbluno51/board.yml index 8e3a9bf9488..05958c1e11f 100644 --- a/boards/vngiotlab/nrf51_vbluno51/board.yml +++ b/boards/vngiotlab/nrf51_vbluno51/board.yml @@ -1,5 +1,6 @@ board: name: nrf51_vbluno51 + full_name: nRF51-VBLUno51 vendor: vngiotlab socs: - name: nrf51822 diff --git a/boards/vngiotlab/nrf52_vbluno52/board.yml b/boards/vngiotlab/nrf52_vbluno52/board.yml index be59c421baa..1f3e21cc1ba 100644 --- a/boards/vngiotlab/nrf52_vbluno52/board.yml +++ b/boards/vngiotlab/nrf52_vbluno52/board.yml @@ -1,5 +1,6 @@ board: name: nrf52_vbluno52 + full_name: nRF52-VBLUno52 vendor: vngiotlab socs: - name: nrf52832 diff --git a/boards/waveshare/esp32s3_touch_lcd_1_28/board.yml b/boards/waveshare/esp32s3_touch_lcd_1_28/board.yml index 821fd367821..d9a110650fc 100644 --- a/boards/waveshare/esp32s3_touch_lcd_1_28/board.yml +++ b/boards/waveshare/esp32s3_touch_lcd_1_28/board.yml @@ -1,5 +1,6 @@ board: name: esp32s3_touch_lcd_1_28 + full_name: ESP32-S3-Touch-LCD-1.28 vendor: waveshare socs: - name: esp32s3 diff --git a/boards/waveshare/esp32s3_touch_lcd_1_28/doc/index.rst b/boards/waveshare/esp32s3_touch_lcd_1_28/doc/index.rst index 2d56d559b96..b80884a2e96 100644 --- a/boards/waveshare/esp32s3_touch_lcd_1_28/doc/index.rst +++ b/boards/waveshare/esp32s3_touch_lcd_1_28/doc/index.rst @@ -52,7 +52,7 @@ Asymmetric Multiprocessing (AMP) ESP32-S3 allows 2 different applications to be executed in ESP32-S3 SoC. Due to its dual-core architecture, each core can be enabled to execute customized tasks in stand-alone mode -and/or exchanging data over OpenAMP framework. See :ref:`ipc_samples` folder as code reference. +and/or exchanging data over OpenAMP framework. See :zephyr:code-sample-category:`ipc` folder as code reference. For more information, check the datasheet at `ESP32-S3 Datasheet`_ or the technical reference manual at `ESP32-S3 Technical Reference Manual`_. diff --git a/boards/waveshare/nrf51_ble400/board.yml b/boards/waveshare/nrf51_ble400/board.yml index d2c7da1f732..ea2be773ad3 100644 --- a/boards/waveshare/nrf51_ble400/board.yml +++ b/boards/waveshare/nrf51_ble400/board.yml @@ -1,5 +1,6 @@ board: name: nrf51_ble400 + full_name: BLE400 vendor: waveshare socs: - name: nrf51822 diff --git a/boards/waveshare/open103z/board.yml b/boards/waveshare/open103z/board.yml index 7504feebf9f..4e98a29413a 100644 --- a/boards/waveshare/open103z/board.yml +++ b/boards/waveshare/open103z/board.yml @@ -1,5 +1,6 @@ board: name: waveshare_open103z + full_name: Open103Z vendor: waveshare socs: - name: stm32f103xe diff --git a/boards/we/ophelia1ev/board.yml b/boards/we/ophelia1ev/board.yml index ac80e1ed6e4..b69567e089d 100644 --- a/boards/we/ophelia1ev/board.yml +++ b/boards/we/ophelia1ev/board.yml @@ -1,5 +1,6 @@ board: name: we_ophelia1ev + full_name: Ophelia-I EV NRF52805 vendor: wurth socs: - name: nrf52805 diff --git a/boards/we/proteus2ev/board.yml b/boards/we/proteus2ev/board.yml index 38cc08204e5..d246b6d1b4d 100644 --- a/boards/we/proteus2ev/board.yml +++ b/boards/we/proteus2ev/board.yml @@ -1,5 +1,6 @@ board: name: we_proteus2ev + full_name: Proteus-II-EV vendor: wurth socs: - name: nrf52832 diff --git a/boards/we/proteus3ev/board.yml b/boards/we/proteus3ev/board.yml index 6def880d7a5..fa498a28014 100644 --- a/boards/we/proteus3ev/board.yml +++ b/boards/we/proteus3ev/board.yml @@ -1,5 +1,6 @@ board: name: we_proteus3ev + full_name: Proteus-III-EV vendor: wurth socs: - name: nrf52840 diff --git a/boards/weact/blackpill_f401cc/board.yml b/boards/weact/blackpill_f401cc/board.yml index e72de492ef8..246a7e1cdfb 100644 --- a/boards/weact/blackpill_f401cc/board.yml +++ b/boards/weact/blackpill_f401cc/board.yml @@ -1,5 +1,6 @@ board: name: blackpill_f401cc + full_name: Black Pill V1.2 vendor: weact socs: - name: stm32f401xc diff --git a/boards/weact/blackpill_f401ce/board.yml b/boards/weact/blackpill_f401ce/board.yml index 83d26820943..84bd3b98354 100644 --- a/boards/weact/blackpill_f401ce/board.yml +++ b/boards/weact/blackpill_f401ce/board.yml @@ -1,5 +1,6 @@ board: name: blackpill_f401ce + full_name: Black Pill V3.0 vendor: weact socs: - name: stm32f401xe diff --git a/boards/weact/blackpill_f411ce/board.yml b/boards/weact/blackpill_f411ce/board.yml index b145c5e7f01..deee6cbdd06 100644 --- a/boards/weact/blackpill_f411ce/board.yml +++ b/boards/weact/blackpill_f411ce/board.yml @@ -1,5 +1,6 @@ board: name: blackpill_f411ce + full_name: Black Pill V2.0 vendor: weact socs: - name: stm32f411xe diff --git a/boards/weact/mini_stm32h743/board.yml b/boards/weact/mini_stm32h743/board.yml index 0789b364dfa..76ddce890ed 100644 --- a/boards/weact/mini_stm32h743/board.yml +++ b/boards/weact/mini_stm32h743/board.yml @@ -1,5 +1,6 @@ board: name: mini_stm32h743 + full_name: MiniSTM32H743 Core Board vendor: weact socs: - name: stm32h743xx diff --git a/boards/weact/stm32f405_core/board.yml b/boards/weact/stm32f405_core/board.yml index 8f85783cde9..1c97b9e6d2f 100644 --- a/boards/weact/stm32f405_core/board.yml +++ b/boards/weact/stm32f405_core/board.yml @@ -1,5 +1,6 @@ board: name: weact_stm32f405_core + full_name: STM32F405 Core Board V1.0 vendor: weact socs: - name: stm32f405xx diff --git a/boards/weact/stm32g431_core/board.yml b/boards/weact/stm32g431_core/board.yml index 359e74ed0d7..ba6032cf52d 100644 --- a/boards/weact/stm32g431_core/board.yml +++ b/boards/weact/stm32g431_core/board.yml @@ -1,5 +1,6 @@ board: name: weact_stm32g431_core + full_name: STM32G431 Core Board vendor: weact socs: - name: stm32g431xx diff --git a/boards/wemos/esp32s2_lolin_mini/board.yml b/boards/wemos/esp32s2_lolin_mini/board.yml index 7df1267c214..06336f66be0 100644 --- a/boards/wemos/esp32s2_lolin_mini/board.yml +++ b/boards/wemos/esp32s2_lolin_mini/board.yml @@ -1,5 +1,6 @@ board: name: esp32s2_lolin_mini + full_name: ESP32-S2 Lolin Mini vendor: wemos socs: - name: esp32s2 diff --git a/boards/witte/linum/board.yml b/boards/witte/linum/board.yml index e9ae2c0307d..0bebfe2dec1 100644 --- a/boards/witte/linum/board.yml +++ b/boards/witte/linum/board.yml @@ -1,5 +1,6 @@ board: name: linum + full_name: Linum Board vendor: witte socs: - name: stm32h753xx diff --git a/boards/wiznet/w5500_evb_pico/board.yml b/boards/wiznet/w5500_evb_pico/board.yml index 17ce17eea15..eb4eed60b88 100644 --- a/boards/wiznet/w5500_evb_pico/board.yml +++ b/boards/wiznet/w5500_evb_pico/board.yml @@ -1,5 +1,6 @@ board: name: w5500_evb_pico + full_name: W5500 Evaluation Pico vendor: wiznet socs: - name: rp2040 diff --git a/boards/xen/xenvm/board.yml b/boards/xen/xenvm/board.yml index 5b5aec44c55..f10f659206a 100644 --- a/boards/xen/xenvm/board.yml +++ b/boards/xen/xenvm/board.yml @@ -1,5 +1,6 @@ board: name: xenvm + full_name: ARMv8 Xen Virtual Machine Example vendor: xen socs: - name: xenvm diff --git a/cmake/bintools/llvm/target_bintools.cmake b/cmake/bintools/llvm/target_bintools.cmake index cd3d55342b5..f310d57bf2b 100644 --- a/cmake/bintools/llvm/target_bintools.cmake +++ b/cmake/bintools/llvm/target_bintools.cmake @@ -44,11 +44,8 @@ set_property(TARGET bintools PROPERTY elfconvert_flag_section_remove "--remove-s set_property(TARGET bintools PROPERTY elfconvert_flag_section_only "--only-section=") set_property(TARGET bintools PROPERTY elfconvert_flag_section_rename "--rename-section;") -# Note, placing a ';' at the end results in the following param to be a list, -# and hence space separated. -# Thus the command line argument becomes: -# `--gap-file ` instead of `--gap-fill` (The latter would result in an error) -set_property(TARGET bintools PROPERTY elfconvert_flag_gapfill "--gap-fill;") +# llvm-objcopy doesn't support gap fill argument. +set_property(TARGET bintools PROPERTY elfconvert_flag_gapfill "") set_property(TARGET bintools PROPERTY elfconvert_flag_srec_len "--srec-len=") set_property(TARGET bintools PROPERTY elfconvert_flag_infile "") diff --git a/cmake/compiler/clang/compiler_flags.cmake b/cmake/compiler/clang/compiler_flags.cmake index acc9b629171..a64150eb58c 100644 --- a/cmake/compiler/clang/compiler_flags.cmake +++ b/cmake/compiler/clang/compiler_flags.cmake @@ -125,3 +125,5 @@ set_compiler_property(PROPERTY warning_error_coding_guideline ) set_compiler_property(PROPERTY no_global_merge "-mno-global-merge") + +set_compiler_property(PROPERTY specs) diff --git a/cmake/compiler/clang/target.cmake b/cmake/compiler/clang/target.cmake index 30e5da399af..62c39b0ec6f 100644 --- a/cmake/compiler/clang/target.cmake +++ b/cmake/compiler/clang/target.cmake @@ -64,6 +64,42 @@ if(NOT "${ARCH}" STREQUAL "posix") endif() endif() + # LLVM will use a default sysroot for selection of the C library. The default + # C library sysroot was defined at built time of clang/LLVM. + # + # For example, LLVM for Arm comes pre-built with Picolibc, and thus no flags + # are required for selecting Picolibc. + # + # Other clang/LLVM distributions may come with other pre-built C libraries. + # clang/LLVM supports using an alternative C library, either by direct linking, + # or by specifying '--sysroot '. + # + # LLVM for Arm provides a 'newlib.cfg' file for newlib C selection. + # Let us support this principle by looking for a dedicated 'newlib.cfg' or + # 'picolibc.cfg' and specify '--config .cfg' if such a file is found. + # If no cfg-file matching the chosen C implementation, then we assume that the + # chosen C implementation is identical to the default C library used be the + # toolchain. + if(CONFIG_NEWLIB_LIBC) + file(GLOB_RECURSE newlib_cfg ${LLVM_TOOLCHAIN_PATH}/newlib.cfg) + if(newlib_cfg) + list(GET newlib_cfg 0 newlib_cfg) + set_linker_property(PROPERTY c_library "--config=${newlib_cfg};-lc") + list(APPEND CMAKE_REQUIRED_FLAGS --config=${newlib_cfg}) + list(APPEND TOOLCHAIN_C_FLAGS --config=${newlib_cfg}) + endif() + endif() + + if(CONFIG_PICOLIBC) + file(GLOB_RECURSE picolibc_cfg ${LLVM_TOOLCHAIN_PATH}/picolibc.cfg) + if(picolibc_cfg) + list(GET picolibc_cfg 0 picolibc_cfg) + set_linker_property(PROPERTY c_library "--config=${picolibc_cfg};-lc") + list(APPEND CMAKE_REQUIRED_FLAGS --config=${picolibc_cfg}) + list(APPEND TOOLCHAIN_C_FLAGS --config=${picolibc_cfg}) + endif() + endif() + # This libgcc code is partially duplicated in compiler/*/target.cmake execute_process( COMMAND ${CMAKE_C_COMPILER} ${clang_target_flag} ${TOOLCHAIN_C_FLAGS} @@ -76,8 +112,8 @@ if(NOT "${ARCH}" STREQUAL "posix") get_filename_component(RTLIB_NAME_WITH_PREFIX ${RTLIB_FILE_NAME} NAME_WLE) string(REPLACE lib "" RTLIB_NAME ${RTLIB_NAME_WITH_PREFIX}) - list(APPEND LIB_INCLUDE_DIR -L${RTLIB_DIR}) - list(APPEND TOOLCHAIN_LIBS ${RTLIB_NAME}) + set_property(TARGET linker PROPERTY lib_include_dir "-L${RTLIB_DIR}") + set_property(TARGET linker PROPERTY rt_library "-l${RTLIB_NAME}") list(APPEND CMAKE_REQUIRED_FLAGS -nostartfiles -nostdlib ${isystem_include_flags}) string(REPLACE ";" " " CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}") diff --git a/cmake/compiler/compiler_flags_template.cmake b/cmake/compiler/compiler_flags_template.cmake index c72e9b70f5d..5a4386f49be 100644 --- a/cmake/compiler/compiler_flags_template.cmake +++ b/cmake/compiler/compiler_flags_template.cmake @@ -139,3 +139,7 @@ set_compiler_property(PROPERTY warning_shadow_variables) # Compiler flags to avoid recognizing built-in functions set_compiler_property(PROPERTY no_builtin) set_compiler_property(PROPERTY no_builtin_malloc) + +# Compiler flag for defining specs. Used only by gcc, other compilers may keep +# this undefined. +set_compiler_property(PROPERTY specs) diff --git a/cmake/compiler/gcc/compiler_flags.cmake b/cmake/compiler/gcc/compiler_flags.cmake index e982f75aa78..c346a750af4 100644 --- a/cmake/compiler/gcc/compiler_flags.cmake +++ b/cmake/compiler/gcc/compiler_flags.cmake @@ -241,3 +241,5 @@ set_compiler_property(PROPERTY warning_shadow_variables -Wshadow) set_compiler_property(PROPERTY no_builtin -fno-builtin) set_compiler_property(PROPERTY no_builtin_malloc -fno-builtin-malloc) + +set_compiler_property(PROPERTY specs -specs=) diff --git a/cmake/compiler/gcc/target.cmake b/cmake/compiler/gcc/target.cmake index 5b1e5db1218..7e8ffc48173 100644 --- a/cmake/compiler/gcc/target.cmake +++ b/cmake/compiler/gcc/target.cmake @@ -109,8 +109,7 @@ get_filename_component(LIBGCC_DIR ${LIBGCC_FILE_NAME} DIRECTORY) assert_exists(LIBGCC_DIR) -LIST(APPEND LIB_INCLUDE_DIR "-L\"${LIBGCC_DIR}\"") -LIST(APPEND TOOLCHAIN_LIBS gcc) +set_linker_property(PROPERTY lib_include_dir "-L\"${LIBGCC_DIR}\"") # For CMake to be able to test if a compiler flag is supported by the # toolchain we need to give CMake the necessary flags to compile and diff --git a/cmake/gcc-m-cpu.cmake b/cmake/gcc-m-cpu.cmake index 8cb777c4769..6f00283b6b8 100644 --- a/cmake/gcc-m-cpu.cmake +++ b/cmake/gcc-m-cpu.cmake @@ -68,6 +68,15 @@ if("${ARCH}" STREQUAL "arm") else() set(GCC_M_CPU ${GCC_M_CPU}+nofp) endif() + elseif(CONFIG_CPU_CORTEX_R8) + set(GCC_M_CPU cortex-r8) + if(CONFIG_FPU AND CONFIG_CPU_HAS_VFP) + if(NOT CONFIG_VFP_FEATURE_DOUBLE_PRECISION) + set(GCC_M_CPU ${GCC_M_CPU}+nofp.dp) + endif() + else() + set(GCC_M_CPU ${GCC_M_CPU}+nofp) + endif() elseif(CONFIG_CPU_CORTEX_R52) set(GCC_M_CPU cortex-r52) if(CONFIG_FPU AND CONFIG_CPU_HAS_VFP) diff --git a/cmake/gcc-m-fpu.cmake b/cmake/gcc-m-fpu.cmake index a25cdf05679..d1ce9655b46 100644 --- a/cmake/gcc-m-fpu.cmake +++ b/cmake/gcc-m-fpu.cmake @@ -7,7 +7,7 @@ if(CONFIG_FPU) if("${ARCH}" STREQUAL "arm") if(CONFIG_CPU_AARCH32_CORTEX_R) - if(CONFIG_CPU_CORTEX_R4 OR CONFIG_CPU_CORTEX_R5) # VFPv3 + if(CONFIG_CPU_CORTEX_R4 OR CONFIG_CPU_CORTEX_R5 OR CONFIG_CPU_CORTEX_R8) # VFPv3 if(CONFIG_VFP_FEATURE_DOUBLE_PRECISION) set(GCC_M_FPU vfpv3-d16) elseif(CONFIG_VFP_FEATURE_SINGLE_PRECISION) diff --git a/cmake/linker/armlink/linker_flags.cmake b/cmake/linker/armlink/linker_flags.cmake deleted file mode 100644 index b0f93a7b9e7..00000000000 --- a/cmake/linker/armlink/linker_flags.cmake +++ /dev/null @@ -1,6 +0,0 @@ -# The ARMClang linker, armlink, requires a dedicated linking signature in -# order for Zephyr to control the map file. - -set(CMAKE_C_LINK_EXECUTABLE " -o ") -set(CMAKE_CXX_LINK_EXECUTABLE " -o ") -set(CMAKE_ASM_LINK_EXECUTABLE " -o ") diff --git a/cmake/linker/armlink/linker_libraries.cmake b/cmake/linker/armlink/linker_libraries.cmake new file mode 100644 index 00000000000..8374e7c3cd2 --- /dev/null +++ b/cmake/linker/armlink/linker_libraries.cmake @@ -0,0 +1,8 @@ +# Copyright (c) 2024 Nordic Semiconductor +# +# SPDX-License-Identifier: Apache-2.0 + +# Per default armclang (Arm Compiler 6) doesn't need explicit C library linking +# so we only need to set link order linking in case a custom C library is linked +# in, such as picolibc. +set_property(TARGET linker APPEND PROPERTY link_order_library "c;rt") diff --git a/cmake/linker/armlink/target.cmake b/cmake/linker/armlink/target.cmake index 9aa32ad0e6f..b2e1e867f90 100644 --- a/cmake/linker/armlink/target.cmake +++ b/cmake/linker/armlink/target.cmake @@ -108,5 +108,23 @@ function(toolchain_ld_link_elf) ) endfunction(toolchain_ld_link_elf) +# This function will generate the correct CMAKE_C_LINK_EXECUTABLE / CMAKE_CXX_LINK_EXECUTABLE +# rule to ensure that standard c and runtime libraries are correctly placed +# and the end of link invocation and doesn't appear in the middle of the link +# command invocation. +macro(toolchain_linker_finalize) + set(zephyr_std_libs) + get_property(link_order TARGET linker PROPERTY link_order_library) + foreach(lib ${link_order}) + get_property(link_flag TARGET linker PROPERTY ${lib}_library) + set(zephyr_std_libs "${zephyr_std_libs} ${link_flag}") + endforeach() + + set(common_link " ${zephyr_std_libs} -o ") + set(CMAKE_C_LINK_EXECUTABLE " ${common_link}") + set(CMAKE_CXX_LINK_EXECUTABLE " ${common_link}") + set(CMAKE_ASM_LINK_EXECUTABLE " ${common_link}") +endmacro() + include(${ZEPHYR_BASE}/cmake/linker/ld/target_relocation.cmake) include(${ZEPHYR_BASE}/cmake/linker/ld/target_configure.cmake) diff --git a/cmake/linker/ld/gcc/linker_flags.cmake b/cmake/linker/ld/gcc/linker_flags.cmake index 4cde7d96ff3..c442c9c8921 100644 --- a/cmake/linker/ld/gcc/linker_flags.cmake +++ b/cmake/linker/ld/gcc/linker_flags.cmake @@ -15,3 +15,5 @@ add_link_options(-gdwarf-4) # Extra warnings options for twister run set_property(TARGET linker PROPERTY warnings_as_errors -Wl,--fatal-warnings) + +set_linker_property(PROPERTY specs -specs=) diff --git a/cmake/linker/ld/linker_flags.cmake b/cmake/linker/ld/linker_flags.cmake index 49bba260d3a..5063ddb46fb 100644 --- a/cmake/linker/ld/linker_flags.cmake +++ b/cmake/linker/ld/linker_flags.cmake @@ -7,10 +7,6 @@ check_set_linker_property(TARGET linker PROPERTY base ${LINKERFLAGPREFIX},--build-id=none ) -if(NOT CONFIG_MINIMAL_LIBCPP AND NOT CONFIG_NATIVE_LIBRARY AND NOT CONFIG_EXTERNAL_MODULE_LIBCPP) - set_property(TARGET linker PROPERTY cpp_base -lstdc++) -endif() - check_set_linker_property(TARGET linker PROPERTY baremetal -nostdlib -static diff --git a/cmake/linker/ld/linker_libraries.cmake b/cmake/linker/ld/linker_libraries.cmake new file mode 100644 index 00000000000..1305d682ab5 --- /dev/null +++ b/cmake/linker/ld/linker_libraries.cmake @@ -0,0 +1,38 @@ +# Copyright (c) 2024 Nordic Semiconductor +# +# SPDX-License-Identifier: Apache-2.0 + +# Do not specify default link libraries when targeting host (native build). +if(NOT CONFIG_NATIVE_BUILD) + set_linker_property(NO_CREATE PROPERTY c_library "-lc") + set_linker_property(NO_CREATE PROPERTY rt_library "-lgcc") + set_linker_property(NO_CREATE PROPERTY c++_library "-lstdc++") + set_linker_property(NO_CREATE PROPERTY math_library "-lm") + # Keeping default include dir empty. The linker will then select libraries + # from its default search path. The toolchain may adjust the value to a + # specific location, for example gcc infrastructure will set the value based + # on output from --print-libgcc-file-name. + set_linker_property(NO_CREATE PROPERTY lib_include_dir "") +endif() + +if(CONFIG_CPP + AND NOT CONFIG_MINIMAL_LIBCPP + AND NOT CONFIG_NATIVE_LIBRARY + # When new link principle is fully introduced, then the below condition can + # be removed, and instead the external module c++ should use: + # set_property(TARGET linker PROPERTY c++_library "") + AND NOT CONFIG_EXTERNAL_MODULE_LIBCPP +) + set_property(TARGET linker PROPERTY link_order_library "c++") +endif() + + +if(CONFIG_NEWLIB_LIBC AND CMAKE_C_COMPILER_ID STREQUAL "GNU") + # We are using c;rt;c (expands to '-lc -lgcc -lc') in code below. + # This is needed because when linking with newlib on aarch64, then libgcc has a + # link dependency to libc (strchr), but libc also has dependencies to libgcc. + # Lib C depends on libgcc. e.g. libc.a(lib_a-fvwrite.o) references __aeabi_idiv + set_property(TARGET linker APPEND PROPERTY link_order_library "math;c;rt;c") +else() + set_property(TARGET linker APPEND PROPERTY link_order_library "c;rt") +endif() diff --git a/cmake/linker/ld/target.cmake b/cmake/linker/ld/target.cmake index 8c18fce0e9a..c941d8ee89e 100644 --- a/cmake/linker/ld/target.cmake +++ b/cmake/linker/ld/target.cmake @@ -6,16 +6,12 @@ set(CMAKE_LINKER ${GNULD_LINKER}) set_ifndef(LINKERFLAGPREFIX -Wl) -if(NOT "${ZEPHYR_TOOLCHAIN_VARIANT}" STREQUAL "host") - if(CONFIG_CPP_EXCEPTIONS AND LIBGCC_DIR) - # When building with C++ Exceptions, it is important that crtbegin and crtend - # are linked at specific locations. - # The location is so important that we cannot let this be controlled by normal - # link libraries, instead we must control the link command specifically as - # part of toolchain. - set(CMAKE_CXX_LINK_EXECUTABLE - " ${LIBGCC_DIR}/crtbegin.o -o ${LIBGCC_DIR}/crtend.o") - endif() +if((${CMAKE_LINKER} STREQUAL "${CROSS_COMPILE}ld.bfd") OR + ${GNULD_LINKER_IS_BFD}) + # ld.bfd was found so let's explicitly use that for linking, see #32237 + list(APPEND TOOLCHAIN_LD_FLAGS -fuse-ld=bfd) + list(APPEND CMAKE_REQUIRED_FLAGS -fuse-ld=bfd) + string(REPLACE ";" " " CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}") endif() # Run $LINKER_SCRIPT file through the C preprocessor, producing ${linker_script_gen} @@ -80,6 +76,7 @@ macro(configure_linker_script linker_script_gen linker_pass_define) ${current_includes} ${soc_linker_script_includes} ${template_script_defines} + -DUSE_PARTITION_MANAGER=$,$,$> -E ${LINKER_SCRIPT} -P # Prevent generation of debug `#line' directives. -o ${linker_script_gen} @@ -117,16 +114,9 @@ function(toolchain_ld_link_elf) ${ARGN} # input args to parse ) - if((${CMAKE_LINKER} STREQUAL "${CROSS_COMPILE}ld.bfd") OR - ${GNULD_LINKER_IS_BFD}) - # ld.bfd was found so let's explicitly use that for linking, see #32237 - set(use_linker "-fuse-ld=bfd") - endif() - target_link_libraries( ${TOOLCHAIN_LD_LINK_ELF_TARGET_ELF} ${TOOLCHAIN_LD_LINK_ELF_LIBRARIES_PRE_SCRIPT} - ${use_linker} ${TOPT} ${TOOLCHAIN_LD_LINK_ELF_LINKER_SCRIPT} ${TOOLCHAIN_LD_LINK_ELF_LIBRARIES_POST_SCRIPT} @@ -137,14 +127,44 @@ function(toolchain_ld_link_elf) ${LINKERFLAGPREFIX},--no-whole-archive ${NO_WHOLE_ARCHIVE_LIBS} $ - ${LIB_INCLUDE_DIR} -L${PROJECT_BINARY_DIR} - ${TOOLCHAIN_LIBS} ${TOOLCHAIN_LD_LINK_ELF_DEPENDENCIES} ) endfunction(toolchain_ld_link_elf) +# Function for finalizing link setup after Zephyr configuration has completed. +# +# This function will generate the correct CMAKE_C_LINK_EXECUTABLE / CMAKE_CXX_LINK_EXECUTABLE +# rule to ensure that standard c and runtime libraries are correctly placed +# and the end of link invocation and doesn't appear in the middle of the link +# command invocation. +macro(toolchain_linker_finalize) + get_property(zephyr_std_libs TARGET linker PROPERTY lib_include_dir) + get_property(link_order TARGET linker PROPERTY link_order_library) + foreach(lib ${link_order}) + get_property(link_flag TARGET linker PROPERTY ${lib}_library) + list(APPEND zephyr_std_libs "${link_flag}") + endforeach() + string(REPLACE ";" " " zephyr_std_libs "${zephyr_std_libs}") + + set(link_libraries " -o ${zephyr_std_libs}") + set(common_link " ${link_libraries}") + + set(CMAKE_ASM_LINK_EXECUTABLE " ${common_link}") + set(CMAKE_C_LINK_EXECUTABLE " ${common_link}") + + set(cpp_link "${common_link}") + if(NOT "${ZEPHYR_TOOLCHAIN_VARIANT}" STREQUAL "host") + if(CONFIG_CPP_EXCEPTIONS AND LIBGCC_DIR) + # When building with C++ Exceptions, it is important that crtbegin and crtend + # are linked at specific locations. + set(cpp_link " ${LIBGCC_DIR}/crtbegin.o ${link_libraries} ${LIBGCC_DIR}/crtend.o") + endif() + endif() + set(CMAKE_CXX_LINK_EXECUTABLE " ${cpp_link}") +endmacro() + # Load toolchain_ld-family macros include(${ZEPHYR_BASE}/cmake/linker/${LINKER}/target_relocation.cmake) include(${ZEPHYR_BASE}/cmake/linker/${LINKER}/target_configure.cmake) diff --git a/cmake/linker/linker_flags_template.cmake b/cmake/linker/linker_flags_template.cmake index 870c597be24..8b0b948b028 100644 --- a/cmake/linker/linker_flags_template.cmake +++ b/cmake/linker/linker_flags_template.cmake @@ -49,3 +49,7 @@ set_property(TARGET linker PROPERTY no_relax) # Linker flag for enabling relaxation of address optimization for jump calls. set_property(TARGET linker PROPERTY relax) + +# Linker flag for defining specs. Defined only by gcc, when gcc is used as +# front-end for ld. +set_compiler_property(PROPERTY specs) diff --git a/cmake/linker/linker_libraries_template.cmake b/cmake/linker/linker_libraries_template.cmake new file mode 100644 index 00000000000..481ee5c473e --- /dev/null +++ b/cmake/linker/linker_libraries_template.cmake @@ -0,0 +1,16 @@ +# Copyright (c) 2024 Nordic Semiconductor +# +# SPDX-License-Identifier: Apache-2.0 + +# Linker flags for fixed linking with standard libraries, such as the C and runtime libraries. +# It is the responsibility of the linker infrastructure to use those properties to specify the +# correct placement of those libraries for correct link order. +# For example, GCC usually has the order: -lc -lgcc +# It is also possible to define extra libraries of the form `_library`, and then include +# Fixed library search path can be defined in the `lib_include_dir` property if needed. +# in the link_order_property. +# Usage example: +# set_linker_property(PROPERTY lib_include_dir "-L/path/to/libs") +# set_linker_property(PROPERTY c_library "-lc") +# set_linker_property(PROPERTY rt_library "-lgcc") +# set_linker_property(PROPERTY link_order_library "c;rt") diff --git a/cmake/linker/lld/linker_flags.cmake b/cmake/linker/lld/linker_flags.cmake index f6e873ad631..f11139aa1e2 100644 --- a/cmake/linker/lld/linker_flags.cmake +++ b/cmake/linker/lld/linker_flags.cmake @@ -1,4 +1,6 @@ # Copyright (c) 2022 Google LLC +# Copyright (c) 2024 Nordic Semiconductor +# # SPDX-License-Identifier: Apache-2.0 # Since lld is a drop in replacement for ld, we can just use ld's flags as a base @@ -6,7 +8,7 @@ include(${ZEPHYR_BASE}/cmake/linker/ld/linker_flags.cmake OPTIONAL) if(NOT CONFIG_MINIMAL_LIBCPP AND NOT CONFIG_NATIVE_LIBRARY AND NOT CONFIG_EXTERNAL_MODULE_LIBCPP) - set_property(TARGET linker PROPERTY cpp_base -lc++ ${LINKERFLAGPREFIX},-z,norelro) + set_property(TARGET linker PROPERTY cpp_base ${LINKERFLAGPREFIX},-z,norelro) endif() # Force LLVM to use built-in lld linker diff --git a/cmake/linker/lld/linker_libraries.cmake b/cmake/linker/lld/linker_libraries.cmake new file mode 100644 index 00000000000..2347898ad64 --- /dev/null +++ b/cmake/linker/lld/linker_libraries.cmake @@ -0,0 +1,21 @@ +# Copyright (c) 2024 Nordic Semiconductor +# +# SPDX-License-Identifier: Apache-2.0 + +set_linker_property(NO_CREATE TARGET linker PROPERTY c_library "-lc") +# Default per standard, will be populated by clang/target.cmake based on clang output. +set_linker_property(NO_CREATE TARGET linker PROPERTY rt_library "") +set_linker_property(TARGET linker PROPERTY c++_library "-lc++;-lc++abi") + +if(CONFIG_CPP + AND NOT CONFIG_MINIMAL_LIBCPP + AND NOT CONFIG_NATIVE_LIBRARY + # When new link principle is fully introduced, then the below condition can + # be removed, and instead the external module c++ should use: + # set_property(TARGET linker PROPERTY c++_library "") + AND NOT CONFIG_EXTERNAL_MODULE_LIBCPP +) + set_property(TARGET linker PROPERTY link_order_library "c++") +endif() + +set_property(TARGET linker APPEND PROPERTY link_order_library "c;rt") diff --git a/cmake/linker/lld/target.cmake b/cmake/linker/lld/target.cmake index a16529eeef7..bdea4f1ec92 100644 --- a/cmake/linker/lld/target.cmake +++ b/cmake/linker/lld/target.cmake @@ -6,6 +6,10 @@ set(CMAKE_LINKER ${LLVMLLD_LINKER}) set_ifndef(LINKERFLAGPREFIX -Wl) +list(APPEND TOOLCHAIN_LD_FLAGS -fuse-ld=lld) +list(APPEND CMAKE_REQUIRED_FLAGS -fuse-ld=lld) +string(REPLACE ";" " " CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}") + # Run $LINKER_SCRIPT file through the C preprocessor, producing ${linker_script_gen} # NOTE: ${linker_script_gen} will be produced at build-time; not at configure-time macro(configure_linker_script linker_script_gen linker_pass_define) @@ -48,6 +52,7 @@ macro(configure_linker_script linker_script_gen linker_pass_define) -imacros ${AUTOCONF_H} ${current_includes} ${template_script_defines} + -DUSE_PARTITION_MANAGER=$ -E ${LINKER_SCRIPT} -P # Prevent generation of debug `#line' directives. -o ${linker_script_gen} @@ -97,14 +102,32 @@ function(toolchain_ld_link_elf) ${LINKERFLAGPREFIX},--no-whole-archive ${NO_WHOLE_ARCHIVE_LIBS} $ - ${LIB_INCLUDE_DIR} -L${PROJECT_BINARY_DIR} - ${TOOLCHAIN_LIBS} ${TOOLCHAIN_LD_LINK_ELF_DEPENDENCIES} ) endfunction(toolchain_ld_link_elf) +# Function for finalizing link setup after Zephyr configuration has completed. +# +# This function will generate the correct CMAKE_C_LINK_EXECUTABLE / CMAKE_CXX_LINK_EXECUTABLE +# signature to ensure that standard c and runtime libraries are correctly placed +# and the end of link invocation and doesn't appear in the middle of the link +# command invocation. +macro(toolchain_linker_finalize) + get_property(zephyr_std_libs TARGET linker PROPERTY lib_include_dir) + get_property(link_order TARGET linker PROPERTY link_order_library) + foreach(lib ${link_order}) + get_property(link_flag TARGET linker PROPERTY ${lib}_library) + list(APPEND zephyr_std_libs "${link_flag}") + endforeach() + string(REPLACE ";" " " zephyr_std_libs "${zephyr_std_libs}") + + set(common_link " -o ${zephyr_std_libs}") + set(CMAKE_ASM_LINK_EXECUTABLE " ${common_link}") + set(CMAKE_C_LINK_EXECUTABLE " ${common_link}") + set(CMAKE_CXX_LINK_EXECUTABLE " ${common_link}") +endmacro() # Load toolchain_ld-family macros include(${ZEPHYR_BASE}/cmake/linker/ld/target_relocation.cmake) diff --git a/cmake/linker/target_template.cmake b/cmake/linker/target_template.cmake new file mode 100644 index 00000000000..efa27de6fb4 --- /dev/null +++ b/cmake/linker/target_template.cmake @@ -0,0 +1,13 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Copyright (c) 2024, Nordic Semiconductor ASA + +# Template file for optional Zephyr linker macros. +# +# This file will define optional linker macros for toolchains that are not +# defining these macros themselves. + +if(NOT COMMAND toolchain_linker_finalize) + macro(toolchain_linker_finalize) + endmacro() +endif() diff --git a/cmake/linker/xt-ld/target.cmake b/cmake/linker/xt-ld/target.cmake index 4f8e4fcfbdb..3546881cc71 100644 --- a/cmake/linker/xt-ld/target.cmake +++ b/cmake/linker/xt-ld/target.cmake @@ -129,7 +129,6 @@ function(toolchain_ld_link_elf) ${LINKERFLAGPREFIX},--no-whole-archive ${NO_WHOLE_ARCHIVE_LIBS} $ - ${LIB_INCLUDE_DIR} -L${PROJECT_BINARY_DIR} ${TOOLCHAIN_LIBS} @@ -137,6 +136,27 @@ function(toolchain_ld_link_elf) ) endfunction(toolchain_ld_link_elf) +# Function for finalizing link setup after Zephyr configuration has completed. +# +# This function will generate the correct CMAKE_C_LINK_EXECUTABLE / CMAKE_CXX_LINK_EXECUTABLE +# rule to ensure that standard c and runtime libraries are correctly placed +# and the end of link invocation and doesn't appear in the middle of the link +# command invocation. +macro(toolchain_linker_finalize) + get_property(zephyr_std_libs TARGET linker PROPERTY lib_include_dir) + get_property(link_order TARGET linker PROPERTY link_order_library) + foreach(lib ${link_order}) + get_property(link_flag TARGET linker PROPERTY ${lib}_library) + list(APPEND zephyr_std_libs "${link_flag}") + endforeach() + string(REPLACE ";" " " zephyr_std_libs "${zephyr_std_libs}") + + set(common_link " -o ${zephyr_std_libs}") + set(CMAKE_ASM_LINK_EXECUTABLE " ${common_link}") + set(CMAKE_C_LINK_EXECUTABLE " ${common_link}") + set(CMAKE_CXX_LINK_EXECUTABLE " ${common_link}") +endmacro() + # xt-ld is Xtensa's own version of binutils' ld. # So we can reuse most of the ld configurations. include(${ZEPHYR_BASE}/cmake/linker/ld/target_relocation.cmake) diff --git a/cmake/linker_script/common/common-ram.cmake b/cmake/linker_script/common/common-ram.cmake index 091da6ff541..48e0c6010aa 100644 --- a/cmake/linker_script/common/common-ram.cmake +++ b/cmake/linker_script/common/common-ram.cmake @@ -18,10 +18,10 @@ zephyr_linker_section_configure(SECTION device_states ) if(CONFIG_PM_DEVICE) - zephyr_iterable_section(NAME pm_device_slots GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) + zephyr_iterable_section(NAME pm_device_slots GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) endif() -zephyr_iterable_section(NAME log_dynamic GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) +zephyr_iterable_section(NAME log_dynamic GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) if(CONFIG_USERSPACE) # All kernel objects within are assumed to be either completely @@ -32,35 +32,35 @@ if(CONFIG_USERSPACE) # _static_kernel_objects_begin = .; endif() -zephyr_iterable_section(NAME k_timer GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) -zephyr_iterable_section(NAME k_mem_slab GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) -zephyr_iterable_section(NAME k_heap GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) -zephyr_iterable_section(NAME k_mutex GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) -zephyr_iterable_section(NAME k_stack GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) -zephyr_iterable_section(NAME k_msgq GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) -zephyr_iterable_section(NAME k_mbox GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) -zephyr_iterable_section(NAME k_pipe GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) -zephyr_iterable_section(NAME k_sem GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) -zephyr_iterable_section(NAME k_queue GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) -zephyr_iterable_section(NAME k_condvar GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) -zephyr_iterable_section(NAME k_event GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) -zephyr_iterable_section(NAME k_fifo GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) +zephyr_iterable_section(NAME k_timer GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) +zephyr_iterable_section(NAME k_mem_slab GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) +zephyr_iterable_section(NAME k_heap GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) +zephyr_iterable_section(NAME k_mutex GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) +zephyr_iterable_section(NAME k_stack GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) +zephyr_iterable_section(NAME k_msgq GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) +zephyr_iterable_section(NAME k_mbox GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) +zephyr_iterable_section(NAME k_pipe GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) +zephyr_iterable_section(NAME k_sem GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) +zephyr_iterable_section(NAME k_queue GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) +zephyr_iterable_section(NAME k_condvar GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) +zephyr_iterable_section(NAME k_event GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) +zephyr_iterable_section(NAME k_fifo GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) -zephyr_iterable_section(NAME net_buf_pool GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) +zephyr_iterable_section(NAME net_buf_pool GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) if(CONFIG_NETWORKING) - zephyr_iterable_section(NAME net_if GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) - zephyr_iterable_section(NAME net_if_dev GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) - zephyr_iterable_section(NAME net_l2 GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) - zephyr_iterable_section(NAME eth_bridge GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) + zephyr_iterable_section(NAME net_if GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) + zephyr_iterable_section(NAME net_if_dev GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) + zephyr_iterable_section(NAME net_l2 GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) + zephyr_iterable_section(NAME eth_bridge GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) endif() if(CONFIG_ARM_SCMI) - zephyr_iterable_section(NAME scmi_protocol GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) + zephyr_iterable_section(NAME scmi_protocol GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) endif() if(CONFIG_SENSING) - zephyr_iterable_section(NAME sensing_sensor GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) + zephyr_iterable_section(NAME sensing_sensor GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) endif() if(CONFIG_USB_DEVICE_STACK) @@ -83,8 +83,8 @@ if(CONFIG_USB_DEVICE_BOS) endif() if(CONFIG_RTIO) - zephyr_iterable_section(NAME rtio GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) - zephyr_iterable_section(NAME rtio_iodev GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) + zephyr_iterable_section(NAME rtio GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) + zephyr_iterable_section(NAME rtio_iodev GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) endif() #if(CONFIG_USERSPACE) @@ -93,11 +93,11 @@ endif() # if(CONFIG_ZTEST) - zephyr_iterable_section(NAME ztest_suite_node GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) - zephyr_iterable_section(NAME ztest_suite_stats GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) - zephyr_iterable_section(NAME ztest_unit_test GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) - zephyr_iterable_section(NAME ztest_test_rule GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) - zephyr_iterable_section(NAME ztest_expected_result_entry GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) + zephyr_iterable_section(NAME ztest_suite_node GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) + zephyr_iterable_section(NAME ztest_suite_stats GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) + zephyr_iterable_section(NAME ztest_unit_test GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) + zephyr_iterable_section(NAME ztest_test_rule GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) + zephyr_iterable_section(NAME ztest_expected_result_entry GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) endif() if(CONFIG_ZBUS) @@ -105,31 +105,31 @@ if(CONFIG_ZBUS) endif() if(CONFIG_UVB) - zephyr_iterable_section(NAME uvb_node GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) + zephyr_iterable_section(NAME uvb_node GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) endif() if(CONFIG_LOG) - zephyr_iterable_section(NAME log_mpsc_pbuf GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) - zephyr_iterable_section(NAME log_msg_ptr GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) + zephyr_iterable_section(NAME log_mpsc_pbuf GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) + zephyr_iterable_section(NAME log_msg_ptr GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) endif() if(CONFIG_PCIE) - zephyr_iterable_section(NAME pcie_dev GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) + zephyr_iterable_section(NAME pcie_dev GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) endif() if(CONFIG_USB_DEVICE_STACK OR CONFIG_USB_DEVICE_STACK_NEXT) - zephyr_iterable_section(NAME usb_cfg_data GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) - zephyr_iterable_section(NAME usbd_context GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) - zephyr_iterable_section(NAME usbd_class_fs GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) - zephyr_iterable_section(NAME usbd_class_hs GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) + zephyr_iterable_section(NAME usb_cfg_data GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) + zephyr_iterable_section(NAME usbd_context GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) + zephyr_iterable_section(NAME usbd_class_fs GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) + zephyr_iterable_section(NAME usbd_class_hs GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) endif() if(CONFIG_USB_HOST_STACK) - zephyr_iterable_section(NAME usbh_contex GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) - zephyr_iterable_section(NAME usbh_class_data GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) + zephyr_iterable_section(NAME usbh_contex GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) + zephyr_iterable_section(NAME usbh_class_data GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) endif() if(CONFIG_DEVICE_MUTABLE) - zephyr_iterable_section(NAME device_mutable GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) + zephyr_iterable_section(NAME device_mutable GROUP DATA_REGION ${XIP_ALIGN_WITH_INPUT} SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) endif() diff --git a/cmake/linker_script/common/common-rom.cmake b/cmake/linker_script/common/common-rom.cmake index 2fd4fcedb47..868e9f382d9 100644 --- a/cmake/linker_script/common/common-rom.cmake +++ b/cmake/linker_script/common/common-rom.cmake @@ -11,7 +11,7 @@ zephyr_linker_section_obj_level(SECTION init LEVEL SMP) zephyr_linker_section(NAME deferred_init_list KVMA RAM_REGION GROUP RODATA_REGION) zephyr_linker_section_configure(SECTION deferred_init_list INPUT ".z_deferred_init*" KEEP SORT NAME) -zephyr_iterable_section(NAME device NUMERIC KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) +zephyr_iterable_section(NAME device NUMERIC KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) if(CONFIG_GEN_SW_ISR_TABLE AND NOT CONFIG_DYNAMIC_INTERRUPTS) # ld align has been changed to subalign to provide identical behavior scatter vs. ld. @@ -92,98 +92,98 @@ zephyr_linker_section_configure( ) if(CONFIG_NET_SOCKETS) - zephyr_iterable_section(NAME net_socket_register KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) + zephyr_iterable_section(NAME net_socket_register KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) endif() if(CONFIG_NET_L2_PPP) - zephyr_iterable_section(NAME ppp_protocol_handler KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) + zephyr_iterable_section(NAME ppp_protocol_handler KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) endif() -zephyr_iterable_section(NAME bt_l2cap_fixed_chan KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) +zephyr_iterable_section(NAME bt_l2cap_fixed_chan KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) if(CONFIG_BT_CLASSIC) - zephyr_iterable_section(NAME bt_l2cap_br_fixed_chan KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) + zephyr_iterable_section(NAME bt_l2cap_br_fixed_chan KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) endif() if(CONFIG_BT_CONN) - zephyr_iterable_section(NAME bt_conn_cb KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) + zephyr_iterable_section(NAME bt_conn_cb KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) endif() -zephyr_iterable_section(NAME bt_gatt_service_static KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) +zephyr_iterable_section(NAME bt_gatt_service_static KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) if(CONFIG_BT_MESH) - zephyr_iterable_section(NAME bt_mesh_subnet_cb KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) - zephyr_iterable_section(NAME bt_mesh_app_key_cb KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) + zephyr_iterable_section(NAME bt_mesh_subnet_cb KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) + zephyr_iterable_section(NAME bt_mesh_app_key_cb KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) - zephyr_iterable_section(NAME bt_mesh_hb_cb KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) + zephyr_iterable_section(NAME bt_mesh_hb_cb KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) endif() if(CONFIG_BT_MESH_FRIEND) - zephyr_iterable_section(NAME bt_mesh_friend_cb KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) + zephyr_iterable_section(NAME bt_mesh_friend_cb KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) endif() if(CONFIG_BT_MESH_LOW_POWER) - zephyr_iterable_section(NAME bt_mesh_lpn_cb KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) + zephyr_iterable_section(NAME bt_mesh_lpn_cb KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) endif() if(CONFIG_BT_MESH_PROXY) - zephyr_iterable_section(NAME bt_mesh_proxy_cb KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) + zephyr_iterable_section(NAME bt_mesh_proxy_cb KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) endif() if(CONFIG_EC_HOST_CMD) - zephyr_iterable_section(NAME ec_host_cmd_handler KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) + zephyr_iterable_section(NAME ec_host_cmd_handler KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) endif() if(CONFIG_SETTINGS) - zephyr_iterable_section(NAME settings_handler_static KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) + zephyr_iterable_section(NAME settings_handler_static KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) endif() if(CONFIG_SENSING) - zephyr_iterable_section(NAME sensing_sensor_info KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) + zephyr_iterable_section(NAME sensing_sensor_info KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) endif() if(CONFIG_SENSOR_INFO) - zephyr_iterable_section(NAME sensor_info KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) + zephyr_iterable_section(NAME sensor_info KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) endif() if(CONFIG_SENSOR_ASYNC_API) - zephyr_iterable_section(NAME sensor_decoder_api KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) + zephyr_iterable_section(NAME sensor_decoder_api KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) endif() if(CONFIG_MCUMGR) - zephyr_iterable_section(NAME mcumgr_handler KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) + zephyr_iterable_section(NAME mcumgr_handler KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) endif() -zephyr_iterable_section(NAME k_p4wq_initparam KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) +zephyr_iterable_section(NAME k_p4wq_initparam KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) if(CONFIG_EMUL) - zephyr_iterable_section(NAME emul KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) + zephyr_iterable_section(NAME emul KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) endif() if(CONFIG_DNS_SD) - zephyr_iterable_section(NAME dns_sd_rec KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) + zephyr_iterable_section(NAME dns_sd_rec KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) endif() if(CONFIG_PCIE) - zephyr_iterable_section(NAME irq_alloc KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) + zephyr_iterable_section(NAME irq_alloc KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) endif() -zephyr_iterable_section(NAME log_strings KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) +zephyr_iterable_section(NAME log_strings KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) -zephyr_iterable_section(NAME log_const KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) +zephyr_iterable_section(NAME log_const KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) -zephyr_iterable_section(NAME shell KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) +zephyr_iterable_section(NAME shell KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) -zephyr_iterable_section(NAME shell_root_cmds KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) +zephyr_iterable_section(NAME shell_root_cmds KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) -zephyr_iterable_section(NAME shell_subcmds KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) +zephyr_iterable_section(NAME shell_subcmds KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) -zephyr_iterable_section(NAME shell_dynamic_subcmds KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) +zephyr_iterable_section(NAME shell_dynamic_subcmds KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) -zephyr_iterable_section(NAME cfb_font KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) +zephyr_iterable_section(NAME cfb_font KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) -zephyr_iterable_section(NAME tracing_backend KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) +zephyr_iterable_section(NAME tracing_backend KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) zephyr_linker_section(NAME zephyr_dbg_info KVMA RAM_REGION GROUP RODATA_REGION NOINPUT ${XIP_ALIGN_WITH_INPUT}) zephyr_linker_section_configure(SECTION zephyr_dbg_info INPUT ".zephyr_dbg_info" KEEP) @@ -199,15 +199,15 @@ if (CONFIG_DEVICE_DEPS) zephyr_linker_section_configure(SECTION device_deps INPUT .__device_deps_pass2* KEEP SORT NAME PASS NOT LINKER_DEVICE_DEPS_PASS1) endif() -zephyr_iterable_section(NAME _static_thread_data KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) +zephyr_iterable_section(NAME _static_thread_data KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) if (CONFIG_BT_IAS) - zephyr_iterable_section(NAME bt_ias_cb KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) + zephyr_iterable_section(NAME bt_ias_cb KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) endif() if (CONFIG_LOG) - zephyr_iterable_section(NAME log_link KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) - zephyr_iterable_section(NAME log_backend KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) + zephyr_iterable_section(NAME log_link KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) + zephyr_iterable_section(NAME log_backend KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) endif() if (CONFIG_MULTI_LEVEL_INTERRUPTS) @@ -215,35 +215,35 @@ if (CONFIG_MULTI_LEVEL_INTERRUPTS) endif() if (CONFIG_HTTP_SERVER) - zephyr_iterable_section(NAME http_service_desc KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) + zephyr_iterable_section(NAME http_service_desc KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) endif() if (CONFIG_COAP_SERVER) - zephyr_iterable_section(NAME coap_service KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) + zephyr_iterable_section(NAME coap_service KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) endif() if (CONFIG_NET_MGMT) - zephyr_iterable_section(NAME net_mgmt_event_static_handler KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) + zephyr_iterable_section(NAME net_mgmt_event_static_handler KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) endif() if(CONFIG_INPUT) - zephyr_iterable_section(NAME input_callback KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) + zephyr_iterable_section(NAME input_callback KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) endif() if(CONFIG_USBD_MSC_CLASS) - zephyr_iterable_section(NAME usbd_msc_lun KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) + zephyr_iterable_section(NAME usbd_msc_lun KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) endif() if(CONFIG_ZBUS) - zephyr_iterable_section(NAME zbus_channel KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) - zephyr_iterable_section(NAME zbus_observer KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) - zephyr_iterable_section(NAME zbus_channel_observation KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) + zephyr_iterable_section(NAME zbus_channel KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) + zephyr_iterable_section(NAME zbus_observer KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) + zephyr_iterable_section(NAME zbus_channel_observation KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) endif() if(CONFIG_GNSS) - zephyr_iterable_section(NAME gnss_data_callback KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) + zephyr_iterable_section(NAME gnss_data_callback KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) endif() if(CONFIG_GNSS_SATELLITES) - zephyr_iterable_section(NAME gnss_satellites_callback KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN CONFIG_LINKER_ITERABLE_SUBALIGN) + zephyr_iterable_section(NAME gnss_satellites_callback KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN ${CONFIG_LINKER_ITERABLE_SUBALIGN}) endif() diff --git a/cmake/modules/FindHostTools.cmake b/cmake/modules/FindHostTools.cmake index 8d3c9eccaaf..1dfce4d3d4a 100644 --- a/cmake/modules/FindHostTools.cmake +++ b/cmake/modules/FindHostTools.cmake @@ -114,3 +114,6 @@ set_ifndef(TOOLCHAIN_KCONFIG_DIR ${TOOLCHAIN_ROOT}/cmake/toolchain/${ZEPHYR_TOOL set(HostTools_FOUND TRUE) set(HOSTTOOLS_FOUND TRUE) +build_info(toolchain name VALUE ${ZEPHYR_TOOLCHAIN_VARIANT}) +string(TOUPPER ${ZEPHYR_TOOLCHAIN_VARIANT} zephyr_toolchain_variant_upper) +build_info(toolchain path PATH "${${zephyr_toolchain_variant_upper}_TOOLCHAIN_PATH}") diff --git a/cmake/modules/FindTargetTools.cmake b/cmake/modules/FindTargetTools.cmake index a1fa4bf5c67..e35f577d697 100644 --- a/cmake/modules/FindTargetTools.cmake +++ b/cmake/modules/FindTargetTools.cmake @@ -105,5 +105,7 @@ include(${TOOLCHAIN_ROOT}/cmake/linker/${LINKER}/target.cmake OPTIONAL) include(${ZEPHYR_BASE}/cmake/bintools/bintools_template.cmake) include(${TOOLCHAIN_ROOT}/cmake/bintools/${BINTOOLS}/target.cmake OPTIONAL) +include(${TOOLCHAIN_ROOT}/cmake/linker/target_template.cmake) + set(TargetTools_FOUND TRUE) set(TARGETTOOLS_FOUND TRUE) diff --git a/cmake/modules/FindZephyr-sdk.cmake b/cmake/modules/FindZephyr-sdk.cmake index b1c1c8cf02b..1b56379ec66 100644 --- a/cmake/modules/FindZephyr-sdk.cmake +++ b/cmake/modules/FindZephyr-sdk.cmake @@ -175,3 +175,4 @@ if(LOAD IN_LIST Zephyr-sdk_FIND_COMPONENTS) endif() endif() endif() +set(ZEPHYR_TOOLCHAIN_PATH ${ZEPHYR_SDK_INSTALL_DIR}) diff --git a/cmake/modules/boards.cmake b/cmake/modules/boards.cmake index d2c0666f2c5..2b78845482a 100644 --- a/cmake/modules/boards.cmake +++ b/cmake/modules/boards.cmake @@ -185,9 +185,7 @@ set(format_str "{NAME}\;{DIR}\;{HWM}\;") set(format_str "${format_str}{REVISION_FORMAT}\;{REVISION_DEFAULT}\;{REVISION_EXACT}\;") set(format_str "${format_str}{REVISIONS}\;{SOCS}\;{QUALIFIERS}") -if(BOARD_DIR) - set(board_dir_arg "--board-dir=${BOARD_DIR}") -endif() +list(TRANSFORM BOARD_DIRECTORIES PREPEND "--board-dir=" OUTPUT_VARIABLE board_dir_arg) execute_process(${list_boards_commands} --board=${BOARD} ${board_dir_arg} --cmakeformat=${format_str} OUTPUT_VARIABLE ret_board @@ -200,29 +198,15 @@ endif() if(NOT "${ret_board}" STREQUAL "") string(STRIP "${ret_board}" ret_board) - string(FIND "${ret_board}" "\n" idx REVERSE) - if(idx GREATER -1) - while(TRUE) - math(EXPR start "${idx} + 1") - string(SUBSTRING "${ret_board}" ${start} -1 line) - string(SUBSTRING "${ret_board}" 0 ${idx} ret_board) - - cmake_parse_arguments(LIST_BOARD "" "DIR" "" ${line}) - set(board_dirs "${board_dirs}\n${LIST_BOARD_DIR}") - - if(idx EQUAL -1) - break() - endif() - string(FIND "${ret_board}" "\n" idx REVERSE) - endwhile() - message(FATAL_ERROR "Multiple boards named '${BOARD}' found in:${board_dirs}") - endif() - - set(single_val "NAME;DIR;HWM;REVISION_FORMAT;REVISION_DEFAULT;REVISION_EXACT") - set(multi_val "REVISIONS;SOCS;QUALIFIERS") + set(single_val "NAME;HWM;REVISION_FORMAT;REVISION_DEFAULT;REVISION_EXACT") + set(multi_val "DIR;REVISIONS;SOCS;QUALIFIERS") cmake_parse_arguments(LIST_BOARD "" "${single_val}" "${multi_val}" ${ret_board}) - set(BOARD_DIR ${LIST_BOARD_DIR} CACHE PATH "Board directory for board (${BOARD})" FORCE) - set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${BOARD_DIR}/board.yml) + list(GET LIST_BOARD_DIR 0 BOARD_DIR) + set(BOARD_DIR ${BOARD_DIR} CACHE PATH "Main board directory for board (${BOARD})" FORCE) + set(BOARD_DIRECTORIES ${LIST_BOARD_DIR} CACHE INTERNAL "List of board directories for board (${BOARD})" FORCE) + foreach(dir ${BOARD_DIRECTORIES}) + set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${dir}/board.yml) + endforeach() # Create two CMake variables identifying the hw model. # CMake variable: HWM=[v1,v2] @@ -369,3 +353,7 @@ if(BOARD_EXTENSIONS) list(APPEND BOARD_EXTENSION_DIRS ${board_extension_dir}) endforeach() endif() +build_info(board name VALUE ${BOARD}) +string(REGEX REPLACE "^/" "" qualifiers "${BOARD_QUALIFIERS}") +build_info(board qualifiers VALUE ${qualifiers}) +build_info(board revision VALUE ${BOARD_REVISION}) diff --git a/cmake/modules/configuration_files.cmake b/cmake/modules/configuration_files.cmake index 84af8c5b635..ff7a172445c 100644 --- a/cmake/modules/configuration_files.cmake +++ b/cmake/modules/configuration_files.cmake @@ -99,3 +99,5 @@ zephyr_boilerplate_watch(DTC_OVERLAY_FILE) zephyr_get(EXTRA_CONF_FILE SYSBUILD LOCAL VAR EXTRA_CONF_FILE OVERLAY_CONFIG MERGE REVERSE) zephyr_get(EXTRA_DTC_OVERLAY_FILE SYSBUILD LOCAL MERGE REVERSE) zephyr_get(DTS_EXTRA_CPPFLAGS SYSBUILD LOCAL MERGE REVERSE) +build_info(application source-dir VALUE ${APPLICATION_SOURCE_DIR}) +build_info(application configuration-dir VALUE ${APPLICATION_CONFIG_DIR}) diff --git a/cmake/modules/dts.cmake b/cmake/modules/dts.cmake index ec0999d366b..eb7869548fe 100644 --- a/cmake/modules/dts.cmake +++ b/cmake/modules/dts.cmake @@ -70,9 +70,9 @@ find_package(Dtc 1.4.6) # # Optional variables: # - BOARD: board name to use when looking for DTS_SOURCE -# - BOARD_DIR: board directory to use when looking for DTS_SOURCE +# - BOARD_DIRECTORIES: list of board directories to use when looking for DTS_SOURCE # - BOARD_REVISION_STRING: used when looking for a board revision's -# devicetree overlay file in BOARD_DIR +# devicetree overlay file in one of the BOARD_DIRECTORIES # - DTC_OVERLAY_FILE: list of devicetree overlay files which will be # used to modify or extend the base devicetree. # - EXTRA_DTC_OVERLAY_FILE: list of extra devicetree overlay files. @@ -86,7 +86,7 @@ find_package(Dtc 1.4.6) # C preprocessor when generating the devicetree from DTS_SOURCE # - DTS_SOURCE: the devicetree source file to use may be pre-set # with this variable; otherwise, it defaults to -# ${BOARD_DIR}/${BOARD}.dts +# ${BOARD_DIRECTORIES}/.dts # # Variables set by this module and not mentioned above are for internal # use only, and may be removed, renamed, or re-purposed without prior notice. @@ -117,6 +117,8 @@ set(GEN_DTS_CMAKE_SCRIPT ${DT_SCRIPTS}/gen_dts_cmake.py) # The generated information itself, which we include() after # creating it. set(DTS_CMAKE ${PROJECT_BINARY_DIR}/dts.cmake) +# The CMake target to be initialized by including ${DTS_CMAKE}. +set(DEVICETREE_TARGET devicetree_target) # The location of a file containing known vendor prefixes, relative to # each element of DTS_ROOT. Users can define their own in their own @@ -127,28 +129,30 @@ if(NOT DEFINED DTS_SOURCE) zephyr_build_string(board_string SHORT shortened_board_string BOARD ${BOARD} BOARD_QUALIFIERS ${BOARD_QUALIFIERS} ) - if(EXISTS ${BOARD_DIR}/${shortened_board_string}.dts AND NOT BOARD_${BOARD}_SINGLE_SOC) - message(FATAL_ERROR "Board ${ZFILE_BOARD} defines multiple SoCs.\nShortened file name " - "(${shortened_board_string}.dts) not allowed, use '_.dts' naming" - ) - elseif(EXISTS ${BOARD_DIR}/${board_string}.dts AND EXISTS ${BOARD_DIR}/${shortened_board_string}.dts) - message(FATAL_ERROR "Conflicting file names discovered. Cannot use both " - "${board_string}.dts and ${shortened_board_string}.dts. " - "Please choose one naming style, ${board_string}.dts is recommended." - ) - elseif(EXISTS ${BOARD_DIR}/${board_string}.dts) - set(DTS_SOURCE ${BOARD_DIR}/${board_string}.dts) - elseif(EXISTS ${BOARD_DIR}/${shortened_board_string}.dts) - set(DTS_SOURCE ${BOARD_DIR}/${shortened_board_string}.dts) - endif() + foreach(dir ${BOARD_DIRECTORIES}) + if(EXISTS ${dir}/${shortened_board_string}.dts AND NOT BOARD_${BOARD}_SINGLE_SOC) + message(FATAL_ERROR "Board ${ZFILE_BOARD} defines multiple SoCs.\nShortened file name " + "(${shortened_board_string}.dts) not allowed, use '_.dts' naming" + ) + elseif(EXISTS ${dir}/${board_string}.dts AND EXISTS ${dir}/${shortened_board_string}.dts) + message(FATAL_ERROR "Conflicting file names discovered. Cannot use both " + "${board_string}.dts and ${shortened_board_string}.dts. " + "Please choose one naming style, ${board_string}.dts is recommended." + ) + elseif(EXISTS ${dir}/${board_string}.dts) + set(DTS_SOURCE ${dir}/${board_string}.dts) + elseif(EXISTS ${dir}/${shortened_board_string}.dts) + set(DTS_SOURCE ${dir}/${shortened_board_string}.dts) + endif() + endforeach() endif() if(EXISTS ${DTS_SOURCE}) # We found a devicetree. Append all relevant dts overlays we can find... - zephyr_file(CONF_FILES ${BOARD_DIR} DTS DTS_SOURCE) + zephyr_file(CONF_FILES ${BOARD_DIRECTORIES} DTS DTS_SOURCE) zephyr_file( - CONF_FILES ${BOARD_DIR} + CONF_FILES ${BOARD_DIRECTORIES} DTS no_rev_suffix_dts_board_overlays BOARD ${BOARD} BOARD_QUALIFIERS ${BOARD_QUALIFIERS} @@ -178,6 +182,7 @@ set(dts_files if(DTC_OVERLAY_FILE) zephyr_list(TRANSFORM DTC_OVERLAY_FILE NORMALIZE_PATHS OUTPUT_VARIABLE DTC_OVERLAY_FILE_AS_LIST) + build_info(devicetree user-files PATH ${DTC_OVERLAY_FILE_AS_LIST}) list(APPEND dts_files ${DTC_OVERLAY_FILE_AS_LIST} @@ -187,6 +192,7 @@ endif() if(EXTRA_DTC_OVERLAY_FILE) zephyr_list(TRANSFORM EXTRA_DTC_OVERLAY_FILE NORMALIZE_PATHS OUTPUT_VARIABLE EXTRA_DTC_OVERLAY_FILE_AS_LIST) + build_info(devicetree extra-user-files PATH ${EXTRA_DTC_OVERLAY_FILE_AS_LIST}) list(APPEND dts_files ${EXTRA_DTC_OVERLAY_FILE_AS_LIST} @@ -315,17 +321,26 @@ endif() # # Run GEN_DTS_CMAKE_SCRIPT. # +# A temporary file is copied to the original file if it differs. This prevents issue such as a +# cycle when sysbuild is used of configuring and building multiple times due to the dts.cmake file +# of images having a newer modification time than the sysbuild build.ninja file, despite the +# output having not changed +# +set(dts_cmake_tmp ${DTS_CMAKE}.new) execute_process( COMMAND ${PYTHON_EXECUTABLE} ${GEN_DTS_CMAKE_SCRIPT} --edt-pickle ${EDT_PICKLE} - --cmake-out ${DTS_CMAKE} + --cmake-out ${dts_cmake_tmp} WORKING_DIRECTORY ${PROJECT_BINARY_DIR} RESULT_VARIABLE ret ) if(NOT "${ret}" STREQUAL "0") message(FATAL_ERROR "gen_dts_cmake.py failed with return code: ${ret}") else() + zephyr_file_copy(${dts_cmake_tmp} ${DTS_CMAKE} ONLY_IF_DIFFERENT) + file(REMOVE ${dts_cmake_tmp}) + set(dts_cmake_tmp) message(STATUS "Including generated dts.cmake file: ${DTS_CMAKE}") include(${DTS_CMAKE}) endif() @@ -383,3 +398,7 @@ elseif(stderr) message(WARNING "dtc raised one or more warnings:\n${stderr}") endif() endif(DTC) + +build_info(devicetree files PATH ${dts_files}) +build_info(devicetree include-dirs PATH ${DTS_ROOT_SYSTEM_INCLUDE_DIRS}) +build_info(devicetree bindings-dirs PATH ${DTS_ROOT_BINDINGS}) diff --git a/cmake/modules/extensions.cmake b/cmake/modules/extensions.cmake index 4d8422a3ced..921a457067d 100644 --- a/cmake/modules/extensions.cmake +++ b/cmake/modules/extensions.cmake @@ -38,6 +38,7 @@ include(CheckCXXCompilerFlag) # 7.1 llext_* configuration functions # 7.2 add_llext_* build control functions # 7.3 llext helper functions +# 8. Script mode handling ######################################################## # 1. Zephyr-aware extensions @@ -108,16 +109,37 @@ endfunction() # https://cmake.org/cmake/help/latest/command/target_compile_options.html function(zephyr_compile_options) - target_compile_options(zephyr_interface INTERFACE ${ARGV}) + if(ARGV0 STREQUAL "PROPERTY") + set(property $) + set(property_defined $) + if(ARGC GREATER 3) + message(FATAL_ERROR "zephyr_compile_options(PROPERTY []) " + "called with too many arguments." + ) + elseif(ARGC EQUAL 3) + target_compile_options(zephyr_interface INTERFACE $<${property_defined}:${property}${ARGV2}>) + else() + target_compile_options(zephyr_interface INTERFACE ${property}) + endif() + else() + target_compile_options(zephyr_interface INTERFACE ${ARGV}) + endif() endfunction() # https://cmake.org/cmake/help/latest/command/target_link_libraries.html function(zephyr_link_libraries) if(ARGV0 STREQUAL "PROPERTY") - if(ARGC GREATER 2) - message(FATAL_ERROR "zephyr_link_libraries(PROPERTY ) only allows a single property.") + set(property $) + set(property_defined $) + if(ARGC GREATER 3) + message(FATAL_ERROR "zephyr_link_options(PROPERTY []) " + "called with too many arguments." + ) + elseif(ARGC EQUAL 3) + target_link_libraries(zephyr_interface INTERFACE $<${property_defined}:${property}${ARGV2}>) + else() + target_link_libraries(zephyr_interface INTERFACE ${property}) endif() - target_link_libraries(zephyr_interface INTERFACE $) else() target_link_libraries(zephyr_interface INTERFACE ${ARGV}) endif() @@ -2409,6 +2431,43 @@ function(toolchain_parse_make_rule input_file include_files) set(${include_files} ${result} PARENT_SCOPE) endfunction() +# 'set_linker_property' is a function that sets the property for the linker +# property target used for toolchain abstraction. +# +# This function is similar in nature to the CMake set_property function, but +# with some additional extension flags for improved behavioral control. +# +# NO_CREATE: Flag to indicate that the property should only be set if not already +# defined with a value. +# APPEND: Flag indicated that the property should be appended to the existing +# value list for the property. +# TARGET: Name of target on which to add the property (default: linker) +# PROPERTY: Name of property with the value(s) following immediately after +# property name +function(set_linker_property) + set(options APPEND NO_CREATE) + set(single_args TARGET) + set(multi_args PROPERTY) + cmake_parse_arguments(LINKER_PROPERTY "${options}" "${single_args}" "${multi_args}" ${ARGN}) + + if(LINKER_PROPERTY_APPEND) + set(APPEND "APPEND") + endif() + + if(NOT DEFINED LINKER_PROPERTY_TARGET) + set(LINKER_PROPERTY_TARGET "linker") + endif() + + if(LINKER_PROPERTY_NO_CREATE) + list(GET LINKER_PROPERTY_PROPERTY 0 property_name) + get_target_property(var ${LINKER_PROPERTY_TARGET} ${property_name}) + if(NOT "${var}" STREQUAL "var-NOTFOUND") + return() + endif() + endif() + set_property(TARGET ${LINKER_PROPERTY_TARGET} ${APPEND} PROPERTY ${LINKER_PROPERTY_PROPERTY}) +endfunction() + # 'check_set_linker_property' is a function that check the provided linker # flag and only set the linker property if the check succeeds # @@ -2418,7 +2477,7 @@ endfunction() # # APPEND: Flag indicated that the property should be appended to the existing # value list for the property. -# TARGET: Name of target on which to add the property (commonly: linker) +# TARGET: Name of target on which to add the property (default: linker) # PROPERTY: Name of property with the value(s) following immediately after # property name function(check_set_linker_property) @@ -2431,6 +2490,10 @@ function(check_set_linker_property) set(APPEND "APPEND") endif() + if(NOT DEFINED LINKER_PROPERTY_TARGET) + set(LINKER_PROPERTY_TARGET "linker") + endif() + list(GET LINKER_PROPERTY_PROPERTY 0 property) list(REMOVE_AT LINKER_PROPERTY_PROPERTY 0) @@ -3594,6 +3657,86 @@ function(topological_sort) set(${TS_RESULT} "${sorted_targets}" PARENT_SCOPE) endfunction() +# Usage: +# build_info(... VALUE ... ) +# build_info(... PATH ... ) +# +# This function populates updates the build_info.yml info file with exchangable build information +# related to the current build. +# +# Example: +# build_info(devicetree files VALUE file1.dts file2.dts file3.dts) +# Will update the 'devicetree files' key in the build info yaml with the list +# of files, file1.dts file2.dts file3.dts. +# +# build_info(vendor-specific foo VALUE bar) +# Will place the vendor specific key 'foo' with value 'bar' in the vendor specific section +# of the build info file. +# +# ...: One of the pre-defined valid CMake keys supported by build info or vendor-specific. +# See 'scripts/schemas/build-schema.yml' CMake section for valid tags. +# VALUE ... : value(s) to place in the build_info.yml file. +# PATH ... : path(s) to place in the build_info.yml file. All paths are converted to CMake +# style. If no conversion is required, for example when paths are already +# guaranteed to be CMake style, then VALUE can also be used. +function(build_info) + set(convert_path FALSE) + set(arg_list ${ARGV}) + list(FIND arg_list VALUE index) + if(index EQUAL -1) + list(FIND arg_list PATH index) + set(convert_path TRUE) + endif() + + if(index EQUAL -1) + message(FATAL_ERROR "${CMAKE_CURRENT_FUNCTION}(...) missing a required argument: VALUE or PATH") + endif() + + yaml_context(EXISTS NAME build_info result) + if(NOT result) + yaml_load(FILE ${ZEPHYR_BASE}/scripts/schemas/build-schema.yml NAME build_info_schema) + if(EXISTS ${CMAKE_BINARY_DIR}/build_info.yml) + yaml_load(FILE ${CMAKE_BINARY_DIR}/build_info.yml NAME build_info) + else() + yaml_create(FILE ${CMAKE_BINARY_DIR}/build_info.yml NAME build_info) + endif() + yaml_set(NAME build_info KEY version VALUE "0.1.0") + endif() + + list(SUBLIST arg_list 0 ${index} keys) + list(SUBLIST arg_list ${index} -1 values) + list(POP_FRONT values) + + if(convert_path) + set(converted_values) + foreach(val ${values}) + cmake_path(SET cmake_path "${val}") + list(APPEND converted_values "${cmake_path}") + endforeach() + set(values "${converted_values}") + endif() + + if(ARGV0 STREQUAL "vendor-specific") + set(type VALUE) + else() + set(schema_check ${keys}) + list(TRANSFORM schema_check PREPEND "mapping;") + yaml_get(check NAME build_info_schema KEY mapping cmake ${schema_check}) + if(check MATCHES ".*-NOTFOUND") + message(FATAL_ERROR "${CMAKE_CURRENT_FUNCTION}(...) called with invalid tag: ${keys}") + endif() + + yaml_get(type NAME build_info_schema KEY mapping cmake ${schema_check} type) + if(type MATCHES "seq|sequence") + set(type LIST) + else() + set(type VALUE) + endif() + endif() + + yaml_set(NAME build_info KEY cmake ${keys} ${type} "${values}") +endfunction() + ######################################################## # 4. Devicetree extensions ######################################################## @@ -3611,6 +3754,9 @@ endfunction() # alias at the beginning of a path interchangeably with the full # path to the aliased node in these functions. The usage comments # will make this clear in each case. +# +# - Each of these methods also has a sysbuild_dt_* counterpart. +# See share/sysbuild/cmake/modules/sysbuild_extensions.cmake. # Usage: # dt_nodelabel( NODELABEL