Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 3 additions & 14 deletions boards/arm/actinius_icarus/actinius_icarus_common.dts
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@
green-pwm-led = &green_pwm_led;
blue-pwm-led = &blue_pwm_led;
sw0 = &button0;
bootloader-led0 = &green_pwm_led;
};

vbatt {
Expand Down Expand Up @@ -157,18 +158,6 @@
ch2-inverted;
};

&pwm1 {
status = "okay";
};

&pwm2 {
status = "okay";
};

&pwm3 {
status = "okay";
};

&timer0 {
status = "okay";
};
Expand Down Expand Up @@ -225,8 +214,8 @@
/* Secure image memory */
};

sram0_bsd: image_bsd@20010000 {
/* BSD (shared) memory */
sram0_modem: image_modem@20010000 {
/* Modem (shared) memory */
};

sram0_ns: image_ns@20020000 {
Expand Down
6 changes: 3 additions & 3 deletions boards/arm/actinius_icarus/actinius_icarus_partition_conf.dts
Original file line number Diff line number Diff line change
Expand Up @@ -40,16 +40,16 @@
/* Default SRAM planning when building for nRF9160 with
* ARM TrustZone-M support
* - Lowest 64 kB SRAM allocated to Secure image (sram0_s).
* - 64 kB SRAM reserved for and used by the BSD socket
* library (sram0_bsd).
* - 64 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(64)>;
};

&sram0_bsd {
&sram0_modem {
reg = <0x20010000 DT_SIZE_K(64)>;
};

Expand Down
7 changes: 7 additions & 0 deletions boards/arm/actinius_icarus_bee/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#
# Copyright (c) 2021 Actinius
#
# SPDX-License-Identifier: Apache-2.0

zephyr_library()
zephyr_library_sources(board.c)
17 changes: 17 additions & 0 deletions boards/arm/actinius_icarus_bee/Kconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Actinius Icarus board configuration

# Copyright (c) 2021 Actinius
# SPDX-License-Identifier: Apache-2.0

if BOARD_ACTINIUS_ICARUS_BEE || BOARD_ACTINIUS_ICARUS_BEE_NS

config BOARD_SELECT_SIM_EXTERNAL
bool "Use external SIM"
help
Use the external SIM for communication, instead of the eSIM

module = BOARD_ICARUS_BEE
module-str = Board Control
source "subsys/logging/Kconfig.template.log_config"

endif # BOARD_ACTINIUS_ICARUS_BEE || BOARD_ACTINIUS_ICARUS_BEE_NS
14 changes: 14 additions & 0 deletions boards/arm/actinius_icarus_bee/Kconfig.board
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Actinius Icarus Bee board configuration

# Copyright (c) 2021 Actinius
# SPDX-License-Identifier: Apache-2.0

if SOC_NRF9160_SICA

config BOARD_ACTINIUS_ICARUS_BEE
bool "Actinius Icarus Bee"

config BOARD_ACTINIUS_ICARUS_BEE_NS
bool "Actinius Icarus Bee Non-Secure"

endif # SOC_NRF9160_SICA
38 changes: 38 additions & 0 deletions boards/arm/actinius_icarus_bee/Kconfig.defconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Actinius Icarus Bee board configuration

# Copyright (c) 2021 Actinius
# SPDX-License-Identifier: Apache-2.0

if BOARD_ACTINIUS_ICARUS_BEE || BOARD_ACTINIUS_ICARUS_BEE_NS

config BOARD
default "actinius_icarus_bee"

# 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_BEE && TRUSTED_EXECUTION_SECURE

if BOARD_ACTINIUS_ICARUS_BEE_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_BEE_NS

endif # BOARD_ACTINIUS_ICARUS_BEE || BOARD_ACTINIUS_ICARUS_BEE_NS
19 changes: 19 additions & 0 deletions boards/arm/actinius_icarus_bee/actinius_icarus_bee.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/*
* Copyright (c) 2021 Actinius
*
* SPDX-License-Identifier: Apache-2.0
*/

/dts-v1/;
#include <nordic/nrf9160_sica.dtsi>
#include "actinius_icarus_bee_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;
};
};
17 changes: 17 additions & 0 deletions boards/arm/actinius_icarus_bee/actinius_icarus_bee.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
identifier: actinius_icarus_bee
name: Actinius Icarus Bee
type: mcu
arch: arm
toolchain:
- gnuarmemb
- xtools
- zephyr
ram: 64
flash: 256
supported:
- gpio
- i2c
- pwm
- spi
- watchdog
- counter
221 changes: 221 additions & 0 deletions boards/arm/actinius_icarus_bee/actinius_icarus_bee_common.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,221 @@
/*
* Copyright (c) 2021 Actinius
*
* SPDX-License-Identifier: Apache-2.0
*/

/ {
model = "Actinius Icarus Bee";
compatible = "actinius,icarus_bee";

chosen {
zephyr,console = &uart0;
zephyr,shell-uart = &uart0;
zephyr,uart-mcumgr = &uart0;
};

leds {
compatible = "gpio-leds";

red_led: led_0 {
gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
label = "Red LED";
};

green_led: led_1 {
gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
label = "Green LED";
};

blue_led: led_2 {
gpios = <&gpio0 25 GPIO_ACTIVE_LOW>;
label = "Blue LED";
};
};

pwmleds {
compatible = "pwm-leds";

red_pwm_led: led_pwm_0 {
pwms = <&pwm0 21>;
label = "Red PWM LED";
};

green_pwm_led: led_pwm_1 {
pwms = <&pwm0 22>;
label = "Green PWM LED";
};

blue_pwm_led: led_pwm_2 {
pwms = <&pwm0 25>;
label = "Blue PWM LED";
};
};

buttons {
compatible = "gpio-keys";

button0: button_0 {
gpios = <&gpio0 4 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
label = "Push Button 1";
};
};

aliases {
led0 = &red_led;
led1 = &green_led;
led2 = &blue_led;
pwm-led0 = &red_pwm_led;
pwm-led1 = &green_pwm_led;
pwm-led2 = &blue_pwm_led;
red-pwm-led = &red_pwm_led;
green-pwm-led = &green_pwm_led;
blue-pwm-led = &blue_pwm_led;
sw0 = &button0;
bootloader-led0 = &green_pwm_led;
};
};

&adc {
status ="okay";
};

&gpiote {
status = "okay";
};

&gpio0 {
status = "okay";
};

&uart0 {
status = "okay";

current-speed = <115200>;
tx-pin = <2>;
rx-pin = <5>;
cts-pin = <14>;
rts-pin = <18>;
};

&i2c2 {
compatible = "nordic,nrf-twim";
status = "okay";

clock-frequency = <I2C_BITRATE_FAST>;
sda-pin = <10>;
scl-pin = <11>;

lis2dh12-accel@19 {
compatible = "st,lis2dh12", "st,lis2dh";
reg = <0x19>;
irq-gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>,
<&gpio0 29 GPIO_ACTIVE_HIGH>;
label = "LIS2DH12-ACCEL";
};
};

&spi3 {
compatible = "nordic,nrf-spim";
status = "okay";

sck-pin = <6>;
mosi-pin = <3>;
miso-pin = <8>;

cs-gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;

w25q64: w25q64jv@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <80000000>;
label = "W25Q64";
jedec-id = [ef 40 17];
size = <0x4000000>;
has-dpd;
t-enter-dpd = <3500>;
t-exit-dpd = <3500>;
};
};

&pwm0 {
status = "okay";

ch0-pin = <21>;
ch0-inverted;

ch1-pin = <22>;
ch1-inverted;

ch2-pin = <25>;
ch2-inverted;
};

&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@20010000 {
/* Modem (shared) memory */
};

sram0_ns: image_ns@20020000 {
/* Non-Secure image memory */
};
};
};

/* Include partition configuration file */
#include "actinius_icarus_bee_partition_conf.dts"
Loading