ARM: dts: sama5d2: Add uart4 definition
[oweals/u-boot.git] / arch / arm / dts / stm32mp15xx-dhcor.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 /dts-v1/;
8
9 #include "stm32mp157.dtsi"
10 #include "stm32mp15-pinctrl.dtsi"
11 #include "stm32mp15xxac-pinctrl.dtsi"
12 #include <dt-bindings/gpio/gpio.h>
13 #include <dt-bindings/mfd/st,stpmic1.h>
14
15 / {
16         aliases {
17                 spi0 = &qspi;
18         };
19
20         memory@c0000000 {
21                 device_type = "memory";
22                 reg = <0xc0000000 0x40000000>;
23         };
24
25         /* Enpirion EP3A8LQI U2 on the DHCOR */
26         vdd_io: regulator-buck-io {
27                 compatible = "regulator-fixed";
28                 regulator-name = "buck-io";
29                 regulator-min-microvolt = <1800000>;
30                 regulator-max-microvolt = <1800000>;
31                 regulator-always-on;
32                 regulator-boot-on;
33                 vin-supply = <&vdd>;
34         };
35 };
36
37 &i2c4 {
38         pinctrl-names = "default";
39         pinctrl-0 = <&i2c4_pins_a>;
40         i2c-scl-rising-time-ns = <185>;
41         i2c-scl-falling-time-ns = <20>;
42         status = "okay";
43         /delete-property/dmas;
44         /delete-property/dma-names;
45
46         pmic: stpmic@33 {
47                 compatible = "st,stpmic1";
48                 reg = <0x33>;
49                 interrupts-extended = <&exti 55 IRQ_TYPE_EDGE_FALLING>;
50                 interrupt-controller;
51                 #interrupt-cells = <2>;
52                 status = "okay";
53
54                 st,main-control-register = <0x04>;
55                 st,vin-control-register = <0xc0>;
56                 st,usb-control-register = <0x30>;
57
58                 regulators {
59                         compatible = "st,stpmic1-regulators";
60
61                         ldo1-supply = <&v3v3>;
62                         ldo2-supply = <&v3v3>;
63                         ldo3-supply = <&vdd_ddr>;
64                         ldo5-supply = <&v3v3>;
65                         ldo6-supply = <&v3v3>;
66                         pwr_sw1-supply = <&bst_out>;
67                         pwr_sw2-supply = <&bst_out>;
68
69                         vddcore: buck1 {
70                                 regulator-name = "vddcore";
71                                 regulator-min-microvolt = <800000>;
72                                 regulator-max-microvolt = <1350000>;
73                                 regulator-always-on;
74                                 regulator-initial-mode = <0>;
75                                 regulator-over-current-protection;
76                         };
77
78                         vdd_ddr: buck2 {
79                                 regulator-name = "vdd_ddr";
80                                 regulator-min-microvolt = <1350000>;
81                                 regulator-max-microvolt = <1350000>;
82                                 regulator-always-on;
83                                 regulator-initial-mode = <0>;
84                                 regulator-over-current-protection;
85                         };
86
87                         vdd: buck3 {
88                                 regulator-name = "vdd";
89                                 regulator-min-microvolt = <2900000>;
90                                 regulator-max-microvolt = <2900000>;
91                                 regulator-always-on;
92                                 st,mask_reset;
93                                 regulator-initial-mode = <0>;
94                                 regulator-over-current-protection;
95                         };
96
97                         v3v3: buck4 {
98                                 regulator-name = "v3v3";
99                                 regulator-min-microvolt = <3300000>;
100                                 regulator-max-microvolt = <3300000>;
101                                 regulator-always-on;
102                                 regulator-over-current-protection;
103                                 regulator-initial-mode = <0>;
104                         };
105
106                         vdda: ldo1 {
107                                 regulator-name = "vdda";
108                                 regulator-min-microvolt = <2900000>;
109                                 regulator-max-microvolt = <2900000>;
110                                 interrupts = <IT_CURLIM_LDO1 0>;
111                                 interrupt-parent = <&pmic>;
112                         };
113
114                         v2v8: ldo2 {
115                                 regulator-name = "v2v8";
116                                 regulator-min-microvolt = <2800000>;
117                                 regulator-max-microvolt = <2800000>;
118                                 interrupts = <IT_CURLIM_LDO2 0>;
119                                 interrupt-parent = <&pmic>;
120                         };
121
122                         vtt_ddr: ldo3 {
123                                 regulator-name = "vtt_ddr";
124                                 regulator-min-microvolt = <500000>;
125                                 regulator-max-microvolt = <750000>;
126                                 regulator-always-on;
127                                 regulator-over-current-protection;
128                         };
129
130                         vdd_usb: ldo4 {
131                                 regulator-name = "vdd_usb";
132                                 regulator-min-microvolt = <3300000>;
133                                 regulator-max-microvolt = <3300000>;
134                                 interrupts = <IT_CURLIM_LDO4 0>;
135                                 interrupt-parent = <&pmic>;
136                         };
137
138                         vdd_sd: ldo5 {
139                                 regulator-name = "vdd_sd";
140                                 regulator-min-microvolt = <2900000>;
141                                 regulator-max-microvolt = <2900000>;
142                                 interrupts = <IT_CURLIM_LDO5 0>;
143                                 interrupt-parent = <&pmic>;
144                                 regulator-boot-on;
145                         };
146
147                         v1v8: ldo6 {
148                                 regulator-name = "v1v8";
149                                 regulator-min-microvolt = <1800000>;
150                                 regulator-max-microvolt = <1800000>;
151                                 interrupts = <IT_CURLIM_LDO6 0>;
152                                 interrupt-parent = <&pmic>;
153                                 regulator-enable-ramp-delay = <300000>;
154                         };
155
156                         vref_ddr: vref_ddr {
157                                 regulator-name = "vref_ddr";
158                                 regulator-always-on;
159                                 regulator-over-current-protection;
160                         };
161
162                         bst_out: boost {
163                                 regulator-name = "bst_out";
164                                 interrupts = <IT_OCP_BOOST 0>;
165                                 interrupt-parent = <&pmic>;
166                         };
167
168                         vbus_otg: pwr_sw1 {
169                                 regulator-name = "vbus_otg";
170                                 interrupts = <IT_OCP_OTG 0>;
171                                 interrupt-parent = <&pmic>;
172                                 regulator-active-discharge = <1>;
173                         };
174
175                         vbus_sw: pwr_sw2 {
176                                 regulator-name = "vbus_sw";
177                                 interrupts = <IT_OCP_SWOUT 0>;
178                                 interrupt-parent = <&pmic>;
179                                 regulator-active-discharge = <1>;
180                         };
181                 };
182
183                 onkey {
184                         compatible = "st,stpmic1-onkey";
185                         interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 1>;
186                         interrupt-names = "onkey-falling", "onkey-rising";
187                         status = "okay";
188                 };
189
190                 watchdog {
191                         compatible = "st,stpmic1-wdt";
192                         status = "disabled";
193                 };
194         };
195 };
196
197 &iwdg2 {
198         timeout-sec = <32>;
199         status = "okay";
200 };
201
202 &pwr_regulators {
203         vdd-supply = <&vdd_io>;
204         vdd_3v3_usbfs-supply = <&vdd_usb>;
205 };
206
207 &qspi {
208         pinctrl-names = "default", "sleep";
209         pinctrl-0 = <&qspi_clk_pins_a &qspi_bk1_pins_a>;
210         pinctrl-1 = <&qspi_clk_sleep_pins_a &qspi_bk1_sleep_pins_a>;
211         reg = <0x58003000 0x1000>, <0x70000000 0x200000>;
212         #address-cells = <1>;
213         #size-cells = <0>;
214         status = "okay";
215
216         flash0: spi-flash@0 {
217                 compatible = "jedec,spi-nor";
218                 reg = <0>;
219                 spi-rx-bus-width = <4>;
220                 spi-max-frequency = <108000000>;
221                 #address-cells = <1>;
222                 #size-cells = <1>;
223         };
224 };
225
226 &rng1 {
227         status = "okay";
228 };
229
230 &rtc {
231         status = "okay";
232 };