Merge tag 'block-5.14-2021-08-07' of git://git.kernel.dk/linux-block
[linux-2.6-microblaze.git] / arch / arm / boot / dts / stm32mp15xx-osd32.dtsi
1 /* 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                                 interrupts = <IT_CURLIM_LDO4 0>;
150                         };
151
152                         vdda: ldo5 {
153                                 regulator-name = "vdda";
154                                 regulator-min-microvolt = <2900000>;
155                                 regulator-max-microvolt = <2900000>;
156                                 interrupts = <IT_CURLIM_LDO5 0>;
157                                 regulator-boot-on;
158                         };
159
160                         v1v2_hdmi: ldo6 {
161                                 regulator-name = "v1v2_hdmi";
162                                 regulator-min-microvolt = <1200000>;
163                                 regulator-max-microvolt = <1200000>;
164                                 regulator-always-on;
165                                 interrupts = <IT_CURLIM_LDO6 0>;
166
167                         };
168
169                         vref_ddr: vref_ddr {
170                                 regulator-name = "vref_ddr";
171                                 regulator-always-on;
172                         };
173
174                         bst_out: boost {
175                                 regulator-name = "bst_out";
176                                 interrupts = <IT_OCP_BOOST 0>;
177                         };
178
179                         vbus_otg: pwr_sw1 {
180                                 regulator-name = "vbus_otg";
181                                 interrupts = <IT_OCP_OTG 0>;
182                                 regulator-active-discharge = <1>;
183                         };
184
185                         vbus_sw: pwr_sw2 {
186                                 regulator-name = "vbus_sw";
187                                 interrupts = <IT_OCP_SWOUT 0>;
188                                 regulator-active-discharge = <1>;
189                         };
190                 };
191
192                 onkey {
193                         compatible = "st,stpmic1-onkey";
194                         interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 1>;
195                         interrupt-names = "onkey-falling", "onkey-rising";
196                 };
197
198                 pmic_watchdog: watchdog {
199                         compatible = "st,stpmic1-wdt";
200                         status = "disabled";
201                 };
202         };
203
204         sip_eeprom: eeprom@50 {
205                 compatible = "atmel,24c32";
206                 vcc-supply = <&reg_sip_eeprom>;
207                 reg = <0x50>;
208         };
209 };
210
211 &ipcc {
212         status = "okay";
213 };
214
215 &m4_rproc {
216         memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>,
217                         <&vdev0vring1>, <&vdev0buffer>;
218         mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>;
219         mbox-names = "vq0", "vq1", "shutdown";
220         interrupt-parent = <&exti>;
221         interrupts = <68 1>;
222         status = "okay";
223 };
224
225 &rng1 {
226         status = "okay";
227 };