xref: /rk3399_rockchip-uboot/arch/arm/dts/rk3188-radxarock.dts (revision b5f1eff77680b221cf298007b06b66950e8e2570)
147197682SHeiko Stübner/*
247197682SHeiko Stübner * Copyright (c) 2013 Heiko Stuebner <heiko@sntech.de>
347197682SHeiko Stübner *
447197682SHeiko Stübner * SPDX-License-Identifier:     GPL-2.0+ or X11
547197682SHeiko Stübner */
647197682SHeiko Stübner
747197682SHeiko Stübner/dts-v1/;
847197682SHeiko Stübner#include <dt-bindings/input/input.h>
947197682SHeiko Stübner#include "rk3188.dtsi"
10*b5f1eff7SKever Yang#include "rk3188-radxarock-u-boot.dtsi"
1147197682SHeiko Stübner
1247197682SHeiko Stübner/ {
1347197682SHeiko Stübner	model = "Radxa Rock";
1447197682SHeiko Stübner	compatible = "radxa,rock", "rockchip,rk3188";
1547197682SHeiko Stübner
1647197682SHeiko Stübner	chosen {
1747197682SHeiko Stübner/*		stdout-path = &uart2; */
1847197682SHeiko Stübner		stdout-path = "serial2:115200n8";
1947197682SHeiko Stübner	};
2047197682SHeiko Stübner
2147197682SHeiko Stübner	config {
2247197682SHeiko Stübner		u-boot,dm-pre-reloc;
2347197682SHeiko Stübner		u-boot,boot-led = "rock:red:power";
2447197682SHeiko Stübner	};
2547197682SHeiko Stübner
2647197682SHeiko Stübner	memory {
2747197682SHeiko Stübner		device_type = "memory";
2847197682SHeiko Stübner		reg = <0x60000000 0x80000000>;
2947197682SHeiko Stübner	};
3047197682SHeiko Stübner
3147197682SHeiko Stübner	gpio-keys {
3247197682SHeiko Stübner		compatible = "gpio-keys";
3347197682SHeiko Stübner		autorepeat;
3447197682SHeiko Stübner
3547197682SHeiko Stübner		power {
3647197682SHeiko Stübner			gpios = <&gpio0 4 GPIO_ACTIVE_LOW>;
3747197682SHeiko Stübner			linux,code = <KEY_POWER>;
3847197682SHeiko Stübner			label = "GPIO Key Power";
3947197682SHeiko Stübner			linux,input-type = <1>;
4047197682SHeiko Stübner			wakeup-source;
4147197682SHeiko Stübner			debounce-interval = <100>;
4247197682SHeiko Stübner		};
4347197682SHeiko Stübner	};
4447197682SHeiko Stübner
4547197682SHeiko Stübner	gpio-leds {
4647197682SHeiko Stübner		compatible = "gpio-leds";
4747197682SHeiko Stübner
4847197682SHeiko Stübner		green {
4947197682SHeiko Stübner			label = "rock:green:user1";
5047197682SHeiko Stübner			gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
5147197682SHeiko Stübner			default-state = "off";
5247197682SHeiko Stübner		};
5347197682SHeiko Stübner
5447197682SHeiko Stübner		blue {
5547197682SHeiko Stübner			label = "rock:blue:user2";
5647197682SHeiko Stübner			gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
5747197682SHeiko Stübner			default-state = "off";
5847197682SHeiko Stübner		};
5947197682SHeiko Stübner
6047197682SHeiko Stübner		sleep {
6147197682SHeiko Stübner			label = "rock:red:power";
6247197682SHeiko Stübner			gpios = <&gpio0 15 0>;
6347197682SHeiko Stübner			default-state = "off";
6447197682SHeiko Stübner		};
6547197682SHeiko Stübner	};
6647197682SHeiko Stübner
6747197682SHeiko Stübner	sound {
6847197682SHeiko Stübner		compatible = "simple-audio-card";
6947197682SHeiko Stübner		simple-audio-card,name = "SPDIF";
7047197682SHeiko Stübner
7147197682SHeiko Stübner		simple-audio-card,dai-link@1 {  /* S/PDIF - S/PDIF */
7247197682SHeiko Stübner			cpu { sound-dai = <&spdif>; };
7347197682SHeiko Stübner			codec { sound-dai = <&spdif_out>; };
7447197682SHeiko Stübner		};
7547197682SHeiko Stübner	};
7647197682SHeiko Stübner
7747197682SHeiko Stübner	spdif_out: spdif-out {
7847197682SHeiko Stübner		compatible = "linux,spdif-dit";
7947197682SHeiko Stübner		#sound-dai-cells = <0>;
8047197682SHeiko Stübner	};
8147197682SHeiko Stübner
8247197682SHeiko Stübner	ir_recv: gpio-ir-receiver {
8347197682SHeiko Stübner		compatible = "gpio-ir-receiver";
8447197682SHeiko Stübner		gpios = <&gpio0 10 1>;
8547197682SHeiko Stübner		pinctrl-names = "default";
8647197682SHeiko Stübner		pinctrl-0 = <&ir_recv_pin>;
8747197682SHeiko Stübner	};
8847197682SHeiko Stübner
8947197682SHeiko Stübner	vcc_otg: usb-otg-regulator {
9047197682SHeiko Stübner		compatible = "regulator-fixed";
9147197682SHeiko Stübner		enable-active-high;
9247197682SHeiko Stübner		gpio = <&gpio2 31 GPIO_ACTIVE_HIGH>;
9347197682SHeiko Stübner		pinctrl-names = "default";
9447197682SHeiko Stübner		pinctrl-0 = <&otg_vbus_drv>;
9547197682SHeiko Stübner		regulator-name = "otg-vbus";
9647197682SHeiko Stübner		regulator-min-microvolt = <5000000>;
9747197682SHeiko Stübner		regulator-max-microvolt = <5000000>;
9847197682SHeiko Stübner		regulator-always-on;
9947197682SHeiko Stübner		regulator-boot-on;
10047197682SHeiko Stübner	};
10147197682SHeiko Stübner
10247197682SHeiko Stübner	vcc_sd0: sdmmc-regulator {
10347197682SHeiko Stübner		compatible = "regulator-fixed";
10447197682SHeiko Stübner		regulator-name = "sdmmc-supply";
10547197682SHeiko Stübner		regulator-min-microvolt = <3300000>;
10647197682SHeiko Stübner		regulator-max-microvolt = <3300000>;
10747197682SHeiko Stübner		gpio = <&gpio3 1 GPIO_ACTIVE_LOW>;
10847197682SHeiko Stübner		startup-delay-us = <100000>;
10947197682SHeiko Stübner		vin-supply = <&vcc_io>;
11047197682SHeiko Stübner	};
11147197682SHeiko Stübner
11247197682SHeiko Stübner	vcc_host: usb-host-regulator {
11347197682SHeiko Stübner		compatible = "regulator-fixed";
11447197682SHeiko Stübner		enable-active-high;
11547197682SHeiko Stübner		gpio = <&gpio0 3 GPIO_ACTIVE_HIGH>;
11647197682SHeiko Stübner		pinctrl-names = "default";
11747197682SHeiko Stübner		pinctrl-0 = <&host_vbus_drv>;
11847197682SHeiko Stübner		regulator-name = "host-pwr";
11947197682SHeiko Stübner		regulator-min-microvolt = <5000000>;
12047197682SHeiko Stübner		regulator-max-microvolt = <5000000>;
12147197682SHeiko Stübner		regulator-always-on;
12247197682SHeiko Stübner		regulator-boot-on;
12347197682SHeiko Stübner	};
12447197682SHeiko Stübner
12547197682SHeiko Stübner	vsys: vsys-regulator {
12647197682SHeiko Stübner		compatible = "regulator-fixed";
12747197682SHeiko Stübner		regulator-name = "vsys";
12847197682SHeiko Stübner		regulator-min-microvolt = <5000000>;
12947197682SHeiko Stübner		regulator-max-microvolt = <5000000>;
13047197682SHeiko Stübner		regulator-boot-on;
13147197682SHeiko Stübner	};
13247197682SHeiko Stübner};
13347197682SHeiko Stübner
13447197682SHeiko Stübner&dmc {
13547197682SHeiko Stübner	rockchip,pctl-timing = <0x12c 0xc8 0x1f4 0x1e 0x4e 0x4 0x69 0x6
13647197682SHeiko Stübner		0x3 0x0 0x6 0x5 0xc 0x10 0x6 0x4
13747197682SHeiko Stübner		0x4 0x5 0x4 0x200 0x3 0xa 0x40 0x0
13847197682SHeiko Stübner		0x1 0x5 0x5 0x3 0xc 0x1e 0x100 0x0
13947197682SHeiko Stübner		0x4 0x0>;
14047197682SHeiko Stübner	rockchip,phy-timing = <0x208c6690 0x690878 0x10022a00
14147197682SHeiko Stübner		0x220 0x40 0x0 0x0>;
14247197682SHeiko Stübner	rockchip,sdram-params = <0x24716310 0 2 300000000 3 9 0>;
14347197682SHeiko Stübner};
14447197682SHeiko Stübner
14547197682SHeiko Stübner&emac {
14647197682SHeiko Stübner	status = "okay";
14747197682SHeiko Stübner
14847197682SHeiko Stübner	pinctrl-names = "default";
14947197682SHeiko Stübner	pinctrl-0 = <&emac_xfer>, <&emac_mdio>, <&phy_int>;
15047197682SHeiko Stübner
15147197682SHeiko Stübner	phy = <&phy0>;
15247197682SHeiko Stübner	phy-supply = <&vcc_rmii>;
15347197682SHeiko Stübner
15447197682SHeiko Stübner	phy0: ethernet-phy@0 {
15547197682SHeiko Stübner		reg = <0>;
15647197682SHeiko Stübner		interrupt-parent = <&gpio3>;
15747197682SHeiko Stübner		interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
15847197682SHeiko Stübner	};
15947197682SHeiko Stübner};
16047197682SHeiko Stübner
16147197682SHeiko Stübner&cpu0 {
16247197682SHeiko Stübner	cpu0-supply = <&vdd_arm>;
16347197682SHeiko Stübner};
16447197682SHeiko Stübner
16547197682SHeiko Stübner&i2c1 {
16647197682SHeiko Stübner	status = "okay";
16747197682SHeiko Stübner	clock-frequency = <400000>;
16847197682SHeiko Stübner
16947197682SHeiko Stübner	rtc@51 {
17047197682SHeiko Stübner		compatible = "haoyu,hym8563";
17147197682SHeiko Stübner		reg = <0x51>;
17247197682SHeiko Stübner		interrupt-parent = <&gpio0>;
17347197682SHeiko Stübner		interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
17447197682SHeiko Stübner		pinctrl-names = "default";
17547197682SHeiko Stübner		pinctrl-0 = <&rtc_int>;
17647197682SHeiko Stübner		#clock-cells = <0>;
17747197682SHeiko Stübner		clock-output-names = "xin32k";
17847197682SHeiko Stübner	};
17947197682SHeiko Stübner
18047197682SHeiko Stübner	act8846: act8846@5a {
18147197682SHeiko Stübner		compatible = "active-semi,act8846";
18247197682SHeiko Stübner		reg = <0x5a>;
18347197682SHeiko Stübner		status = "okay";
18447197682SHeiko Stübner		system-power-controller;
18547197682SHeiko Stübner
18647197682SHeiko Stübner		pinctrl-names = "default";
18747197682SHeiko Stübner		pinctrl-0 = <&act8846_dvs0_ctl>;
18847197682SHeiko Stübner
18947197682SHeiko Stübner		vp1-supply = <&vsys>;
19047197682SHeiko Stübner		vp2-supply = <&vsys>;
19147197682SHeiko Stübner		vp3-supply = <&vsys>;
19247197682SHeiko Stübner		vp4-supply = <&vsys>;
19347197682SHeiko Stübner		inl1-supply = <&vcc_io>;
19447197682SHeiko Stübner		inl2-supply = <&vsys>;
19547197682SHeiko Stübner		inl3-supply = <&vsys>;
19647197682SHeiko Stübner
19747197682SHeiko Stübner		regulators {
19847197682SHeiko Stübner			vcc_ddr: REG1 {
19947197682SHeiko Stübner				regulator-name = "VCC_DDR";
20047197682SHeiko Stübner				regulator-min-microvolt = <1200000>;
20147197682SHeiko Stübner				regulator-max-microvolt = <1200000>;
20247197682SHeiko Stübner				regulator-always-on;
20347197682SHeiko Stübner			};
20447197682SHeiko Stübner
20547197682SHeiko Stübner			vdd_log: REG2 {
20647197682SHeiko Stübner				regulator-name = "VDD_LOG";
20747197682SHeiko Stübner				regulator-min-microvolt = <1000000>;
20847197682SHeiko Stübner				regulator-max-microvolt = <1000000>;
20947197682SHeiko Stübner				regulator-always-on;
21047197682SHeiko Stübner			};
21147197682SHeiko Stübner
21247197682SHeiko Stübner			vdd_arm: REG3 {
21347197682SHeiko Stübner				regulator-name = "VDD_ARM";
21447197682SHeiko Stübner				regulator-min-microvolt = <875000>;
21547197682SHeiko Stübner				regulator-max-microvolt = <1350000>;
21647197682SHeiko Stübner				regulator-always-on;
21747197682SHeiko Stübner			};
21847197682SHeiko Stübner
21947197682SHeiko Stübner			vcc_io: REG4 {
22047197682SHeiko Stübner				regulator-name = "VCC_IO";
22147197682SHeiko Stübner				regulator-min-microvolt = <3300000>;
22247197682SHeiko Stübner				regulator-max-microvolt = <3300000>;
22347197682SHeiko Stübner				regulator-always-on;
22447197682SHeiko Stübner			};
22547197682SHeiko Stübner
22647197682SHeiko Stübner			vdd_10: REG5 {
22747197682SHeiko Stübner				regulator-name = "VDD_10";
22847197682SHeiko Stübner				regulator-min-microvolt = <1000000>;
22947197682SHeiko Stübner				regulator-max-microvolt = <1000000>;
23047197682SHeiko Stübner				regulator-always-on;
23147197682SHeiko Stübner			};
23247197682SHeiko Stübner
23347197682SHeiko Stübner			vdd_hdmi: REG6 {
23447197682SHeiko Stübner				regulator-name = "VDD_HDMI";
23547197682SHeiko Stübner				regulator-min-microvolt = <2500000>;
23647197682SHeiko Stübner				regulator-max-microvolt = <2500000>;
23747197682SHeiko Stübner				regulator-always-on;
23847197682SHeiko Stübner			};
23947197682SHeiko Stübner
24047197682SHeiko Stübner			vcc18: REG7 {
24147197682SHeiko Stübner				regulator-name = "VCC_18";
24247197682SHeiko Stübner				regulator-min-microvolt = <1800000>;
24347197682SHeiko Stübner				regulator-max-microvolt = <1800000>;
24447197682SHeiko Stübner				regulator-always-on;
24547197682SHeiko Stübner			};
24647197682SHeiko Stübner
24747197682SHeiko Stübner			vcca_33: REG8 {
24847197682SHeiko Stübner				regulator-name = "VCCA_33";
24947197682SHeiko Stübner				regulator-min-microvolt = <3300000>;
25047197682SHeiko Stübner				regulator-max-microvolt = <3300000>;
25147197682SHeiko Stübner				regulator-always-on;
25247197682SHeiko Stübner			};
25347197682SHeiko Stübner
25447197682SHeiko Stübner			vcc_rmii: REG9 {
25547197682SHeiko Stübner				regulator-name = "VCC_RMII";
25647197682SHeiko Stübner				regulator-min-microvolt = <3300000>;
25747197682SHeiko Stübner				regulator-max-microvolt = <3300000>;
25847197682SHeiko Stübner			};
25947197682SHeiko Stübner
26047197682SHeiko Stübner			vccio_wl: REG10 {
26147197682SHeiko Stübner				regulator-name = "VCCIO_WL";
26247197682SHeiko Stübner				regulator-min-microvolt = <3300000>;
26347197682SHeiko Stübner				regulator-max-microvolt = <3300000>;
26447197682SHeiko Stübner				regulator-always-on;
26547197682SHeiko Stübner			};
26647197682SHeiko Stübner
26747197682SHeiko Stübner			vcc_18: REG11 {
26847197682SHeiko Stübner				regulator-name = "VCC18_IO";
26947197682SHeiko Stübner				regulator-min-microvolt = <1800000>;
27047197682SHeiko Stübner				regulator-max-microvolt = <1800000>;
27147197682SHeiko Stübner				regulator-always-on;
27247197682SHeiko Stübner			};
27347197682SHeiko Stübner
27447197682SHeiko Stübner			vcc28: REG12 {
27547197682SHeiko Stübner				regulator-name = "VCC_28";
27647197682SHeiko Stübner				regulator-min-microvolt = <2800000>;
27747197682SHeiko Stübner				regulator-max-microvolt = <2800000>;
27847197682SHeiko Stübner				regulator-always-on;
27947197682SHeiko Stübner			};
28047197682SHeiko Stübner		};
28147197682SHeiko Stübner	};
28247197682SHeiko Stübner};
28347197682SHeiko Stübner
28447197682SHeiko Stübner&mmc0 {
28547197682SHeiko Stübner	num-slots = <1>;
28647197682SHeiko Stübner	status = "okay";
28747197682SHeiko Stübner	pinctrl-names = "default";
28847197682SHeiko Stübner	pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>;
28947197682SHeiko Stübner	vmmc-supply = <&vcc_sd0>;
29047197682SHeiko Stübner
29147197682SHeiko Stübner	bus-width = <4>;
29247197682SHeiko Stübner	cap-mmc-highspeed;
29347197682SHeiko Stübner	cap-sd-highspeed;
29447197682SHeiko Stübner	disable-wp;
29547197682SHeiko Stübner};
29647197682SHeiko Stübner
29747197682SHeiko Stübner&pwm1 {
29847197682SHeiko Stübner	status = "okay";
29947197682SHeiko Stübner};
30047197682SHeiko Stübner
30147197682SHeiko Stübner&pwm2 {
30247197682SHeiko Stübner	status = "okay";
30347197682SHeiko Stübner};
30447197682SHeiko Stübner
30547197682SHeiko Stübner&pwm3 {
30647197682SHeiko Stübner	status = "okay";
30747197682SHeiko Stübner};
30847197682SHeiko Stübner
30947197682SHeiko Stübner&pinctrl {
31047197682SHeiko Stübner	pcfg_output_low: pcfg-output-low {
31147197682SHeiko Stübner		output-low;
31247197682SHeiko Stübner	};
31347197682SHeiko Stübner
31447197682SHeiko Stübner	act8846 {
31547197682SHeiko Stübner		act8846_dvs0_ctl: act8846-dvs0-ctl {
31647197682SHeiko Stübner			rockchip,pins = <RK_GPIO3 27 RK_FUNC_GPIO &pcfg_output_low>;
31747197682SHeiko Stübner		};
31847197682SHeiko Stübner	};
31947197682SHeiko Stübner
32047197682SHeiko Stübner	hym8563 {
32147197682SHeiko Stübner		rtc_int: rtc-int {
32247197682SHeiko Stübner			rockchip,pins = <RK_GPIO0 0 RK_FUNC_GPIO &pcfg_pull_up>;
32347197682SHeiko Stübner		};
32447197682SHeiko Stübner	};
32547197682SHeiko Stübner
32647197682SHeiko Stübner	lan8720a  {
32747197682SHeiko Stübner		phy_int: phy-int {
32847197682SHeiko Stübner			rockchip,pins = <RK_GPIO3 26 RK_FUNC_GPIO &pcfg_pull_up>;
32947197682SHeiko Stübner		};
33047197682SHeiko Stübner	};
33147197682SHeiko Stübner
33247197682SHeiko Stübner	ir-receiver {
33347197682SHeiko Stübner		ir_recv_pin: ir-recv-pin {
33447197682SHeiko Stübner			rockchip,pins = <RK_GPIO0 10 RK_FUNC_GPIO &pcfg_pull_none>;
33547197682SHeiko Stübner		};
33647197682SHeiko Stübner	};
33747197682SHeiko Stübner
33847197682SHeiko Stübner	usb {
33947197682SHeiko Stübner		host_vbus_drv: host-vbus-drv {
34047197682SHeiko Stübner			rockchip,pins = <0 3 RK_FUNC_GPIO &pcfg_pull_none>;
34147197682SHeiko Stübner		};
34247197682SHeiko Stübner		otg_vbus_drv: otg-vbus-drv {
34347197682SHeiko Stübner			rockchip,pins = <2 31 RK_FUNC_GPIO &pcfg_pull_none>;
34447197682SHeiko Stübner		};
34547197682SHeiko Stübner	};
34647197682SHeiko Stübner};
34747197682SHeiko Stübner
348afabcf8dSDavid Wu&saradc {
349afabcf8dSDavid Wu	status = "okay";
350afabcf8dSDavid Wu};
351afabcf8dSDavid Wu
35247197682SHeiko Stübner&spdif {
35347197682SHeiko Stübner	status = "okay";
35447197682SHeiko Stübner};
35547197682SHeiko Stübner
35647197682SHeiko Stübner&uart0 {
35747197682SHeiko Stübner	status = "okay";
35847197682SHeiko Stübner};
35947197682SHeiko Stübner
36047197682SHeiko Stübner&uart1 {
36147197682SHeiko Stübner	status = "okay";
36247197682SHeiko Stübner};
36347197682SHeiko Stübner
36447197682SHeiko Stübner&uart3 {
36547197682SHeiko Stübner	status = "okay";
36647197682SHeiko Stübner};
36747197682SHeiko Stübner
36847197682SHeiko Stübner&usbphy {
36947197682SHeiko Stübner	status = "okay";
37047197682SHeiko Stübner};
37147197682SHeiko Stübner
37247197682SHeiko Stübner&usb_host {
37347197682SHeiko Stübner	status = "okay";
37447197682SHeiko Stübner};
37547197682SHeiko Stübner
37647197682SHeiko Stübner&usb_otg {
37747197682SHeiko Stübner	status = "okay";
37847197682SHeiko Stübner};
37947197682SHeiko Stübner
38047197682SHeiko Stübner&wdt {
38147197682SHeiko Stübner	status = "okay";
38247197682SHeiko Stübner};
383