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	soc {
11		compatible = "st,stm32l412", "st,stm32l4", "simple-bus";
12
13		clocks {
14			clk_hsi48: clk-hsi48 {
15				#clock-cells = <0>;
16				compatible = "fixed-clock";
17				clock-frequency = <DT_FREQ_M(48)>;
18				status = "disabled";
19			};
20		};
21
22		rng: rng@50060800 {
23			clocks = <&rcc STM32_CLOCK_BUS_AHB2 0x00040000>,
24				 <&rcc STM32_SRC_HSI48 CLK48_SEL(0)>;
25		};
26
27		usb: usb@40006800 {
28			compatible = "st,stm32-usb";
29			reg = <0x40006800 0x40000>;
30			interrupts = <67 0>;
31			interrupt-names = "usb";
32			num-bidir-endpoints = <8>;
33			ram-size = <1024>;
34			maximum-speed = "full-speed";
35			phys = <&usb_fs_phy>;
36			clocks = <&rcc STM32_CLOCK_BUS_APB1 0x04000000>,
37				 <&rcc STM32_SRC_HSI48 CLK48_SEL(0)>;
38			status = "disabled";
39		};
40
41		i2c2: i2c@40005800 {
42			compatible = "st,stm32-i2c-v2";
43			#address-cells = <1>;
44			#size-cells = <0>;
45			reg = <0x40005800 0x400>;
46			clocks = <&rcc STM32_CLOCK_BUS_APB1 0x00400000>;
47			clock-frequency = <I2C_BITRATE_STANDARD>;
48			interrupts = <33 0>, <34 0>;
49			interrupt-names = "event", "error";
50			status = "disabled";
51		};
52
53		spi2: spi@40003800 {
54			compatible = "st,stm32-spi-fifo", "st,stm32-spi";
55			#address-cells = <1>;
56			#size-cells = <0>;
57			reg = <0x40003800 0x400>;
58			interrupts = <36 5>;
59			clocks = <&rcc STM32_CLOCK_BUS_APB1 0x00004000>;
60			status = "disabled";
61		};
62
63		usart3: serial@40004800 {
64			compatible = "st,stm32-usart", "st,stm32-uart";
65			reg = <0x40004800 0x400>;
66			clocks = <&rcc STM32_CLOCK_BUS_APB1 0x00040000>;
67			resets = <&rctl STM32_RESET(APB1L, 18U)>;
68			interrupts = <39 0>;
69			status = "disabled";
70		};
71	};
72
73	usb_fs_phy: usbphy {
74		compatible = "usb-nop-xceiv";
75		#phy-cells = <0>;
76	};
77};
78