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