18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * Copyright (c) 2016 Andreas Färber
48c2ecf20Sopenharmony_ci */
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ci/dts-v1/;
78c2ecf20Sopenharmony_ci#include "rk3368.dtsi"
88c2ecf20Sopenharmony_ci#include <dt-bindings/input/input.h>
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ci/ {
118c2ecf20Sopenharmony_ci	model = "GeekBox";
128c2ecf20Sopenharmony_ci	compatible = "geekbuying,geekbox", "rockchip,rk3368";
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ci	chosen {
158c2ecf20Sopenharmony_ci		stdout-path = "serial2:115200n8";
168c2ecf20Sopenharmony_ci	};
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ci	memory@0 {
198c2ecf20Sopenharmony_ci		device_type = "memory";
208c2ecf20Sopenharmony_ci		reg = <0x0 0x0 0x0 0x80000000>;
218c2ecf20Sopenharmony_ci	};
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ci	ext_gmac: gmac-clk {
248c2ecf20Sopenharmony_ci		compatible = "fixed-clock";
258c2ecf20Sopenharmony_ci		clock-frequency = <125000000>;
268c2ecf20Sopenharmony_ci		clock-output-names = "ext_gmac";
278c2ecf20Sopenharmony_ci		#clock-cells = <0>;
288c2ecf20Sopenharmony_ci	};
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ci	ir: ir-receiver {
318c2ecf20Sopenharmony_ci		compatible = "gpio-ir-receiver";
328c2ecf20Sopenharmony_ci		gpios = <&gpio3 RK_PD6 GPIO_ACTIVE_LOW>;
338c2ecf20Sopenharmony_ci		pinctrl-names = "default";
348c2ecf20Sopenharmony_ci		pinctrl-0 = <&ir_int>;
358c2ecf20Sopenharmony_ci	};
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci	keys: gpio-keys {
388c2ecf20Sopenharmony_ci		compatible = "gpio-keys";
398c2ecf20Sopenharmony_ci		pinctrl-names = "default";
408c2ecf20Sopenharmony_ci		pinctrl-0 = <&pwr_key>;
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_ci		power {
438c2ecf20Sopenharmony_ci			gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>;
448c2ecf20Sopenharmony_ci			label = "GPIO Power";
458c2ecf20Sopenharmony_ci			linux,code = <KEY_POWER>;
468c2ecf20Sopenharmony_ci			wakeup-source;
478c2ecf20Sopenharmony_ci		};
488c2ecf20Sopenharmony_ci	};
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ci	leds: gpio-leds {
518c2ecf20Sopenharmony_ci		compatible = "gpio-leds";
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ci		blue_led: led-0 {
548c2ecf20Sopenharmony_ci			gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_HIGH>;
558c2ecf20Sopenharmony_ci			label = "geekbox:blue:led";
568c2ecf20Sopenharmony_ci			default-state = "on";
578c2ecf20Sopenharmony_ci		};
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ci		red_led: led-1 {
608c2ecf20Sopenharmony_ci			gpios = <&gpio2 RK_PA3 GPIO_ACTIVE_HIGH>;
618c2ecf20Sopenharmony_ci			label = "geekbox:red:led";
628c2ecf20Sopenharmony_ci			default-state = "off";
638c2ecf20Sopenharmony_ci		};
648c2ecf20Sopenharmony_ci	};
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_ci	vcc_sys: vcc-sys-regulator {
678c2ecf20Sopenharmony_ci		compatible = "regulator-fixed";
688c2ecf20Sopenharmony_ci		regulator-name = "vcc_sys";
698c2ecf20Sopenharmony_ci		regulator-min-microvolt = <5000000>;
708c2ecf20Sopenharmony_ci		regulator-max-microvolt = <5000000>;
718c2ecf20Sopenharmony_ci		regulator-always-on;
728c2ecf20Sopenharmony_ci		regulator-boot-on;
738c2ecf20Sopenharmony_ci	};
748c2ecf20Sopenharmony_ci};
758c2ecf20Sopenharmony_ci
768c2ecf20Sopenharmony_ci&emmc {
778c2ecf20Sopenharmony_ci	status = "okay";
788c2ecf20Sopenharmony_ci	bus-width = <8>;
798c2ecf20Sopenharmony_ci	cap-mmc-highspeed;
808c2ecf20Sopenharmony_ci	clock-frequency = <150000000>;
818c2ecf20Sopenharmony_ci	non-removable;
828c2ecf20Sopenharmony_ci	vmmc-supply = <&vcc_io>;
838c2ecf20Sopenharmony_ci	vqmmc-supply = <&vcc18_flash>;
848c2ecf20Sopenharmony_ci	pinctrl-names = "default";
858c2ecf20Sopenharmony_ci	pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_bus8>;
868c2ecf20Sopenharmony_ci};
878c2ecf20Sopenharmony_ci
888c2ecf20Sopenharmony_ci&gmac {
898c2ecf20Sopenharmony_ci	status = "okay";
908c2ecf20Sopenharmony_ci	phy-supply = <&vcc_lan>;
918c2ecf20Sopenharmony_ci	phy-mode = "rgmii";
928c2ecf20Sopenharmony_ci	clock_in_out = "input";
938c2ecf20Sopenharmony_ci	assigned-clocks = <&cru SCLK_MAC>;
948c2ecf20Sopenharmony_ci	assigned-clock-parents = <&ext_gmac>;
958c2ecf20Sopenharmony_ci	pinctrl-names = "default";
968c2ecf20Sopenharmony_ci	pinctrl-0 = <&rgmii_pins>;
978c2ecf20Sopenharmony_ci	tx_delay = <0x30>;
988c2ecf20Sopenharmony_ci	rx_delay = <0x10>;
998c2ecf20Sopenharmony_ci};
1008c2ecf20Sopenharmony_ci
1018c2ecf20Sopenharmony_ci&i2c0 {
1028c2ecf20Sopenharmony_ci	status = "okay";
1038c2ecf20Sopenharmony_ci
1048c2ecf20Sopenharmony_ci	rk808: pmic@1b {
1058c2ecf20Sopenharmony_ci		compatible = "rockchip,rk808";
1068c2ecf20Sopenharmony_ci		reg = <0x1b>;
1078c2ecf20Sopenharmony_ci		pinctrl-names = "default";
1088c2ecf20Sopenharmony_ci		pinctrl-0 = <&pmic_int>, <&pmic_sleep>;
1098c2ecf20Sopenharmony_ci		interrupt-parent = <&gpio0>;
1108c2ecf20Sopenharmony_ci		interrupts = <RK_PA5 IRQ_TYPE_LEVEL_LOW>;
1118c2ecf20Sopenharmony_ci		rockchip,system-power-controller;
1128c2ecf20Sopenharmony_ci		vcc1-supply = <&vcc_sys>;
1138c2ecf20Sopenharmony_ci		vcc2-supply = <&vcc_sys>;
1148c2ecf20Sopenharmony_ci		vcc3-supply = <&vcc_sys>;
1158c2ecf20Sopenharmony_ci		vcc4-supply = <&vcc_sys>;
1168c2ecf20Sopenharmony_ci		vcc6-supply = <&vcc_sys>;
1178c2ecf20Sopenharmony_ci		vcc7-supply = <&vcc_sys>;
1188c2ecf20Sopenharmony_ci		vcc8-supply = <&vcc_io>;
1198c2ecf20Sopenharmony_ci		vcc9-supply = <&vcc_sys>;
1208c2ecf20Sopenharmony_ci		vcc10-supply = <&vcc_sys>;
1218c2ecf20Sopenharmony_ci		vcc11-supply = <&vcc_sys>;
1228c2ecf20Sopenharmony_ci		vcc12-supply = <&vcc_io>;
1238c2ecf20Sopenharmony_ci		clock-output-names = "xin32k", "rk808-clkout2";
1248c2ecf20Sopenharmony_ci		#clock-cells = <1>;
1258c2ecf20Sopenharmony_ci
1268c2ecf20Sopenharmony_ci		regulators {
1278c2ecf20Sopenharmony_ci			vdd_cpu: DCDC_REG1 {
1288c2ecf20Sopenharmony_ci				regulator-always-on;
1298c2ecf20Sopenharmony_ci				regulator-boot-on;
1308c2ecf20Sopenharmony_ci				regulator-min-microvolt = <700000>;
1318c2ecf20Sopenharmony_ci				regulator-max-microvolt = <1500000>;
1328c2ecf20Sopenharmony_ci				regulator-name = "vdd_cpu";
1338c2ecf20Sopenharmony_ci			};
1348c2ecf20Sopenharmony_ci
1358c2ecf20Sopenharmony_ci			vdd_log: DCDC_REG2 {
1368c2ecf20Sopenharmony_ci				regulator-always-on;
1378c2ecf20Sopenharmony_ci				regulator-boot-on;
1388c2ecf20Sopenharmony_ci				regulator-min-microvolt = <700000>;
1398c2ecf20Sopenharmony_ci				regulator-max-microvolt = <1500000>;
1408c2ecf20Sopenharmony_ci				regulator-name = "vdd_log";
1418c2ecf20Sopenharmony_ci			};
1428c2ecf20Sopenharmony_ci
1438c2ecf20Sopenharmony_ci			vcc_ddr: DCDC_REG3 {
1448c2ecf20Sopenharmony_ci				regulator-always-on;
1458c2ecf20Sopenharmony_ci				regulator-boot-on;
1468c2ecf20Sopenharmony_ci				regulator-name = "vcc_ddr";
1478c2ecf20Sopenharmony_ci			};
1488c2ecf20Sopenharmony_ci
1498c2ecf20Sopenharmony_ci			vcc_io: DCDC_REG4 {
1508c2ecf20Sopenharmony_ci				regulator-always-on;
1518c2ecf20Sopenharmony_ci				regulator-boot-on;
1528c2ecf20Sopenharmony_ci				regulator-min-microvolt = <3300000>;
1538c2ecf20Sopenharmony_ci				regulator-max-microvolt = <3300000>;
1548c2ecf20Sopenharmony_ci				regulator-name = "vcc_io";
1558c2ecf20Sopenharmony_ci			};
1568c2ecf20Sopenharmony_ci
1578c2ecf20Sopenharmony_ci			vcc18_flash: LDO_REG1 {
1588c2ecf20Sopenharmony_ci				regulator-always-on;
1598c2ecf20Sopenharmony_ci				regulator-boot-on;
1608c2ecf20Sopenharmony_ci				regulator-min-microvolt = <1800000>;
1618c2ecf20Sopenharmony_ci				regulator-max-microvolt = <1800000>;
1628c2ecf20Sopenharmony_ci				regulator-name = "vcc18_flash";
1638c2ecf20Sopenharmony_ci			};
1648c2ecf20Sopenharmony_ci
1658c2ecf20Sopenharmony_ci			vcc33_lcd: LDO_REG2 {
1668c2ecf20Sopenharmony_ci				regulator-always-on;
1678c2ecf20Sopenharmony_ci				regulator-boot-on;
1688c2ecf20Sopenharmony_ci				regulator-min-microvolt = <3300000>;
1698c2ecf20Sopenharmony_ci				regulator-max-microvolt = <3300000>;
1708c2ecf20Sopenharmony_ci				regulator-name = "vcc33_lcd";
1718c2ecf20Sopenharmony_ci			};
1728c2ecf20Sopenharmony_ci
1738c2ecf20Sopenharmony_ci			vdd_10: LDO_REG3 {
1748c2ecf20Sopenharmony_ci				regulator-always-on;
1758c2ecf20Sopenharmony_ci				regulator-boot-on;
1768c2ecf20Sopenharmony_ci				regulator-min-microvolt = <1000000>;
1778c2ecf20Sopenharmony_ci				regulator-max-microvolt = <1000000>;
1788c2ecf20Sopenharmony_ci				regulator-name = "vdd_10";
1798c2ecf20Sopenharmony_ci			};
1808c2ecf20Sopenharmony_ci
1818c2ecf20Sopenharmony_ci			vcca_18: LDO_REG4 {
1828c2ecf20Sopenharmony_ci				regulator-boot-on;
1838c2ecf20Sopenharmony_ci				regulator-min-microvolt = <1800000>;
1848c2ecf20Sopenharmony_ci				regulator-max-microvolt = <1800000>;
1858c2ecf20Sopenharmony_ci				regulator-name = "vcca_18";
1868c2ecf20Sopenharmony_ci			};
1878c2ecf20Sopenharmony_ci
1888c2ecf20Sopenharmony_ci			vccio_sd: LDO_REG5 {
1898c2ecf20Sopenharmony_ci				regulator-always-on;
1908c2ecf20Sopenharmony_ci				regulator-boot-on;
1918c2ecf20Sopenharmony_ci				regulator-min-microvolt = <1800000>;
1928c2ecf20Sopenharmony_ci				regulator-max-microvolt = <3300000>;
1938c2ecf20Sopenharmony_ci				regulator-name = "vccio_sd";
1948c2ecf20Sopenharmony_ci			};
1958c2ecf20Sopenharmony_ci
1968c2ecf20Sopenharmony_ci			vdd10_lcd: LDO_REG6 {
1978c2ecf20Sopenharmony_ci				regulator-always-on;
1988c2ecf20Sopenharmony_ci				regulator-boot-on;
1998c2ecf20Sopenharmony_ci				regulator-min-microvolt = <1000000>;
2008c2ecf20Sopenharmony_ci				regulator-max-microvolt = <1000000>;
2018c2ecf20Sopenharmony_ci				regulator-name = "vdd10_lcd";
2028c2ecf20Sopenharmony_ci			};
2038c2ecf20Sopenharmony_ci
2048c2ecf20Sopenharmony_ci			vcc_18: LDO_REG7 {
2058c2ecf20Sopenharmony_ci				regulator-always-on;
2068c2ecf20Sopenharmony_ci				regulator-boot-on;
2078c2ecf20Sopenharmony_ci				regulator-min-microvolt = <1800000>;
2088c2ecf20Sopenharmony_ci				regulator-max-microvolt = <1800000>;
2098c2ecf20Sopenharmony_ci				regulator-name = "vcc_18";
2108c2ecf20Sopenharmony_ci			};
2118c2ecf20Sopenharmony_ci
2128c2ecf20Sopenharmony_ci			vcc18_lcd: LDO_REG8 {
2138c2ecf20Sopenharmony_ci				regulator-always-on;
2148c2ecf20Sopenharmony_ci				regulator-boot-on;
2158c2ecf20Sopenharmony_ci				regulator-min-microvolt = <1800000>;
2168c2ecf20Sopenharmony_ci				regulator-max-microvolt = <1800000>;
2178c2ecf20Sopenharmony_ci				regulator-name = "vcc18_lcd";
2188c2ecf20Sopenharmony_ci			};
2198c2ecf20Sopenharmony_ci
2208c2ecf20Sopenharmony_ci			vcc_sd: SWITCH_REG1 {
2218c2ecf20Sopenharmony_ci				regulator-name = "vcc_sd";
2228c2ecf20Sopenharmony_ci			};
2238c2ecf20Sopenharmony_ci
2248c2ecf20Sopenharmony_ci			vcc_lan: SWITCH_REG2 {
2258c2ecf20Sopenharmony_ci				regulator-always-on;
2268c2ecf20Sopenharmony_ci				regulator-boot-on;
2278c2ecf20Sopenharmony_ci				regulator-name = "vcc_lan";
2288c2ecf20Sopenharmony_ci			};
2298c2ecf20Sopenharmony_ci		};
2308c2ecf20Sopenharmony_ci	};
2318c2ecf20Sopenharmony_ci};
2328c2ecf20Sopenharmony_ci
2338c2ecf20Sopenharmony_ci&pinctrl {
2348c2ecf20Sopenharmony_ci	ir {
2358c2ecf20Sopenharmony_ci		ir_int: ir-int {
2368c2ecf20Sopenharmony_ci			rockchip,pins = <3 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>;
2378c2ecf20Sopenharmony_ci		};
2388c2ecf20Sopenharmony_ci	};
2398c2ecf20Sopenharmony_ci
2408c2ecf20Sopenharmony_ci	keys {
2418c2ecf20Sopenharmony_ci		pwr_key: pwr-key {
2428c2ecf20Sopenharmony_ci			rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
2438c2ecf20Sopenharmony_ci		};
2448c2ecf20Sopenharmony_ci	};
2458c2ecf20Sopenharmony_ci
2468c2ecf20Sopenharmony_ci	pmic {
2478c2ecf20Sopenharmony_ci		pmic_sleep: pmic-sleep {
2488c2ecf20Sopenharmony_ci			rockchip,pins = <0 RK_PA0 2 &pcfg_pull_none>;
2498c2ecf20Sopenharmony_ci		};
2508c2ecf20Sopenharmony_ci
2518c2ecf20Sopenharmony_ci		pmic_int: pmic-int {
2528c2ecf20Sopenharmony_ci			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
2538c2ecf20Sopenharmony_ci		};
2548c2ecf20Sopenharmony_ci	};
2558c2ecf20Sopenharmony_ci};
2568c2ecf20Sopenharmony_ci
2578c2ecf20Sopenharmony_ci&tsadc {
2588c2ecf20Sopenharmony_ci	status = "okay";
2598c2ecf20Sopenharmony_ci	rockchip,hw-tshut-mode = <0>; /* CRU */
2608c2ecf20Sopenharmony_ci	rockchip,hw-tshut-polarity = <1>; /* high */
2618c2ecf20Sopenharmony_ci};
2628c2ecf20Sopenharmony_ci
2638c2ecf20Sopenharmony_ci&uart2 {
2648c2ecf20Sopenharmony_ci	status = "okay";
2658c2ecf20Sopenharmony_ci};
2668c2ecf20Sopenharmony_ci
2678c2ecf20Sopenharmony_ci&usb_host0_ehci {
2688c2ecf20Sopenharmony_ci	status = "okay";
2698c2ecf20Sopenharmony_ci};
2708c2ecf20Sopenharmony_ci
2718c2ecf20Sopenharmony_ci&usb_otg {
2728c2ecf20Sopenharmony_ci	status = "okay";
2738c2ecf20Sopenharmony_ci};
2748c2ecf20Sopenharmony_ci
2758c2ecf20Sopenharmony_ci&wdt {
2768c2ecf20Sopenharmony_ci	status = "okay";
2778c2ecf20Sopenharmony_ci};
278