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
3 changes: 3 additions & 0 deletions .github/test-spec.yml
Original file line number Diff line number Diff line change
Expand Up @@ -584,6 +584,8 @@

"CI-test-low-level":
- "applications/sdp/**/*"
- "boards/nordic/nrf54lm20apdk/**/*"
- "boards/nordic/nrf54lv10apdk/**/*"
- "drivers/gpio/**/*"
- "dts/bindings/gpio/**/*"
- "include/drivers/gpio/**/*"
Expand All @@ -601,6 +603,7 @@
- "samples/zephyr/subsys/settings/**/*"
- "snippets/sdp/**/*"
- "snippets/nrf54l09-switch-uart/**/*"
- "soc/nordic/nrf54l/**/*"
- "tests/benchmarks/multicore/idle/**/*"
- "tests/drivers/audio/**/*"
- "tests/drivers/gpio/**/*"
Expand Down
1 change: 1 addition & 0 deletions CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@

# Boards
/boards/nordic/nrf7120pdk/ @nrfconnect/ncs-co-boards @rob-robinson-14 @Hi-Im-David
/boards/nordic/nrf54l*/ @nrfconnect/ncs-co-boards @kl-cruz
/boards/nordic/nrf52* @nrfconnect/ncs-co-boards @nrfconnect/ncs-si-bluebagel
/boards/nordic/thingy91* @nrfconnect/ncs-co-boards @nrfconnect/ncs-cia
/boards/shields/coverage_support/ @nrfconnect/ncs-low-level-test
Expand Down
12 changes: 12 additions & 0 deletions boards/nordic/nrf54lm20apdk/Kconfig.defconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Copyright (c) 2024 Nordic Semiconductor ASA
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause

if BOARD_NRF54LM20APDK_NRF54LM20A_CPUAPP

config ROM_START_OFFSET
default 0x800 if BOOTLOADER_MCUBOOT

config SOC_NRF54LX_SKIP_GLITCHDETECTOR_DISABLE
default y

endif # BOARD_NRF54LM20APDK_NRF54LM20A_CPUAPP
5 changes: 5 additions & 0 deletions boards/nordic/nrf54lm20apdk/Kconfig.nrf54lm20apdk
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Copyright (c) 2024 Nordic Semiconductor ASA
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause

config BOARD_NRF54LM20APDK
select SOC_NRF54LM20A_ENGA_CPUAPP if BOARD_NRF54LM20APDK_NRF54LM20A_CPUAPP
7 changes: 7 additions & 0 deletions boards/nordic/nrf54lm20apdk/board.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Copyright (c) 2024 Nordic Semiconductor ASA
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause

board_runner_args(jlink "--device=cortex-m33" "--speed=4000")

include(${ZEPHYR_BASE}/boards/common/nrfutil.board.cmake)
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
6 changes: 6 additions & 0 deletions boards/nordic/nrf54lm20apdk/board.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
board:
name: nrf54lm20apdk
full_name: nRF54LM20A PDK
vendor: nordic
socs:
- name: nrf54lm20a
127 changes: 127 additions & 0 deletions boards/nordic/nrf54lm20apdk/nrf54lm20a_cpuapp_common.dtsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
/*
* Copyright (c) 2024 Nordic Semiconductor ASA
*
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
*/

/* This file is common to the secure and non-secure domain */

#include <nordic/nrf54lm20a_enga_cpuapp.dtsi>
#include "nrf54lm20apdk_nrf54lm20a-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,bt-hci = &bt_hci_controller;
zephyr,ieee802154 = &ieee802154;
};
};

&cpuapp_sram {
status = "okay";
};

&hfpll {
/* For now use 64 MHz clock for CPU and fast peripherals. */
clock-frequency = <DT_FREQ_M(64)>;
};

&lfxo {
load-capacitors = "internal";
load-capacitance-femtofarad = <15500>;
};

&hfxo {
load-capacitors = "internal";
load-capacitance-femtofarad = <15000>;
};

&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(449)>;
};

slot0_ns_partition: partition@80400 {
label = "image-0-nonsecure";
reg = <0x80400 DT_SIZE_K(449)>;
};

slot1_partition: partition@f0800 {
label = "image-1";
reg = <0xf0800 DT_SIZE_K(449)>;
};

slot1_ns_partition: partition@160c00 {
label = "image-1-nonsecure";
reg = <0x160c00 DT_SIZE_K(449)>;
};
};
};

&uart20 {
status = "okay";
};

&gpio0 {
status = "okay";
};

&gpio1 {
status = "okay";
};

&gpio2 {
status = "okay";
};

&gpiote20 {
status = "okay";
};

&gpiote30 {
status = "okay";
};

&radio {
status = "okay";
};

&temp {
status = "okay";
};

&clock {
status = "okay";
};

&bt_hci_controller {
status = "okay";
};

&ieee802154 {
status = "okay";
};
102 changes: 102 additions & 0 deletions boards/nordic/nrf54lm20apdk/nrf54lm20apdk_nrf54lm20a-common.dtsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
/*
* Copyright (c) 2024 Nordic Semiconductor ASA
*
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
*/

#include "nrf54lm20apdk_nrf54lm20a-pinctrl.dtsi"

/ {
leds {
compatible = "gpio-leds";

led0: led_0 {
gpios = <&gpio2 10 GPIO_ACTIVE_HIGH>;
label = "Green LED 0";
};

led1: led_1 {
gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
label = "Green LED 1";
};

led2: led_2 {
gpios = <&gpio0 2 GPIO_ACTIVE_HIGH>;
label = "Green LED 2";
};

led3: led_3 {
gpios = <&gpio1 7 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/P3.
* Only LEDs connected to P1/P3 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 = <INPUT_KEY_0>;
};

button1: button_1 {
gpios = <&gpio1 9 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
label = "Push button 1";
zephyr,code = <INPUT_KEY_1>;
};

button2: button_2 {
gpios = <&gpio1 8 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
label = "Push button 2";
zephyr,code = <INPUT_KEY_2>;
};

button3: button_3 {
gpios = <&gpio0 4 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
label = "Push button 3";
zephyr,code = <INPUT_KEY_3>;
};
};

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";
};

&pwm20 {
status = "okay";
pinctrl-0 = <&pwm20_default>;
pinctrl-1 = <&pwm20_sleep>;
pinctrl-names = "default", "sleep";
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
/*
* Copyright (c) 2024 Nordic Semiconductor
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
*/

&pinctrl {
/omit-if-no-ref/ uart20_default: uart20_default {
group1 {
psels = <NRF_PSEL(UART_TX, 1, 4)>;
};

group2 {
psels = <NRF_PSEL(UART_RX, 1, 5)>;
bias-pull-up;
};
};

/omit-if-no-ref/ uart20_sleep: uart20_sleep {
group1 {
psels = <NRF_PSEL(UART_TX, 1, 4)>,
<NRF_PSEL(UART_RX, 1, 5)>;
low-power-enable;
};
};

/omit-if-no-ref/ pwm20_default: pwm20_default {
group1 {
psels = <NRF_PSEL(PWM_OUT0, 1, 7)>;
};
};

/omit-if-no-ref/ pwm20_sleep: pwm20_sleep {
group1 {
psels = <NRF_PSEL(PWM_OUT0, 1, 7)>;
low-power-enable;
};
};
};
19 changes: 19 additions & 0 deletions boards/nordic/nrf54lm20apdk/nrf54lm20apdk_nrf54lm20a_cpuapp.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/*
* Copyright (c) 2024 Nordic Semiconductor ASA
*
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
*/

/dts-v1/;

#include "nrf54lm20a_cpuapp_common.dtsi"

/ {
compatible = "nordic,nrf54lm20apdk_nrf54lm20a-cpuapp";
model = "Nordic nRF54LM20A PDK nRF54LM20A Application MCU";

chosen {
zephyr,code-partition = &slot0_partition;
zephyr,sram = &cpuapp_sram;
};
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Copyright (c) 2024 Nordic Semiconductor ASA
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause

identifier: nrf54lm20apdk/nrf54lm20a/cpuapp
name: nRF54LM20A-PDK-nRF54LM20A-Application
type: mcu
arch: arm
toolchain:
- gnuarmemb
- zephyr
sysbuild: true
ram: 512
flash: 449
supported:
- adc
- counter
- dmic
- gpio
- i2c
- pwm
- watchdog
Loading