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

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

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

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

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

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

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

&usart1 {
	current-speed = <115200>;
	status = "okay";
};

&i2c1 {
	status = "okay";
	clock-frequency = <I2C_BITRATE_FAST>;
};

&i2c3 {
	status = "okay";
	clock-frequency = <I2C_BITRATE_FAST>;
};

&rtc {
	status = "okay";
};

&spi1 {
	status = "okay";
};

&timers2 {
	status = "okay";
	pwm {
		status = "okay";
	};
};

&lpuart1 {
	current-speed = <115200>;
	status = "okay";
};

&adc1 {
	status = "okay";
};

&iwdg {
	status = "okay";
};

&flash0 {
	/*
	 * For more information, see:
	 * http://docs.zephyrproject.org/latest/devices/dts/flash_partitions.html
	 */
	partitions {
		compatible = "fixed-partitions";
		#address-cells = <1>;
		#size-cells = <1>;

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

		boot_partition: partition@0 {
			label = "mcuboot";
			reg = <0x00000000 0xc000>;
		};
		slot0_partition: partition@c000 {
			label = "image-0";
			reg = <0x0000C000 0x5b800>;
		};
		slot1_partition: partition@67800 {
			label = "image-1";
			reg = <0x00067800 0x5b800>;
		};
		scratch_partition: partition@c3000 {
			label = "image-scratch";
			reg = <0x000c3000 0x4000>;
		};
		storage_partition: partition@c7000 {
			label = "storage";
			reg = <0x000c7000 0x4000>;
		};

	};
};
