blob: e11ec3f0f20bd8f9286191a3d7f03935b34b1bd3 [file] [log] [blame]
/*
* Copyright (c) 2024 Javad Rahimipetroudi <javad.rahimipetroudi@mind.be>
*
* SPDX-License-Identifier: Apache-2.0
*/
/dts-v1/;
#include <st/wb/stm32wb55Xg.dtsi>
#include <st/wb/stm32wb55vgyx-pinctrl.dtsi>
#include <zephyr/dt-bindings/input/input-event-codes.h>
#include <zephyr/dt-bindings/led/led.h>
#include <zephyr/dt-bindings/sensor/ism330dhcx.h>
/ {
model = "STMicroelectronics STM32WB5MM Discovery Development Kit";
compatible = "st,stm32wb5mm-dk";
chosen {
zephyr,console = &usart1;
zephyr,shell-uart = &usart1;
zephyr,bt-mon-uart = &lpuart1;
zephyr,bt-c2h-uart = &lpuart1;
zephyr,sram = &sram0;
zephyr,flash = &flash0;
zephyr,code-partition = &slot0_partition;
};
rgb_led_strip: rgb_strip {
compatible = "ti,tlc59731";
gpios = <&gpioa 7 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)>;
chain-length = <1>;
color-mapping = <LED_COLOR_ID_BLUE
LED_COLOR_ID_GREEN
LED_COLOR_ID_RED>;
status = "disabled";
};
buttons {
compatible = "gpio-keys";
button0: button_0 {
gpios = <&gpioc 12 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
label = "Push button 1";
zephyr,code = <INPUT_KEY_0>;
};
button1: button_1 {
gpios = <&gpioc 13 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
label = "Push button 2";
zephyr,code = <INPUT_KEY_1>;
};
};
aliases {
watchdog0 = &iwdg;
die-temp0 = &die_temp;
volt-sensor0 = &vref;
volt-sensor1 = &vbat;
led-strip = &rgb_led_strip;
sw0 = &button0;
sw1 = &button1;
accel0 = &ism330dhcx;
};
};
&die_temp {
status = "okay";
};
&clk_hse {
status = "okay";
};
&clk_lse {
status = "okay";
};
&clk_hsi48 {
status = "okay";
};
&clk48 {
/* Node is disabled by default as default source is HSI48 */
/* To select another clock, enable the node */
clocks = <&rcc STM32_SRC_HSI48 CLK48_SEL(0)>;
};
&rcc {
clocks = <&clk_hse>;
clock-frequency = <DT_FREQ_M(32)>;
cpu1-prescaler = <1>;
cpu2-prescaler = <1>;
ahb4-prescaler = <1>;
apb1-prescaler = <1>;
apb2-prescaler = <1>;
};
&usart1 {
pinctrl-0 = <&usart1_tx_pb6 &usart1_rx_pb7>;
pinctrl-names = "default";
current-speed = <115200>;
status = "okay";
};
&lpuart1 {
pinctrl-0 = <&lpuart1_tx_pa2 &lpuart1_rx_pa3>;
pinctrl-names = "default";
current-speed = <100000>;
status = "okay";
};
&adc1 {
pinctrl-0 = <&adc1_in3_pc2>;
pinctrl-names = "default";
st,adc-clock-source = <SYNC>;
st,adc-prescaler = <4>;
status = "okay";
};
&iwdg {
status = "okay";
};
zephyr_udc0: &usb {
status = "okay";
pinctrl-0 = <&usb_dm_pa11 &usb_dp_pa12>;
pinctrl-names = "default";
};
&aes1 {
status = "okay";
};
&flash0 {
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
/*
* Configure partitions while leaving space for M0 BLE f/w
* Since STM32WBCube release V1.13.2, only _HCIOnly_ f/w are supported.
* These FW are expected to be located not before 0x080DB000
* Current partition is using the first 876K of the flash for M4
*/
boot_partition: partition@0 {
label = "mcuboot";
reg = <0x00000000 DT_SIZE_K(48)>;
};
slot0_partition: partition@c000 {
label = "image-0";
reg = <0x0000c000 DT_SIZE_K(400)>;
};
slot1_partition: partition@70000 {
label = "image-1";
reg = <0x00070000 DT_SIZE_K(400)>;
};
scratch_partition: partition@d4000 {
label = "image-scratch";
reg = <0x000d4000 DT_SIZE_K(16)>;
};
storage_partition: partition@d8000 {
label = "storage";
reg = <0x000d8000 DT_SIZE_K(8)>;
};
};
};
&gpioh {
rgb_cs: rgb_cs {
gpios = <1 GPIO_ACTIVE_HIGH>;
gpio-hog;
output-high;
status = "disabled";
};
};
&i2c3 {
pinctrl-0 = <&i2c3_scl_pb13 &i2c3_sda_pb11>;
pinctrl-names = "default";
status = "okay";
clock-frequency = <I2C_BITRATE_FAST>;
vl53l0x@29 {
compatible = "st,vl53l0x";
reg = <0x29>;
xshut-gpios = <&gpioc 6 GPIO_ACTIVE_LOW>;
};
ism330dhcx: ism330dhcx@6b {
compatible = "st,ism330dhcx";
reg = <0x6b>;
drdy-gpios = <&gpiod 2 GPIO_ACTIVE_HIGH>;
accel-odr= <ISM330DHCX_DT_ODR_52Hz>;
gyro-odr= <ISM330DHCX_DT_ODR_26H>;
};
};
&vref {
status = "okay";
};
&vbat {
status = "okay";
};