/* * Copyright (c) 2024 STMicroelectronics * * SPDX-License-Identifier: Apache-2.0 */ /dts-v1/; #include #include #include / { model = "STMicroelectronics STEVAL-STWINBX1 Development kit"; compatible = "st,steval_stwinbx1"; chosen { 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 = ; }; }; 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 = ; 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 = ; 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 = ; reg = <0>; drdy-gpios = <&gpiof 1 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>; drdy-int = <1>; }; ism330dhcx: ism330dhcx@1 { compatible = "st,ism330dhcx"; spi-max-frequency = ; reg = <1>; drdy-gpios = <&gpiob 8 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>; int-pin = <1>; }; iis2iclx: iis2iclx@2 { compatible = "st,iis2iclx"; spi-max-frequency = ; 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 = ; reset-assert-duration-ms = <6>; }; }; &i2c2 { pinctrl-0 = <&i2c2_scl_ph4 &i2c2_sda_pf0>; pinctrl-names = "default"; status = "okay"; clock-frequency = ; 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"; }; ilps22qs@5c { compatible = "st,ilps22qs"; reg = <0x5c>; 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"; }; #include <../boards/common/usb/cdc_acm_serial.dtsi> &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"; };