Skip to content

Commit 14f2897

Browse files
tokangasanangl
authored andcommitted
boards: sercomm: Add board configuration for TPM530M EVK
Added board configuration for TPM530M EVK. Signed-off-by: Tommi Kangas <[email protected]> (cherry picked from commit 8f2d583)
1 parent 2884ec1 commit 14f2897

14 files changed

+368
-0
lines changed

CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@
5454
/boards/nordic/nrf54l*/ @nrfconnect/ncs-co-boards @kl-cruz
5555
/boards/nordic/nrf52* @nrfconnect/ncs-co-boards @nrfconnect/ncs-si-bluebagel
5656
/boards/nordic/thingy91*/ @nrfconnect/ncs-co-boards @nrfconnect/ncs-cia
57+
/boards/sercomm/ @nrfconnect/ncs-co-boards @tokangas
5758

5859
**/shields/ @nrfconnect/ncs-co-build-system
5960

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# TPM530M EVK TPM530M board configuration
2+
3+
# Copyright (c) 2025 Nordic Semiconductor ASA
4+
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
6+
config HW_STACK_PROTECTION
7+
default ARCH_HAS_STACK_PROTECTION
8+
9+
if BOARD_TPM530MEVK_TPM530M || BOARD_TPM530MEVK_TPM530M_NS
10+
11+
config BOARD_TPM530MEVK
12+
select USE_DT_CODE_PARTITION if BOARD_TPM530MEVK_TPM530M_NS
13+
14+
endif # BOARD_TPM530MEVK_TPM530M || BOARD_TPM530MEVK_TPM530M_NS
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# TPM530M EVK TPM530M board configuration
2+
3+
# Copyright (c) 2025 Nordic Semiconductor ASA
4+
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
6+
config BOARD_TPM530MEVK
7+
select SOC_TPM530M

boards/sercomm/tpm530mevk/board.cmake

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
2+
3+
if(CONFIG_BOARD_TPM530MEVK_TPM530M_NS)
4+
set(TFM_PUBLIC_KEY_FORMAT "full")
5+
endif()
6+
7+
if(CONFIG_TFM_FLASH_MERGED_BINARY)
8+
set_property(TARGET runners_yaml_props_target PROPERTY hex_file tfm_merged.hex)
9+
endif()
10+
11+
board_runner_args(jlink "--device=nRF9151_xxCA" "--speed=4000")
12+
include(${ZEPHYR_BASE}/boards/common/nrfutil.board.cmake)
13+
include(${ZEPHYR_BASE}/boards/common/nrfjprog.board.cmake)
14+
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)

boards/sercomm/tpm530mevk/board.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
board:
2+
name: tpm530mevk
3+
full_name: TPM530M EVK
4+
vendor: sercomm
5+
socs:
6+
- name: tpm530m
7+
variants:
8+
- name: ns
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Copyright (c) 2025 Nordic Semiconductor ASA
2+
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
3+
4+
# Suppress "unique_unit_address_if_enabled" to handle the following overlaps:
5+
# - flash-controller@39000 & kmu@39000
6+
# - power@5000 & clock@5000
7+
list(APPEND EXTRA_DTC_FLAGS "-Wno-unique_unit_address_if_enabled")
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
/*
2+
* Copyright (c) 2025 Nordic Semiconductor ASA
3+
*
4+
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
*/
6+
7+
/dts-v1/;
8+
#include <sercomm/tpm530m.dtsi>
9+
#include "tpm530mevk_tpm530m_common.dtsi"
10+
11+
/ {
12+
chosen {
13+
zephyr,sram = &sram0_s;
14+
zephyr,flash = &flash0;
15+
zephyr,code-partition = &slot0_partition;
16+
zephyr,sram-secure-partition = &sram0_s;
17+
zephyr,sram-non-secure-partition = &sram0_ns;
18+
};
19+
};
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
identifier: tpm530mevk/tpm530m
2+
name: TPM530M-EVK-TPM530M
3+
type: mcu
4+
arch: arm
5+
toolchain:
6+
- gnuarmemb
7+
- zephyr
8+
ram: 88
9+
flash: 1024
10+
supported:
11+
- gpio
12+
- i2c
13+
- pwm
14+
- spi
15+
- watchdog
16+
- counter
17+
vendor: sercomm
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
/*
2+
* Copyright (c) 2025 Nordic Semiconductor ASA
3+
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
4+
*/
5+
6+
&pinctrl {
7+
uart0_default: uart0_default {
8+
group1 {
9+
psels = <NRF_PSEL(UART_TX, 0, 4)>,
10+
<NRF_PSEL(UART_RTS, 0, 7)>;
11+
};
12+
group2 {
13+
psels = <NRF_PSEL(UART_RX, 0, 5)>,
14+
<NRF_PSEL(UART_CTS, 0, 6)>;
15+
bias-pull-up;
16+
};
17+
};
18+
19+
uart0_sleep: uart0_sleep {
20+
group1 {
21+
psels = <NRF_PSEL(UART_TX, 0, 4)>,
22+
<NRF_PSEL(UART_RX, 0, 5)>,
23+
<NRF_PSEL(UART_RTS, 0, 7)>,
24+
<NRF_PSEL(UART_CTS, 0, 6)>;
25+
low-power-enable;
26+
};
27+
};
28+
29+
uart1_default: uart1_default {
30+
group1 {
31+
psels = <NRF_PSEL(UART_TX, 0, 8)>,
32+
<NRF_PSEL(UART_RTS, 0, 9)>;
33+
};
34+
group2 {
35+
psels = <NRF_PSEL(UART_RX, 0, 10)>,
36+
<NRF_PSEL(UART_CTS, 0, 11)>;
37+
bias-pull-up;
38+
};
39+
};
40+
41+
uart1_sleep: uart1_sleep {
42+
group1 {
43+
psels = <NRF_PSEL(UART_TX, 0, 8)>,
44+
<NRF_PSEL(UART_RX, 0, 10)>,
45+
<NRF_PSEL(UART_RTS, 0, 9)>,
46+
<NRF_PSEL(UART_CTS, 0, 11)>;
47+
low-power-enable;
48+
};
49+
};
50+
51+
i2c2_default: i2c2_default {
52+
group1 {
53+
psels = <NRF_PSEL(TWIM_SDA, 0, 26)>,
54+
<NRF_PSEL(TWIM_SCL, 0, 27)>;
55+
};
56+
};
57+
58+
i2c2_sleep: i2c2_sleep {
59+
group1 {
60+
psels = <NRF_PSEL(TWIM_SDA, 0, 26)>,
61+
<NRF_PSEL(TWIM_SCL, 0, 27)>;
62+
low-power-enable;
63+
};
64+
};
65+
66+
spi3_default: spi3_default {
67+
group1 {
68+
psels = <NRF_PSEL(SPIM_SCK, 0, 3)>,
69+
<NRF_PSEL(SPIM_MISO, 0, 1)>,
70+
<NRF_PSEL(SPIM_MOSI, 0, 2)>;
71+
};
72+
};
73+
74+
spi3_sleep: spi3_sleep {
75+
group1 {
76+
psels = <NRF_PSEL(SPIM_SCK, 0, 3)>,
77+
<NRF_PSEL(SPIM_MISO, 0, 1)>,
78+
<NRF_PSEL(SPIM_MOSI, 0, 2)>;
79+
low-power-enable;
80+
};
81+
};
82+
83+
pwm0_default: pwm0_default {
84+
group1 {
85+
psels = <NRF_PSEL(PWM_OUT0, 0, 31)>;
86+
};
87+
};
88+
89+
pwm0_sleep: pwm0_sleep {
90+
group1 {
91+
psels = <NRF_PSEL(PWM_OUT0, 0, 31)>;
92+
low-power-enable;
93+
};
94+
};
95+
};
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
/*
2+
* Copyright (c) 2025 Nordic Semiconductor ASA
3+
*
4+
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
*/
6+
#include "tpm530mevk_tpm530m_common-pinctrl.dtsi"
7+
#include <zephyr/dt-bindings/input/input-event-codes.h>
8+
9+
/ {
10+
model = "Sercomm TPM530M EVK TPM530M";
11+
compatible = "sercomm,tpm530m-evk-tpm530m";
12+
13+
chosen {
14+
zephyr,console = &uart0;
15+
zephyr,shell-uart = &uart0;
16+
zephyr,uart-mcumgr = &uart0;
17+
};
18+
19+
leds {
20+
compatible = "gpio-leds";
21+
module_led: module_led {
22+
gpios = <&gpio0 31 GPIO_ACTIVE_HIGH>;
23+
};
24+
};
25+
26+
pwmleds {
27+
compatible = "pwm-leds";
28+
pwm_module_led: pwm_module_led {
29+
pwms = <&pwm0 0 PWM_MSEC(20) PWM_POLARITY_NORMAL>;
30+
};
31+
};
32+
33+
buttons {
34+
compatible = "gpio-keys";
35+
wake_up_button: wake_up_button {
36+
gpios = <&gpio0 12 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
37+
zephyr,code = <INPUT_KEY_0>;
38+
};
39+
};
40+
41+
/* These aliases are provided for compatibility with samples */
42+
aliases {
43+
led0 = &module_led;
44+
pwm-led0 = &pwm_module_led;
45+
sw0 = &wake_up_button;
46+
bootloader-led0 = &module_led;
47+
mcuboot-button0 = &wake_up_button;
48+
mcuboot-led0 = &module_led;
49+
watchdog0 = &wdt0;
50+
};
51+
};
52+
53+
&adc {
54+
status = "okay";
55+
};
56+
57+
&gpiote {
58+
status = "okay";
59+
};
60+
61+
&gpio0 {
62+
status = "okay";
63+
};
64+
65+
&uart0 {
66+
status = "okay";
67+
current-speed = <115200>;
68+
pinctrl-0 = <&uart0_default>;
69+
pinctrl-1 = <&uart0_sleep>;
70+
pinctrl-names = "default", "sleep";
71+
};
72+
73+
&uart1 {
74+
status = "okay";
75+
current-speed = <115200>;
76+
pinctrl-0 = <&uart1_default>;
77+
pinctrl-1 = <&uart1_sleep>;
78+
pinctrl-names = "default", "sleep";
79+
};
80+
81+
&i2c2 {
82+
compatible = "nordic,nrf-twim";
83+
status = "disabled";
84+
pinctrl-0 = <&i2c2_default>;
85+
pinctrl-1 = <&i2c2_sleep>;
86+
pinctrl-names = "default", "sleep";
87+
clock-frequency = <I2C_BITRATE_FAST>;
88+
};
89+
90+
&spi3 {
91+
compatible = "nordic,nrf-spim";
92+
status = "disabled";
93+
pinctrl-0 = <&spi3_default>;
94+
pinctrl-1 = <&spi3_sleep>;
95+
wake-gpios = <&gpio0 0 GPIO_PULL_UP>;
96+
pinctrl-names = "default", "sleep";
97+
98+
};
99+
100+
&pwm0 {
101+
status = "okay";
102+
pinctrl-0 = <&pwm0_default>;
103+
pinctrl-1 = <&pwm0_sleep>;
104+
pinctrl-names = "default", "sleep";
105+
};
106+
107+
/* Include default memory partition configuration file */
108+
#include <nordic/nrf91xx_partition.dtsi>

0 commit comments

Comments
 (0)