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