GNU Linux-libre 4.19.264-gnu1
[releases.git] / arch / arm / boot / dts / rk3288-rock2-som.dtsi
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2
3 #include <dt-bindings/pwm/pwm.h>
4 #include "rk3288.dtsi"
5
6 / {
7         memory@0 {
8                 reg = <0x0 0x0 0x0 0x80000000>;
9                 device_type = "memory";
10         };
11
12         emmc_pwrseq: emmc-pwrseq {
13                 compatible = "mmc-pwrseq-emmc";
14                 pinctrl-0 = <&emmc_reset>;
15                 pinctrl-names = "default";
16                 reset-gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_LOW>;
17         };
18
19         ext_gmac: external-gmac-clock {
20                 compatible = "fixed-clock";
21                 #clock-cells = <0>;
22                 clock-frequency = <125000000>;
23                 clock-output-names = "ext_gmac";
24         };
25
26         vcc_flash: flash-regulator {
27                 compatible = "regulator-fixed";
28                 regulator-name = "vcc_flash";
29                 regulator-min-microvolt = <1800000>;
30                 regulator-max-microvolt = <1800000>;
31                 startup-delay-us = <150>;
32                 vin-supply = <&vcc_io>;
33         };
34
35         vcc_sys: vsys-regulator {
36                 compatible = "regulator-fixed";
37                 regulator-name = "vcc_sys";
38                 regulator-min-microvolt = <5000000>;
39                 regulator-max-microvolt = <5000000>;
40                 regulator-always-on;
41                 regulator-boot-on;
42         };
43 };
44
45 &cpu0 {
46         cpu0-supply = <&vdd_cpu>;
47 };
48
49 &emmc {
50         bus-width = <8>;
51         cap-mmc-highspeed;
52         disable-wp;
53         non-removable;
54         mmc-pwrseq = <&emmc_pwrseq>;
55         pinctrl-names = "default";
56         pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
57         vmmc-supply = <&vcc_io>;
58         vqmmc-supply = <&vcc_flash>;
59         status = "okay";
60 };
61
62 &gmac {
63         assigned-clocks = <&cru SCLK_MAC>;
64         assigned-clock-parents = <&ext_gmac>;
65         clock_in_out = "input";
66         phy-mode = "rgmii";
67         phy-supply = <&vccio_pmu>;
68         pinctrl-names = "default";
69         pinctrl-0 = <&rgmii_pins &phy_rst>;
70         snps,reset-gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_LOW>;
71         snps,reset-active-low;
72         snps,reset-delays-us = <0 10000 30000>;
73         rx_delay = <0x10>;
74         tx_delay = <0x30>;
75 };
76
77 &gpu {
78         mali-supply = <&vdd_gpu>;
79         status = "okay";
80 };
81
82 &i2c0 {
83         status = "okay";
84
85         act8846: act8846@5a {
86                 compatible = "active-semi,act8846";
87                 reg = <0x5a>;
88                 system-power-controller;
89                 inl1-supply = <&vcc_io>;
90                 inl2-supply = <&vcc_sys>;
91                 inl3-supply = <&vcc_20>;
92                 vp1-supply = <&vcc_sys>;
93                 vp2-supply = <&vcc_sys>;
94                 vp3-supply = <&vcc_sys>;
95                 vp4-supply = <&vcc_sys>;
96
97                 regulators {
98                         vcc_ddr: REG1 {
99                                 regulator-name = "VCC_DDR";
100                                 regulator-min-microvolt = <1200000>;
101                                 regulator-max-microvolt = <1200000>;
102                                 regulator-always-on;
103                         };
104
105                         vcc_io: vccio_codec: REG2 {
106                                 regulator-name = "VCC_IO";
107                                 regulator-min-microvolt = <3300000>;
108                                 regulator-max-microvolt = <3300000>;
109                                 regulator-always-on;
110                         };
111
112                         vdd_log: REG3 {
113                                 regulator-name = "VDD_LOG";
114                                 regulator-min-microvolt = <1000000>;
115                                 regulator-max-microvolt = <1000000>;
116                                 regulator-always-on;
117                         };
118
119                         vcc_20: REG4 {
120                                 regulator-name = "VCC_20";
121                                 regulator-min-microvolt = <2000000>;
122                                 regulator-max-microvolt = <2000000>;
123                                 regulator-always-on;
124                         };
125
126                         vccio_sd: REG5 {
127                                 regulator-name = "VCCIO_SD";
128                                 regulator-min-microvolt = <3300000>;
129                                 regulator-max-microvolt = <3300000>;
130                                 regulator-always-on;
131                         };
132
133                         vdd10_lcd: REG6 {
134                                 regulator-name = "VDD10_LCD";
135                                 regulator-min-microvolt = <1000000>;
136                                 regulator-max-microvolt = <1000000>;
137                                 regulator-always-on;
138                         };
139
140                         vcca_codec: REG7 {
141                                 regulator-name = "VCCA_CODEC";
142                                 regulator-min-microvolt = <3300000>;
143                                 regulator-max-microvolt = <3300000>;
144                                 regulator-always-on;
145                         };
146
147                         vcca_tp: REG8 {
148                                 regulator-name = "VCCA_TP";
149                                 regulator-min-microvolt = <3300000>;
150                                 regulator-max-microvolt = <3300000>;
151                                 regulator-always-on;
152                         };
153
154                         vccio_pmu: REG9 {
155                                 regulator-name = "VCCIO_PMU";
156                                 regulator-min-microvolt = <3300000>;
157                                 regulator-max-microvolt = <3300000>;
158                                 regulator-always-on;
159                         };
160
161                         vdd_10: REG10 {
162                                 regulator-name = "VDD_10";
163                                 regulator-min-microvolt = <1000000>;
164                                 regulator-max-microvolt = <1000000>;
165                                 regulator-always-on;
166                         };
167
168                         vcc_18: REG11 {
169                                 regulator-name = "VCC_18";
170                                 regulator-min-microvolt = <1800000>;
171                                 regulator-max-microvolt = <1800000>;
172                                 regulator-always-on;
173                         };
174
175                         vcc18_lcd: REG12 {
176                                 regulator-name = "VCC18_LCD";
177                                 regulator-min-microvolt = <1800000>;
178                                 regulator-max-microvolt = <1800000>;
179                                 regulator-always-on;
180                         };
181                 };
182         };
183
184         vdd_cpu: syr827@40 {
185                 compatible = "silergy,syr827";
186                 reg = <0x40>;
187                 fcs,suspend-voltage-selector = <1>;
188                 regulator-always-on;
189                 regulator-boot-on;
190                 regulator-enable-ramp-delay = <300>;
191                 regulator-name = "vdd_cpu";
192                 regulator-min-microvolt = <850000>;
193                 regulator-max-microvolt = <1350000>;
194                 regulator-ramp-delay = <8000>;
195                 vin-supply = <&vcc_sys>;
196         };
197
198         vdd_gpu: syr828@41 {
199                 compatible = "silergy,syr828";
200                 reg = <0x41>;
201                 fcs,suspend-voltage-selector = <1>;
202                 regulator-always-on;
203                 regulator-enable-ramp-delay = <300>;
204                 regulator-min-microvolt = <850000>;
205                 regulator-max-microvolt = <1350000>;
206                 regulator-name = "vdd_gpu";
207                 regulator-ramp-delay = <8000>;
208                 vin-supply = <&vcc_sys>;
209         };
210 };
211
212 &io_domains {
213         status = "okay";
214
215         audio-supply = <&vcc_io>;
216         bb-supply = <&vcc_io>;
217         dvp-supply = <&vcc_18>;
218         flash0-supply = <&vcc_flash>;
219         flash1-supply = <&vccio_pmu>;
220         gpio30-supply = <&vccio_pmu>;
221         gpio1830-supply = <&vcc_io>;
222         lcdc-supply = <&vcc_io>;
223         sdcard-supply = <&vccio_sd>;
224         wifi-supply = <&vcc_18>;
225 };
226
227 &pinctrl {
228         pcfg_output_high: pcfg-output-high {
229                 output-high;
230         };
231
232         emmc {
233                         emmc_reset: emmc-reset {
234                                 rockchip,pins = <3 9 RK_FUNC_GPIO &pcfg_pull_none>;
235                         };
236         };
237
238         gmac {
239                 phy_rst: phy-rst {
240                         rockchip,pins = <4 8 RK_FUNC_GPIO  &pcfg_output_high>;
241                 };
242         };
243 };
244
245 &saradc {
246         vref-supply = <&vcc_18>;
247 };
248
249 &tsadc {
250         rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */
251         rockchip,hw-tshut-polarity = <0>; /* tshut polarity 0:LOW 1:HIGH */
252         status = "okay";
253 };
254
255 &vopb {
256         status = "okay";
257 };
258
259 &vopb_mmu {
260         status = "okay";
261 };
262
263 &vopl {
264         status = "okay";
265 };
266
267 &vopl_mmu {
268         status = "okay";
269 };
270
271 &wdt {
272         status = "okay";
273 };