]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - src/arm/stm32mp15xx-osd32.dtsi
Import DTS from Linux 5.8
[FreeBSD/FreeBSD.git] / src / arm / 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                                 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 };