]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - src/arm/stm32mp15xx-osd32.dtsi
Import device-tree files from Linux 6.4
[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
55 &i2c4 {
56         pinctrl-names = "default", "sleep";
57         pinctrl-0 = <&i2c4_pins_a>;
58         pinctrl-1 = <&i2c4_sleep_pins_a>;
59         clock-frequency = <400000>;
60         i2c-scl-rising-time-ns = <185>;
61         i2c-scl-falling-time-ns = <20>;
62         status = "okay";
63
64         pmic: stpmic@33 {
65                 compatible = "st,stpmic1";
66                 reg = <0x33>;
67                 interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>;
68                 interrupt-controller;
69                 #interrupt-cells = <2>;
70
71                 regulators {
72                         compatible = "st,stpmic1-regulators";
73
74                         ldo1-supply = <&v3v3>;
75                         ldo3-supply = <&vdd_ddr>;
76                         ldo6-supply = <&v3v3>;
77                         pwr_sw1-supply = <&bst_out>;
78
79                         vddcore: buck1 {
80                                 regulator-name = "vddcore";
81                                 regulator-min-microvolt = <1200000>;
82                                 regulator-max-microvolt = <1350000>;
83                                 regulator-always-on;
84                                 regulator-initial-mode = <0>;
85                                 regulator-over-current-protection;
86                         };
87
88                         vdd_ddr: buck2 {
89                                 regulator-name = "vdd_ddr";
90                                 regulator-min-microvolt = <1350000>;
91                                 regulator-max-microvolt = <1350000>;
92                                 regulator-always-on;
93                                 regulator-initial-mode = <0>;
94                                 regulator-over-current-protection;
95                         };
96
97                         vdd: buck3 {
98                                 regulator-name = "vdd";
99                                 regulator-min-microvolt = <3300000>;
100                                 regulator-max-microvolt = <3300000>;
101                                 regulator-always-on;
102                                 st,mask-reset;
103                                 regulator-initial-mode = <0>;
104                                 regulator-over-current-protection;
105                         };
106
107                         v3v3: buck4 {
108                                 regulator-name = "v3v3";
109                                 regulator-min-microvolt = <3300000>;
110                                 regulator-max-microvolt = <3300000>;
111                                 regulator-always-on;
112                                 regulator-over-current-protection;
113                                 regulator-initial-mode = <0>;
114                         };
115
116                         v1v8_audio: ldo1 {
117                                 regulator-name = "v1v8_audio";
118                                 regulator-min-microvolt = <1800000>;
119                                 regulator-max-microvolt = <1800000>;
120                                 regulator-always-on;
121                                 interrupts = <IT_CURLIM_LDO1 0>;
122
123                         };
124
125                         v3v3_hdmi: ldo2 {
126                                 regulator-name = "v3v3_hdmi";
127                                 regulator-min-microvolt = <3300000>;
128                                 regulator-max-microvolt = <3300000>;
129                                 regulator-always-on;
130                                 interrupts = <IT_CURLIM_LDO2 0>;
131
132                         };
133
134                         vtt_ddr: ldo3 {
135                                 regulator-name = "vtt_ddr";
136                                 regulator-min-microvolt = <500000>;
137                                 regulator-max-microvolt = <750000>;
138                                 regulator-always-on;
139                                 regulator-over-current-protection;
140                         };
141
142                         vdd_usb: ldo4 {
143                                 regulator-name = "vdd_usb";
144                                 interrupts = <IT_CURLIM_LDO4 0>;
145                         };
146
147                         vdda: ldo5 {
148                                 regulator-name = "vdda";
149                                 regulator-min-microvolt = <2900000>;
150                                 regulator-max-microvolt = <2900000>;
151                                 interrupts = <IT_CURLIM_LDO5 0>;
152                                 regulator-boot-on;
153                         };
154
155                         v1v2_hdmi: ldo6 {
156                                 regulator-name = "v1v2_hdmi";
157                                 regulator-min-microvolt = <1200000>;
158                                 regulator-max-microvolt = <1200000>;
159                                 regulator-always-on;
160                                 interrupts = <IT_CURLIM_LDO6 0>;
161
162                         };
163
164                         vref_ddr: vref_ddr {
165                                 regulator-name = "vref_ddr";
166                                 regulator-always-on;
167                         };
168
169                         bst_out: boost {
170                                 regulator-name = "bst_out";
171                                 interrupts = <IT_OCP_BOOST 0>;
172                         };
173
174                         vbus_otg: pwr_sw1 {
175                                 regulator-name = "vbus_otg";
176                                 interrupts = <IT_OCP_OTG 0>;
177                                 regulator-active-discharge = <1>;
178                         };
179
180                         vbus_sw: pwr_sw2 {
181                                 regulator-name = "vbus_sw";
182                                 interrupts = <IT_OCP_SWOUT 0>;
183                                 regulator-active-discharge = <1>;
184                         };
185                 };
186
187                 onkey {
188                         compatible = "st,stpmic1-onkey";
189                         interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 1>;
190                         interrupt-names = "onkey-falling", "onkey-rising";
191                 };
192
193                 pmic_watchdog: watchdog {
194                         compatible = "st,stpmic1-wdt";
195                         status = "disabled";
196                 };
197         };
198
199         sip_eeprom: eeprom@50 {
200                 compatible = "atmel,24c32";
201                 vcc-supply = <&vdd>;
202                 reg = <0x50>;
203         };
204 };
205
206 &ipcc {
207         status = "okay";
208 };
209
210 &m4_rproc {
211         memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>,
212                         <&vdev0vring1>, <&vdev0buffer>;
213         mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>, <&ipcc 3>;
214         mbox-names = "vq0", "vq1", "shutdown", "detach";
215         interrupt-parent = <&exti>;
216         interrupts = <68 1>;
217         status = "okay";
218 };
219
220 &rng1 {
221         status = "okay";
222 };