]> git.ipfire.org Git - thirdparty/u-boot.git/blame - src/arm/rockchip/rk3036-kylin.dts
Squashed 'dts/upstream/' changes from aaba2d45dc2a..b35b9bd1d4ee
[thirdparty/u-boot.git] / src / arm / rockchip / rk3036-kylin.dts
CommitLineData
53633a89
TR
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2
3/dts-v1/;
4
5#include "rk3036.dtsi"
6
7/ {
8 model = "Rockchip RK3036 KylinBoard";
9 compatible = "rockchip,rk3036-kylin", "rockchip,rk3036";
10
93743d24
TR
11 chosen {
12 stdout-path = "serial2:115200n8";
13 };
14
53633a89
TR
15 memory@60000000 {
16 device_type = "memory";
17 reg = <0x60000000 0x20000000>;
18 };
19
93743d24
TR
20 hdmi_con: hdmi-con {
21 compatible = "hdmi-connector";
22 type = "a";
23
24 port {
25 hdmi_con_in: endpoint {
26 remote-endpoint = <&hdmi_out_con>;
27 };
28 };
29 };
30
53633a89
TR
31 leds: gpio-leds {
32 compatible = "gpio-leds";
33
34 work_led: led-0 {
35 gpios = <&gpio2 RK_PD6 GPIO_ACTIVE_HIGH>;
36 label = "kylin:red:led";
37 pinctrl-names = "default";
38 pinctrl-0 = <&led_ctl>;
39 };
40 };
41
42 sdio_pwrseq: sdio-pwrseq {
43 compatible = "mmc-pwrseq-simple";
44 pinctrl-names = "default";
45 pinctrl-0 = <&bt_wake_h>;
46
47 /*
48 * On the module itself this is one of these (depending
49 * on the actual card populated):
50 * - SDIO_RESET_L_WL_REG_ON
51 * - SDIO_RESET_L_WL_RST
52 * - SDIO_RESET_L_BT_EN
53 */
54 reset-gpios = <&gpio0 RK_PD2 GPIO_ACTIVE_LOW>, /* WL_REG_ON */
55 <&gpio0 RK_PD3 GPIO_ACTIVE_LOW>, /* WL_RST */
56 <&gpio2 RK_PB1 GPIO_ACTIVE_LOW>; /* BT_EN */
57 };
58
59 sound {
60 compatible = "simple-audio-card";
61 simple-audio-card,format = "i2s";
62 simple-audio-card,name = "rockchip,rt5616-codec";
63 simple-audio-card,mclk-fs = <512>;
64 simple-audio-card,widgets =
65 "Microphone", "Microphone Jack",
66 "Headphone", "Headphone Jack";
67 simple-audio-card,routing =
68 "MIC1", "Microphone Jack",
69 "MIC2", "Microphone Jack",
70 "Microphone Jack", "micbias1",
71 "Headphone Jack", "HPOL",
72 "Headphone Jack", "HPOR";
73
74 simple-audio-card,cpu {
75 sound-dai = <&i2s>;
76 };
77
78 simple-audio-card,codec {
79 sound-dai = <&rt5616>;
80 };
81 };
82
83 vcc_sys: vsys-regulator {
84 compatible = "regulator-fixed";
85 regulator-name = "vcc_sys";
86 regulator-min-microvolt = <5000000>;
87 regulator-max-microvolt = <5000000>;
88 regulator-always-on;
89 regulator-boot-on;
90 };
91};
92
93&acodec {
94 status = "okay";
95};
96
97&emac {
98 phy = <&phy0>;
99 phy-reset-duration = <10>; /* millisecond */
100 phy-reset-gpios = <&gpio2 RK_PC6 GPIO_ACTIVE_LOW>; /* PHY_RST */
101 pinctrl-names = "default";
102 pinctrl-0 = <&emac_xfer>, <&emac_mdio>;
103 status = "okay";
104
105 mdio {
106 #address-cells = <1>;
107 #size-cells = <0>;
108
109 phy0: ethernet-phy@0 {
110 reg = <0>;
111 };
112 };
113};
114
115&emmc {
116 status = "okay";
117};
118
119&gpu {
120 mali-supply = <&vdd_gpu>;
121 status = "okay";
122};
123
124&hdmi {
125 status = "okay";
126};
127
93743d24
TR
128&hdmi_out {
129 hdmi_out_con: endpoint {
130 remote-endpoint = <&hdmi_con_in>;
131 };
132};
133
53633a89
TR
134&i2c1 {
135 clock-frequency = <400000>;
136
137 status = "okay";
138
139 rk808: pmic@1b {
140 compatible = "rockchip,rk808";
141 reg = <0x1b>;
142 interrupt-parent = <&gpio2>;
143 interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>;
144 pinctrl-names = "default";
145 pinctrl-0 = <&pmic_int &global_pwroff>;
146 rockchip,system-power-controller;
147 wakeup-source;
148 #clock-cells = <1>;
149 clock-output-names = "xin32k", "rk808-clkout2";
150
151 vcc1-supply = <&vcc_sys>;
152 vcc2-supply = <&vcc_sys>;
153 vcc3-supply = <&vcc_sys>;
154 vcc4-supply = <&vcc_sys>;
155 vcc6-supply = <&vcc_sys>;
156 vcc7-supply = <&vcc_sys>;
157 vcc8-supply = <&vcc_18>;
158 vcc9-supply = <&vcc_io>;
159 vcc10-supply = <&vcc_io>;
160 vcc11-supply = <&vcc_sys>;
161 vcc12-supply = <&vcc_io>;
162 vddio-supply = <&vccio_pmu>;
163
164 regulators {
165 vdd_cpu: DCDC_REG1 {
166 regulator-always-on;
167 regulator-boot-on;
168 regulator-min-microvolt = <750000>;
169 regulator-max-microvolt = <1350000>;
170 regulator-name = "vdd_arm";
171 regulator-state-mem {
172 regulator-off-in-suspend;
173 };
174 };
175
176 vdd_gpu: DCDC_REG2 {
177 regulator-always-on;
178 regulator-boot-on;
179 regulator-min-microvolt = <850000>;
180 regulator-max-microvolt = <1250000>;
181 regulator-name = "vdd_gpu";
182 regulator-state-mem {
183 regulator-on-in-suspend;
184 regulator-suspend-microvolt = <1000000>;
185 };
186 };
187
188 vcc_ddr: DCDC_REG3 {
189 regulator-always-on;
190 regulator-boot-on;
191 regulator-name = "vcc_ddr";
192 regulator-state-mem {
193 regulator-on-in-suspend;
194 };
195 };
196
197 vcc_io: DCDC_REG4 {
198 regulator-always-on;
199 regulator-boot-on;
200 regulator-min-microvolt = <3300000>;
201 regulator-max-microvolt = <3300000>;
202 regulator-name = "vcc_io";
203 regulator-state-mem {
204 regulator-on-in-suspend;
205 regulator-suspend-microvolt = <3300000>;
206 };
207 };
208
209 vccio_pmu: LDO_REG1 {
210 regulator-always-on;
211 regulator-boot-on;
212 regulator-min-microvolt = <3300000>;
213 regulator-max-microvolt = <3300000>;
214 regulator-name = "vccio_pmu";
215 regulator-state-mem {
216 regulator-on-in-suspend;
217 regulator-suspend-microvolt = <3300000>;
218 };
219 };
220
221 vcc_tp: LDO_REG2 {
222 regulator-always-on;
223 regulator-boot-on;
224 regulator-min-microvolt = <3300000>;
225 regulator-max-microvolt = <3300000>;
226 regulator-name = "vcc_tp";
227 regulator-state-mem {
228 regulator-off-in-suspend;
229 };
230 };
231
232 vdd_10: LDO_REG3 {
233 regulator-always-on;
234 regulator-boot-on;
235 regulator-min-microvolt = <1000000>;
236 regulator-max-microvolt = <1000000>;
237 regulator-name = "vdd_10";
238 regulator-state-mem {
239 regulator-on-in-suspend;
240 regulator-suspend-microvolt = <1000000>;
241 };
242 };
243
244 vcc18_lcd: LDO_REG4 {
245 regulator-always-on;
246 regulator-boot-on;
247 regulator-min-microvolt = <1800000>;
248 regulator-max-microvolt = <1800000>;
249 regulator-name = "vcc18_lcd";
250 regulator-state-mem {
251 regulator-on-in-suspend;
252 regulator-suspend-microvolt = <1800000>;
253 };
254 };
255
256 vccio_sd: LDO_REG5 {
257 regulator-always-on;
258 regulator-boot-on;
259 regulator-min-microvolt = <1800000>;
260 regulator-max-microvolt = <3300000>;
261 regulator-name = "vccio_sd";
262 regulator-state-mem {
263 regulator-on-in-suspend;
264 regulator-suspend-microvolt = <3300000>;
265 };
266 };
267
268 vout5: LDO_REG6 {
269 regulator-always-on;
270 regulator-boot-on;
271 regulator-min-microvolt = <1800000>;
272 regulator-max-microvolt = <2500000>;
273 regulator-name = "vout5";
274 regulator-state-mem {
275 regulator-on-in-suspend;
276 regulator-suspend-microvolt = <1800000>;
277 };
278 };
279
280 vcc_18: LDO_REG7 {
281 regulator-always-on;
282 regulator-boot-on;
283 regulator-min-microvolt = <1800000>;
284 regulator-max-microvolt = <1800000>;
285 regulator-name = "vcc_18";
286 regulator-state-mem {
287 regulator-on-in-suspend;
288 regulator-suspend-microvolt = <1800000>;
289 };
290 };
291
292 vcca_codec: LDO_REG8 {
293 regulator-always-on;
294 regulator-boot-on;
295 regulator-min-microvolt = <1800000>;
296 regulator-max-microvolt = <1800000>;
297 regulator-name = "vcca_codec";
298 regulator-state-mem {
299 regulator-on-in-suspend;
300 regulator-suspend-microvolt = <1800000>;
301 };
302 };
303
304 vcc_wl: SWITCH_REG1 {
305 regulator-always-on;
306 regulator-boot-on;
307 regulator-name = "vcc_wl";
308 regulator-state-mem {
309 regulator-on-in-suspend;
310 };
311 };
312
313 vcc_lcd: SWITCH_REG2 {
314 regulator-always-on;
315 regulator-boot-on;
316 regulator-name = "vcc_lcd";
317 regulator-state-mem {
318 regulator-on-in-suspend;
319 };
320 };
321 };
322 };
323};
324
325&i2c2 {
326 status = "okay";
327
328 rt5616: rt5616@1b {
329 compatible = "rt5616";
330 reg = <0x1b>;
331 clocks = <&cru SCLK_I2S_OUT>;
332 clock-names = "mclk";
333 #sound-dai-cells = <0>;
334 };
335};
336
337&i2s {
338 status = "okay";
339};
340
341&sdio {
342 status = "okay";
343
344 bus-width = <4>;
345 cap-sd-highspeed;
346 cap-sdio-irq;
347 rockchip,default-sample-phase = <90>;
348 keep-power-in-suspend;
349 mmc-pwrseq = <&sdio_pwrseq>;
350 non-removable;
351 pinctrl-names = "default";
352 pinctrl-0 = <&sdio_clk &sdio_cmd &sdio_bus4>;
353 sd-uhs-sdr12;
354 sd-uhs-sdr25;
355 sd-uhs-sdr50;
356 sd-uhs-sdr104;
357};
358
359&sdmmc {
360 bus-width = <4>;
361 cap-mmc-highspeed;
362 cap-sd-highspeed;
363 card-detect-delay = <200>;
364 disable-wp;
365 pinctrl-names = "default";
366 pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>;
367};
368
369&uart0 {
370 status = "okay";
371};
372
373&uart2 {
374 status = "okay";
375};
376
377&usb_host {
378 status = "okay";
379};
380
381&usb_otg {
382 status = "okay";
383};
384
385&vop {
386 status = "okay";
387};
388
389&vop_mmu {
390 status = "okay";
391};
392
393&pinctrl {
394 leds {
395 led_ctl: led-ctl {
396 rockchip,pins = <2 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>;
397 };
398 };
399
400 pmic {
401 pmic_int: pmic-int {
402 rockchip,pins = <2 RK_PA2 RK_FUNC_GPIO &pcfg_pull_default>;
403 };
404 };
405
406 sdio {
407 bt_wake_h: bt-wake-h {
408 rockchip,pins = <2 RK_PB0 RK_FUNC_GPIO &pcfg_pull_default>;
409 };
410 };
411
412 sdmmc {
413 sdmmc_pwr: sdmmc-pwr {
414 rockchip,pins = <2 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
415 };
416 };
417
418 suspend {
419 global_pwroff: global-pwroff {
420 rockchip,pins = <2 RK_PA7 1 &pcfg_pull_none>;
421 };
422 };
423};