1/*
2 * Copyright (c) 2020 Yestin Sun
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#include <st/l5/stm32l562Xe.dtsi>
8#include <st/l5/stm32l562qeixq-pinctrl.dtsi>
9#include "arduino_r3_connector.dtsi"
10
11/ {
12	leds {
13		compatible = "gpio-leds";
14		red_led_9: led_9 {
15			gpios = <&gpiod 3 GPIO_ACTIVE_LOW>;
16			label = "User LD9";
17		};
18		green_led_10: led_10 {
19			gpios = <&gpiog 12 GPIO_ACTIVE_LOW>;
20			label = "User LD10";
21		};
22	};
23
24	gpio_keys {
25		compatible = "gpio-keys";
26		user_button: button {
27			label = "User";
28			gpios = <&gpioc 13 GPIO_ACTIVE_HIGH>;
29		};
30	};
31
32	power-states {
33		stop0: state0 {
34			compatible = "zephyr,power-state";
35			power-state-name = "suspend-to-idle";
36			substate-id = <1>;
37			min-residency-us = <100>;
38		};
39		stop1: state1 {
40			compatible = "zephyr,power-state";
41			power-state-name = "suspend-to-idle";
42			substate-id = <2>;
43			min-residency-us = <500>;
44		};
45		stop2: state2 {
46			compatible = "zephyr,power-state";
47			power-state-name = "suspend-to-idle";
48			substate-id = <3>;
49			min-residency-us = <900>;
50		};
51	};
52};
53
54&clk_msi {
55	status = "okay";
56	msi-range = <6>;
57	msi-pll-mode;
58};
59
60&clk_lse {
61	status = "okay";
62};
63
64&pll {
65	div-m = <1>;
66	mul-n = <55>;
67	div-p = <7>;
68	div-q = <2>;
69	div-r = <2>;
70	clocks = <&clk_msi>;
71	status = "okay";
72};
73
74&rcc {
75	clocks = <&pll>;
76	clock-frequency = <DT_FREQ_M(110)>;
77	ahb-prescaler = <1>;
78	apb1-prescaler = <1>;
79	apb2-prescaler = <1>;
80};
81
82&usart1 {
83	current-speed = <115200>;
84	status = "okay";
85};
86
87&usart3 {
88	pinctrl-0 = <&usart3_tx_pc10 &usart3_rx_pc11>;
89	current-speed = <115200>;
90	status = "okay";
91};
92
93&i2c1 {
94	pinctrl-0 = <&i2c1_scl_pb6 &i2c1_sda_pb7>;
95	status = "okay";
96	clock-frequency = <I2C_BITRATE_FAST>;
97
98	lsm6dso@6a {
99		compatible = "st,lsm6dso";
100		reg = <0x6a>;
101		irq-gpios = <&gpiof 3 GPIO_ACTIVE_HIGH>;
102		label = "LSM6DSO";
103	};
104};
105
106&rng {
107	status = "okay";
108};
109
110&spi1 {
111	pinctrl-0 = <&spi1_sck_pg2 &spi1_miso_pg3 &spi1_mosi_pg4>;
112	cs-gpios = <&gpiog 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
113	status = "okay";
114
115	spbtle-rf@0 {
116		compatible = "zephyr,bt-hci-spi";
117		reg = <0>;
118		irq-gpios = <&gpiog 6 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>;
119		reset-gpios = <&gpiog 8 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
120		spi-max-frequency = <2000000>;
121		label = "SPBTLE-RF";
122	};
123};
124
125&timers2 {
126	status = "okay";
127
128	pwm2: pwm {
129		status = "okay";
130		pinctrl-0 = <&tim2_ch1_pa0>;
131	};
132};
133
134&dac1 {
135	status = "okay";
136	pinctrl-0 = <&dac1_out1_pa4>;
137};
138
139&adc1 {
140	pinctrl-0 = <&adc1_in13_pc4>;
141	status = "okay";
142};
143
144&spi3 {
145	pinctrl-0 = <&spi3_sck_pg9 &spi3_mosi_pb5 &spi3_miso_pb4>;
146	cs-gpios = <&gpioe 0 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
147	status = "okay";
148};
149