Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

246 lines
4.0 KiB

/*
* Copyright (c) 2025 Pete Johanson
* Copyright (c) 2025 Silicon Laboratories Inc.
*
* SPDX-License-Identifier: Apache-2.0
*/
/dts-v1/;
#include <silabs/xg24/mgm240sd22vna.dtsi>
#include <zephyr/dt-bindings/input/input-event-codes.h>
#include <zephyr/dt-bindings/pwm/pwm.h>
#include "arduino_nano_matter-pinctrl.dtsi"
#include "arduino_nano_matter_connector.dtsi"
/ {
model = "Arduino Nano Matter";
compatible = "arduino,arduino_nano_matter", "silabs,mgm240sd22vna";
chosen {
zephyr,bt-hci = &bt_hci_silabs;
zephyr,code-partition = &slot0_partition;
zephyr,console = &usart0;
zephyr,flash = &flash0;
zephyr,shell-uart = &usart0;
zephyr,sram = &sram0;
zephyr,uart-pipe = &usart0;
};
/* These aliases are provided for compatibility with samples */
aliases {
led0 = &led0;
led1 = &led1;
led2 = &led2;
pwm-led0 = &red_pwm_led;
pwm-led1 = &green_pwm_led;
pwm-led2 = &blue_pwm_led;
sw0 = &button0;
watchdog0 = &wdog0;
};
leds {
compatible = "gpio-leds";
led0: led_0 {
gpios = <&gpioc 1 GPIO_ACTIVE_LOW>;
label = "LED 0";
};
led1: led_1 {
gpios = <&gpioc 2 GPIO_ACTIVE_LOW>;
label = "LED 1";
};
led2: led_2 {
gpios = <&gpioc 3 GPIO_ACTIVE_LOW>;
label = "LED 2";
};
};
pwmleds {
compatible = "pwm-leds";
red_pwm_led: pwm_led_0 {
pwms = <&timer0_pwm 0 PWM_MSEC(20) PWM_POLARITY_INVERTED>;
label = "red";
};
green_pwm_led: pwm_led_1 {
pwms = <&timer0_pwm 1 PWM_MSEC(20) PWM_POLARITY_INVERTED>;
label = "green";
};
blue_pwm_led: pwm_led_2 {
pwms = <&timer0_pwm 2 PWM_MSEC(20) PWM_POLARITY_INVERTED>;
label = "blue";
};
};
buttons {
compatible = "gpio-keys";
button0: button_0 {
gpios = <&gpioa 0 GPIO_ACTIVE_LOW>;
zephyr,code = <INPUT_KEY_0>;
};
};
};
&timer0 {
status = "okay";
timer0_pwm: pwm {
pinctrl-0 = <&timer0_default>;
pinctrl-names = "default";
status = "okay";
};
};
&cpu0 {
clock-frequency = <78000000>;
};
&pstate_em3 {
status = "disabled";
};
&hfxo {
ctune = <95>;
precision = <50>;
status = "okay";
};
&lfxo {
ctune = <44>;
precision = <50>;
status = "okay";
};
&hfrcodpll {
clock-frequency = <DT_FREQ_M(78)>;
clocks = <&hfxo>;
dpll-autorecover;
dpll-edge = "fall";
dpll-lock = "phase";
dpll-m = <1919>;
dpll-n = <3839>;
};
&em23grpaclk {
clocks = <&lfxo>;
};
&em4grpaclk {
clocks = <&lfxo>;
};
&sysrtcclk {
clocks = <&lfxo>;
};
&wdog0clk {
clocks = <&lfxo>;
};
&wdog1clk {
clocks = <&lfxo>;
};
&usart0 {
current-speed = <115200>;
pinctrl-0 = <&usart0_default>;
pinctrl-names = "default";
status = "okay";
};
&eusart0 {
compatible = "silabs,eusart-uart";
current-speed = <115200>;
pinctrl-0 = <&eusart0_default>;
pinctrl-names = "default";
};
&eusart1 {
compatible = "silabs,eusart-spi";
#address-cells = <1>;
#size-cells = <0>;
clock-frequency = <4000000>;
cs-gpios = <&gpioc 7 GPIO_ACTIVE_LOW>;
pinctrl-0 = <&eusart1_default>;
pinctrl-names = "default";
};
&i2c0 {
pinctrl-0 = <&i2c0_default>;
pinctrl-names = "default";
};
&gpio {
location-swo = <0>;
status = "okay";
};
&gpioa {
status = "okay";
};
&gpiob {
status = "okay";
};
&gpioc {
status = "okay";
};
&gpiod {
status = "okay";
};
&wdog0 {
status = "okay";
};
&sysrtc0 {
status = "okay";
};
&se {
status = "okay";
};
&flash0 {
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
/* Reserve 48 kB for the bootloader */
boot_partition: partition@0 {
reg = <0x0 DT_SIZE_K(48)>;
label = "mcuboot";
read-only;
};
/* Reserve 736 kB for the application in slot 0 */
slot0_partition: partition@c000 {
reg = <0x0000c000 0x000B8000>;
label = "image-0";
};
/* Reserve 736 kB for the application in slot 1 */
slot1_partition: partition@C4000 {
reg = <0x000C4000 0x000B8000>;
label = "image-1";
};
/* Set 16 kB of storage at the end of the 1536 kB of flash */
storage_partition: partition@17c000 {
reg = <0x0017c000 DT_SIZE_K(16)>;
label = "storage";
};
};
};
&bt_hci_silabs {
status = "okay";
};