From 6c25cad55c1acfab5b99cec7cdeb67440865cd28 Mon Sep 17 00:00:00 2001 From: Alex Tsamakos Date: Thu, 12 Jan 2023 17:47:21 +0100 Subject: [PATCH] boards: arm: add support for the Actinius Icarus SoM DK w/ helper lib This adds support for the nRF9160-based Icarus SoM DK (development kit) from Actinius and a common library for board init code that is common to multiple boards from Actinius. Signed-off-by: Alex Tsamakos --- .../arm/actinius_icarus_som_dk/CMakeLists.txt | 8 + .../arm/actinius_icarus_som_dk/Kconfig.board | 14 + .../actinius_icarus_som_dk/Kconfig.defconfig | 40 +++ .../actinius_icarus_som_dk.dts | 19 ++ .../actinius_icarus_som_dk.yaml | 21 ++ ...actinius_icarus_som_dk_common-pinctrl.dtsi | 85 ++++++ .../actinius_icarus_som_dk_common.dts | 227 ++++++++++++++++ .../actinius_icarus_som_dk_defconfig | 26 ++ .../actinius_icarus_som_dk_ns.dts | 17 ++ .../actinius_icarus_som_dk_ns.yaml | 21 ++ .../actinius_icarus_som_dk_ns_defconfig | 29 +++ .../actinius_icarus_som_dk_partition_conf.dts | 58 +++++ .../arduino_connector.dtsi | 51 ++++ boards/arm/actinius_icarus_som_dk/board.cmake | 5 + .../doc/img/icarus-som-dk-block-diagram.jpg | Bin 0 -> 79246 bytes .../doc/img/icarus-som-dk.jpg | Bin 0 -> 85642 bytes .../arm/actinius_icarus_som_dk/doc/index.rst | 245 ++++++++++++++++++ .../dts/bindings/actinius-sim-select.yaml | 26 ++ .../actinius_icarus_som_dk/pre_dt_board.cmake | 7 + boards/common/actinius/CMakeLists.txt | 8 + boards/common/actinius/Kconfig | 12 + .../common/actinius/actinius_board_common.c | 98 +++++++ 22 files changed, 1017 insertions(+) create mode 100644 boards/arm/actinius_icarus_som_dk/CMakeLists.txt create mode 100644 boards/arm/actinius_icarus_som_dk/Kconfig.board create mode 100644 boards/arm/actinius_icarus_som_dk/Kconfig.defconfig create mode 100644 boards/arm/actinius_icarus_som_dk/actinius_icarus_som_dk.dts create mode 100644 boards/arm/actinius_icarus_som_dk/actinius_icarus_som_dk.yaml create mode 100644 boards/arm/actinius_icarus_som_dk/actinius_icarus_som_dk_common-pinctrl.dtsi create mode 100644 boards/arm/actinius_icarus_som_dk/actinius_icarus_som_dk_common.dts create mode 100644 boards/arm/actinius_icarus_som_dk/actinius_icarus_som_dk_defconfig create mode 100644 boards/arm/actinius_icarus_som_dk/actinius_icarus_som_dk_ns.dts create mode 100644 boards/arm/actinius_icarus_som_dk/actinius_icarus_som_dk_ns.yaml create mode 100644 boards/arm/actinius_icarus_som_dk/actinius_icarus_som_dk_ns_defconfig create mode 100644 boards/arm/actinius_icarus_som_dk/actinius_icarus_som_dk_partition_conf.dts create mode 100644 boards/arm/actinius_icarus_som_dk/arduino_connector.dtsi create mode 100644 boards/arm/actinius_icarus_som_dk/board.cmake create mode 100644 boards/arm/actinius_icarus_som_dk/doc/img/icarus-som-dk-block-diagram.jpg create mode 100644 boards/arm/actinius_icarus_som_dk/doc/img/icarus-som-dk.jpg create mode 100644 boards/arm/actinius_icarus_som_dk/doc/index.rst create mode 100644 boards/arm/actinius_icarus_som_dk/dts/bindings/actinius-sim-select.yaml create mode 100644 boards/arm/actinius_icarus_som_dk/pre_dt_board.cmake create mode 100644 boards/common/actinius/CMakeLists.txt create mode 100644 boards/common/actinius/Kconfig create mode 100644 boards/common/actinius/actinius_board_common.c diff --git a/boards/arm/actinius_icarus_som_dk/CMakeLists.txt b/boards/arm/actinius_icarus_som_dk/CMakeLists.txt new file mode 100644 index 00000000000..1fff4c1e76c --- /dev/null +++ b/boards/arm/actinius_icarus_som_dk/CMakeLists.txt @@ -0,0 +1,8 @@ +# +# Copyright (c) 2022 Actinius +# +# SPDX-License-Identifier: Apache-2.0 + +zephyr_library() + +add_subdirectory(${ZEPHYR_BASE}/boards/common/actinius actinius_common) diff --git a/boards/arm/actinius_icarus_som_dk/Kconfig.board b/boards/arm/actinius_icarus_som_dk/Kconfig.board new file mode 100644 index 00000000000..d3d1bcacfd0 --- /dev/null +++ b/boards/arm/actinius_icarus_som_dk/Kconfig.board @@ -0,0 +1,14 @@ +# Actinius Icarus SoM DK board configuration + +# Copyright (c) 2022 Actinius +# SPDX-License-Identifier: Apache-2.0 + +if SOC_NRF9160_SICA + +config BOARD_ACTINIUS_ICARUS_SOM_DK + bool "Actinius Icarus SoM DK" + +config BOARD_ACTINIUS_ICARUS_SOM_DK_NS + bool "Actinius Icarus SoM DK Non-Secure" + +endif # SOC_NRF9160_SICA diff --git a/boards/arm/actinius_icarus_som_dk/Kconfig.defconfig b/boards/arm/actinius_icarus_som_dk/Kconfig.defconfig new file mode 100644 index 00000000000..00024ae99ca --- /dev/null +++ b/boards/arm/actinius_icarus_som_dk/Kconfig.defconfig @@ -0,0 +1,40 @@ +# Actinius Icarus SoM DK board configuration + +# Copyright (c) 2022 Actinius +# SPDX-License-Identifier: Apache-2.0 + +if BOARD_ACTINIUS_ICARUS_SOM_DK || BOARD_ACTINIUS_ICARUS_SOM_DK_NS + +config BOARD + default "actinius_icarus_som_dk" + +source "boards/common/actinius/Kconfig" + +# 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- +# secure image (TRUSTED_EXECUTION_SECURE=y), the secure FW image shall always +# be restricted to the size of its code partition. +# For the non-secure version of the board, the firmware +# must be linked into the code-partition (non-secure) defined in DT, regardless. +# Apply this configuration below by setting the Kconfig symbols used by +# the linker according to the information extracted from DT partitions. + +# Workaround for not being able to have commas in macro arguments +DT_CHOSEN_Z_CODE_PARTITION := zephyr,code-partition + +config FLASH_LOAD_SIZE + default $(dt_chosen_reg_size_hex,$(DT_CHOSEN_Z_CODE_PARTITION)) + depends on BOARD_ACTINIUS_ICARUS_SOM_DK && TRUSTED_EXECUTION_SECURE + +if BOARD_ACTINIUS_ICARUS_SOM_DK_NS + +config FLASH_LOAD_OFFSET + default $(dt_chosen_reg_addr_hex,$(DT_CHOSEN_Z_CODE_PARTITION)) + +config FLASH_LOAD_SIZE + default $(dt_chosen_reg_size_hex,$(DT_CHOSEN_Z_CODE_PARTITION)) + +endif # BOARD_ACTINIUS_ICARUS_SOM_DK_NS + +endif # BOARD_ACTINIUS_ICARUS_SOM_DK || BOARD_ACTINIUS_ICARUS_SOM_DK_NS diff --git a/boards/arm/actinius_icarus_som_dk/actinius_icarus_som_dk.dts b/boards/arm/actinius_icarus_som_dk/actinius_icarus_som_dk.dts new file mode 100644 index 00000000000..803feaad24b --- /dev/null +++ b/boards/arm/actinius_icarus_som_dk/actinius_icarus_som_dk.dts @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2022 Actinius + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/dts-v1/; +#include +#include "actinius_icarus_som_dk_common.dts" + +/ { + chosen { + zephyr,sram = &sram0_s; + zephyr,flash = &flash0; + zephyr,code-partition = &slot0_partition; + zephyr,sram-secure-partition = &sram0_s; + zephyr,sram-non-secure-partition = &sram0_ns; + }; +}; diff --git a/boards/arm/actinius_icarus_som_dk/actinius_icarus_som_dk.yaml b/boards/arm/actinius_icarus_som_dk/actinius_icarus_som_dk.yaml new file mode 100644 index 00000000000..f0448ccdb30 --- /dev/null +++ b/boards/arm/actinius_icarus_som_dk/actinius_icarus_som_dk.yaml @@ -0,0 +1,21 @@ +identifier: actinius_icarus_som_dk +name: Actinius Icarus SoM DK +type: mcu +arch: arm +toolchain: + - gnuarmemb + - xtools + - zephyr +ram: 88 +flash: 256 +supported: + - gpio + - i2c + - pwm + - spi + - watchdog + - counter + - arduino_gpio + - arduino_i2c + - arduino_serial + - arduino_spi diff --git a/boards/arm/actinius_icarus_som_dk/actinius_icarus_som_dk_common-pinctrl.dtsi b/boards/arm/actinius_icarus_som_dk/actinius_icarus_som_dk_common-pinctrl.dtsi new file mode 100644 index 00000000000..a43e5e2b2c5 --- /dev/null +++ b/boards/arm/actinius_icarus_som_dk/actinius_icarus_som_dk_common-pinctrl.dtsi @@ -0,0 +1,85 @@ +/* + * Copyright (c) 2022 Actinius + * SPDX-License-Identifier: Apache-2.0 + */ + +&pinctrl { + uart0_default: uart0_default { + group1 { + psels = , + ; + }; + }; + + uart0_sleep: uart0_sleep { + group1 { + psels = , + ; + low-power-enable; + }; + }; + + i2c2_default: i2c2_default { + group1 { + psels = , + ; + }; + }; + + i2c2_sleep: i2c2_sleep { + group1 { + psels = , + ; + low-power-enable; + }; + }; + + spi3_default: spi3_default { + group1 { + psels = , + , + ; + }; + }; + + spi3_sleep: spi3_sleep { + group1 { + psels = , + , + ; + low-power-enable; + }; + }; + + neopixel_spi_default: neopixel_spi_default { + group1 { + psels = , + , + ; + }; + }; + + neopixel_spi_sleep: neopixel_spi_sleep { + group1 { + psels = , + , + ; + low-power-enable; + }; + }; + + pwm0_default: pwm0_default { + group1 { + psels = ; + nordic,invert; + }; + }; + + pwm0_sleep: pwm0_sleep { + group1 { + psels = ; + low-power-enable; + }; + }; + +}; diff --git a/boards/arm/actinius_icarus_som_dk/actinius_icarus_som_dk_common.dts b/boards/arm/actinius_icarus_som_dk/actinius_icarus_som_dk_common.dts new file mode 100644 index 00000000000..458c68de9d0 --- /dev/null +++ b/boards/arm/actinius_icarus_som_dk/actinius_icarus_som_dk_common.dts @@ -0,0 +1,227 @@ +/* + * Copyright (c) 2022 Actinius + * + * SPDX-License-Identifier: Apache-2.0 + */ +#include "actinius_icarus_som_dk_common-pinctrl.dtsi" +#include + +/ { + model = "Actinius Icarus SoM DK"; + compatible = "actinius,icarus_som_dk"; + + chosen { + zephyr,console = &uart0; + zephyr,shell-uart = &uart0; + zephyr,uart-mcumgr = &uart0; + }; + + leds { + compatible = "gpio-leds"; + + blue_led: led_0 { + gpios = <&gpio0 3 GPIO_ACTIVE_HIGH>; + label = "Blue LED"; + }; + }; + + pwmleds { + compatible = "pwm-leds"; + + blue_pwm_led: led_pwm_0 { + pwms = <&pwm0 0 PWM_MSEC(20) PWM_POLARITY_NORMAL>; + label = "Blue PWM LED"; + }; + }; + + buttons { + compatible = "gpio-keys"; + + button0: button_0 { + gpios = <&gpio0 23 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>; + label = "Push Button 1"; + }; + }; + + aliases { + led0 = &blue_led; + pwm-led0 = &blue_pwm_led; + blue-pwm-led = &blue_pwm_led; + sw0 = &button0; + bootloader-led0 = &blue_led; + mcuboot-button0 = &button0; + mcuboot-led0 = &blue_led; + watchdog0 = &wdt0; + accel0 = &lis2dh12_accel; + spi-flash0 = &w25q64; + led-strip = &neopixel_led; + }; + + sim_select: sim-select { + compatible = "actinius-sim-select"; + sim-gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>; + sim = "esim"; + }; +}; + +&adc { + status ="okay"; +}; + +&gpiote { + status = "okay"; +}; + +&gpio0 { + status = "okay"; +}; + +&uart0 { + status = "okay"; + + current-speed = <115200>; + pinctrl-0 = <&uart0_default>; + pinctrl-1 = <&uart0_sleep>; + pinctrl-names = "default", "sleep"; +}; + +neopixel_spi: &spi1 { + compatible = "nordic,nrf-spim"; + status = "okay"; + + pinctrl-0 = <&neopixel_spi_default>; + pinctrl-1 = <&neopixel_spi_sleep>; + pinctrl-names = "default", "sleep"; + + neopixel_led: ws2812@0 { + compatible = "worldsemi,ws2812-spi"; + + reg = <0>; /* ignored, but necessary for SPI bindings */ + spi-max-frequency = <4000000>; + + chain-length = <1>; + color-mapping = ; + spi-one-frame = <0x70>; + spi-zero-frame = <0x40>; + }; +}; + +&i2c2 { + compatible = "nordic,nrf-twim"; + status = "okay"; + + clock-frequency = ; + + pinctrl-0 = <&i2c2_default>; + pinctrl-1 = <&i2c2_sleep>; + pinctrl-names = "default", "sleep"; + lis2dh12_accel: lis2dh12-accel@19 { + compatible = "st,lis2dh12", "st,lis2dh"; + reg = <0x19>; + irq-gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>, + <&gpio0 28 GPIO_ACTIVE_HIGH>; + }; +}; + +&spi3 { + compatible = "nordic,nrf-spim"; + status = "okay"; + + cs-gpios = <&gpio0 24 GPIO_ACTIVE_LOW>; + + pinctrl-0 = <&spi3_default>; + pinctrl-1 = <&spi3_sleep>; + pinctrl-names = "default", "sleep"; + w25q64: w25q64jv@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <80000000>; + jedec-id = [ef 40 17]; + size = <0x4000000>; + has-dpd; + t-enter-dpd = <3500>; + t-exit-dpd = <3500>; + }; +}; + +&pwm0 { + status = "okay"; + + pinctrl-0 = <&pwm0_default>; + pinctrl-1 = <&pwm0_sleep>; + pinctrl-names = "default", "sleep"; +}; + +&timer0 { + status = "okay"; +}; + +&timer1 { + status = "okay"; +}; + +&timer2 { + status = "okay"; +}; + +&flash0 { + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + boot_partition: partition@0 { + label = "mcuboot"; + reg = <0x00000000 0x10000>; + }; + slot0_partition: partition@10000 { + label = "image-0"; + }; + slot0_ns_partition: partition@50000 { + label = "image-0-nonsecure"; + }; + slot1_partition: partition@80000 { + label = "image-1"; + }; + slot1_ns_partition: partition@c0000 { + label = "image-1-nonsecure"; + }; + scratch_partition: partition@f0000 { + label = "image-scratch"; + reg = <0x000f0000 0xa000>; + }; + storage_partition: partition@fa000 { + label = "storage"; + reg = <0x000fa000 0x00006000>; + }; + }; +}; + +/ { + + reserved-memory { + #address-cells = <1>; + #size-cells = <1>; + ranges; + + sram0_s: image_s@20000000 { + /* Secure image memory */ + }; + + sram0_modem: image_modem@20016000 { + /* Modem (shared) memory */ + }; + + sram0_ns: image_ns@20020000 { + /* Non-Secure image memory */ + }; + }; +}; + +/* Include file with mappings and aliases for arduino compatibility */ +#include "arduino_connector.dtsi" + +/* Include partition configuration file */ +#include "actinius_icarus_som_dk_partition_conf.dts" diff --git a/boards/arm/actinius_icarus_som_dk/actinius_icarus_som_dk_defconfig b/boards/arm/actinius_icarus_som_dk/actinius_icarus_som_dk_defconfig new file mode 100644 index 00000000000..b62a72cf708 --- /dev/null +++ b/boards/arm/actinius_icarus_som_dk/actinius_icarus_som_dk_defconfig @@ -0,0 +1,26 @@ +# SPDX-License-Identifier: Apache-2.0 + +CONFIG_SOC_SERIES_NRF91X=y +CONFIG_SOC_NRF9160_SICA=y +CONFIG_BOARD_ACTINIUS_ICARUS_SOM_DK=y + +# Enable MPU +CONFIG_ARM_MPU=y + +# Enable hardware stack protection +CONFIG_HW_STACK_PROTECTION=y + +# Enable TrustZone-M +CONFIG_ARM_TRUSTZONE_M=y + +# enable GPIO +CONFIG_GPIO=y + +# Enable uart driver +CONFIG_SERIAL=y + +# enable console +CONFIG_CONSOLE=y +CONFIG_UART_CONSOLE=y + +CONFIG_PINCTRL=y diff --git a/boards/arm/actinius_icarus_som_dk/actinius_icarus_som_dk_ns.dts b/boards/arm/actinius_icarus_som_dk/actinius_icarus_som_dk_ns.dts new file mode 100644 index 00000000000..8ada6bcc3bc --- /dev/null +++ b/boards/arm/actinius_icarus_som_dk/actinius_icarus_som_dk_ns.dts @@ -0,0 +1,17 @@ +/* + * Copyright (c) 2022 Actinius + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/dts-v1/; +#include +#include "actinius_icarus_som_dk_common.dts" + +/ { + chosen { + zephyr,flash = &flash0; + zephyr,sram = &sram0_ns; + zephyr,code-partition = &slot0_ns_partition; + }; +}; diff --git a/boards/arm/actinius_icarus_som_dk/actinius_icarus_som_dk_ns.yaml b/boards/arm/actinius_icarus_som_dk/actinius_icarus_som_dk_ns.yaml new file mode 100644 index 00000000000..1d966832c87 --- /dev/null +++ b/boards/arm/actinius_icarus_som_dk/actinius_icarus_som_dk_ns.yaml @@ -0,0 +1,21 @@ +identifier: actinius_icarus_som_dk_ns +name: Actinius Icarus SoM DK Non-Secure +type: mcu +arch: arm +toolchain: + - gnuarmemb + - xtools + - zephyr +ram: 128 +flash: 192 +supported: + - gpio + - i2c + - pwm + - spi + - watchdog + - counter + - arduino_gpio + - arduino_i2c + - arduino_serial + - arduino_spi diff --git a/boards/arm/actinius_icarus_som_dk/actinius_icarus_som_dk_ns_defconfig b/boards/arm/actinius_icarus_som_dk/actinius_icarus_som_dk_ns_defconfig new file mode 100644 index 00000000000..77d7eac9e7e --- /dev/null +++ b/boards/arm/actinius_icarus_som_dk/actinius_icarus_som_dk_ns_defconfig @@ -0,0 +1,29 @@ +# SPDX-License-Identifier: Apache-2.0 + +CONFIG_SOC_SERIES_NRF91X=y +CONFIG_SOC_NRF9160_SICA=y +CONFIG_BOARD_ACTINIUS_ICARUS_SOM_DK_NS=y + +# Enable MPU +CONFIG_ARM_MPU=y + +# Enable hardware stack protection +CONFIG_HW_STACK_PROTECTION=y + +# Enable TrustZone-M +CONFIG_ARM_TRUSTZONE_M=y + +# This Board implies building Non-Secure firmware +CONFIG_TRUSTED_EXECUTION_NONSECURE=y + +# enable GPIO +CONFIG_GPIO=y + +# Enable uart driver +CONFIG_SERIAL=y + +# enable console +CONFIG_CONSOLE=y +CONFIG_UART_CONSOLE=y + +CONFIG_PINCTRL=y diff --git a/boards/arm/actinius_icarus_som_dk/actinius_icarus_som_dk_partition_conf.dts b/boards/arm/actinius_icarus_som_dk/actinius_icarus_som_dk_partition_conf.dts new file mode 100644 index 00000000000..0d581732694 --- /dev/null +++ b/boards/arm/actinius_icarus_som_dk/actinius_icarus_som_dk_partition_conf.dts @@ -0,0 +1,58 @@ +/* + * Copyright (c) 2022 Actinius + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/* + * Default Flash planning for actinius_icarus_som_dk. + * + * Zephyr build for nRF9160 with ARM TrustZone-M support, + * implies building Secure and Non-Secure Zephyr images. + * + * Secure image will be placed, by default, in flash0 + * (or in slot0, if MCUboot is present). + * Secure image will use sram0 for system memory. + * + * Non-Secure image will be placed in slot0_ns, and use + * sram0_ns for system memory. + * + * Note that the Secure image only requires knowledge of + * the beginning of the Non-Secure image (not its size). + */ + +&slot0_partition { + reg = <0x00010000 0x40000>; +}; + +&slot0_ns_partition { + reg = <0x00050000 0x30000>; +}; + +&slot1_partition { + reg = <0x00080000 0x40000>; +}; + +&slot1_ns_partition { + reg = <0x000c0000 0x30000>; +}; + +/* Default SRAM planning when building for nRF9160 with + * ARM TrustZone-M support + * - Lowest 88 kB SRAM allocated to Secure image (sram0_s). + * - 40 kB SRAM reserved for and used by the modem library + * (sram0_modem). This memory is Non-Secure. + * - Upper 128 kB allocated to Non-Secure image (sram0_ns). + */ + +&sram0_s { + reg = <0x20000000 DT_SIZE_K(88)>; +}; + +&sram0_modem { + reg = <0x20016000 DT_SIZE_K(40)>; +}; + +&sram0_ns { + reg = <0x20020000 DT_SIZE_K(128)>; +}; diff --git a/boards/arm/actinius_icarus_som_dk/arduino_connector.dtsi b/boards/arm/actinius_icarus_som_dk/arduino_connector.dtsi new file mode 100644 index 00000000000..a22fe22a37b --- /dev/null +++ b/boards/arm/actinius_icarus_som_dk/arduino_connector.dtsi @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2020 Actinius + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/ { + arduino_header: arduino_connector { + compatible = "arduino-header-r3"; + #gpio-cells = <2>; + gpio-map-mask = <0xffffffff 0xffffffc0>; + gpio-map-pass-thru = <0 0x3f>; + gpio-map = <0 0 &gpio0 15 0>, /* A0 */ + <1 0 &gpio0 16 0>, /* A1 */ + <2 0 &gpio0 17 0>, /* A2 */ + <3 0 &gpio0 18 0>, /* A3 */ + <4 0 &gpio0 19 0>, /* A4 */ + <5 0 &gpio0 20 0>, /* A5 */ + <6 0 &gpio0 4 0>, /* D0 */ + <7 0 &gpio0 5 0>, /* D1 */ + <8 0 &gpio0 2 0>, /* D2 */ + <9 0 &gpio0 1 0>, /* D3 */ + <10 0 &gpio0 23 0>, /* D4 */ + <11 0 &gpio0 0 0>, /* D5 */ + <12 0 &gpio0 26 0>, /* D6 */ + <13 0 &gpio0 27 0>, /* D7 */ + <14 0 &gpio0 30 0>, /* D8 */ + <15 0 &gpio0 31 0>, /* D9 */ + <16 0 &gpio0 7 0>, /* D10 */ + <17 0 &gpio0 13 0>, /* D11 */ + <18 0 &gpio0 14 0>, /* D12 */ + <19 0 &gpio0 3 0>, /* D13 */ + <20 0 &gpio0 10 0>, /* SDA */ + <21 0 &gpio0 11 0>; /* SCL */ + }; + + arduino_adc: analog_connector { + compatible = "arduino,uno-adc"; + #io-channel-cells = <1>; + io-channel-map = <0 &adc 2>, /* A0 = P0.15 = AIN2 */ + <1 &adc 3>, /* A1 = P0.16 = AIN3 */ + <2 &adc 4>, /* A2 = P0.17 = AIN4 */ + <3 &adc 5>, /* A3 = P0.18 = AIN5 */ + <4 &adc 6>, /* A4 = P0.19 = AIN6 */ + <5 &adc 7>; /* A5 = P0.20 = AIN7 */ + }; +}; + +arduino_serial: &uart0 { }; +arduino_i2c: &i2c2 { }; +arduino_spi: &spi3 { }; diff --git a/boards/arm/actinius_icarus_som_dk/board.cmake b/boards/arm/actinius_icarus_som_dk/board.cmake new file mode 100644 index 00000000000..9c0c33243af --- /dev/null +++ b/boards/arm/actinius_icarus_som_dk/board.cmake @@ -0,0 +1,5 @@ +# SPDX-License-Identifier: Apache-2.0 + +board_runner_args(jlink "--device=nRF9160_xxAA" "--speed=4000") +include(${ZEPHYR_BASE}/boards/common/nrfjprog.board.cmake) +include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake) diff --git a/boards/arm/actinius_icarus_som_dk/doc/img/icarus-som-dk-block-diagram.jpg b/boards/arm/actinius_icarus_som_dk/doc/img/icarus-som-dk-block-diagram.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e85d52769ae89fe2df8b2fcc9a36f6f94bc3928b GIT binary patch literal 79246 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%0DyxOE~_PM5^t@kG$~(t?sY6Y=U;7CB9D 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 literal 0 HcmV?d00001 diff --git a/boards/arm/actinius_icarus_som_dk/doc/img/icarus-som-dk.jpg b/boards/arm/actinius_icarus_som_dk/doc/img/icarus-som-dk.jpg new file mode 100644 index 0000000000000000000000000000000000000000..feb8d7fb3b1404ab725742b0e8b3827c51ec838b GIT binary patch literal 85642 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 R8I)u>M5koLn8N@6CIHwm&JzFt literal 0 HcmV?d00001 diff --git a/boards/arm/actinius_icarus_som_dk/doc/index.rst b/boards/arm/actinius_icarus_som_dk/doc/index.rst new file mode 100644 index 00000000000..94cda9e5c02 --- /dev/null +++ b/boards/arm/actinius_icarus_som_dk/doc/index.rst @@ -0,0 +1,245 @@ +.. _actinius_icarus_som_dk: + +Actinius Icarus SoM DK +###################### + +Overview +******** + +.. figure:: img/icarus-som-dk.jpg + :width: 450px + :align: center + :alt: Icarus SoM DK + + Icarus SoM Development Kit (nRF9160) + +The Icarus SoM DK is a single board development kit for +evaluation and development on the Icarus SoM (`Icarus SoM Docs`_). +The Icarus SoM features the nRF9160 SiP from Nordic Semiconductor, +a low-power 3-axis accelerometer and an on-board eSIM. +The development kit provides interfacing to the SoM through USB-C, +a set of user LEDs, a reset and a user button, a battery charging port, +and a external nano SIM connector. +The board is also Arduino Uno Rev3 compatible which makes +using external shields possible. + +The main uController is the Nordic Semiconductor nRF9160, with +ARM Cortex-M33F CPU, ARMv8-M Security Extension and the +following devices (provided directly by Nordic): + +* :abbr:`ADC (Analog to Digital Converter)` +* CLOCK +* FLASH +* :abbr:`GPIO (General Purpose Input Output)` +* :abbr:`I2C (Inter-Integrated Circuit)` +* :abbr:`MPU (Memory Protection Unit)` +* :abbr:`NVIC (Nested Vectored Interrupt Controller)` +* :abbr:`PWM (Pulse Width Modulation)` +* :abbr:`RTC (nRF RTC System Clock)` +* Segger RTT (RTT Console) +* :abbr:`SPI (Serial Peripheral Interface)` +* :abbr:`UARTE (Universal asynchronous receiver-transmitter with EasyDMA)` +* :abbr:`WDT (Watchdog Timer)` +* :abbr:`IDAU (Implementation Defined Attribution Unit)` + +.. figure:: img/icarus-som-dk-block-diagram.jpg + :width: 450px + :align: center + :alt: Icarus SoM DK Block Diagram + + Icarus SoM DK Block Diagram + +Hardware +******** + +The detailed information about the on-board hardware can be found at the `Icarus SoM Product Website`_ +and the `Icarus SoM DK Product Website`_. + +Pin description +=============== + +External Pins available to user: + ++----+-------+------------------------------------+------------------+ +| # | Label | Description | Device-tree node | ++====+=======+====================================+==================+ +| 1 | NC | Not Connected | - | ++----+-------+------------------------------------+------------------+ +| 2 | IOREF | I/O reference, connected to 3.3V | - | ++----+-------+------------------------------------+------------------+ +| 3 | RST | Reset of the nRF9160 | - | ++----+-------+------------------------------------+------------------+ +| 4 | 3.3V | 3.3V Power output | - | ++----+-------+------------------------------------+------------------+ +| 5 | 4.4V | Power output between Vbat and 4.4V | - | ++----+-------+------------------------------------+------------------+ +| 6 | GND | Ground pin | - | ++----+-------+------------------------------------+------------------+ +| 7 | GND | Ground pin | - | ++----+-------+------------------------------------+------------------+ +| 8 | VIN | Power input pin (4.35V to 10.5V) | - | ++----+-------+------------------------------------+------------------+ +| 9 | A2 | AIN2 / nRF9160 P0.15 | gpio0 | ++----+-------+------------------------------------+------------------+ +| 10 | A3 | AIN3 / nRF9160 P0.16 | gpio0 | ++----+-------+------------------------------------+------------------+ +| 11 | A4 | AIN4 / nRF9160 P0.17 | gpio0 | ++----+-------+------------------------------------+------------------+ +| 12 | A5 | AIN5 / nRF9160 P0.18 | gpio0 | ++----+-------+------------------------------------+------------------+ +| 13 | A6 | AIN6 / nRF9160 P0.19 | gpio0 | ++----+-------+------------------------------------+------------------+ +| 14 | A7 | AIN7 / nRF9160 P0.20 | gpio0 | ++----+-------+------------------------------------+------------------+ +| 15 | P4 | nRF9160 P0.04 | gpio0 | ++----+-------+------------------------------------+------------------+ +| 16 | P5 | nRF9160 P0.05 | gpio0 | ++----+-------+------------------------------------+------------------+ +| 17 | P2 | nRF9160 P0.02 | gpio0 | ++----+-------+------------------------------------+------------------+ +| 18 | P1 | nRF9160 P0.01 | gpio0 | ++----+-------+------------------------------------+------------------+ +| 19 | P23 | nRF9160 P0.23 | gpio0 | ++----+-------+------------------------------------+------------------+ +| 20 | P0 | nRF9160 P0.00 | gpio0 | ++----+-------+------------------------------------+------------------+ +| 21 | P26 | nRF9160 P0.26 | gpio0 | ++----+-------+------------------------------------+------------------+ +| 22 | P27 | nRF9160 P0.27 | gpio0 | ++----+-------+------------------------------------+------------------+ +| 23 | P30 | nRF9160 P0.30 | gpio0 | ++----+-------+------------------------------------+------------------+ +| 24 | P31 | nRF9160 P0.31 | gpio0 | ++----+-------+------------------------------------+------------------+ +| 25 | P7 | nRF9160 P0.07 | gpio0 | ++----+-------+------------------------------------+------------------+ +| 26 | P13 | nRF9160 P0.13 or NC (Jumper-dependent) | gpio0 | ++----+-------+------------------------------------+------------------+ +| 27 | P14 | nRF9160 P0.14 or NC (Jumper-dependent) | gpio0 | ++----+-------+------------------------------------+------------------+ +| 28 | P3 | nRF9160 P0.03 | gpio0 | ++----+-------+------------------------------------+------------------+ +| 29 | GND | Ground pin | - | ++----+-------+------------------------------------+------------------+ +| 30 | AREF | NC or AIN1 (Jumper-dependent) | gpio0 | ++----+-------+------------------------------------+------------------+ +| 31 | SDA | I2C SDA pin | i2c2 | ++----+-------+------------------------------------+------------------+ +| 32 | SCL | I2C SCL pin | i2c2 | ++----+-------+------------------------------------+------------------+ +| - | TS | Pin for optional battery thermistor| - | ++----+-------+------------------------------------+------------------+ +| - | CHG | Pin for battery charging indication| - | ++----+-------+------------------------------------+------------------+ +| - | CE | Pin for enabling/disabling charging| - | ++----+-------+------------------------------------+------------------+ + + +nRF9160 pins connected internally: + ++--------------+------------------------------+---------------------+ +| nRF9160 pin | Function | Device-tree node | ++==============+==============================+=====================+ +| P0.03 | Blue LED | led0 / pwm-led0 | ++--------------+------------------------------+---------------------+ +| P0.08 | NeoPixel RGB LED | spi1 | ++--------------+------------------------------+---------------------+ +| P0.12 | SIM select pin | gpio0 | ++--------------+------------------------------+---------------------+ +| P0.23 | Connected to the user button | gpio0 / button0 | ++--------------+------------------------------+---------------------+ +| P0.24 | SPI NOR Flash chip select | gpio0 / spi3 | ++--------------+------------------------------+---------------------+ +| P0.28 | Accelerometer Interrupt 2 | lis2dh12-accel | ++--------------+------------------------------+---------------------+ +| P0.29 | Accelerometer Interrupt 1 | lis2dh12-accel | ++--------------+------------------------------+---------------------+ + +Supported Features +================== + +The actinius_icarus_som_dk board configuration supports the following +hardware features: + ++-----------+------------+----------------------+ +| Interface | Controller | Driver/Component | ++===========+============+======================+ +| ADC | on-chip | adc | ++-----------+------------+----------------------+ +| CLOCK | on-chip | clock_control | ++-----------+------------+----------------------+ +| FLASH | on-chip | flash | ++-----------+------------+----------------------+ +| GPIO | on-chip | gpio | ++-----------+------------+----------------------+ +| I2C(M) | on-chip | i2c | ++-----------+------------+----------------------+ +| MPU | on-chip | arch/arm | ++-----------+------------+----------------------+ +| NVIC | on-chip | arch/arm | ++-----------+------------+----------------------+ +| PWM | on-chip | pwm | ++-----------+------------+----------------------+ +| SPI(M/S) | on-chip | spi | ++-----------+------------+----------------------+ +| SPU | on-chip | system protection | ++-----------+------------+----------------------+ +| UARTE | on-chip | serial | ++-----------+------------+----------------------+ +| ACCEL | st | lis2dh | ++-----------+------------+----------------------+ + +SIM selection +************* + +The sim choice (eSIM or nano-SIM) can be configured in Devicetree by adjusting +the ``sim`` property in the ``sim_select`` node. + +Security components +=================== + +- Implementation Defined Attribution Unit (`IDAU`_). The IDAU is implemented + with the System Protection Unit and is used to define secure and non-secure + memory maps. By default, all of the memory space (Flash, SRAM, and + peripheral address space) is defined to be secure accessible only. +- Secure boot. + +Building Secure/Non-Secure Zephyr applications +============================================== + +The process requires the following steps: + +1. Build the Secure Zephyr application using ``-DBOARD=actinius_icarus_som_dk``. +2. Build the Non-Secure Zephyr application using ``-DBOARD=actinius_icarus_som_dk_ns``. +3. Merge the two binaries together. + +If you are using Segger Embedded Studio v4.18 or later, the two binaries are built, merged, and +burned automatically, unless you have disabled the feature. + +When building a Secure/Non-Secure application, the Secure application will +have to set the IDAU (SPU) configuration to allow Non-Secure access to all +CPU resources utilized by the Non-Secure application firmware. SPU +configuration shall take place before jumping to the Non-Secure application. + +More information can be found in the `Icarus SoM Product Website`_, +the `Icarus SoM DK Product Website`_ or the `Actinius Documentation Portal`_. + +References +********** + +.. target-notes:: + +.. _IDAU: + https://developer.arm.com/docs/100690/latest/attribution-units-sau-and-idau + +.. _Icarus SoM Product Website: + https://www.actinius.com/icarus-som + +.. _Icarus SoM DK Product Website: + https://www.actinius.com/icarus-som-dk + +.. _Icarus SoM Docs: + https://docs.actinius.com/icarus-som/introduction + +.. _Actinius Documentation Portal: + https://docs.actinius.com diff --git a/boards/arm/actinius_icarus_som_dk/dts/bindings/actinius-sim-select.yaml b/boards/arm/actinius_icarus_som_dk/dts/bindings/actinius-sim-select.yaml new file mode 100644 index 00000000000..f69c4c9f5d9 --- /dev/null +++ b/boards/arm/actinius_icarus_som_dk/dts/bindings/actinius-sim-select.yaml @@ -0,0 +1,26 @@ +# Copyright (c) 2022 Nordic Semiconductor ASA +# SPDX-License-Identifier: Apache-2.0 + +description: | + The Icarus boards provide the user with 2 options regarding SIM usage for + LTE-M/NB-IoT communication. Either using the on-board eSIM or using an + external nano-SIM. The SIM can be selected by changing the `sim` property + of the `sim_select` dt node to `esim` or `external`. + +compatible: "actinius-sim-select" + +include: base.yaml + +properties: + sim-gpios: + type: phandle-array + required: true + description: Pin used to select the SIM + + sim: + type: string + required: true + enum: + - "esim" + - "external" + description: SIM choice (eSIM or external nano-SIM) diff --git a/boards/arm/actinius_icarus_som_dk/pre_dt_board.cmake b/boards/arm/actinius_icarus_som_dk/pre_dt_board.cmake new file mode 100644 index 00000000000..c8267afd1b4 --- /dev/null +++ b/boards/arm/actinius_icarus_som_dk/pre_dt_board.cmake @@ -0,0 +1,7 @@ +# Copyright (c) 2021 Linaro Limited +# SPDX-License-Identifier: Apache-2.0 + +# Suppress "unique_unit_address_if_enabled" to handle the following overlaps: +# - flash-controller@39000 & kmu@39000 +# - power@5000 & clock@5000 +list(APPEND EXTRA_DTC_FLAGS "-Wno-unique_unit_address_if_enabled") diff --git a/boards/common/actinius/CMakeLists.txt b/boards/common/actinius/CMakeLists.txt new file mode 100644 index 00000000000..7f4149d86a5 --- /dev/null +++ b/boards/common/actinius/CMakeLists.txt @@ -0,0 +1,8 @@ +# +# Copyright (c) 2021-2022 Actinius +# +# SPDX-License-Identifier: Apache-2.0 + +zephyr_library() + +zephyr_library_sources(actinius_board_common.c) diff --git a/boards/common/actinius/Kconfig b/boards/common/actinius/Kconfig new file mode 100644 index 00000000000..810f49dfb6e --- /dev/null +++ b/boards/common/actinius/Kconfig @@ -0,0 +1,12 @@ +# Copyright (c) 2022 Actinius +# SPDX-License-Identifier: Apache-2.0 + +config ACTINIUS_BOARD_CONTROL_INIT_PRIORITY + int "Init priority" + default 99 + help + Sets the init priority for the Board Control module. + +module = ACTINIUS_BOARD_CONTROL +module-str = Board Control +source "subsys/logging/Kconfig.template.log_config" diff --git a/boards/common/actinius/actinius_board_common.c b/boards/common/actinius/actinius_board_common.c new file mode 100644 index 00000000000..b0a770319ca --- /dev/null +++ b/boards/common/actinius/actinius_board_common.c @@ -0,0 +1,98 @@ +/* + * Copyright (c) 2021-2022 Actinius + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include +#include +#include +#include + +#if DT_HAS_COMPAT_STATUS_OKAY(actinius_sim_select) \ + || DT_HAS_COMPAT_STATUS_OKAY(actinius_charger_enable) + +LOG_MODULE_REGISTER(actinius_board_control, + CONFIG_ACTINIUS_BOARD_CONTROL_LOG_LEVEL); + +#define SIM_SELECT_NODE DT_NODELABEL(sim_select) +#define CHARGER_ENABLE_NODE DT_NODELABEL(charger_enable) + +#if DT_HAS_COMPAT_STATUS_OKAY(actinius_sim_select) +static int actinius_board_set_sim_select(void) +{ + const struct gpio_dt_spec sim = + GPIO_DT_SPEC_GET(SIM_SELECT_NODE, sim_gpios); + + if (!device_is_ready(sim.port)) { + LOG_ERR("The SIM Select Pin port is not ready"); + + return -ENODEV; + } + + if (DT_ENUM_IDX(SIM_SELECT_NODE, sim) == 0) { + (void)gpio_pin_configure_dt(&sim, GPIO_OUTPUT_HIGH); + LOG_INF("eSIM is selected"); + } else { + (void)gpio_pin_configure_dt(&sim, GPIO_OUTPUT_LOW); + LOG_INF("External SIM is selected"); + } + + return 0; +} +#endif /* SIM_SELECT */ + +#if DT_HAS_COMPAT_STATUS_OKAY(actinius_charger_enable) +static int actinius_board_set_charger_enable(void) +{ + const struct gpio_dt_spec charger_en = + GPIO_DT_SPEC_GET(CHARGER_ENABLE_NODE, gpios); + + if (!device_is_ready(charger_en.port)) { + LOG_ERR("The Charger Enable Pin port is not ready"); + return -ENODEV; + } + + if (DT_ENUM_IDX(CHARGER_ENABLE_NODE, charger) == 0) { + (void)gpio_pin_configure_dt(&charger_en, GPIO_OUTPUT_LOW); + LOG_INF("Charger is set to auto"); + } else { + (void)gpio_pin_configure_dt(&charger_en, GPIO_OUTPUT_HIGH); + LOG_INF("Charger is disabled"); + } + + return 0; +} +#endif /* CHARGER_ENABLE */ + +static int actinius_board_init(const struct device *dev) +{ + ARG_UNUSED(dev); + + int result = 0; + +#if DT_HAS_COMPAT_STATUS_OKAY(actinius_sim_select) + result = actinius_board_set_sim_select(); + if (result < 0) { + LOG_ERR("Failed to set the SIM Select Pin (error: %d)", result); + /* do not return so that the rest of the init process is attempted */ + } +#endif + +#if DT_HAS_COMPAT_STATUS_OKAY(actinius_charger_enable) + result = actinius_board_set_charger_enable(); + if (result < 0) { + LOG_ERR("Failed to set the Charger Enable Pin (error: %d)", result); + /* do not return so that the rest of the init process is attempted */ + } +#endif + + return result; +} + +/* Needs to happen after GPIO driver init */ +SYS_INIT(actinius_board_init, + POST_KERNEL, + CONFIG_ACTINIUS_BOARD_CONTROL_INIT_PRIORITY); + +#endif /* SIM_SELECT || CHARGER_ENABLE */