blob: 44bb5e6f83b12dbaa50c6e846ac39fccc19580e6 [file] [log] [blame]
Klaus Gogerfce152a62017-12-15 12:44:27 +01001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
Sjoerd Simons44d50392015-09-15 08:57:21 +02002
3#include <dt-bindings/pwm/pwm.h>
4#include "rk3288.dtsi"
5
6/ {
Javier Martinez Canillas0b639b82016-09-09 10:01:08 -04007 memory@0 {
Tao Huang79db45b2017-08-03 11:21:36 +08008 reg = <0x0 0x0 0x0 0x80000000>;
Sjoerd Simons44d50392015-09-15 08:57:21 +02009 device_type = "memory";
10 };
11
12 emmc_pwrseq: emmc-pwrseq {
13 compatible = "mmc-pwrseq-emmc";
14 pinctrl-0 = <&emmc_reset>;
15 pinctrl-names = "default";
Andy Yane9e79d52016-10-22 20:54:55 +080016 reset-gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_LOW>;
Sjoerd Simons44d50392015-09-15 08:57:21 +020017 };
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
Sjoerd Simons30c4cbc2016-01-09 13:54:17 +010026 vcc_flash: flash-regulator {
27 compatible = "regulator-fixed";
John Keeping03d9f8f2018-11-13 15:24:13 +000028 regulator-name = "vcc_flash";
Sjoerd Simons30c4cbc2016-01-09 13:54:17 +010029 regulator-min-microvolt = <1800000>;
30 regulator-max-microvolt = <1800000>;
31 startup-delay-us = <150>;
32 vin-supply = <&vcc_io>;
33 };
34
Sjoerd Simons44d50392015-09-15 08:57:21 +020035 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;
Sjoerd Simons44d50392015-09-15 08:57:21 +020054 mmc-pwrseq = <&emmc_pwrseq>;
55 pinctrl-names = "default";
56 pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
57 vmmc-supply = <&vcc_io>;
Sjoerd Simons30c4cbc2016-01-09 13:54:17 +010058 vqmmc-supply = <&vcc_flash>;
Sjoerd Simons44d50392015-09-15 08:57:21 +020059 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>;
Andy Yane9e79d52016-10-22 20:54:55 +080070 snps,reset-gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_LOW>;
Sjoerd Simons44d50392015-09-15 08:57:21 +020071 snps,reset-active-low;
72 snps,reset-delays-us = <0 10000 30000>;
73 rx_delay = <0x10>;
74 tx_delay = <0x30>;
75};
76
Guillaume Tuckerd6823b62017-05-03 10:56:27 +010077&gpu {
78 mali-supply = <&vdd_gpu>;
79 status = "okay";
80};
81
Sjoerd Simons44d50392015-09-15 08:57:21 +020082&i2c0 {
83 status = "okay";
84
85 act8846: act8846@5a {
86 compatible = "active-semi,act8846";
87 reg = <0x5a>;
John Keepingda0a1cf2015-11-19 13:45:31 +000088 system-power-controller;
Sjoerd Simons44d50392015-09-15 08:57:21 +020089 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
Romain Perierdb334782017-02-03 15:38:00 +0100105 vcc_io: vccio_codec: REG2 {
Sjoerd Simons44d50392015-09-15 08:57:21 +0200106 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
Heiko Stuebner3445b2f2016-05-21 01:36:17 +0200212&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 = <&vcc_io>;
222 lcdc-supply = <&vcc_io>;
223 sdcard-supply = <&vccio_sd>;
224 wifi-supply = <&vcc_18>;
225};
226
Sjoerd Simons44d50392015-09-15 08:57:21 +0200227&pinctrl {
228 pcfg_output_high: pcfg-output-high {
229 output-high;
230 };
231
232 emmc {
Johan Jonkera562a8a2019-10-14 23:06:19 +0200233 emmc_reset: emmc-reset {
234 rockchip,pins = <3 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
235 };
Sjoerd Simons44d50392015-09-15 08:57:21 +0200236 };
237
238 gmac {
239 phy_rst: phy-rst {
Johan Jonkera562a8a2019-10-14 23:06:19 +0200240 rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_output_high>;
Sjoerd Simons44d50392015-09-15 08:57:21 +0200241 };
242 };
243};
244
John Keeping83454312018-02-18 17:03:35 +0000245&saradc {
246 vref-supply = <&vcc_18>;
247};
248
Sjoerd Simons44d50392015-09-15 08:57:21 +0200249&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};