]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - src/arm/stm32mp15xx-dhcor-som.dtsi
Import DTS from Linux 5.8
[FreeBSD/FreeBSD.git] / src / arm / stm32mp15xx-dhcor-som.dtsi
1 // SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause)
2 /*
3  * Copyright (C) Linaro Ltd 2019 - All Rights Reserved
4  * Author: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
5  * Copyright (C) 2020 Marek Vasut <marex@denx.de>
6  */
7
8 #include "stm32mp15-pinctrl.dtsi"
9 #include "stm32mp15xxac-pinctrl.dtsi"
10 #include <dt-bindings/gpio/gpio.h>
11 #include <dt-bindings/mfd/st,stpmic1.h>
12
13 / {
14         aliases {
15                 spi0 = &qspi;
16         };
17
18         memory@c0000000 {
19                 device_type = "memory";
20                 reg = <0xc0000000 0x40000000>;
21         };
22 };
23
24 &i2c4 {
25         pinctrl-names = "default";
26         pinctrl-0 = <&i2c4_pins_a>;
27         i2c-scl-rising-time-ns = <185>;
28         i2c-scl-falling-time-ns = <20>;
29         status = "okay";
30         /delete-property/dmas;
31         /delete-property/dma-names;
32
33         pmic: stpmic@33 {
34                 compatible = "st,stpmic1";
35                 reg = <0x33>;
36                 interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>;
37                 interrupt-controller;
38                 #interrupt-cells = <2>;
39                 status = "okay";
40
41                 regulators {
42                         compatible = "st,stpmic1-regulators";
43
44                         ldo1-supply = <&v3v3>;
45                         ldo2-supply = <&v3v3>;
46                         ldo3-supply = <&vdd_ddr>;
47                         ldo5-supply = <&v3v3>;
48                         ldo6-supply = <&v3v3>;
49                         pwr_sw1-supply = <&bst_out>;
50                         pwr_sw2-supply = <&bst_out>;
51
52                         vddcore: buck1 {
53                                 regulator-name = "vddcore";
54                                 regulator-min-microvolt = <1200000>;
55                                 regulator-max-microvolt = <1350000>;
56                                 regulator-always-on;
57                                 regulator-initial-mode = <0>;
58                                 regulator-over-current-protection;
59                         };
60
61                         vdd_ddr: buck2 {
62                                 regulator-name = "vdd_ddr";
63                                 regulator-min-microvolt = <1350000>;
64                                 regulator-max-microvolt = <1350000>;
65                                 regulator-always-on;
66                                 regulator-initial-mode = <0>;
67                                 regulator-over-current-protection;
68                         };
69
70                         vdd: buck3 {
71                                 regulator-name = "vdd";
72                                 regulator-min-microvolt = <2900000>;
73                                 regulator-max-microvolt = <2900000>;
74                                 regulator-always-on;
75                                 regulator-initial-mode = <0>;
76                                 regulator-over-current-protection;
77                         };
78
79                         v3v3: buck4 {
80                                 regulator-name = "v3v3";
81                                 regulator-min-microvolt = <3300000>;
82                                 regulator-max-microvolt = <3300000>;
83                                 regulator-always-on;
84                                 regulator-over-current-protection;
85                                 regulator-initial-mode = <0>;
86                         };
87
88                         vdda: ldo1 {
89                                 regulator-name = "vdda";
90                                 regulator-min-microvolt = <2900000>;
91                                 regulator-max-microvolt = <2900000>;
92                                 interrupts = <IT_CURLIM_LDO1 0>;
93                         };
94
95                         v2v8: ldo2 {
96                                 regulator-name = "v2v8";
97                                 regulator-min-microvolt = <2800000>;
98                                 regulator-max-microvolt = <2800000>;
99                                 interrupts = <IT_CURLIM_LDO2 0>;
100                         };
101
102                         vtt_ddr: ldo3 {
103                                 regulator-name = "vtt_ddr";
104                                 regulator-min-microvolt = <500000>;
105                                 regulator-max-microvolt = <750000>;
106                                 regulator-always-on;
107                                 regulator-over-current-protection;
108                         };
109
110                         vdd_usb: ldo4 {
111                                 regulator-name = "vdd_usb";
112                                 interrupts = <IT_CURLIM_LDO4 0>;
113                         };
114
115                         vdd_sd: ldo5 {
116                                 regulator-name = "vdd_sd";
117                                 regulator-min-microvolt = <2900000>;
118                                 regulator-max-microvolt = <2900000>;
119                                 interrupts = <IT_CURLIM_LDO5 0>;
120                                 regulator-boot-on;
121                         };
122
123                         v1v8: ldo6 {
124                                 regulator-name = "v1v8";
125                                 regulator-min-microvolt = <1800000>;
126                                 regulator-max-microvolt = <1800000>;
127                                 interrupts = <IT_CURLIM_LDO6 0>;
128                                 regulator-enable-ramp-delay = <300000>;
129                         };
130
131                         vref_ddr: vref_ddr {
132                                 regulator-name = "vref_ddr";
133                                 regulator-always-on;
134                         };
135
136                         bst_out: boost {
137                                 regulator-name = "bst_out";
138                                 interrupts = <IT_OCP_BOOST 0>;
139                         };
140
141                         vbus_otg: pwr_sw1 {
142                                 regulator-name = "vbus_otg";
143                                 interrupts = <IT_OCP_OTG 0>;
144                                 regulator-active-discharge = <1>;
145                         };
146
147                         vbus_sw: pwr_sw2 {
148                                 regulator-name = "vbus_sw";
149                                 interrupts = <IT_OCP_SWOUT 0>;
150                                 regulator-active-discharge = <1>;
151                         };
152                 };
153
154                 onkey {
155                         compatible = "st,stpmic1-onkey";
156                         interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 1>;
157                         interrupt-names = "onkey-falling", "onkey-rising";
158                         status = "okay";
159                 };
160
161                 watchdog {
162                         compatible = "st,stpmic1-wdt";
163                         status = "disabled";
164                 };
165         };
166
167         eeprom@53 {
168                 compatible = "atmel,24c02";
169                 reg = <0x53>;
170                 pagesize = <16>;
171         };
172 };
173
174 &iwdg2 {
175         timeout-sec = <32>;
176         status = "okay";
177 };
178
179 &pwr_regulators {
180         vdd-supply = <&vdd>;
181         vdd_3v3_usbfs-supply = <&vdd_usb>;
182 };
183
184 &qspi {
185         pinctrl-names = "default", "sleep";
186         pinctrl-0 = <&qspi_clk_pins_a &qspi_bk1_pins_a>;
187         pinctrl-1 = <&qspi_clk_sleep_pins_a &qspi_bk1_sleep_pins_a>;
188         reg = <0x58003000 0x1000>, <0x70000000 0x200000>;
189         #address-cells = <1>;
190         #size-cells = <0>;
191         status = "okay";
192
193         flash0: spi-flash@0 {
194                 compatible = "jedec,spi-nor";
195                 reg = <0>;
196                 spi-rx-bus-width = <4>;
197                 spi-max-frequency = <108000000>;
198                 #address-cells = <1>;
199                 #size-cells = <1>;
200         };
201 };
202
203 &rng1 {
204         status = "okay";
205 };
206
207 &rtc {
208         status = "okay";
209 };