Linux Audio

Check our new training course

Embedded Linux Audio

Check our new training course
with Creative Commons CC-BY-SA
lecture materials

Bootlin logo

Elixir Cross Referencer

Loading...
/*
 * Copyright (c) 2019 Linaro Limited
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;
#include <st/wb/stm32wb55Xg.dtsi>
#include <st/wb/stm32wb55rgvx-pinctrl.dtsi>
#include "arduino_r3_connector.dtsi"

/ {
	model = "STMicroelectronics STM32WB55RG-NUCLEO board";
	compatible = "st,stm32wb55rg-nucleo";

	chosen {
		zephyr,console = &usart1;
		zephyr,shell-uart = &usart1;
		zephyr,bt-mon-uart = &lpuart1;
		zephyr,sram = &sram0;
		zephyr,flash = &flash0;
		zephyr,code-partition = &slot0_partition;
	};

	power-states {
		stop0: state0 {
			compatible = "zephyr,power-state";
			power-state-name = "suspend-to-idle";
			substate-id = <1>;
			min-residency-us = <100>;
		};
		stop1: state1 {
			compatible = "zephyr,power-state";
			power-state-name = "suspend-to-idle";
			substate-id = <2>;
			min-residency-us = <500>;
		};
		stop2: state2 {
			compatible = "zephyr,power-state";
			power-state-name = "suspend-to-idle";
			substate-id = <3>;
			min-residency-us = <900>;
		};
	};

	leds {
		compatible = "gpio-leds";
		blue_led_1: led_0 {
			gpios = <&gpiob 5 GPIO_ACTIVE_HIGH>;
			label = "User LED1";
		};
		green_led_2: led_1 {
			gpios = <&gpiob 0 GPIO_ACTIVE_HIGH>;
			label = "User LED2";
		};
		green_led_3: led_2 {
			gpios = <&gpiob 1 GPIO_ACTIVE_HIGH>;
			label = "User LED3";
		};
	};

	gpio_keys {
		compatible = "gpio-keys";
		user_button_1: button_0 {
			label = "SW1";
			gpios = <&gpioc 4 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
		};
		user_button_2: button_1 {
			label = "SW2";
			gpios = <&gpiod 0 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
		};
		user_button_3: button_2 {
			label = "SW3";
			gpios = <&gpiod 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
		};
	};

	aliases {
		led0 = &green_led_2;
		sw0 = &user_button_1;
		sw1 = &user_button_2;
		sw2 = &user_button_3;
	};
};

&clk_hse {
	status = "okay";
};

&clk_lse {
	status = "okay";
};

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

&cpu0 {
	cpu-power-states = <&stop0 &stop1 &stop2>;
};

&usart1 {
	pinctrl-0 = <&usart1_tx_pb6 &usart1_rx_pb7>;
	pinctrl-names = "default";
	current-speed = <115200>;
	status = "okay";
};

&i2c1 {
	pinctrl-0 = <&i2c1_scl_pb8 &i2c1_sda_pb9>;
	pinctrl-names = "default";
	status = "okay";
	clock-frequency = <I2C_BITRATE_FAST>;
};

&i2c3 {
	pinctrl-0 = <&i2c3_scl_pc0 &i2c3_sda_pc1>;
	pinctrl-names = "default";
	status = "okay";
	clock-frequency = <I2C_BITRATE_FAST>;
};

&rtc {
	status = "okay";
};

&spi1 {
	pinctrl-0 = <&spi1_nss_pa4 &spi1_sck_pa5
		     &spi1_miso_pa6 &spi1_mosi_pa7>;
	pinctrl-names = "default";
	status = "okay";
};

&timers1 {
	st,prescaler = <10000>;
	status = "okay";

	pwm1: pwm {
		status = "okay";
		pinctrl-0 = <&tim1_ch1_pa8>;
		pinctrl-names = "default";
	};
};

&timers2 {
	status = "okay";
	pwm2: pwm {
		status = "okay";
		pinctrl-0 = <&tim2_ch1_pa15>;
		pinctrl-names = "default";
	};
};

&lpuart1 {
	pinctrl-0 = <&lpuart1_tx_pa2 &lpuart1_rx_pa3>;
	pinctrl-names = "default";
	current-speed = <115200>;
	status = "okay";
};

&adc1 {
	pinctrl-0 = <&adc1_in3_pc2>;
	pinctrl-names = "default";
	status = "okay";
};

&iwdg {
	status = "okay";
};

&lptim1 {
	status = "okay";
};

zephyr_udc0: &usb {
	status = "okay";
	pinctrl-0 = <&usb_dm_pa11 &usb_dp_pa12>;
	pinctrl-names = "default";
};

&rng {
	status = "okay";
};

&flash0 {
	/*
	 * For more information, see:
	 * https://docs.zephyrproject.org/latest/reference/devicetree/index.html#fixed-flash-partitions
	 */
	partitions {
		compatible = "fixed-partitions";
		#address-cells = <1>;
		#size-cells = <1>;

		/* Set all partitions with first 808K of flash */
		/* last 216K are reseved for M0 usage */
		/* Configure partitions to make use of the whole 808K */

		boot_partition: partition@0 {
			label = "mcuboot";
			reg = <0x00000000 0xc000>;
		};
		slot0_partition: partition@c000 {
			label = "image-0";
			reg = <0x0000C000 0x5c000>;
		};
		slot1_partition: partition@68000 {
			label = "image-1";
			reg = <0x00068000 0x5c000>;
		};
		scratch_partition: partition@c4000 {
			label = "image-scratch";
			reg = <0x000c4000 0x4000>;
		};
		storage_partition: partition@c8000 {
			label = "storage";
			reg = <0x000c8000 0x2000>;
		};

	};
};