zephyr/boards/st/nucleo_wl55jc/nucleo_wl55jc.dts

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