summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhathach <[email protected]>2025-01-25 12:39:08 +0700
committerhathach <[email protected]>2025-01-25 12:39:08 +0700
commit1003aba69066b87db67b0d90318aa79630afb338 (patch)
tree0c5d1c5f3d43466046c71e11758e062ad9cb698d
parent13856af9350965e5d67e1e76d16e3702e77aa77e (diff)
use board alias for pca10056
-rw-r--r--.github/workflows/build.yml4
-rw-r--r--hw/bsp/family_support.cmake16
-rw-r--r--hw/bsp/nrf/boards/pca10056/zephyr/Kconfig.pca100565
-rw-r--r--hw/bsp/nrf/boards/pca10056/zephyr/board.yml6
-rw-r--r--hw/bsp/nrf/boards/pca10056/zephyr/pca10056_nrf52840-pinctrl.dtsi187
-rw-r--r--hw/bsp/nrf/boards/pca10056/zephyr/pca10056_nrf52840.dts278
-rw-r--r--hw/bsp/nrf/boards/pca10056/zephyr/pca10056_nrf52840.yaml28
-rw-r--r--hw/bsp/nrf/family.cmake4
-rw-r--r--hw/bsp/zephyr_board_aliases.cmake (renamed from hw/bsp/nrf/boards/pca10056/board_aliases.cmake)0
9 files changed, 15 insertions, 513 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 90bc10883..cd5619a44 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -156,5 +156,5 @@ jobs:
- name: Build
run: |
- west -v build -b pca10056 -d examples/device/cdc_msc/build examples/device/cdc_msc -- -DRTOS=zephyr
- west -v build -b pca10056 -d examples/device/msc_dual_lun/build examples/device/msc_dual_lun -- -DRTOS=zephyr
+ west build -b pca10056 -d examples/device/cdc_msc/build examples/device/cdc_msc -- -DRTOS=zephyr
+ west build -b pca10056 -d examples/device/msc_dual_lun/build examples/device/msc_dual_lun -- -DRTOS=zephyr
diff --git a/hw/bsp/family_support.cmake b/hw/bsp/family_support.cmake
index 1725f0de6..ccf07f21f 100644
--- a/hw/bsp/family_support.cmake
+++ b/hw/bsp/family_support.cmake
@@ -79,12 +79,6 @@ if (NOT NO_WARN_RWX_SEGMENTS_SUPPORTED)
set(NO_WARN_RWX_SEGMENTS_SUPPORTED 1)
endif()
-if (RTOS STREQUAL zephyr)
- set(BOARD_ROOT ${TOP}/hw/bsp/${FAMILY})
- cmake_print_variables(BOARD_ROOT BOARD)
- find_package(Zephyr REQUIRED HINTS ${TOP}/zephyr)
-endif ()
-
#-------------------------------------------------------------
# Functions
#-------------------------------------------------------------
@@ -604,7 +598,6 @@ function(family_flash_msp430flasher TARGET)
)
endfunction()
-
function(family_flash_uniflash TARGET)
if (NOT DEFINED DSLITE)
set(DSLITE dslite.sh)
@@ -637,3 +630,12 @@ endif ()
# save it in case of re-inclusion
set(FAMILY_MCUS ${FAMILY_MCUS} CACHE INTERNAL "")
+
+#----------------------------------
+# Zephyr
+#----------------------------------
+if (RTOS STREQUAL zephyr)
+ set(BOARD_ROOT ${TOP}/hw/bsp/${FAMILY})
+ set(ZEPHYR_BOARD_ALIASES ${CMAKE_CURRENT_LIST_DIR}/zephyr_board_aliases.cmake)
+ find_package(Zephyr REQUIRED HINTS ${TOP}/zephyr)
+endif ()
diff --git a/hw/bsp/nrf/boards/pca10056/zephyr/Kconfig.pca10056 b/hw/bsp/nrf/boards/pca10056/zephyr/Kconfig.pca10056
deleted file mode 100644
index a4d9619b3..000000000
--- a/hw/bsp/nrf/boards/pca10056/zephyr/Kconfig.pca10056
+++ /dev/null
@@ -1,5 +0,0 @@
-# Copyright (c) 2022 Zephyr Project members and individual contributors
-# SPDX-License-Identifier: Apache-2.0
-
-config BOARD_PCA10056
- select SOC_NRF52840_QIAA
diff --git a/hw/bsp/nrf/boards/pca10056/zephyr/board.yml b/hw/bsp/nrf/boards/pca10056/zephyr/board.yml
deleted file mode 100644
index e45a33365..000000000
--- a/hw/bsp/nrf/boards/pca10056/zephyr/board.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-board:
- name: pca10056
- full_name: nRF52840 DK
- vendor: nordic
- socs:
- - name: nrf52840
diff --git a/hw/bsp/nrf/boards/pca10056/zephyr/pca10056_nrf52840-pinctrl.dtsi b/hw/bsp/nrf/boards/pca10056/zephyr/pca10056_nrf52840-pinctrl.dtsi
deleted file mode 100644
index 779d0d518..000000000
--- a/hw/bsp/nrf/boards/pca10056/zephyr/pca10056_nrf52840-pinctrl.dtsi
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- * Copyright (c) 2022 Nordic Semiconductor
- * SPDX-License-Identifier: Apache-2.0
- */
-
-&pinctrl {
- uart0_default: uart0_default {
- group1 {
- psels = <NRF_PSEL(UART_TX, 0, 6)>,
- <NRF_PSEL(UART_RTS, 0, 5)>;
- };
- group2 {
- psels = <NRF_PSEL(UART_RX, 0, 8)>,
- <NRF_PSEL(UART_CTS, 0, 7)>;
- bias-pull-up;
- };
- };
-
- uart0_sleep: uart0_sleep {
- group1 {
- psels = <NRF_PSEL(UART_TX, 0, 6)>,
- <NRF_PSEL(UART_RX, 0, 8)>,
- <NRF_PSEL(UART_RTS, 0, 5)>,
- <NRF_PSEL(UART_CTS, 0, 7)>;
- low-power-enable;
- };
- };
-
- uart1_default: uart1_default {
- group1 {
- psels = <NRF_PSEL(UART_RX, 1, 1)>;
- bias-pull-up;
- };
- group2 {
- psels = <NRF_PSEL(UART_TX, 1, 2)>;
- };
- };
-
- uart1_sleep: uart1_sleep {
- group1 {
- psels = <NRF_PSEL(UART_RX, 1, 1)>,
- <NRF_PSEL(UART_TX, 1, 2)>;
- low-power-enable;
- };
- };
-
- i2c0_default: i2c0_default {
- group1 {
- psels = <NRF_PSEL(TWIM_SDA, 0, 26)>,
- <NRF_PSEL(TWIM_SCL, 0, 27)>;
- };
- };
-
- i2c0_sleep: i2c0_sleep {
- group1 {
- psels = <NRF_PSEL(TWIM_SDA, 0, 26)>,
- <NRF_PSEL(TWIM_SCL, 0, 27)>;
- low-power-enable;
- };
- };
-
- i2c1_default: i2c1_default {
- group1 {
- psels = <NRF_PSEL(TWIM_SDA, 0, 30)>,
- <NRF_PSEL(TWIM_SCL, 0, 31)>;
- };
- };
-
- i2c1_sleep: i2c1_sleep {
- group1 {
- psels = <NRF_PSEL(TWIM_SDA, 0, 30)>,
- <NRF_PSEL(TWIM_SCL, 0, 31)>;
- low-power-enable;
- };
- };
-
- pwm0_default: pwm0_default {
- group1 {
- psels = <NRF_PSEL(PWM_OUT0, 0, 13)>;
- nordic,invert;
- };
- };
-
- pwm0_sleep: pwm0_sleep {
- group1 {
- psels = <NRF_PSEL(PWM_OUT0, 0, 13)>;
- low-power-enable;
- };
- };
-
- spi0_default: spi0_default {
- group1 {
- psels = <NRF_PSEL(SPIM_SCK, 0, 27)>,
- <NRF_PSEL(SPIM_MOSI, 0, 26)>,
- <NRF_PSEL(SPIM_MISO, 0, 29)>;
- };
- };
-
- spi0_sleep: spi0_sleep {
- group1 {
- psels = <NRF_PSEL(SPIM_SCK, 0, 27)>,
- <NRF_PSEL(SPIM_MOSI, 0, 26)>,
- <NRF_PSEL(SPIM_MISO, 0, 29)>;
- low-power-enable;
- };
- };
-
- spi1_default: spi1_default {
- group1 {
- psels = <NRF_PSEL(SPIM_SCK, 0, 31)>,
- <NRF_PSEL(SPIM_MOSI, 0, 30)>,
- <NRF_PSEL(SPIM_MISO, 1, 8)>;
- };
- };
-
- spi1_sleep: spi1_sleep {
- group1 {
- psels = <NRF_PSEL(SPIM_SCK, 0, 31)>,
- <NRF_PSEL(SPIM_MOSI, 0, 30)>,
- <NRF_PSEL(SPIM_MISO, 1, 8)>;
- low-power-enable;
- };
- };
-
- spi2_default: spi2_default {
- group1 {
- psels = <NRF_PSEL(SPIM_SCK, 0, 19)>,
- <NRF_PSEL(SPIM_MOSI, 0, 20)>,
- <NRF_PSEL(SPIM_MISO, 0, 21)>;
- };
- };
-
- spi2_sleep: spi2_sleep {
- group1 {
- psels = <NRF_PSEL(SPIM_SCK, 0, 19)>,
- <NRF_PSEL(SPIM_MOSI, 0, 20)>,
- <NRF_PSEL(SPIM_MISO, 0, 21)>;
- low-power-enable;
- };
- };
-
- qspi_default: qspi_default {
- group1 {
- psels = <NRF_PSEL(QSPI_SCK, 0, 19)>,
- <NRF_PSEL(QSPI_IO0, 0, 20)>,
- <NRF_PSEL(QSPI_IO1, 0, 21)>,
- <NRF_PSEL(QSPI_IO2, 0, 22)>,
- <NRF_PSEL(QSPI_IO3, 0, 23)>,
- <NRF_PSEL(QSPI_CSN, 0, 17)>;
- nordic,drive-mode = <NRF_DRIVE_H0H1>;
- };
- };
-
- qspi_sleep: qspi_sleep {
- group1 {
- psels = <NRF_PSEL(QSPI_SCK, 0, 19)>,
- <NRF_PSEL(QSPI_IO0, 0, 20)>,
- <NRF_PSEL(QSPI_IO1, 0, 21)>,
- <NRF_PSEL(QSPI_IO2, 0, 22)>,
- <NRF_PSEL(QSPI_IO3, 0, 23)>;
- low-power-enable;
- };
- group2 {
- psels = <NRF_PSEL(QSPI_CSN, 0, 17)>;
- low-power-enable;
- bias-pull-up;
- };
- };
-
- spi3_default: spi3_default {
- group1 {
- psels = <NRF_PSEL(SPIM_SCK, 1, 15)>,
- <NRF_PSEL(SPIM_MISO, 1, 14)>,
- <NRF_PSEL(SPIM_MOSI, 1, 13)>;
- };
- };
-
- spi3_sleep: spi3_sleep {
- group1 {
- psels = <NRF_PSEL(SPIM_SCK, 1, 15)>,
- <NRF_PSEL(SPIM_MISO, 1, 14)>,
- <NRF_PSEL(SPIM_MOSI, 1, 13)>;
- low-power-enable;
- };
- };
-
-};
diff --git a/hw/bsp/nrf/boards/pca10056/zephyr/pca10056_nrf52840.dts b/hw/bsp/nrf/boards/pca10056/zephyr/pca10056_nrf52840.dts
deleted file mode 100644
index d7c9266d2..000000000
--- a/hw/bsp/nrf/boards/pca10056/zephyr/pca10056_nrf52840.dts
+++ /dev/null
@@ -1,278 +0,0 @@
-/*
- * Copyright (c) 2017 Linaro Limited
- *
- * SPDX-License-Identifier: Apache-2.0
- */
-
-/dts-v1/;
-#include <nordic/nrf52840_qiaa.dtsi>
-#include <nordic/nrf52840_partition.dtsi>
-#include "pca10056_nrf52840-pinctrl.dtsi"
-#include <zephyr/dt-bindings/input/input-event-codes.h>
-
-/ {
- model = "Nordic nRF52840 DK NRF52840";
- compatible = "nordic,nrf52840-dk-nrf52840";
-
- chosen {
- zephyr,console = &uart0;
- zephyr,shell-uart = &uart0;
- zephyr,uart-mcumgr = &uart0;
- zephyr,bt-mon-uart = &uart0;
- zephyr,bt-c2h-uart = &uart0;
- zephyr,ieee802154 = &ieee802154;
- };
-
- leds {
- compatible = "gpio-leds";
- led0: led_0 {
- gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
- label = "Green LED 0";
- };
- led1: led_1 {
- gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
- label = "Green LED 1";
- };
- led2: led_2 {
- gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
- label = "Green LED 2";
- };
- led3: led_3 {
- gpios = <&gpio0 16 GPIO_ACTIVE_LOW>;
- label = "Green LED 3";
- };
- };
-
- pwmleds {
- compatible = "pwm-leds";
- pwm_led0: pwm_led_0 {
- pwms = <&pwm0 0 PWM_MSEC(20) PWM_POLARITY_INVERTED>;
- };
- };
-
- buttons {
- compatible = "gpio-keys";
- button0: button_0 {
- gpios = <&gpio0 11 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
- label = "Push button switch 0";
- zephyr,code = <INPUT_KEY_0>;
- };
- button1: button_1 {
- gpios = <&gpio0 12 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
- label = "Push button switch 1";
- zephyr,code = <INPUT_KEY_1>;
- };
- button2: button_2 {
- gpios = <&gpio0 24 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
- label = "Push button switch 2";
- zephyr,code = <INPUT_KEY_2>;
- };
- button3: button_3 {
- gpios = <&gpio0 25 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
- label = "Push button switch 3";
- zephyr,code = <INPUT_KEY_3>;
- };
- };
-
- arduino_header: connector {
- compatible = "arduino-header-r3";
- #gpio-cells = <2>;
- gpio-map-mask = <0xffffffff 0xffffffc0>;
- gpio-map-pass-thru = <0 0x3f>;
- gpio-map = <0 0 &gpio0 3 0>, /* A0 */
- <1 0 &gpio0 4 0>, /* A1 */
- <2 0 &gpio0 28 0>, /* A2 */
- <3 0 &gpio0 29 0>, /* A3 */
- <4 0 &gpio0 30 0>, /* A4 */
- <5 0 &gpio0 31 0>, /* A5 */
- <6 0 &gpio1 1 0>, /* D0 */
- <7 0 &gpio1 2 0>, /* D1 */
- <8 0 &gpio1 3 0>, /* D2 */
- <9 0 &gpio1 4 0>, /* D3 */
- <10 0 &gpio1 5 0>, /* D4 */
- <11 0 &gpio1 6 0>, /* D5 */
- <12 0 &gpio1 7 0>, /* D6 */
- <13 0 &gpio1 8 0>, /* D7 */
- <14 0 &gpio1 10 0>, /* D8 */
- <15 0 &gpio1 11 0>, /* D9 */
- <16 0 &gpio1 12 0>, /* D10 */
- <17 0 &gpio1 13 0>, /* D11 */
- <18 0 &gpio1 14 0>, /* D12 */
- <19 0 &gpio1 15 0>, /* D13 */
- <20 0 &gpio0 26 0>, /* D14 */
- <21 0 &gpio0 27 0>; /* D15 */
- };
-
- arduino_adc: analog-connector {
- compatible = "arduino,uno-adc";
- #io-channel-cells = <1>;
- io-channel-map = <0 &adc 1>, /* A0 = P0.3 = AIN1 */
- <1 &adc 2>, /* A1 = P0.4 = AIN2 */
- <2 &adc 4>, /* A2 = P0.28 = AIN4 */
- <3 &adc 5>, /* A3 = P0.29 = AIN5 */
- <4 &adc 6>, /* A4 = P0.30 = AIN6 */
- <5 &adc 7>; /* A5 = P0.31 = AIN7 */
- };
-
- /* These aliases are provided for compatibility with samples */
- aliases {
- led0 = &led0;
- led1 = &led1;
- led2 = &led2;
- led3 = &led3;
- pwm-led0 = &pwm_led0;
- sw0 = &button0;
- sw1 = &button1;
- sw2 = &button2;
- sw3 = &button3;
- bootloader-led0 = &led0;
- mcuboot-button0 = &button0;
- mcuboot-led0 = &led0;
- watchdog0 = &wdt0;
- };
-};
-
-&reg0 {
- status = "okay";
-};
-
-&reg1 {
- regulator-initial-mode = <NRF5X_REG_MODE_DCDC>;
-};
-
-&adc {
- status = "okay";
-};
-
-&uicr {
- gpio-as-nreset;
-};
-
-&gpiote {
- status = "okay";
-};
-
-&gpio0 {
- status = "okay";
- gpio-reserved-ranges = <0 2>, <6 1>, <8 3>, <17 7>;
- gpio-line-names = "XL1", "XL2", "AREF", "A0", "A1", "RTS", "TXD",
- "CTS", "RXD", "NFC1", "NFC2", "BUTTON1", "BUTTON2", "LED1",
- "LED2", "LED3", "LED4", "QSPI CS", "RESET", "QSPI CLK",
- "QSPI DIO0", "QSPI DIO1", "QSPI DIO2", "QSPI DIO3","BUTTON3",
- "BUTTON4", "SDA", "SCL", "A2", "A3", "A4", "A5";
-};
-
-&gpio1 {
- status = "okay";
- gpio-line-names = "", "D0", "D1", "D2", "D3", "D4", "D5", "D6",
- "D7", "", "D8", "D9", "D10", "D11", "D12", "D13";
-};
-
-&uart0 {
- compatible = "nordic,nrf-uarte";
- status = "okay";
- current-speed = <115200>;
- pinctrl-0 = <&uart0_default>;
- pinctrl-1 = <&uart0_sleep>;
- pinctrl-names = "default", "sleep";
-};
-
-arduino_serial: &uart1 {
- current-speed = <115200>;
- pinctrl-0 = <&uart1_default>;
- pinctrl-1 = <&uart1_sleep>;
- pinctrl-names = "default", "sleep";
-};
-
-arduino_i2c: &i2c0 {
- compatible = "nordic,nrf-twi";
- status = "okay";
- pinctrl-0 = <&i2c0_default>;
- pinctrl-1 = <&i2c0_sleep>;
- pinctrl-names = "default", "sleep";
-};
-
-&i2c1 {
- compatible = "nordic,nrf-twi";
- /* Cannot be used together with spi1. */
- /* status = "okay"; */
- pinctrl-0 = <&i2c1_default>;
- pinctrl-1 = <&i2c1_sleep>;
- pinctrl-names = "default", "sleep";
-};
-
-&pwm0 {
- status = "okay";
- pinctrl-0 = <&pwm0_default>;
- pinctrl-1 = <&pwm0_sleep>;
- pinctrl-names = "default", "sleep";
-};
-
-&spi0 {
- compatible = "nordic,nrf-spi";
- /* Cannot be used together with i2c0. */
- /* status = "okay"; */
- pinctrl-0 = <&spi0_default>;
- pinctrl-1 = <&spi0_sleep>;
- pinctrl-names = "default", "sleep";
-};
-
-&spi1 {
- compatible = "nordic,nrf-spi";
- status = "okay";
- pinctrl-0 = <&spi1_default>;
- pinctrl-1 = <&spi1_sleep>;
- pinctrl-names = "default", "sleep";
-};
-
-&spi2 {
- compatible = "nordic,nrf-spi";
- status = "disabled";
- pinctrl-0 = <&spi2_default>;
- pinctrl-1 = <&spi2_sleep>;
- pinctrl-names = "default", "sleep";
-};
-
-&qspi {
- status = "okay";
- pinctrl-0 = <&qspi_default>;
- pinctrl-1 = <&qspi_sleep>;
- pinctrl-names = "default", "sleep";
- mx25r64: mx25r6435f@0 {
- compatible = "nordic,qspi-nor";
- reg = <0>;
- /* MX25R64 supports only pp and pp4io */
- writeoc = "pp4io";
- /* MX25R64 supports all readoc options */
- readoc = "read4io";
- sck-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 68 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>;
- };
-};
-
-arduino_spi: &spi3 {
- status = "okay";
- cs-gpios = <&arduino_header 16 GPIO_ACTIVE_LOW>; /* D10 */
- pinctrl-0 = <&spi3_default>;
- pinctrl-1 = <&spi3_sleep>;
- pinctrl-names = "default", "sleep";
-};
-
-&ieee802154 {
- status = "okay";
-};
-
-zephyr_udc0: &usbd {
- compatible = "nordic,nrf-usbd";
- status = "okay";
-};
diff --git a/hw/bsp/nrf/boards/pca10056/zephyr/pca10056_nrf52840.yaml b/hw/bsp/nrf/boards/pca10056/zephyr/pca10056_nrf52840.yaml
deleted file mode 100644
index 74b077dce..000000000
--- a/hw/bsp/nrf/boards/pca10056/zephyr/pca10056_nrf52840.yaml
+++ /dev/null
@@ -1,28 +0,0 @@
-identifier: pca10056/nrf52840
-name: nRF52840-DK-NRF52840
-type: mcu
-arch: arm
-ram: 256
-flash: 1024
-toolchain:
- - zephyr
- - gnuarmemb
- - xtools
-supported:
- - adc
- - arduino_gpio
- - arduino_i2c
- - arduino_serial
- - arduino_spi
- - ble
- - counter
- - gpio
- - i2c
- - i2s
- - pwm
- - spi
- - usb_device
- - usbd
- - watchdog
- - netif:openthread
-vendor: nordic
diff --git a/hw/bsp/nrf/family.cmake b/hw/bsp/nrf/family.cmake
index 2d2a12e7e..f4c9bd63f 100644
--- a/hw/bsp/nrf/family.cmake
+++ b/hw/bsp/nrf/family.cmake
@@ -130,6 +130,10 @@ function(family_configure_example TARGET RTOS)
${CMAKE_CURRENT_FUNCTION_LIST_DIR}/../../
${CMAKE_CURRENT_FUNCTION_LIST_DIR}/boards/${BOARD}
)
+ if (RTOS STREQUAL zephyr AND DEFINED BOARD_ALIAS AND NOT BOARD STREQUAL BOARD_ALIAS)
+ target_include_directories(${TARGET} PUBLIC ${CMAKE_CURRENT_FUNCTION_LIST_DIR}/boards/${BOARD_ALIAS})
+ endif ()
+
# Add TinyUSB target and port source
family_add_tinyusb(${TARGET} OPT_MCU_NRF5X)
diff --git a/hw/bsp/nrf/boards/pca10056/board_aliases.cmake b/hw/bsp/zephyr_board_aliases.cmake
index 91ffc3a39..91ffc3a39 100644
--- a/hw/bsp/nrf/boards/pca10056/board_aliases.cmake
+++ b/hw/bsp/zephyr_board_aliases.cmake