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