blob: 713485a95795a489eb52bf591b809755b6337811 [file] [log] [blame]
Ahmad Fatoum666b5ca2020-03-26 23:02:11 +01001/* SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause) */
2/*
3 * Copyright (C) 2020 STMicroelectronics - All Rights Reserved
4 * Copyright (C) 2020 Ahmad Fatoum, Pengutronix
5 */
6
7#include "stm32mp15-pinctrl.dtsi"
8
9#include <dt-bindings/mfd/st,stpmic1.h>
10
11/ {
12 reserved-memory {
13 #address-cells = <1>;
14 #size-cells = <1>;
15 ranges;
16
17 mcuram2: mcuram2@10000000 {
18 compatible = "shared-dma-pool";
19 reg = <0x10000000 0x40000>;
20 no-map;
21 };
22
23 vdev0vring0: vdev0vring0@10040000 {
24 compatible = "shared-dma-pool";
25 reg = <0x10040000 0x1000>;
26 no-map;
27 };
28
29 vdev0vring1: vdev0vring1@10041000 {
30 compatible = "shared-dma-pool";
31 reg = <0x10041000 0x1000>;
32 no-map;
33 };
34
35 vdev0buffer: vdev0buffer@10042000 {
36 compatible = "shared-dma-pool";
37 reg = <0x10042000 0x4000>;
38 no-map;
39 };
40
41 mcuram: mcuram@30000000 {
42 compatible = "shared-dma-pool";
43 reg = <0x30000000 0x40000>;
44 no-map;
45 };
46
47 retram: retram@38000000 {
48 compatible = "shared-dma-pool";
49 reg = <0x38000000 0x10000>;
50 no-map;
51 };
52 };
53
54 reg_sip_eeprom: regulator_eeprom {
55 compatible = "regulator-fixed";
56 regulator-name = "sip_eeprom";
57 regulator-always-on;
58 };
59};
60
61&i2c4 {
62 pinctrl-names = "default", "sleep";
63 pinctrl-0 = <&i2c4_pins_a>;
64 pinctrl-1 = <&i2c4_sleep_pins_a>;
65 clock-frequency = <400000>;
66 i2c-scl-rising-time-ns = <185>;
67 i2c-scl-falling-time-ns = <20>;
68 status = "okay";
69
70 pmic: stpmic@33 {
71 compatible = "st,stpmic1";
72 reg = <0x33>;
73 interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>;
74 interrupt-controller;
75 #interrupt-cells = <2>;
76
77 regulators {
78 compatible = "st,stpmic1-regulators";
79
80 ldo1-supply = <&v3v3>;
81 ldo6-supply = <&v3v3>;
82 pwr_sw1-supply = <&bst_out>;
83
84 vddcore: buck1 {
85 regulator-name = "vddcore";
86 regulator-min-microvolt = <1200000>;
87 regulator-max-microvolt = <1350000>;
88 regulator-always-on;
89 regulator-initial-mode = <0>;
90 regulator-over-current-protection;
91 };
92
93 vdd_ddr: buck2 {
94 regulator-name = "vdd_ddr";
95 regulator-min-microvolt = <1350000>;
96 regulator-max-microvolt = <1350000>;
97 regulator-always-on;
98 regulator-initial-mode = <0>;
99 regulator-over-current-protection;
100 };
101
102 vdd: buck3 {
103 regulator-name = "vdd";
104 regulator-min-microvolt = <3300000>;
105 regulator-max-microvolt = <3300000>;
106 regulator-always-on;
107 st,mask-reset;
108 regulator-initial-mode = <0>;
109 regulator-over-current-protection;
110 };
111
112 v3v3: buck4 {
113 regulator-name = "v3v3";
114 regulator-min-microvolt = <3300000>;
115 regulator-max-microvolt = <3300000>;
116 regulator-always-on;
117 regulator-over-current-protection;
118 regulator-initial-mode = <0>;
119 };
120
121 v1v8_audio: ldo1 {
122 regulator-name = "v1v8_audio";
123 regulator-min-microvolt = <1800000>;
124 regulator-max-microvolt = <1800000>;
125 regulator-always-on;
126 interrupts = <IT_CURLIM_LDO1 0>;
127
128 };
129
130 v3v3_hdmi: ldo2 {
131 regulator-name = "v3v3_hdmi";
132 regulator-min-microvolt = <3300000>;
133 regulator-max-microvolt = <3300000>;
134 regulator-always-on;
135 interrupts = <IT_CURLIM_LDO2 0>;
136
137 };
138
139 vtt_ddr: ldo3 {
140 regulator-name = "vtt_ddr";
141 regulator-min-microvolt = <500000>;
142 regulator-max-microvolt = <750000>;
143 regulator-always-on;
144 regulator-over-current-protection;
145 };
146
147 vdd_usb: ldo4 {
148 regulator-name = "vdd_usb";
149 regulator-min-microvolt = <3300000>;
150 regulator-max-microvolt = <3300000>;
151 interrupts = <IT_CURLIM_LDO4 0>;
152 };
153
154 vdda: ldo5 {
155 regulator-name = "vdda";
156 regulator-min-microvolt = <2900000>;
157 regulator-max-microvolt = <2900000>;
158 interrupts = <IT_CURLIM_LDO5 0>;
159 regulator-boot-on;
160 };
161
162 v1v2_hdmi: ldo6 {
163 regulator-name = "v1v2_hdmi";
164 regulator-min-microvolt = <1200000>;
165 regulator-max-microvolt = <1200000>;
166 regulator-always-on;
167 interrupts = <IT_CURLIM_LDO6 0>;
168
169 };
170
171 vref_ddr: vref_ddr {
172 regulator-name = "vref_ddr";
173 regulator-always-on;
174 regulator-over-current-protection;
175 };
176
177 bst_out: boost {
178 regulator-name = "bst_out";
179 interrupts = <IT_OCP_BOOST 0>;
180 };
181
182 vbus_otg: pwr_sw1 {
183 regulator-name = "vbus_otg";
184 interrupts = <IT_OCP_OTG 0>;
185 regulator-active-discharge;
186 };
187
188 vbus_sw: pwr_sw2 {
189 regulator-name = "vbus_sw";
190 interrupts = <IT_OCP_SWOUT 0>;
191 regulator-active-discharge;
192 };
193 };
194
195 onkey {
196 compatible = "st,stpmic1-onkey";
197 interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 1>;
198 interrupt-names = "onkey-falling", "onkey-rising";
199 };
200
201 pmic_watchdog: watchdog {
202 compatible = "st,stpmic1-wdt";
203 status = "disabled";
204 };
205 };
206
207 sip_eeprom: eeprom@50 {
208 compatible = "atmel,24c32";
209 vcc-supply = <&reg_sip_eeprom>;
210 reg = <0x50>;
211 };
212};
213
214&ipcc {
215 status = "okay";
216};
217
218&m4_rproc {
219 memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>,
220 <&vdev0vring1>, <&vdev0buffer>;
221 mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>;
222 mbox-names = "vq0", "vq1", "shutdown";
223 interrupt-parent = <&exti>;
224 interrupts = <68 1>;
225 status = "okay";
226};
227
228&rng1 {
229 status = "okay";
230};