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