236 lines
4.4 KiB
Plaintext
236 lines
4.4 KiB
Plaintext
/*
|
|
* Copyright (c) 2020-2024 STMicroelectronics
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
/dts-v1/;
|
|
#include <st/wl/stm32wl55Xc.dtsi>
|
|
#include <st/wl/stm32wl55jcix-pinctrl.dtsi>
|
|
#include "arduino_r3_connector.dtsi"
|
|
#include "st_morpho_connector.dtsi"
|
|
#include <zephyr/dt-bindings/input/input-event-codes.h>
|
|
|
|
/ {
|
|
model = "STMicroelectronics STM32WL55JC-NUCLEO board";
|
|
compatible = "st,stm32wl55-nucleo";
|
|
|
|
chosen {
|
|
zephyr,console = &lpuart1;
|
|
zephyr,shell-uart = &lpuart1;
|
|
zephyr,sram = &sram0;
|
|
zephyr,flash = &flash0;
|
|
zephyr,code-partition = &slot0_partition;
|
|
};
|
|
|
|
leds: leds {
|
|
compatible = "gpio-leds";
|
|
blue_led_1: led_0 {
|
|
gpios = <&gpiob 15 GPIO_ACTIVE_HIGH>;
|
|
label = "User LED1";
|
|
};
|
|
green_led_2: led_1 {
|
|
gpios = <&gpiob 9 GPIO_ACTIVE_HIGH>;
|
|
label = "User LED2";
|
|
};
|
|
green_led_3: led_2 {
|
|
gpios = <&gpiob 11 GPIO_ACTIVE_HIGH>;
|
|
label = "User LED3";
|
|
};
|
|
};
|
|
|
|
gpio_keys {
|
|
compatible = "gpio-keys";
|
|
user_button_1: button_0 {
|
|
label = "SW1";
|
|
gpios = <&gpioa 0 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
|
|
zephyr,code = <INPUT_KEY_0>;
|
|
};
|
|
user_button_2: button_1 {
|
|
label = "SW2";
|
|
gpios = <&gpioa 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
|
|
zephyr,code = <INPUT_KEY_1>;
|
|
};
|
|
user_button_3: button_2 {
|
|
label = "SW3";
|
|
gpios = <&gpioc 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
|
|
zephyr,code = <INPUT_KEY_2>;
|
|
};
|
|
};
|
|
|
|
aliases {
|
|
led0 = &green_led_2;
|
|
sw0 = &user_button_1;
|
|
sw1 = &user_button_2;
|
|
sw2 = &user_button_3;
|
|
lora0 = &lora;
|
|
watchdog0 = &iwdg;
|
|
die-temp0 = &die_temp;
|
|
volt-sensor0 = &vref;
|
|
volt-sensor1 = &vbat;
|
|
};
|
|
};
|
|
|
|
&clk_lsi {
|
|
status = "okay";
|
|
};
|
|
|
|
stm32_lp_tick_source: &lptim1 {
|
|
clocks = <&rcc STM32_CLOCK_BUS_APB1 0x80000000>,
|
|
<&rcc STM32_SRC_LSI LPTIM1_SEL(1)>;
|
|
status = "okay";
|
|
};
|
|
|
|
&clk_hsi {
|
|
status = "okay";
|
|
};
|
|
|
|
&clk_lse {
|
|
status = "okay";
|
|
};
|
|
|
|
&pll {
|
|
div-m = <1>;
|
|
mul-n = <6>;
|
|
div-r = <2>;
|
|
div-q = <2>;
|
|
clocks = <&clk_hsi>;
|
|
status = "okay";
|
|
};
|
|
|
|
&rcc {
|
|
clocks = <&pll>;
|
|
clock-frequency = <DT_FREQ_M(48)>;
|
|
cpu1-prescaler = <1>;
|
|
cpu2-prescaler = <1>;
|
|
ahb3-prescaler = <1>;
|
|
apb1-prescaler = <1>;
|
|
apb2-prescaler = <1>;
|
|
};
|
|
|
|
&lpuart1 {
|
|
pinctrl-0 = <&lpuart1_tx_pa2 &lpuart1_rx_pa3>;
|
|
pinctrl-names = "default";
|
|
current-speed = <115200>;
|
|
status = "okay";
|
|
};
|
|
|
|
&i2c2 {
|
|
pinctrl-0 = <&i2c2_scl_pa12 &i2c2_sda_pa11>;
|
|
pinctrl-names = "default";
|
|
status = "okay";
|
|
clock-frequency = <I2C_BITRATE_FAST>;
|
|
};
|
|
|
|
&spi1 {
|
|
pinctrl-0 = <&spi1_nss_pa4 &spi1_sck_pa5
|
|
&spi1_miso_pa6 &spi1_mosi_pa7>;
|
|
pinctrl-names = "default";
|
|
status = "okay";
|
|
};
|
|
|
|
|
|
&dac1 {
|
|
pinctrl-0 = <&dac_out1_pa10>;
|
|
pinctrl-names = "default";
|
|
status = "okay";
|
|
};
|
|
|
|
&timers2 {
|
|
status = "okay";
|
|
pwm2: pwm {
|
|
status = "okay";
|
|
pinctrl-0 = <&tim2_ch4_pb11>;
|
|
pinctrl-names = "default";
|
|
};
|
|
};
|
|
|
|
|
|
&adc1 {
|
|
pinctrl-0 = <&adc_in5_pb1 &adc_in0_pb13>;
|
|
pinctrl-names = "default";
|
|
st,adc-clock-source = <SYNC>;
|
|
st,adc-prescaler = <4>;
|
|
status = "okay";
|
|
};
|
|
|
|
&die_temp {
|
|
status = "okay";
|
|
};
|
|
|
|
&aes {
|
|
status = "okay";
|
|
};
|
|
|
|
&rng {
|
|
status = "okay";
|
|
};
|
|
|
|
&iwdg {
|
|
status = "okay";
|
|
};
|
|
|
|
&subghzspi {
|
|
status = "okay";
|
|
lora: radio@0 {
|
|
status = "okay";
|
|
tx-enable-gpios = <&gpioc 4 GPIO_ACTIVE_LOW>; /* FE_CTRL1 */
|
|
rx-enable-gpios = <&gpioc 5 GPIO_ACTIVE_LOW>; /* FE_CTRL2 */
|
|
dio3-tcxo-voltage = <SX126X_DIO3_TCXO_1V7>;
|
|
tcxo-power-startup-delay-ms = <5>;
|
|
/* High-power output is selected as a consequence of using
|
|
* tx/rx-enable-gpio to control FE_CTRL1 and FE_CTRL2. Low-power
|
|
* output would require both FE_CTRL1 and FE_CTRL2 to be high,
|
|
* which is not currently supported by the driver.
|
|
*/
|
|
power-amplifier-output = "rfo-hp";
|
|
rfo-lp-max-power = <15>;
|
|
rfo-hp-max-power = <22>;
|
|
};
|
|
};
|
|
|
|
&flash0 {
|
|
partitions {
|
|
compatible = "fixed-partitions";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
boot_partition: partition@0 {
|
|
label = "mcuboot";
|
|
reg = <0x00000000 DT_SIZE_K(32)>;
|
|
read-only;
|
|
};
|
|
slot0_partition: partition@8000 {
|
|
label = "image-0";
|
|
reg = <0x00008000 DT_SIZE_K(104)>;
|
|
};
|
|
slot1_partition: partition@22000 {
|
|
label = "image-1";
|
|
reg = <0x00022000 DT_SIZE_K(104)>;
|
|
};
|
|
|
|
/*
|
|
* Set 16kB of storage (8x2kB pages) at the end of the 256kB of
|
|
* flash.
|
|
*/
|
|
storage_partition: partition@3c000 {
|
|
label = "storage";
|
|
reg = <0x0003c000 DT_SIZE_K(16)>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&rtc {
|
|
clocks = <&rcc STM32_CLOCK_BUS_APB1 0x00000400>,
|
|
<&rcc STM32_SRC_LSE RTC_SEL(1)>;
|
|
status = "okay";
|
|
};
|
|
|
|
&vref {
|
|
status = "okay";
|
|
};
|
|
|
|
&vbat {
|
|
status = "okay";
|
|
};
|