336 lines
6.0 KiB
Plaintext
336 lines
6.0 KiB
Plaintext
/*
|
|
* Copyright (c) 2024 STMicroelectronics
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
/dts-v1/;
|
|
#include <st/u5/stm32u585Xi.dtsi>
|
|
#include <st/u5/stm32u585aiixq-pinctrl.dtsi>
|
|
#include <zephyr/dt-bindings/input/input-event-codes.h>
|
|
|
|
/ {
|
|
model = "STMicroelectronics STEVAL-STWINBX1 Development kit";
|
|
compatible = "st,steval_stwinbx1";
|
|
|
|
chosen {
|
|
zephyr,console = &cdc_acm_uart0;
|
|
zephyr,shell-uart = &cdc_acm_uart0;
|
|
|
|
zephyr,sram = &sram0;
|
|
zephyr,flash = &flash0;
|
|
zephyr,code-partition = &slot0_partition;
|
|
|
|
zephyr,bt-hci = &hci_spi;
|
|
};
|
|
|
|
leds {
|
|
compatible = "gpio-leds";
|
|
green_led: led_1 {
|
|
gpios = <&gpioh 12 GPIO_ACTIVE_HIGH>;
|
|
label = "LED_1";
|
|
};
|
|
orange_led: led_2 {
|
|
gpios = <&gpioh 10 GPIO_ACTIVE_HIGH>;
|
|
label = "LED_2";
|
|
};
|
|
};
|
|
|
|
pwmleds {
|
|
compatible = "pwm-leds";
|
|
|
|
green_pwm_led: green_pwm_led {
|
|
pwms = <&pwm5 3 PWM_MSEC(20) PWM_POLARITY_NORMAL>;
|
|
label = "LED_1 - PWM5";
|
|
};
|
|
};
|
|
|
|
gpio_keys {
|
|
compatible = "gpio-keys";
|
|
user_button: button {
|
|
label = "User";
|
|
gpios = <&gpioe 0 GPIO_ACTIVE_HIGH>;
|
|
zephyr,code = <INPUT_KEY_0>;
|
|
};
|
|
};
|
|
|
|
aliases {
|
|
led0 = &green_led;
|
|
led1 = &orange_led;
|
|
pwm-led0 = &green_pwm_led;
|
|
sw0 = &user_button;
|
|
mcuboot-led0 = &green_led;
|
|
mcuboot-button0 = &user_button;
|
|
watchdog0 = &iwdg;
|
|
die-temp0 = &die_temp;
|
|
volt-sensor0 = &vref1;
|
|
volt-sensor1 = &vbat4;
|
|
};
|
|
};
|
|
|
|
&clk_hsi48 {
|
|
status = "okay";
|
|
};
|
|
|
|
&clk_hse {
|
|
clock-frequency = <DT_FREQ_M(16)>;
|
|
status = "okay";
|
|
};
|
|
|
|
&clk_lse {
|
|
status = "okay";
|
|
};
|
|
|
|
&clk_msis {
|
|
status = "okay";
|
|
msi-range = <4>;
|
|
msi-pll-mode;
|
|
};
|
|
|
|
&pll1 {
|
|
div-m = <1>;
|
|
mul-n = <10>;
|
|
div-q = <2>;
|
|
div-r = <1>;
|
|
clocks = <&clk_hse>;
|
|
status = "okay";
|
|
};
|
|
|
|
&pll2 {
|
|
div-m = <2>;
|
|
mul-n = <48>;
|
|
div-p = <2>;
|
|
div-q = <7>;
|
|
div-r = <25>;
|
|
clocks = <&clk_hse>;
|
|
status = "okay";
|
|
};
|
|
|
|
&pll3 {
|
|
div-m = <2>;
|
|
mul-n = <48>;
|
|
div-p = <2>;
|
|
div-q = <25>;
|
|
div-r = <2>;
|
|
clocks = <&clk_hse>;
|
|
status = "okay";
|
|
};
|
|
|
|
&rcc {
|
|
clocks = <&pll1>;
|
|
clock-frequency = <DT_FREQ_M(160)>;
|
|
ahb-prescaler = <1>;
|
|
apb1-prescaler = <1>;
|
|
apb2-prescaler = <1>;
|
|
apb3-prescaler = <1>;
|
|
};
|
|
|
|
&gpioe {
|
|
status = "okay";
|
|
|
|
/* Enable 2.7V Analog LDO */
|
|
ldo-enable-gpios {
|
|
gpio-hog;
|
|
gpios = <15 GPIO_ACTIVE_HIGH>;
|
|
output-high;
|
|
};
|
|
};
|
|
|
|
stm32_lp_tick_source: &lptim1 {
|
|
clocks = <&rcc STM32_CLOCK_BUS_APB3 0x00000800>,
|
|
<&rcc STM32_SRC_LSE LPTIM1_SEL(3)>;
|
|
status = "okay";
|
|
};
|
|
|
|
&usart2 {
|
|
pinctrl-0 = <&usart2_tx_pd5 &usart2_rx_pd6>;
|
|
pinctrl-names = "default";
|
|
current-speed = <115200>;
|
|
status = "okay";
|
|
};
|
|
|
|
&spi2 {
|
|
pinctrl-0 = <&spi2_sck_pi1 &spi2_miso_pd3 &spi2_mosi_pi3>;
|
|
pinctrl-names = "default";
|
|
status = "okay";
|
|
|
|
cs-gpios = <&gpioh 6 GPIO_ACTIVE_LOW>,
|
|
<&gpioh 15 GPIO_ACTIVE_LOW>,
|
|
<&gpioi 7 GPIO_ACTIVE_LOW>;
|
|
iis2dlpc: iis2dlpc@0 {
|
|
compatible = "st,iis2dlpc";
|
|
spi-max-frequency = <DT_FREQ_M(10)>;
|
|
reg = <0>;
|
|
drdy-gpios = <&gpiof 1 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>;
|
|
drdy-int = <1>;
|
|
};
|
|
|
|
ism330dhcx: ism330dhcx@1 {
|
|
compatible = "st,ism330dhcx";
|
|
spi-max-frequency = <DT_FREQ_M(10)>;
|
|
reg = <1>;
|
|
drdy-gpios = <&gpiob 8 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>;
|
|
int-pin = <1>;
|
|
};
|
|
|
|
iis2iclx: iis2iclx@2 {
|
|
compatible = "st,iis2iclx";
|
|
spi-max-frequency = <DT_FREQ_M(10)>;
|
|
reg = <2>;
|
|
drdy-gpios = <&gpiof 11 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>;
|
|
int-pin = <2>;
|
|
};
|
|
};
|
|
|
|
&spi3 {
|
|
pinctrl-0 = <&spi3_sck_pg9 &spi3_miso_pb4 &spi3_mosi_pb5>;
|
|
pinctrl-names = "default";
|
|
status = "okay";
|
|
cs-gpios = <&gpioe 1 GPIO_ACTIVE_LOW>;
|
|
hci_spi: bluenrg-2@0 {
|
|
compatible = "st,hci-spi-v2";
|
|
reg = <0>;
|
|
reset-gpios = <&gpiod 13 GPIO_ACTIVE_LOW>;
|
|
irq-gpios = <&gpiof 14 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>;
|
|
spi-cpha; /* CPHA=1 */
|
|
spi-hold-cs;
|
|
spi-max-frequency = <DT_FREQ_M(1)>;
|
|
reset-assert-duration-ms = <6>;
|
|
};
|
|
};
|
|
|
|
&i2c2 {
|
|
pinctrl-0 = <&i2c2_scl_ph4 &i2c2_sda_pf0>;
|
|
pinctrl-names = "default";
|
|
status = "okay";
|
|
clock-frequency = <I2C_BITRATE_FAST>;
|
|
|
|
stts22h@3f {
|
|
compatible = "st,stts22h";
|
|
reg = <0x3f>;
|
|
int-gpios = <&gpiof 5 GPIO_ACTIVE_HIGH>;
|
|
status = "okay";
|
|
};
|
|
|
|
iis2mdc@1e {
|
|
compatible = "st,iis2mdc";
|
|
reg = <0x1e>;
|
|
drdy-gpios = <&gpiof 9 GPIO_ACTIVE_HIGH>;
|
|
status = "okay";
|
|
};
|
|
};
|
|
|
|
&timers5 {
|
|
st,prescaler = <10000>;
|
|
status = "okay";
|
|
|
|
pwm5: pwm {
|
|
status = "okay";
|
|
pinctrl-0 = <&tim5_ch3_ph12>;
|
|
pinctrl-names = "default";
|
|
};
|
|
};
|
|
|
|
|
|
&aes {
|
|
status = "okay";
|
|
};
|
|
|
|
&rng {
|
|
status = "okay";
|
|
};
|
|
|
|
zephyr_udc0: &usbotg_fs {
|
|
pinctrl-0 = <&usb_otg_fs_dm_pa11 &usb_otg_fs_dp_pa12>;
|
|
pinctrl-names = "default";
|
|
status = "okay";
|
|
|
|
cdc_acm_uart0: cdc_acm_uart0 {
|
|
compatible = "zephyr,cdc-acm-uart";
|
|
};
|
|
};
|
|
|
|
&adc1 {
|
|
pinctrl-0 = <&adc1_in1_pc0>;
|
|
pinctrl-names = "default";
|
|
st,adc-clock-source = <ASYNC>;
|
|
st,adc-prescaler = <4>;
|
|
vref-mv = <2750>;
|
|
status = "okay";
|
|
};
|
|
|
|
&adc4 {
|
|
pinctrl-0 = <&adc4_in3_pc2>;
|
|
pinctrl-names = "default";
|
|
st,adc-clock-source = <ASYNC>;
|
|
st,adc-prescaler = <4>;
|
|
vref-mv = <2750>;
|
|
status = "okay";
|
|
};
|
|
|
|
&die_temp {
|
|
status = "okay";
|
|
};
|
|
|
|
&iwdg {
|
|
status = "okay";
|
|
};
|
|
|
|
&vref1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&vbat4 {
|
|
status = "okay";
|
|
};
|
|
|
|
&sdmmc1 {
|
|
status = "okay";
|
|
pinctrl-0 = <&sdmmc1_d0_pc8 &sdmmc1_d1_pc9
|
|
&sdmmc1_d2_pc10 &sdmmc1_d3_pc11
|
|
&sdmmc1_ck_pc12 &sdmmc1_cmd_pd2>;
|
|
pinctrl-names = "default";
|
|
cd-gpios = <&gpiog 1 GPIO_ACTIVE_LOW>;
|
|
bus-width = <4>;
|
|
clk-div = <4>;
|
|
};
|
|
|
|
&flash0 {
|
|
partitions {
|
|
compatible = "fixed-partitions";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
/*
|
|
* Following flash partition is dedicated to the use of steval_stwinbx1
|
|
* with TZEN=0 (so w/o TFM).
|
|
* Set the partitions with first MB to make use of the whole Bank1
|
|
*/
|
|
boot_partition: partition@0 {
|
|
label = "mcuboot";
|
|
reg = <0x00000000 DT_SIZE_K(64)>;
|
|
};
|
|
slot0_partition: partition@10000 {
|
|
label = "image-0";
|
|
reg = <0x00010000 DT_SIZE_K(416)>;
|
|
};
|
|
slot1_partition: partition@78000 {
|
|
label = "image-1";
|
|
reg = <0x00078000 DT_SIZE_K(416)>;
|
|
};
|
|
scratch_partition: partition@e0000 {
|
|
label = "image-scratch";
|
|
reg = <0x000e0000 DT_SIZE_K(64)>;
|
|
};
|
|
storage_partition: partition@f0000 {
|
|
label = "storage";
|
|
reg = <0x000f0000 DT_SIZE_K(64)>;
|
|
};
|
|
|
|
};
|
|
};
|
|
|
|
&gpdma1 {
|
|
status = "okay";
|
|
};
|