blob: 97d370e119366ac7c3bdce298c9fa92e12887708 [file] [log] [blame]
Marek Vasut526c9512020-03-31 19:51:36 +02001// 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};