1/*
2 * Copyright (c) 2020 Aurelien Jarno
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#include <st/l4/stm32l4.dtsi>
8
9/ {
10
11	clocks {
12		clk_hsi48: clk-hsi48 {
13			#clock-cells = <0>;
14			compatible = "fixed-clock";
15			clock-frequency = <DT_FREQ_M(48)>;
16			status = "disabled";
17		};
18	};
19
20	soc {
21		compatible = "st,stm32l412", "st,stm32l4", "simple-bus";
22
23
24		rng: rng@50060800 {
25			clocks = <&rcc STM32_CLOCK(AHB2, 18U)>,
26				 <&rcc STM32_SRC_HSI48 CLK48_SEL(0)>;
27		};
28
29		usb: usb@40006800 {
30			compatible = "st,stm32-usb";
31			reg = <0x40006800 0x40000>;
32			interrupts = <67 0>;
33			interrupt-names = "usb";
34			num-bidir-endpoints = <8>;
35			ram-size = <1024>;
36			maximum-speed = "full-speed";
37			phys = <&usb_fs_phy>;
38			clocks = <&rcc STM32_CLOCK(APB1, 26U)>,
39				 <&rcc STM32_SRC_HSI48 CLK48_SEL(0)>;
40			status = "disabled";
41		};
42
43		i2c2: i2c@40005800 {
44			compatible = "st,stm32-i2c-v2";
45			#address-cells = <1>;
46			#size-cells = <0>;
47			reg = <0x40005800 0x400>;
48			clocks = <&rcc STM32_CLOCK(APB1, 22U)>;
49			clock-frequency = <I2C_BITRATE_STANDARD>;
50			interrupts = <33 0>, <34 0>;
51			interrupt-names = "event", "error";
52			status = "disabled";
53		};
54
55		spi2: spi@40003800 {
56			compatible = "st,stm32-spi-fifo", "st,stm32-spi";
57			#address-cells = <1>;
58			#size-cells = <0>;
59			reg = <0x40003800 0x400>;
60			interrupts = <36 5>;
61			clocks = <&rcc STM32_CLOCK(APB1, 14U)>;
62			status = "disabled";
63		};
64
65		usart3: serial@40004800 {
66			compatible = "st,stm32-usart", "st,stm32-uart";
67			reg = <0x40004800 0x400>;
68			clocks = <&rcc STM32_CLOCK(APB1, 18U)>;
69			resets = <&rctl STM32_RESET(APB1L, 18U)>;
70			interrupts = <39 0>;
71			status = "disabled";
72		};
73	};
74
75	usb_fs_phy: usbphy {
76		compatible = "usb-nop-xceiv";
77		#phy-cells = <0>;
78	};
79
80	smbus2: smbus2 {
81		compatible = "st,stm32-smbus";
82		#address-cells = <1>;
83		#size-cells = <0>;
84		i2c = <&i2c2>;
85		status = "disabled";
86	};
87};
88