xref: /linux/arch/arm/boot/dts/rockchip/rk3066a-mk808.dts (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2016 Paweł Jarosz <paweljarosz3691@gmail.com>
4 */
5
6/dts-v1/;
7#include <dt-bindings/input/input.h>
8#include "rk3066a.dtsi"
9
10/ {
11	model = "Rikomagic MK808";
12	compatible = "rikomagic,mk808", "rockchip,rk3066a";
13
14	aliases {
15		mmc0 = &mmc0;
16		mmc1 = &mmc1;
17	};
18
19	chosen {
20		stdout-path = "serial2:115200n8";
21	};
22
23	memory@60000000 {
24		reg = <0x60000000 0x40000000>;
25		device_type = "memory";
26	};
27
28	adc-keys {
29		compatible = "adc-keys";
30		io-channels = <&saradc 1>;
31		io-channel-names = "buttons";
32		keyup-threshold-microvolt = <2500000>;
33		poll-interval = <100>;
34
35		button-recovery {
36			label = "recovery";
37			linux,code = <KEY_VENDOR>;
38			press-threshold-microvolt = <0>;
39		};
40	};
41
42	gpio-leds {
43		compatible = "gpio-leds";
44
45		blue_led: led-0 {
46			label = "mk808:blue:power";
47			gpios = <&gpio0 RK_PA3 GPIO_ACTIVE_HIGH>;
48			default-state = "off";
49			linux,default-trigger = "default-on";
50		};
51	};
52
53	hdmi_con {
54		compatible = "hdmi-connector";
55		type = "c";
56
57		port {
58			hdmi_con_in: endpoint {
59				remote-endpoint = <&hdmi_out_con>;
60			};
61		};
62	};
63
64	vcc_2v5: vcc-2v5 {
65		compatible = "regulator-fixed";
66		regulator-name = "vcc_2v5";
67		regulator-min-microvolt = <2500000>;
68		regulator-max-microvolt = <2500000>;
69	};
70
71	vcc_io: vcc-io {
72		compatible = "regulator-fixed";
73		regulator-name = "vcc_io";
74		regulator-min-microvolt = <3300000>;
75		regulator-max-microvolt = <3300000>;
76	};
77
78	vcc_host: usb-host-regulator {
79		compatible = "regulator-fixed";
80		enable-active-high;
81		gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
82		pinctrl-0 = <&host_drv>;
83		pinctrl-names = "default";
84		regulator-always-on;
85		regulator-name = "host-pwr";
86		regulator-min-microvolt = <5000000>;
87		regulator-max-microvolt = <5000000>;
88		startup-delay-us = <100000>;
89		vin-supply = <&vcc_io>;
90	};
91
92	vcc_otg: usb-otg-regulator {
93		compatible = "regulator-fixed";
94		enable-active-high;
95		gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
96		pinctrl-0 = <&otg_drv>;
97		pinctrl-names = "default";
98		regulator-always-on;
99		regulator-name = "vcc_otg";
100		regulator-min-microvolt = <5000000>;
101		regulator-max-microvolt = <5000000>;
102		startup-delay-us = <100000>;
103		vin-supply = <&vcc_io>;
104	};
105
106	vcc_sd: sdmmc-regulator {
107		compatible = "regulator-fixed";
108		gpio = <&gpio3 RK_PA7 GPIO_ACTIVE_LOW>;
109		pinctrl-0 = <&sdmmc_pwr>;
110		pinctrl-names = "default";
111		regulator-name = "vcc_sd";
112		regulator-min-microvolt = <3300000>;
113		regulator-max-microvolt = <3300000>;
114		startup-delay-us = <100000>;
115		vin-supply = <&vcc_io>;
116	};
117
118	vcc_wifi: sdio-regulator {
119		compatible = "regulator-fixed";
120		enable-active-high;
121		gpio = <&gpio3 RK_PD0 GPIO_ACTIVE_HIGH>;
122		pinctrl-0 = <&wifi_pwr>;
123		pinctrl-names = "default";
124		regulator-name = "vcc_wifi";
125		regulator-min-microvolt = <3300000>;
126		regulator-max-microvolt = <3300000>;
127		startup-delay-us = <100000>;
128		vin-supply = <&vcc_io>;
129	};
130};
131
132&hdmi {
133	status = "okay";
134};
135
136&hdmi_in_vop1 {
137	status = "disabled";
138};
139
140&hdmi_out {
141	hdmi_out_con: endpoint {
142		remote-endpoint = <&hdmi_con_in>;
143	};
144};
145
146&hdmi_sound {
147	status = "okay";
148};
149
150&i2s0 {
151	status = "okay";
152};
153
154&mmc0 {
155	bus-width = <4>;
156	cap-mmc-highspeed;
157	cap-sd-highspeed;
158	vmmc-supply = <&vcc_sd>;
159	status = "okay";
160};
161
162&mmc1 {
163	bus-width = <4>;
164	non-removable;
165	pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_bus4>;
166	pinctrl-names = "default";
167	vmmc-supply = <&vcc_wifi>;
168	#address-cells = <1>;
169	#size-cells = <0>;
170	status = "okay";
171
172	brcmf: wifi@1 {
173		compatible = "brcm,bcm4329-fmac";
174		reg = <1>;
175	};
176};
177
178&nfc {
179	#address-cells = <1>;
180	#size-cells = <0>;
181	status = "okay";
182
183	nand@0 {
184		reg = <0>;
185		label = "rk-nand";
186		nand-bus-width = <8>;
187		nand-ecc-mode = "hw";
188		nand-ecc-step-size = <1024>;
189		nand-ecc-strength = <40>;
190		nand-is-boot-medium;
191		rockchip,boot-blks = <8>;
192		rockchip,boot-ecc-strength = <24>;
193	};
194};
195
196&pinctrl {
197	usb-host {
198		host_drv: host-drv {
199			rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_default>;
200		};
201	};
202
203	usb-otg {
204		otg_drv: otg-drv {
205			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_default>;
206		};
207	};
208
209	sdmmc {
210		sdmmc_pwr: sdmmc-pwr {
211			rockchip,pins = <3 RK_PA7 RK_FUNC_GPIO &pcfg_pull_default>;
212		};
213	};
214
215	sdio {
216		wifi_pwr: wifi-pwr {
217			rockchip,pins = <3 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
218		};
219	};
220};
221
222&saradc {
223	vref-supply = <&vcc_2v5>;
224	status = "okay";
225};
226
227&uart2 {
228	status = "okay";
229};
230
231&usb_host {
232	status = "okay";
233};
234
235&usb_otg {
236	status = "okay";
237};
238
239&usbphy {
240	status = "okay";
241};
242
243&vop0 {
244	status = "okay";
245};
246
247&wdt {
248	status = "okay";
249};
250