xref: /freebsd-src/sys/contrib/device-tree/src/arm64/rockchip/rk3326-odroid-go.dtsi (revision cb7aa33ac6cd46a5434798e50363136e64f3ae98)
18bab661aSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
28bab661aSEmmanuel Vadot/*
38bab661aSEmmanuel Vadot * Copyright (c) 2019 Hardkernel Co., Ltd
48bab661aSEmmanuel Vadot * Copyright (c) 2020 Theobroma Systems Design und Consulting GmbH
58bab661aSEmmanuel Vadot * Copyright (c) 2022 Maya Matuszczyk <maccraft123mc@gmail.com>
68bab661aSEmmanuel Vadot */
78bab661aSEmmanuel Vadot
88bab661aSEmmanuel Vadot/dts-v1/;
98bab661aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
108bab661aSEmmanuel Vadot#include <dt-bindings/input/input.h>
11*cb7aa33aSEmmanuel Vadot#include <dt-bindings/leds/common.h>
128bab661aSEmmanuel Vadot#include <dt-bindings/pinctrl/rockchip.h>
138bab661aSEmmanuel Vadot#include "rk3326.dtsi"
148bab661aSEmmanuel Vadot
158bab661aSEmmanuel Vadot/ {
168bab661aSEmmanuel Vadot	aliases {
178bab661aSEmmanuel Vadot		mmc0 = &sdmmc;
188bab661aSEmmanuel Vadot	};
198bab661aSEmmanuel Vadot
208bab661aSEmmanuel Vadot	chosen {
218bab661aSEmmanuel Vadot		stdout-path = "serial2:115200n8";
228bab661aSEmmanuel Vadot	};
238bab661aSEmmanuel Vadot
248bab661aSEmmanuel Vadot	backlight: backlight {
258bab661aSEmmanuel Vadot		compatible = "pwm-backlight";
268bab661aSEmmanuel Vadot		power-supply = <&vcc_bl>;
278bab661aSEmmanuel Vadot		pwms = <&pwm1 0 25000 0>;
288bab661aSEmmanuel Vadot	};
298bab661aSEmmanuel Vadot
308bab661aSEmmanuel Vadot	builtin_gamepad: gpio-keys {
318bab661aSEmmanuel Vadot		compatible = "gpio-keys";
328bab661aSEmmanuel Vadot		pinctrl-names = "default";
338bab661aSEmmanuel Vadot		pinctrl-0 = <&btn_pins>;
348bab661aSEmmanuel Vadot
358bab661aSEmmanuel Vadot		button-sw1 {
368bab661aSEmmanuel Vadot			gpios = <&gpio1 RK_PB4 GPIO_ACTIVE_LOW>;
378bab661aSEmmanuel Vadot			label = "DPAD-UP";
388bab661aSEmmanuel Vadot			linux,code = <BTN_DPAD_UP>;
398bab661aSEmmanuel Vadot		};
408bab661aSEmmanuel Vadot		button-sw2 {
418bab661aSEmmanuel Vadot			gpios = <&gpio1 RK_PB5 GPIO_ACTIVE_LOW>;
428bab661aSEmmanuel Vadot			label = "DPAD-DOWN";
438bab661aSEmmanuel Vadot			linux,code = <BTN_DPAD_DOWN>;
448bab661aSEmmanuel Vadot		};
458bab661aSEmmanuel Vadot		button-sw3 {
468bab661aSEmmanuel Vadot			gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_LOW>;
478bab661aSEmmanuel Vadot			label = "DPAD-LEFT";
488bab661aSEmmanuel Vadot			linux,code = <BTN_DPAD_LEFT>;
498bab661aSEmmanuel Vadot		};
508bab661aSEmmanuel Vadot		button-sw4 {
518bab661aSEmmanuel Vadot			gpios = <&gpio1 RK_PB7 GPIO_ACTIVE_LOW>;
528bab661aSEmmanuel Vadot			label = "DPAD-RIGHT";
538bab661aSEmmanuel Vadot			linux,code = <BTN_DPAD_RIGHT>;
548bab661aSEmmanuel Vadot		};
558bab661aSEmmanuel Vadot		button-sw5 {
568bab661aSEmmanuel Vadot			gpios = <&gpio1 RK_PA2 GPIO_ACTIVE_LOW>;
578bab661aSEmmanuel Vadot			label = "BTN-A";
588bab661aSEmmanuel Vadot			linux,code = <BTN_EAST>;
598bab661aSEmmanuel Vadot		};
608bab661aSEmmanuel Vadot		button-sw6 {
618bab661aSEmmanuel Vadot			gpios = <&gpio1 RK_PA5 GPIO_ACTIVE_LOW>;
628bab661aSEmmanuel Vadot			label = "BTN-B";
638bab661aSEmmanuel Vadot			linux,code = <BTN_SOUTH>;
648bab661aSEmmanuel Vadot		};
658bab661aSEmmanuel Vadot		button-sw7 {
668bab661aSEmmanuel Vadot			gpios = <&gpio1 RK_PA6 GPIO_ACTIVE_LOW>;
678bab661aSEmmanuel Vadot			label = "BTN-Y";
688bab661aSEmmanuel Vadot			linux,code = <BTN_WEST>;
698bab661aSEmmanuel Vadot		};
708bab661aSEmmanuel Vadot		button-sw8 {
718bab661aSEmmanuel Vadot			gpios = <&gpio1 RK_PA7 GPIO_ACTIVE_LOW>;
728bab661aSEmmanuel Vadot			label = "BTN-X";
738bab661aSEmmanuel Vadot			linux,code = <BTN_NORTH>;
748bab661aSEmmanuel Vadot		};
758bab661aSEmmanuel Vadot		btn_f1: button-sw9 {
768bab661aSEmmanuel Vadot			gpios = <&gpio2 RK_PA0 GPIO_ACTIVE_LOW>;
778bab661aSEmmanuel Vadot			label = "F1";
788bab661aSEmmanuel Vadot			linux,code = <BTN_TRIGGER_HAPPY1>;
798bab661aSEmmanuel Vadot		};
808bab661aSEmmanuel Vadot		btn_f2: button-sw10 {
818bab661aSEmmanuel Vadot			gpios = <&gpio2 RK_PA1 GPIO_ACTIVE_LOW>;
828bab661aSEmmanuel Vadot			label = "F2";
838bab661aSEmmanuel Vadot			linux,code = <BTN_TRIGGER_HAPPY2>;
848bab661aSEmmanuel Vadot		};
858bab661aSEmmanuel Vadot		btn_f3: button-sw11 {
868bab661aSEmmanuel Vadot			gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_LOW>;
878bab661aSEmmanuel Vadot			label = "F3";
888bab661aSEmmanuel Vadot			linux,code = <BTN_TRIGGER_HAPPY3>;
898bab661aSEmmanuel Vadot		};
908bab661aSEmmanuel Vadot		btn_f4: button-sw12 {
918bab661aSEmmanuel Vadot			gpios = <&gpio2 RK_PA3 GPIO_ACTIVE_LOW>;
928bab661aSEmmanuel Vadot			label = "F4";
938bab661aSEmmanuel Vadot			linux,code = <BTN_TRIGGER_HAPPY4>;
948bab661aSEmmanuel Vadot		};
958bab661aSEmmanuel Vadot		btn_f5: button-sw13 {
968bab661aSEmmanuel Vadot			gpios = <&gpio2 RK_PA4 GPIO_ACTIVE_LOW>;
978bab661aSEmmanuel Vadot			label = "F5";
988bab661aSEmmanuel Vadot			linux,code = <BTN_TRIGGER_HAPPY5>;
998bab661aSEmmanuel Vadot		};
1008bab661aSEmmanuel Vadot		btn_f6: button-sw14 {
1018bab661aSEmmanuel Vadot			gpios = <&gpio2 RK_PA5 GPIO_ACTIVE_LOW>;
1028bab661aSEmmanuel Vadot			label = "F6";
1038bab661aSEmmanuel Vadot			linux,code = <BTN_TRIGGER_HAPPY6>;
1048bab661aSEmmanuel Vadot		};
1058bab661aSEmmanuel Vadot		button-sw15 {
1068bab661aSEmmanuel Vadot			gpios = <&gpio2 RK_PA6 GPIO_ACTIVE_LOW>;
1078bab661aSEmmanuel Vadot			label = "TOP-LEFT";
1088bab661aSEmmanuel Vadot			linux,code = <BTN_TL>;
1098bab661aSEmmanuel Vadot		};
1108bab661aSEmmanuel Vadot		button-sw16 {
1118bab661aSEmmanuel Vadot			gpios = <&gpio2 RK_PA7 GPIO_ACTIVE_LOW>;
1128bab661aSEmmanuel Vadot			label = "TOP-RIGHT";
1138bab661aSEmmanuel Vadot			linux,code = <BTN_TR>;
1148bab661aSEmmanuel Vadot		};
1158bab661aSEmmanuel Vadot	};
1168bab661aSEmmanuel Vadot
117*cb7aa33aSEmmanuel Vadot	/* led-1 is wired directly to output of always-on regulator */
118*cb7aa33aSEmmanuel Vadot
119*cb7aa33aSEmmanuel Vadot	gpio_led: gpio-leds {
1208bab661aSEmmanuel Vadot		compatible = "gpio-leds";
1218bab661aSEmmanuel Vadot		pinctrl-names = "default";
122*cb7aa33aSEmmanuel Vadot		pinctrl-0 = <&red_led_pin>;
1238bab661aSEmmanuel Vadot
124*cb7aa33aSEmmanuel Vadot		red_led: led-3 {
125*cb7aa33aSEmmanuel Vadot			color = <LED_COLOR_ID_RED>;
126*cb7aa33aSEmmanuel Vadot			gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>;
127*cb7aa33aSEmmanuel Vadot			function = LED_FUNCTION_CHARGING;
128*cb7aa33aSEmmanuel Vadot		};
129*cb7aa33aSEmmanuel Vadot	};
130*cb7aa33aSEmmanuel Vadot
131*cb7aa33aSEmmanuel Vadot	pwm_led: led-controller {
132*cb7aa33aSEmmanuel Vadot		compatible = "pwm-leds";
133*cb7aa33aSEmmanuel Vadot
134*cb7aa33aSEmmanuel Vadot		blue_led: led-2 {
135*cb7aa33aSEmmanuel Vadot			color = <LED_COLOR_ID_BLUE>;
136*cb7aa33aSEmmanuel Vadot			function = LED_FUNCTION_STATUS;
1378bab661aSEmmanuel Vadot			linux,default-trigger = "heartbeat";
138*cb7aa33aSEmmanuel Vadot			max-brightness = <255>;
139*cb7aa33aSEmmanuel Vadot			pwms = <&pwm3 0 25000 0>;
1408bab661aSEmmanuel Vadot		};
1418bab661aSEmmanuel Vadot	};
1428bab661aSEmmanuel Vadot
1438bab661aSEmmanuel Vadot	rk817-sound {
1448bab661aSEmmanuel Vadot		compatible = "simple-audio-card";
145*cb7aa33aSEmmanuel Vadot		simple-audio-card,name = "rk817_int";
1468bab661aSEmmanuel Vadot		simple-audio-card,format = "i2s";
1478bab661aSEmmanuel Vadot		simple-audio-card,hp-det-gpio = <&gpio2 RK_PC6 GPIO_ACTIVE_HIGH>;
1488bab661aSEmmanuel Vadot		simple-audio-card,mclk-fs = <256>;
1498bab661aSEmmanuel Vadot		simple-audio-card,widgets =
1508bab661aSEmmanuel Vadot			"Microphone", "Mic Jack",
1518bab661aSEmmanuel Vadot			"Headphone", "Headphones",
1528bab661aSEmmanuel Vadot			"Speaker", "Speaker";
1538bab661aSEmmanuel Vadot		simple-audio-card,routing =
1548bab661aSEmmanuel Vadot			"MICL", "Mic Jack",
1558bab661aSEmmanuel Vadot			"Headphones", "HPOL",
1568bab661aSEmmanuel Vadot			"Headphones", "HPOR",
1578bab661aSEmmanuel Vadot			"Speaker", "SPKO";
1588bab661aSEmmanuel Vadot
1598bab661aSEmmanuel Vadot		simple-audio-card,codec {
1608bab661aSEmmanuel Vadot			sound-dai = <&rk817>;
1618bab661aSEmmanuel Vadot		};
1628bab661aSEmmanuel Vadot
1638bab661aSEmmanuel Vadot		simple-audio-card,cpu {
1648bab661aSEmmanuel Vadot			sound-dai = <&i2s1_2ch>;
1658bab661aSEmmanuel Vadot		};
1668bab661aSEmmanuel Vadot	};
1678bab661aSEmmanuel Vadot
1688bab661aSEmmanuel Vadot	vccsys: vccsys {
1698bab661aSEmmanuel Vadot		compatible = "regulator-fixed";
1708bab661aSEmmanuel Vadot		regulator-name = "vcc3v8_sys";
1718bab661aSEmmanuel Vadot		regulator-always-on;
1728bab661aSEmmanuel Vadot		regulator-min-microvolt = <3800000>;
1738bab661aSEmmanuel Vadot		regulator-max-microvolt = <3800000>;
1748bab661aSEmmanuel Vadot	};
1758bab661aSEmmanuel Vadot
1768bab661aSEmmanuel Vadot	vcc_host: vcc_host {
1778bab661aSEmmanuel Vadot		compatible = "regulator-fixed";
1788bab661aSEmmanuel Vadot		regulator-name = "vcc_host";
1798bab661aSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
1808bab661aSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
1818bab661aSEmmanuel Vadot
1828bab661aSEmmanuel Vadot		gpio = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>;
1838bab661aSEmmanuel Vadot		enable-active-high;
1848bab661aSEmmanuel Vadot		regulator-always-on;
1858bab661aSEmmanuel Vadot		regulator-boot-on;
1868bab661aSEmmanuel Vadot		vin-supply = <&usb_midu>;
1878bab661aSEmmanuel Vadot	};
1888bab661aSEmmanuel Vadot};
1898bab661aSEmmanuel Vadot
1908bab661aSEmmanuel Vadot&cpu0 {
1918bab661aSEmmanuel Vadot	cpu-supply = <&vdd_arm>;
1928bab661aSEmmanuel Vadot};
1938bab661aSEmmanuel Vadot
1948bab661aSEmmanuel Vadot&cpu1 {
1958bab661aSEmmanuel Vadot	cpu-supply = <&vdd_arm>;
1968bab661aSEmmanuel Vadot};
1978bab661aSEmmanuel Vadot
1988bab661aSEmmanuel Vadot&cpu2 {
1998bab661aSEmmanuel Vadot	cpu-supply = <&vdd_arm>;
2008bab661aSEmmanuel Vadot};
2018bab661aSEmmanuel Vadot
2028bab661aSEmmanuel Vadot&cpu3 {
2038bab661aSEmmanuel Vadot	cpu-supply = <&vdd_arm>;
2048bab661aSEmmanuel Vadot};
2058bab661aSEmmanuel Vadot
2068bab661aSEmmanuel Vadot&cru {
2078bab661aSEmmanuel Vadot	assigned-clocks = <&cru PLL_NPLL>,
2088bab661aSEmmanuel Vadot		<&cru ACLK_BUS_PRE>, <&cru ACLK_PERI_PRE>,
2098bab661aSEmmanuel Vadot		<&cru HCLK_BUS_PRE>, <&cru HCLK_PERI_PRE>,
210*cb7aa33aSEmmanuel Vadot		<&cru PCLK_BUS_PRE>, <&cru SCLK_GPU>;
2118bab661aSEmmanuel Vadot
2128bab661aSEmmanuel Vadot	assigned-clock-rates = <1188000000>,
2138bab661aSEmmanuel Vadot		<200000000>, <200000000>,
2148bab661aSEmmanuel Vadot		<150000000>, <150000000>,
215*cb7aa33aSEmmanuel Vadot		<100000000>, <200000000>;
2168bab661aSEmmanuel Vadot};
2178bab661aSEmmanuel Vadot
2188bab661aSEmmanuel Vadot&display_subsystem {
2198bab661aSEmmanuel Vadot	status = "okay";
2208bab661aSEmmanuel Vadot};
2218bab661aSEmmanuel Vadot
2228bab661aSEmmanuel Vadot&dsi {
2238bab661aSEmmanuel Vadot	status = "okay";
2248bab661aSEmmanuel Vadot
2258bab661aSEmmanuel Vadot	ports {
2268bab661aSEmmanuel Vadot		mipi_out: port@1 {
2278bab661aSEmmanuel Vadot			reg = <1>;
2288bab661aSEmmanuel Vadot
2298bab661aSEmmanuel Vadot			mipi_out_panel: endpoint {
2308bab661aSEmmanuel Vadot				remote-endpoint = <&mipi_in_panel>;
2318bab661aSEmmanuel Vadot			};
2328bab661aSEmmanuel Vadot		};
2338bab661aSEmmanuel Vadot	};
2348bab661aSEmmanuel Vadot
2358bab661aSEmmanuel Vadot	internal_display: panel@0 {
2368bab661aSEmmanuel Vadot		reg = <0>;
2378bab661aSEmmanuel Vadot		backlight = <&backlight>;
2388bab661aSEmmanuel Vadot		reset-gpios = <&gpio3 RK_PC0 GPIO_ACTIVE_LOW>;
2398bab661aSEmmanuel Vadot		rotation = <270>;
2408bab661aSEmmanuel Vadot
2418bab661aSEmmanuel Vadot		port {
2428bab661aSEmmanuel Vadot			mipi_in_panel: endpoint {
2438bab661aSEmmanuel Vadot				remote-endpoint = <&mipi_out_panel>;
2448bab661aSEmmanuel Vadot			};
2458bab661aSEmmanuel Vadot		};
2468bab661aSEmmanuel Vadot	};
2478bab661aSEmmanuel Vadot};
2488bab661aSEmmanuel Vadot
2498bab661aSEmmanuel Vadot&dsi_dphy {
2508bab661aSEmmanuel Vadot	status = "okay";
2518bab661aSEmmanuel Vadot};
2528bab661aSEmmanuel Vadot
2538bab661aSEmmanuel Vadot&gpu {
2548bab661aSEmmanuel Vadot	mali-supply = <&vdd_logic>;
2558bab661aSEmmanuel Vadot	status = "okay";
2568bab661aSEmmanuel Vadot};
2578bab661aSEmmanuel Vadot
2588bab661aSEmmanuel Vadot&i2c0 {
2598bab661aSEmmanuel Vadot	clock-frequency = <400000>;
2608bab661aSEmmanuel Vadot	i2c-scl-falling-time-ns = <16>;
2618bab661aSEmmanuel Vadot	i2c-scl-rising-time-ns = <280>;
2628bab661aSEmmanuel Vadot	status = "okay";
2638bab661aSEmmanuel Vadot
2648bab661aSEmmanuel Vadot	rk817: pmic@20 {
2658bab661aSEmmanuel Vadot		compatible = "rockchip,rk817";
2668bab661aSEmmanuel Vadot		reg = <0x20>;
2678bab661aSEmmanuel Vadot		interrupt-parent = <&gpio0>;
2688bab661aSEmmanuel Vadot		interrupts = <RK_PB2 IRQ_TYPE_LEVEL_LOW>;
2698bab661aSEmmanuel Vadot		clock-output-names = "rk808-clkout1", "xin32k";
2708bab661aSEmmanuel Vadot		clock-names = "mclk";
2718bab661aSEmmanuel Vadot		clocks = <&cru SCLK_I2S1_OUT>;
2728bab661aSEmmanuel Vadot		pinctrl-names = "default";
2738bab661aSEmmanuel Vadot		pinctrl-0 = <&pmic_int>, <&i2s1_2ch_mclk>;
2748bab661aSEmmanuel Vadot		wakeup-source;
2758bab661aSEmmanuel Vadot		#clock-cells = <1>;
2768bab661aSEmmanuel Vadot		#sound-dai-cells = <0>;
2778bab661aSEmmanuel Vadot
2788bab661aSEmmanuel Vadot		vcc1-supply = <&vccsys>;
2798bab661aSEmmanuel Vadot		vcc2-supply = <&vccsys>;
2808bab661aSEmmanuel Vadot		vcc3-supply = <&vccsys>;
2818bab661aSEmmanuel Vadot		vcc4-supply = <&vccsys>;
2828bab661aSEmmanuel Vadot		vcc5-supply = <&vccsys>;
2838bab661aSEmmanuel Vadot		vcc6-supply = <&vccsys>;
2848bab661aSEmmanuel Vadot		vcc7-supply = <&vccsys>;
2858bab661aSEmmanuel Vadot		vcc8-supply = <&vccsys>;
2868bab661aSEmmanuel Vadot
2878bab661aSEmmanuel Vadot		regulators {
2888bab661aSEmmanuel Vadot			vdd_logic: DCDC_REG1 {
2898bab661aSEmmanuel Vadot				regulator-name = "vdd_logic";
2908bab661aSEmmanuel Vadot				regulator-min-microvolt = <950000>;
2918bab661aSEmmanuel Vadot				regulator-max-microvolt = <1150000>;
2928bab661aSEmmanuel Vadot				regulator-ramp-delay = <6001>;
2938bab661aSEmmanuel Vadot				regulator-always-on;
2948bab661aSEmmanuel Vadot				regulator-boot-on;
2958bab661aSEmmanuel Vadot
2968bab661aSEmmanuel Vadot				regulator-state-mem {
2978bab661aSEmmanuel Vadot					regulator-on-in-suspend;
2988bab661aSEmmanuel Vadot					regulator-suspend-microvolt = <950000>;
2998bab661aSEmmanuel Vadot				};
3008bab661aSEmmanuel Vadot			};
3018bab661aSEmmanuel Vadot
3028bab661aSEmmanuel Vadot			vdd_arm: DCDC_REG2 {
3038bab661aSEmmanuel Vadot				regulator-name = "vdd_arm";
3048bab661aSEmmanuel Vadot				regulator-min-microvolt = <950000>;
3058bab661aSEmmanuel Vadot				regulator-max-microvolt = <1350000>;
3068bab661aSEmmanuel Vadot				regulator-ramp-delay = <6001>;
3078bab661aSEmmanuel Vadot				regulator-always-on;
3088bab661aSEmmanuel Vadot				regulator-boot-on;
3098bab661aSEmmanuel Vadot
3108bab661aSEmmanuel Vadot				regulator-state-mem {
3118bab661aSEmmanuel Vadot					regulator-off-in-suspend;
3128bab661aSEmmanuel Vadot					regulator-suspend-microvolt = <950000>;
3138bab661aSEmmanuel Vadot				};
3148bab661aSEmmanuel Vadot			};
3158bab661aSEmmanuel Vadot
3168bab661aSEmmanuel Vadot			vcc_ddr: DCDC_REG3 {
3178bab661aSEmmanuel Vadot				regulator-name = "vcc_ddr";
3188bab661aSEmmanuel Vadot				regulator-always-on;
3198bab661aSEmmanuel Vadot				regulator-boot-on;
3208bab661aSEmmanuel Vadot
3218bab661aSEmmanuel Vadot				regulator-state-mem {
3228bab661aSEmmanuel Vadot					regulator-on-in-suspend;
3238bab661aSEmmanuel Vadot				};
3248bab661aSEmmanuel Vadot			};
3258bab661aSEmmanuel Vadot
3268bab661aSEmmanuel Vadot			vcc_3v3: DCDC_REG4 {
3278bab661aSEmmanuel Vadot				regulator-name = "vcc_3v3";
3288bab661aSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
3298bab661aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
3308bab661aSEmmanuel Vadot				regulator-always-on;
3318bab661aSEmmanuel Vadot				regulator-boot-on;
3328bab661aSEmmanuel Vadot
3338bab661aSEmmanuel Vadot				regulator-state-mem {
3348bab661aSEmmanuel Vadot					regulator-off-in-suspend;
3358bab661aSEmmanuel Vadot					regulator-suspend-microvolt = <3300000>;
3368bab661aSEmmanuel Vadot				};
3378bab661aSEmmanuel Vadot			};
3388bab661aSEmmanuel Vadot
3398bab661aSEmmanuel Vadot			vcc_1v8: LDO_REG2 {
3408bab661aSEmmanuel Vadot				regulator-name = "vcc_1v8";
3418bab661aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
3428bab661aSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
3438bab661aSEmmanuel Vadot				regulator-always-on;
3448bab661aSEmmanuel Vadot				regulator-boot-on;
3458bab661aSEmmanuel Vadot
3468bab661aSEmmanuel Vadot				regulator-state-mem {
3478bab661aSEmmanuel Vadot					regulator-on-in-suspend;
3488bab661aSEmmanuel Vadot					regulator-suspend-microvolt = <1800000>;
3498bab661aSEmmanuel Vadot				};
3508bab661aSEmmanuel Vadot			};
3518bab661aSEmmanuel Vadot
3528bab661aSEmmanuel Vadot			vdd_1v0: LDO_REG3 {
3538bab661aSEmmanuel Vadot				regulator-name = "vdd_1v0";
3548bab661aSEmmanuel Vadot				regulator-min-microvolt = <1000000>;
3558bab661aSEmmanuel Vadot				regulator-max-microvolt = <1000000>;
3568bab661aSEmmanuel Vadot				regulator-always-on;
3578bab661aSEmmanuel Vadot				regulator-boot-on;
3588bab661aSEmmanuel Vadot
3598bab661aSEmmanuel Vadot				regulator-state-mem {
3608bab661aSEmmanuel Vadot					regulator-on-in-suspend;
3618bab661aSEmmanuel Vadot					regulator-suspend-microvolt = <1000000>;
3628bab661aSEmmanuel Vadot				};
3638bab661aSEmmanuel Vadot			};
3648bab661aSEmmanuel Vadot
3658bab661aSEmmanuel Vadot			vcc3v3_pmu: LDO_REG4 {
3668bab661aSEmmanuel Vadot				regulator-name = "vcc3v3_pmu";
3678bab661aSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
3688bab661aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
3698bab661aSEmmanuel Vadot				regulator-always-on;
3708bab661aSEmmanuel Vadot				regulator-boot-on;
3718bab661aSEmmanuel Vadot
3728bab661aSEmmanuel Vadot				regulator-state-mem {
3738bab661aSEmmanuel Vadot					regulator-on-in-suspend;
3748bab661aSEmmanuel Vadot					regulator-suspend-microvolt = <3300000>;
3758bab661aSEmmanuel Vadot				};
3768bab661aSEmmanuel Vadot			};
3778bab661aSEmmanuel Vadot
3788bab661aSEmmanuel Vadot			vccio_sd: LDO_REG5 {
3798bab661aSEmmanuel Vadot				regulator-name = "vccio_sd";
3808bab661aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
3818bab661aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
3828bab661aSEmmanuel Vadot				regulator-always-on;
3838bab661aSEmmanuel Vadot				regulator-boot-on;
3848bab661aSEmmanuel Vadot
3858bab661aSEmmanuel Vadot				regulator-state-mem {
3868bab661aSEmmanuel Vadot					regulator-on-in-suspend;
3878bab661aSEmmanuel Vadot					regulator-suspend-microvolt = <3300000>;
3888bab661aSEmmanuel Vadot				};
3898bab661aSEmmanuel Vadot			};
3908bab661aSEmmanuel Vadot
3918bab661aSEmmanuel Vadot			vcc_sd: LDO_REG6 {
3928bab661aSEmmanuel Vadot				regulator-name = "vcc_sd";
3938bab661aSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
3948bab661aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
3958bab661aSEmmanuel Vadot				regulator-boot-on;
3968bab661aSEmmanuel Vadot
3978bab661aSEmmanuel Vadot				regulator-state-mem {
3988bab661aSEmmanuel Vadot					regulator-on-in-suspend;
3998bab661aSEmmanuel Vadot					regulator-suspend-microvolt = <3300000>;
4008bab661aSEmmanuel Vadot				};
4018bab661aSEmmanuel Vadot			};
4028bab661aSEmmanuel Vadot
4038bab661aSEmmanuel Vadot			vcc_bl: LDO_REG7 {
4048bab661aSEmmanuel Vadot				regulator-name = "vcc_bl";
4058bab661aSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
4068bab661aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
4078bab661aSEmmanuel Vadot
4088bab661aSEmmanuel Vadot				regulator-state-mem {
4098bab661aSEmmanuel Vadot					regulator-off-in-suspend;
4108bab661aSEmmanuel Vadot					regulator-suspend-microvolt = <3300000>;
4118bab661aSEmmanuel Vadot				};
4128bab661aSEmmanuel Vadot			};
4138bab661aSEmmanuel Vadot
4148bab661aSEmmanuel Vadot			vcc_lcd: LDO_REG8 {
4158bab661aSEmmanuel Vadot				regulator-name = "vcc_lcd";
4168bab661aSEmmanuel Vadot				regulator-min-microvolt = <2800000>;
4178bab661aSEmmanuel Vadot				regulator-max-microvolt = <2800000>;
4188bab661aSEmmanuel Vadot
4198bab661aSEmmanuel Vadot				regulator-state-mem {
4208bab661aSEmmanuel Vadot					regulator-off-in-suspend;
4218bab661aSEmmanuel Vadot					regulator-suspend-microvolt = <2800000>;
4228bab661aSEmmanuel Vadot				};
4238bab661aSEmmanuel Vadot			};
4248bab661aSEmmanuel Vadot
4258bab661aSEmmanuel Vadot			LDO_REG9 {
4268bab661aSEmmanuel Vadot				/* unused */
4278bab661aSEmmanuel Vadot			};
4288bab661aSEmmanuel Vadot
4298bab661aSEmmanuel Vadot			usb_midu: BOOST {
4308bab661aSEmmanuel Vadot				regulator-name = "usb_midu";
4318bab661aSEmmanuel Vadot				regulator-min-microvolt = <5000000>;
4328bab661aSEmmanuel Vadot				regulator-max-microvolt = <5400000>;
4338bab661aSEmmanuel Vadot				regulator-always-on;
4348bab661aSEmmanuel Vadot				regulator-boot-on;
4358bab661aSEmmanuel Vadot			};
4368bab661aSEmmanuel Vadot		};
4378bab661aSEmmanuel Vadot
4388bab661aSEmmanuel Vadot		rk817_charger: charger {
4398bab661aSEmmanuel Vadot			rockchip,resistor-sense-micro-ohms = <10000>;
4408bab661aSEmmanuel Vadot			rockchip,sleep-enter-current-microamp = <300000>;
4418bab661aSEmmanuel Vadot			rockchip,sleep-filter-current-microamp = <100000>;
4428bab661aSEmmanuel Vadot		};
4438bab661aSEmmanuel Vadot
4448bab661aSEmmanuel Vadot		rk817_codec: codec {
4458bab661aSEmmanuel Vadot			rockchip,mic-in-differential;
4468bab661aSEmmanuel Vadot		};
4478bab661aSEmmanuel Vadot	};
4488bab661aSEmmanuel Vadot};
4498bab661aSEmmanuel Vadot
4508bab661aSEmmanuel Vadot/* EXT Header(P2): 7(SCL:GPIO0.C2), 8(SDA:GPIO0.C3) */
4518bab661aSEmmanuel Vadot&i2c1 {
4528bab661aSEmmanuel Vadot	clock-frequency = <400000>;
4538bab661aSEmmanuel Vadot	status = "okay";
4548bab661aSEmmanuel Vadot};
4558bab661aSEmmanuel Vadot
4568bab661aSEmmanuel Vadot/* I2S 1 Channel Used */
4578bab661aSEmmanuel Vadot&i2s1_2ch {
4588bab661aSEmmanuel Vadot	status = "okay";
4598bab661aSEmmanuel Vadot};
4608bab661aSEmmanuel Vadot
4618bab661aSEmmanuel Vadot&io_domains {
4628bab661aSEmmanuel Vadot	vccio1-supply = <&vcc_3v3>;
4638bab661aSEmmanuel Vadot	vccio2-supply = <&vccio_sd>;
4648bab661aSEmmanuel Vadot	vccio3-supply = <&vcc_3v3>;
4658bab661aSEmmanuel Vadot	vccio4-supply = <&vcc_3v3>;
4668bab661aSEmmanuel Vadot	vccio5-supply = <&vcc_3v3>;
4678bab661aSEmmanuel Vadot	vccio6-supply = <&vcc_3v3>;
4688bab661aSEmmanuel Vadot	status = "okay";
4698bab661aSEmmanuel Vadot};
4708bab661aSEmmanuel Vadot
4718bab661aSEmmanuel Vadot&pmu_io_domains {
4728bab661aSEmmanuel Vadot	pmuio1-supply = <&vcc3v3_pmu>;
4738bab661aSEmmanuel Vadot	pmuio2-supply = <&vcc3v3_pmu>;
4748bab661aSEmmanuel Vadot	status = "okay";
4758bab661aSEmmanuel Vadot};
4768bab661aSEmmanuel Vadot
4778bab661aSEmmanuel Vadot&pwm1 {
4788bab661aSEmmanuel Vadot	status = "okay";
4798bab661aSEmmanuel Vadot};
4808bab661aSEmmanuel Vadot
481*cb7aa33aSEmmanuel Vadot&pwm3 {
482*cb7aa33aSEmmanuel Vadot	status = "okay";
483*cb7aa33aSEmmanuel Vadot};
484*cb7aa33aSEmmanuel Vadot
4858bab661aSEmmanuel Vadot&saradc {
4868bab661aSEmmanuel Vadot	vref-supply = <&vcc_1v8>;
4878bab661aSEmmanuel Vadot	status = "okay";
4888bab661aSEmmanuel Vadot};
4898bab661aSEmmanuel Vadot
4908bab661aSEmmanuel Vadot&sdmmc {
4918bab661aSEmmanuel Vadot	cap-sd-highspeed;
4928bab661aSEmmanuel Vadot	card-detect-delay = <200>;
4938bab661aSEmmanuel Vadot	cd-gpios = <&gpio0 RK_PA3 GPIO_ACTIVE_LOW>; /*[> CD GPIO <]*/
4948bab661aSEmmanuel Vadot	sd-uhs-sdr12;
4958bab661aSEmmanuel Vadot	sd-uhs-sdr25;
4968bab661aSEmmanuel Vadot	sd-uhs-sdr50;
4978bab661aSEmmanuel Vadot	sd-uhs-sdr104;
4988bab661aSEmmanuel Vadot	vmmc-supply = <&vcc_sd>;
4998bab661aSEmmanuel Vadot	vqmmc-supply = <&vccio_sd>;
5008bab661aSEmmanuel Vadot	status = "okay";
5018bab661aSEmmanuel Vadot};
5028bab661aSEmmanuel Vadot
5038bab661aSEmmanuel Vadot&sfc {
5048bab661aSEmmanuel Vadot	pinctrl-0 = <&sfc_clk &sfc_cs0 &sfc_bus2>;
5058bab661aSEmmanuel Vadot	pinctrl-names = "default";
5068bab661aSEmmanuel Vadot	#address-cells = <1>;
5078bab661aSEmmanuel Vadot	#size-cells = <0>;
5088bab661aSEmmanuel Vadot	status = "okay";
5098bab661aSEmmanuel Vadot
5108bab661aSEmmanuel Vadot	flash@0 {
5118bab661aSEmmanuel Vadot		compatible = "jedec,spi-nor";
5128bab661aSEmmanuel Vadot		reg = <0>;
5138bab661aSEmmanuel Vadot		spi-max-frequency = <108000000>;
5148bab661aSEmmanuel Vadot		spi-rx-bus-width = <2>;
5158bab661aSEmmanuel Vadot		spi-tx-bus-width = <1>;
5168bab661aSEmmanuel Vadot	};
5178bab661aSEmmanuel Vadot};
5188bab661aSEmmanuel Vadot
5198bab661aSEmmanuel Vadot&tsadc {
5208bab661aSEmmanuel Vadot	status = "okay";
5218bab661aSEmmanuel Vadot};
5228bab661aSEmmanuel Vadot
5238bab661aSEmmanuel Vadot&u2phy {
5248bab661aSEmmanuel Vadot	status = "okay";
5258bab661aSEmmanuel Vadot
5268bab661aSEmmanuel Vadot	u2phy_host: host-port {
5278bab661aSEmmanuel Vadot		status = "okay";
5288bab661aSEmmanuel Vadot	};
5298bab661aSEmmanuel Vadot
5308bab661aSEmmanuel Vadot	u2phy_otg: otg-port {
5318bab661aSEmmanuel Vadot		status = "disabled";
5328bab661aSEmmanuel Vadot	};
5338bab661aSEmmanuel Vadot};
5348bab661aSEmmanuel Vadot
5358bab661aSEmmanuel Vadot&usb20_otg {
5368bab661aSEmmanuel Vadot	status = "okay";
5378bab661aSEmmanuel Vadot};
5388bab661aSEmmanuel Vadot
5398bab661aSEmmanuel Vadot/* EXT Header(P2): 2(RXD:GPIO1.C0),3(TXD:.C1),4(CTS:.C2),5(RTS:.C3) */
5408bab661aSEmmanuel Vadot&uart1 {
5418bab661aSEmmanuel Vadot	pinctrl-names = "default";
5428bab661aSEmmanuel Vadot	pinctrl-0 = <&uart1_xfer &uart1_cts>;
5438bab661aSEmmanuel Vadot	status = "okay";
5448bab661aSEmmanuel Vadot};
5458bab661aSEmmanuel Vadot
5468bab661aSEmmanuel Vadot&uart2 {
5478bab661aSEmmanuel Vadot	pinctrl-names = "default";
5488bab661aSEmmanuel Vadot	pinctrl-0 = <&uart2m1_xfer>;
5498bab661aSEmmanuel Vadot	status = "okay";
5508bab661aSEmmanuel Vadot};
5518bab661aSEmmanuel Vadot
5528bab661aSEmmanuel Vadot&vopb {
5538bab661aSEmmanuel Vadot	status = "okay";
5548bab661aSEmmanuel Vadot};
5558bab661aSEmmanuel Vadot
5568bab661aSEmmanuel Vadot&vopb_mmu {
5578bab661aSEmmanuel Vadot	status = "okay";
5588bab661aSEmmanuel Vadot};
5598bab661aSEmmanuel Vadot
5608bab661aSEmmanuel Vadot&pinctrl {
5618bab661aSEmmanuel Vadot	btns {
5628bab661aSEmmanuel Vadot		btn_pins: btn-pins {
5638bab661aSEmmanuel Vadot			rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>,
5648bab661aSEmmanuel Vadot					<1 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>,
5658bab661aSEmmanuel Vadot					<1 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>,
5668bab661aSEmmanuel Vadot					<1 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>,
5678bab661aSEmmanuel Vadot					<1 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>,
5688bab661aSEmmanuel Vadot					<1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>,
5698bab661aSEmmanuel Vadot					<1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up>,
5708bab661aSEmmanuel Vadot					<1 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up>,
5718bab661aSEmmanuel Vadot					<2 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>,
5728bab661aSEmmanuel Vadot					<2 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>,
5738bab661aSEmmanuel Vadot					<2 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>,
5748bab661aSEmmanuel Vadot					<2 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>,
5758bab661aSEmmanuel Vadot					<2 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>,
5768bab661aSEmmanuel Vadot					<2 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>,
5778bab661aSEmmanuel Vadot					<2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>,
5788bab661aSEmmanuel Vadot					<2 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>;
5798bab661aSEmmanuel Vadot		};
5808bab661aSEmmanuel Vadot	};
5818bab661aSEmmanuel Vadot
5828bab661aSEmmanuel Vadot	headphone {
5838bab661aSEmmanuel Vadot		hp_det: hp-det {
5848bab661aSEmmanuel Vadot			rockchip,pins = <2 RK_PC6 RK_FUNC_GPIO &pcfg_pull_down>;
5858bab661aSEmmanuel Vadot		};
5868bab661aSEmmanuel Vadot	};
5878bab661aSEmmanuel Vadot
5888bab661aSEmmanuel Vadot	leds {
589*cb7aa33aSEmmanuel Vadot		red_led_pin: red-led-pin {
590*cb7aa33aSEmmanuel Vadot			rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
5918bab661aSEmmanuel Vadot		};
5928bab661aSEmmanuel Vadot	};
5938bab661aSEmmanuel Vadot
5948bab661aSEmmanuel Vadot	pmic {
5958bab661aSEmmanuel Vadot		dc_det: dc-det {
5968bab661aSEmmanuel Vadot			rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
5978bab661aSEmmanuel Vadot		};
5988bab661aSEmmanuel Vadot
5998bab661aSEmmanuel Vadot		pmic_int: pmic-int {
6008bab661aSEmmanuel Vadot			rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>;
6018bab661aSEmmanuel Vadot		};
6028bab661aSEmmanuel Vadot
6038bab661aSEmmanuel Vadot		soc_slppin_gpio: soc_slppin_gpio {
6048bab661aSEmmanuel Vadot			rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_output_low>;
6058bab661aSEmmanuel Vadot		};
6068bab661aSEmmanuel Vadot
6078bab661aSEmmanuel Vadot		soc_slppin_rst: soc_slppin_rst {
6088bab661aSEmmanuel Vadot			rockchip,pins = <0 RK_PA4 2 &pcfg_pull_none>;
6098bab661aSEmmanuel Vadot		};
6108bab661aSEmmanuel Vadot
6118bab661aSEmmanuel Vadot		soc_slppin_slp: soc_slppin_slp {
6128bab661aSEmmanuel Vadot			rockchip,pins = <0 RK_PA4 1 &pcfg_pull_none>;
6138bab661aSEmmanuel Vadot		};
6148bab661aSEmmanuel Vadot	};
6158bab661aSEmmanuel Vadot};
616