xref: /linux/arch/arm64/boot/dts/rockchip/px30-pp1516.dtsi (revision 115e74a29b530d121891238e9551c4bcdf7b04b5)
156198acdSHeiko Stuebner// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
256198acdSHeiko Stuebner/*
356198acdSHeiko Stuebner * Copyright (c) 2025 Cherry Embedded Solutions GmbH
456198acdSHeiko Stuebner */
556198acdSHeiko Stuebner
656198acdSHeiko Stuebner/dts-v1/;
756198acdSHeiko Stuebner#include <dt-bindings/gpio/gpio.h>
856198acdSHeiko Stuebner#include <dt-bindings/input/input.h>
956198acdSHeiko Stuebner#include <dt-bindings/pinctrl/rockchip.h>
1056198acdSHeiko Stuebner#include "px30.dtsi"
1156198acdSHeiko Stuebner
1256198acdSHeiko Stuebner/ {
1356198acdSHeiko Stuebner	aliases {
1456198acdSHeiko Stuebner		mmc0 = &emmc;
1556198acdSHeiko Stuebner	};
1656198acdSHeiko Stuebner
1756198acdSHeiko Stuebner	chosen {
1856198acdSHeiko Stuebner		stdout-path = "serial5:115200n8";
1956198acdSHeiko Stuebner	};
2056198acdSHeiko Stuebner
2156198acdSHeiko Stuebner	backlight: backlight {
2256198acdSHeiko Stuebner		compatible = "pwm-backlight";
2356198acdSHeiko Stuebner		power-supply = <&vcc5v0_sys>;
2456198acdSHeiko Stuebner		pwms = <&pwm0 0 25000 0>;
2556198acdSHeiko Stuebner	};
2656198acdSHeiko Stuebner
2756198acdSHeiko Stuebner	beeper {
2856198acdSHeiko Stuebner		compatible = "pwm-beeper";
2956198acdSHeiko Stuebner		pwms = <&pwm1 0 1000 0>;
3056198acdSHeiko Stuebner	};
3156198acdSHeiko Stuebner
3256198acdSHeiko Stuebner	emmc_pwrseq: emmc-pwrseq {
3356198acdSHeiko Stuebner		compatible = "mmc-pwrseq-emmc";
3456198acdSHeiko Stuebner		pinctrl-0 = <&emmc_reset>;
3556198acdSHeiko Stuebner		pinctrl-names = "default";
3656198acdSHeiko Stuebner		reset-gpios = <&gpio1 RK_PB3 GPIO_ACTIVE_HIGH>;
3756198acdSHeiko Stuebner	};
3856198acdSHeiko Stuebner
3956198acdSHeiko Stuebner	gpio-leds {
4056198acdSHeiko Stuebner		compatible = "gpio-leds";
4156198acdSHeiko Stuebner		pinctrl-names = "default";
4256198acdSHeiko Stuebner		pinctrl-0 = <&debug_led_pin>, <&heartbeat_led_pin>;
4356198acdSHeiko Stuebner
4456198acdSHeiko Stuebner		/*
4556198acdSHeiko Stuebner		 * LED2 on the PCB, left of the USB-C connector.
4656198acdSHeiko Stuebner		 * Typically NOT populated.
4756198acdSHeiko Stuebner		 */
4856198acdSHeiko Stuebner		debug: led-0 {
4956198acdSHeiko Stuebner			label = "debug";
5056198acdSHeiko Stuebner			gpios = <&gpio3 RK_PC3 GPIO_ACTIVE_HIGH>;
5156198acdSHeiko Stuebner			linux,default-trigger = "none";
5256198acdSHeiko Stuebner		};
5356198acdSHeiko Stuebner
5456198acdSHeiko Stuebner		/*
5556198acdSHeiko Stuebner		 * LED14 on the PCB, left of the PX30 SoC.
5656198acdSHeiko Stuebner		 * Typically NOT populated.
5756198acdSHeiko Stuebner		 */
5856198acdSHeiko Stuebner		heartbeat: led-1 {
5956198acdSHeiko Stuebner			label = "heartbeat";
6056198acdSHeiko Stuebner			gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
6156198acdSHeiko Stuebner			linux,default-trigger = "heartbeat";
6256198acdSHeiko Stuebner		};
6356198acdSHeiko Stuebner	};
6456198acdSHeiko Stuebner
6556198acdSHeiko Stuebner	vcc5v0_sys: regulator-vccsys {
6656198acdSHeiko Stuebner		compatible = "regulator-fixed";
6756198acdSHeiko Stuebner		regulator-name = "vcc5v0_sys";
6856198acdSHeiko Stuebner		regulator-always-on;
6956198acdSHeiko Stuebner		regulator-boot-on;
7056198acdSHeiko Stuebner		regulator-min-microvolt = <5000000>;
7156198acdSHeiko Stuebner		regulator-max-microvolt = <5000000>;
7256198acdSHeiko Stuebner	};
7356198acdSHeiko Stuebner
7456198acdSHeiko Stuebner	vcc_cam_avdd: regulator-vcc-cam-avdd {
7556198acdSHeiko Stuebner		compatible  = "regulator-fixed";
7656198acdSHeiko Stuebner		regulator-name = "vcc_cam_avdd";
7756198acdSHeiko Stuebner		gpio = <&gpio3 RK_PC0 GPIO_ACTIVE_LOW>;
7856198acdSHeiko Stuebner		pinctrl-names = "default";
7956198acdSHeiko Stuebner		pinctrl-0 = <&cam_avdd_en>;
8056198acdSHeiko Stuebner		regulator-min-microvolt = <2800000>;
8156198acdSHeiko Stuebner		regulator-max-microvolt = <2800000>;
8256198acdSHeiko Stuebner		vin-supply = <&vcc_2v8>;
8356198acdSHeiko Stuebner	};
8456198acdSHeiko Stuebner
8556198acdSHeiko Stuebner	vcc_cam_dovdd: regulator-vcc-cam-dovdd {
8656198acdSHeiko Stuebner		compatible  = "regulator-fixed";
8756198acdSHeiko Stuebner		regulator-name = "vcc_cam_dovdd";
8856198acdSHeiko Stuebner		gpio = <&gpio3 RK_PC1 GPIO_ACTIVE_LOW>;
8956198acdSHeiko Stuebner		pinctrl-names = "default";
9056198acdSHeiko Stuebner		pinctrl-0 = <&cam_dovdd_en>;
9156198acdSHeiko Stuebner		regulator-min-microvolt = <1800000>;
9256198acdSHeiko Stuebner		regulator-max-microvolt = <1800000>;
9356198acdSHeiko Stuebner		vin-supply = <&vcc_1v8>;
9456198acdSHeiko Stuebner	};
9556198acdSHeiko Stuebner
9656198acdSHeiko Stuebner	vcc_cam_dvdd: regulator-vcc-cam-dvdd {
9756198acdSHeiko Stuebner		compatible  = "regulator-fixed";
9856198acdSHeiko Stuebner		regulator-name = "vcc_cam_dvdd";
9956198acdSHeiko Stuebner		gpio = <&gpio3 RK_PC5 GPIO_ACTIVE_HIGH>;
10056198acdSHeiko Stuebner		enable-active-high;
10156198acdSHeiko Stuebner		pinctrl-names = "default";
10256198acdSHeiko Stuebner		pinctrl-0 = <&cam_dvdd_en>;
10356198acdSHeiko Stuebner		regulator-min-microvolt = <1200000>;
10456198acdSHeiko Stuebner		regulator-max-microvolt = <1200000>;
10556198acdSHeiko Stuebner		vin-supply = <&vcc_3v3>;
10656198acdSHeiko Stuebner	};
10756198acdSHeiko Stuebner
10856198acdSHeiko Stuebner	vcc_lens_afvdd: regulator-vcc-lens-afvdd {
10956198acdSHeiko Stuebner		compatible  = "regulator-fixed";
11056198acdSHeiko Stuebner		regulator-name = "vcc_lens_afvdd";
11156198acdSHeiko Stuebner		gpio = <&gpio3 RK_PB2 GPIO_ACTIVE_LOW>;
11256198acdSHeiko Stuebner		pinctrl-names = "default";
11356198acdSHeiko Stuebner		pinctrl-0 = <&cam_afvdd_en>;
11456198acdSHeiko Stuebner		regulator-min-microvolt = <2800000>;
11556198acdSHeiko Stuebner		regulator-max-microvolt = <2800000>;
11656198acdSHeiko Stuebner		vin-supply = <&vcc_2v8>;
11756198acdSHeiko Stuebner	};
11856198acdSHeiko Stuebner};
11956198acdSHeiko Stuebner
12056198acdSHeiko Stuebner&cpu0 {
12156198acdSHeiko Stuebner	cpu-supply = <&vdd_arm>;
12256198acdSHeiko Stuebner};
12356198acdSHeiko Stuebner
12456198acdSHeiko Stuebner&cpu1 {
12556198acdSHeiko Stuebner	cpu-supply = <&vdd_arm>;
12656198acdSHeiko Stuebner};
12756198acdSHeiko Stuebner
12856198acdSHeiko Stuebner&cpu2 {
12956198acdSHeiko Stuebner	cpu-supply = <&vdd_arm>;
13056198acdSHeiko Stuebner};
13156198acdSHeiko Stuebner
13256198acdSHeiko Stuebner&cpu3 {
13356198acdSHeiko Stuebner	cpu-supply = <&vdd_arm>;
13456198acdSHeiko Stuebner};
13556198acdSHeiko Stuebner
13656198acdSHeiko Stuebner&csi_dphy {
13756198acdSHeiko Stuebner	status = "okay";
13856198acdSHeiko Stuebner};
13956198acdSHeiko Stuebner
14056198acdSHeiko Stuebner&display_subsystem {
14156198acdSHeiko Stuebner	status = "okay";
14256198acdSHeiko Stuebner};
14356198acdSHeiko Stuebner
14456198acdSHeiko Stuebner&dsi_dphy {
14556198acdSHeiko Stuebner	status = "okay";
14656198acdSHeiko Stuebner};
14756198acdSHeiko Stuebner
14856198acdSHeiko Stuebner&emmc {
14956198acdSHeiko Stuebner	bus-width = <8>;
15056198acdSHeiko Stuebner	cap-mmc-highspeed;
15156198acdSHeiko Stuebner	/*
15256198acdSHeiko Stuebner	 * For hs200 support, U-Boot would have to set the RK809 DCDC4
15356198acdSHeiko Stuebner	 * rail to 1.8V from the default of 3.0V. It doesn't do that on
15456198acdSHeiko Stuebner	 * devices out in the field, so disable hs200.
15556198acdSHeiko Stuebner	 * mmc-hs200-1_8v;
15656198acdSHeiko Stuebner	 */
15756198acdSHeiko Stuebner	mmc-pwrseq = <&emmc_pwrseq>;
15856198acdSHeiko Stuebner	non-removable;
15956198acdSHeiko Stuebner	vmmc-supply = <&vcc_3v3>;
16056198acdSHeiko Stuebner	vqmmc-supply = <&vcc_emmc>;
16156198acdSHeiko Stuebner	status = "okay";
16256198acdSHeiko Stuebner};
16356198acdSHeiko Stuebner
16456198acdSHeiko Stuebner&gpu {
16556198acdSHeiko Stuebner	mali-supply = <&vdd_log>;
16656198acdSHeiko Stuebner	status = "okay";
16756198acdSHeiko Stuebner};
16856198acdSHeiko Stuebner
16956198acdSHeiko Stuebner/* I2C0 = PMIC, Touchscreen */
17056198acdSHeiko Stuebner&i2c0 {
17156198acdSHeiko Stuebner	status = "okay";
17256198acdSHeiko Stuebner
17356198acdSHeiko Stuebner	touchscreen@14 {
17456198acdSHeiko Stuebner		compatible = "goodix,gt911";
17556198acdSHeiko Stuebner		reg = <0x14>;
17656198acdSHeiko Stuebner		AVDD28-supply = <&vcc_2v8>;
17756198acdSHeiko Stuebner		interrupt-parent = <&gpio0>;
17856198acdSHeiko Stuebner		interrupts = <RK_PA1 IRQ_TYPE_LEVEL_LOW>;
17956198acdSHeiko Stuebner		irq-gpios = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
18056198acdSHeiko Stuebner		pinctrl-names = "default";
18156198acdSHeiko Stuebner		pinctrl-0 = <&tch_int &tch_rst>;
18256198acdSHeiko Stuebner		reset-gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>;
18356198acdSHeiko Stuebner		VDDIO-supply = <&vcc_3v3>;
18456198acdSHeiko Stuebner	};
18556198acdSHeiko Stuebner
18656198acdSHeiko Stuebner	rk809: pmic@20 {
18756198acdSHeiko Stuebner		compatible = "rockchip,rk809";
18856198acdSHeiko Stuebner		reg = <0x20>;
18956198acdSHeiko Stuebner		#clock-cells = <0>;
19056198acdSHeiko Stuebner		clock-output-names = "xin32k";
19156198acdSHeiko Stuebner		interrupt-parent = <&gpio0>;
19256198acdSHeiko Stuebner		interrupts = <RK_PA7 IRQ_TYPE_LEVEL_LOW>;
19356198acdSHeiko Stuebner		pinctrl-names = "default";
19456198acdSHeiko Stuebner		pinctrl-0 = <&pmic_int>;
19556198acdSHeiko Stuebner		system-power-controller;
19656198acdSHeiko Stuebner		wakeup-source;
19756198acdSHeiko Stuebner
19856198acdSHeiko Stuebner		vcc1-supply = <&vcc5v0_sys>;
19956198acdSHeiko Stuebner		vcc2-supply = <&vcc5v0_sys>;
20056198acdSHeiko Stuebner		vcc3-supply = <&vcc5v0_sys>;
20156198acdSHeiko Stuebner		vcc4-supply = <&vcc5v0_sys>;
20256198acdSHeiko Stuebner		vcc5-supply = <&vcc_3v3>;
20356198acdSHeiko Stuebner		vcc6-supply = <&vcc_3v3>;
20456198acdSHeiko Stuebner		vcc7-supply = <&vcc_3v3>;
20556198acdSHeiko Stuebner		vcc9-supply = <&vcc5v0_sys>;
20656198acdSHeiko Stuebner
20756198acdSHeiko Stuebner		regulators {
20856198acdSHeiko Stuebner			vdd_log: DCDC_REG1 {
20956198acdSHeiko Stuebner				regulator-name = "vdd_log";
21056198acdSHeiko Stuebner				regulator-always-on;
21156198acdSHeiko Stuebner				regulator-boot-on;
21256198acdSHeiko Stuebner				regulator-min-microvolt = <950000>;
21356198acdSHeiko Stuebner				regulator-max-microvolt = <1350000>;
21456198acdSHeiko Stuebner				regulator-ramp-delay = <6001>;
21556198acdSHeiko Stuebner
21656198acdSHeiko Stuebner				regulator-state-mem {
21756198acdSHeiko Stuebner					regulator-on-in-suspend;
21856198acdSHeiko Stuebner					regulator-suspend-microvolt = <950000>;
21956198acdSHeiko Stuebner				};
22056198acdSHeiko Stuebner			};
22156198acdSHeiko Stuebner
22256198acdSHeiko Stuebner			vdd_arm: DCDC_REG2 {
22356198acdSHeiko Stuebner				regulator-name = "vdd_arm";
22456198acdSHeiko Stuebner				regulator-always-on;
22556198acdSHeiko Stuebner				regulator-boot-on;
22656198acdSHeiko Stuebner				regulator-min-microvolt = <950000>;
22756198acdSHeiko Stuebner				regulator-max-microvolt = <1350000>;
22856198acdSHeiko Stuebner				regulator-ramp-delay = <6001>;
22956198acdSHeiko Stuebner
23056198acdSHeiko Stuebner				regulator-state-mem {
23156198acdSHeiko Stuebner					regulator-off-in-suspend;
23256198acdSHeiko Stuebner					regulator-suspend-microvolt = <950000>;
23356198acdSHeiko Stuebner				};
23456198acdSHeiko Stuebner			};
23556198acdSHeiko Stuebner
23656198acdSHeiko Stuebner			vcc_ddr: DCDC_REG3 {
23756198acdSHeiko Stuebner				regulator-name = "vcc_ddr";
23856198acdSHeiko Stuebner				regulator-always-on;
23956198acdSHeiko Stuebner				regulator-boot-on;
24056198acdSHeiko Stuebner
24156198acdSHeiko Stuebner				regulator-state-mem {
24256198acdSHeiko Stuebner					regulator-on-in-suspend;
24356198acdSHeiko Stuebner				};
24456198acdSHeiko Stuebner			};
24556198acdSHeiko Stuebner
24656198acdSHeiko Stuebner			vcc_3v0_1v8: vcc_emmc: DCDC_REG4 {
24756198acdSHeiko Stuebner				regulator-name = "vcc_3v0_1v8";
24856198acdSHeiko Stuebner				regulator-always-on;
24956198acdSHeiko Stuebner				regulator-boot-on;
25056198acdSHeiko Stuebner				regulator-min-microvolt = <3000000>;
25156198acdSHeiko Stuebner				regulator-max-microvolt = <3000000>;
25256198acdSHeiko Stuebner
25356198acdSHeiko Stuebner				regulator-state-mem {
25456198acdSHeiko Stuebner					regulator-on-in-suspend;
25556198acdSHeiko Stuebner					regulator-suspend-microvolt = <3000000>;
25656198acdSHeiko Stuebner				};
25756198acdSHeiko Stuebner			};
25856198acdSHeiko Stuebner
25956198acdSHeiko Stuebner			vcc_3v3: DCDC_REG5 {
26056198acdSHeiko Stuebner				regulator-name = "vcc_3v3";
26156198acdSHeiko Stuebner				regulator-always-on;
26256198acdSHeiko Stuebner				regulator-boot-on;
26356198acdSHeiko Stuebner				regulator-min-microvolt = <3300000>;
26456198acdSHeiko Stuebner				regulator-max-microvolt = <3300000>;
26556198acdSHeiko Stuebner
26656198acdSHeiko Stuebner				regulator-state-mem {
26756198acdSHeiko Stuebner					regulator-on-in-suspend;
26856198acdSHeiko Stuebner					regulator-suspend-microvolt = <3300000>;
26956198acdSHeiko Stuebner				};
27056198acdSHeiko Stuebner			};
27156198acdSHeiko Stuebner
27256198acdSHeiko Stuebner			vcc_1v8: LDO_REG2 {
27356198acdSHeiko Stuebner				regulator-name = "vcc_1v8";
27456198acdSHeiko Stuebner				regulator-always-on;
27556198acdSHeiko Stuebner				regulator-boot-on;
27656198acdSHeiko Stuebner				regulator-min-microvolt = <1800000>;
27756198acdSHeiko Stuebner				regulator-max-microvolt = <1800000>;
27856198acdSHeiko Stuebner
27956198acdSHeiko Stuebner				regulator-state-mem {
28056198acdSHeiko Stuebner					regulator-on-in-suspend;
28156198acdSHeiko Stuebner					regulator-suspend-microvolt = <1800000>;
28256198acdSHeiko Stuebner				};
28356198acdSHeiko Stuebner			};
28456198acdSHeiko Stuebner
28556198acdSHeiko Stuebner			vcc_1v0: LDO_REG3 {
28656198acdSHeiko Stuebner				regulator-name = "vcc_1v0";
28756198acdSHeiko Stuebner				regulator-always-on;
28856198acdSHeiko Stuebner				regulator-boot-on;
28956198acdSHeiko Stuebner				regulator-min-microvolt = <1000000>;
29056198acdSHeiko Stuebner				regulator-max-microvolt = <1000000>;
29156198acdSHeiko Stuebner
29256198acdSHeiko Stuebner				regulator-state-mem {
29356198acdSHeiko Stuebner					regulator-on-in-suspend;
29456198acdSHeiko Stuebner					regulator-suspend-microvolt = <1000000>;
29556198acdSHeiko Stuebner				};
29656198acdSHeiko Stuebner			};
29756198acdSHeiko Stuebner
29856198acdSHeiko Stuebner			vcc_2v8: LDO_REG4 {
29956198acdSHeiko Stuebner				regulator-name = "vcc_2v8";
30056198acdSHeiko Stuebner				regulator-always-on;
30156198acdSHeiko Stuebner				regulator-boot-on;
30256198acdSHeiko Stuebner				regulator-min-microvolt = <2800000>;
30356198acdSHeiko Stuebner				regulator-max-microvolt = <2800000>;
30456198acdSHeiko Stuebner
30556198acdSHeiko Stuebner				regulator-state-mem {
30656198acdSHeiko Stuebner					regulator-off-in-suspend;
30756198acdSHeiko Stuebner					regulator-suspend-microvolt = <2800000>;
30856198acdSHeiko Stuebner				};
30956198acdSHeiko Stuebner			};
31056198acdSHeiko Stuebner
31156198acdSHeiko Stuebner			vccio_sd: LDO_REG5 {
31256198acdSHeiko Stuebner				regulator-name = "vccio_sd";
31356198acdSHeiko Stuebner				regulator-always-on;
31456198acdSHeiko Stuebner				regulator-boot-on;
31556198acdSHeiko Stuebner				regulator-min-microvolt = <3000000>;
31656198acdSHeiko Stuebner				regulator-max-microvolt = <3000000>;
31756198acdSHeiko Stuebner
31856198acdSHeiko Stuebner				regulator-state-mem {
31956198acdSHeiko Stuebner					regulator-on-in-suspend;
32056198acdSHeiko Stuebner					regulator-suspend-microvolt = <3000000>;
32156198acdSHeiko Stuebner				};
32256198acdSHeiko Stuebner			};
32356198acdSHeiko Stuebner
32456198acdSHeiko Stuebner			vcc_sdio: LDO_REG6 {
32556198acdSHeiko Stuebner				regulator-name = "vcc_sdio";
32656198acdSHeiko Stuebner				regulator-always-on;
32756198acdSHeiko Stuebner				regulator-boot-on;
32856198acdSHeiko Stuebner				regulator-min-microvolt = <1800000>;
32956198acdSHeiko Stuebner				regulator-max-microvolt = <1800000>;
33056198acdSHeiko Stuebner
33156198acdSHeiko Stuebner				regulator-state-mem {
33256198acdSHeiko Stuebner					regulator-on-in-suspend;
33356198acdSHeiko Stuebner					regulator-suspend-microvolt = <1800000>;
33456198acdSHeiko Stuebner				};
33556198acdSHeiko Stuebner			};
33656198acdSHeiko Stuebner
33756198acdSHeiko Stuebner			vcc_lcd: LDO_REG7 {
33856198acdSHeiko Stuebner				regulator-name = "vcc_lcd";
33956198acdSHeiko Stuebner				regulator-always-on;
34056198acdSHeiko Stuebner				regulator-boot-on;
34156198acdSHeiko Stuebner				regulator-min-microvolt = <1000000>;
34256198acdSHeiko Stuebner				regulator-max-microvolt = <1000000>;
34356198acdSHeiko Stuebner
34456198acdSHeiko Stuebner				regulator-state-mem {
34556198acdSHeiko Stuebner					regulator-off-in-suspend;
34656198acdSHeiko Stuebner					regulator-suspend-microvolt = <1000000>;
34756198acdSHeiko Stuebner				};
34856198acdSHeiko Stuebner			};
34956198acdSHeiko Stuebner
35056198acdSHeiko Stuebner			vcc_1v8_lcd: LDO_REG8 {
35156198acdSHeiko Stuebner				regulator-name = "vcc_1v8_lcd";
35256198acdSHeiko Stuebner				regulator-always-on;
35356198acdSHeiko Stuebner				regulator-boot-on;
35456198acdSHeiko Stuebner				regulator-min-microvolt = <1800000>;
35556198acdSHeiko Stuebner				regulator-max-microvolt = <1800000>;
35656198acdSHeiko Stuebner
35756198acdSHeiko Stuebner				regulator-state-mem {
35856198acdSHeiko Stuebner					regulator-on-in-suspend;
35956198acdSHeiko Stuebner					regulator-suspend-microvolt = <1800000>;
36056198acdSHeiko Stuebner				};
36156198acdSHeiko Stuebner			};
36256198acdSHeiko Stuebner
36356198acdSHeiko Stuebner			vcca_1v8: LDO_REG9 {
36456198acdSHeiko Stuebner				regulator-name = "vcca_1v8";
36556198acdSHeiko Stuebner				regulator-always-on;
36656198acdSHeiko Stuebner				regulator-boot-on;
36756198acdSHeiko Stuebner				regulator-min-microvolt = <1800000>;
36856198acdSHeiko Stuebner				regulator-max-microvolt = <1800000>;
36956198acdSHeiko Stuebner
37056198acdSHeiko Stuebner				regulator-state-mem {
37156198acdSHeiko Stuebner					regulator-off-in-suspend;
37256198acdSHeiko Stuebner					regulator-suspend-microvolt = <1800000>;
37356198acdSHeiko Stuebner				};
37456198acdSHeiko Stuebner			};
37556198acdSHeiko Stuebner		};
37656198acdSHeiko Stuebner	};
37756198acdSHeiko Stuebner};
37856198acdSHeiko Stuebner
37956198acdSHeiko Stuebner&i2c1 {
38056198acdSHeiko Stuebner	clock-frequency = <100000>;
38156198acdSHeiko Stuebner	status = "okay";
38256198acdSHeiko Stuebner};
38356198acdSHeiko Stuebner
38456198acdSHeiko Stuebner/* I2C2 = Accelerometer + Camera */
38556198acdSHeiko Stuebner&i2c2 {
38656198acdSHeiko Stuebner	/* MEMSIC MXC4005 accelerometer is rated for I2C Fast Mode (<=400KHz) */
38756198acdSHeiko Stuebner	/* OmniVision OV5675 camera is rated for I2C Fast Mode (<=400KHz) */
38856198acdSHeiko Stuebner	clock-frequency = <400000>;
38956198acdSHeiko Stuebner	status = "okay";
39056198acdSHeiko Stuebner
39156198acdSHeiko Stuebner	focus: focus@c {
39256198acdSHeiko Stuebner		compatible = "dongwoon,dw9714";
39356198acdSHeiko Stuebner		reg = <0xc>;
39456198acdSHeiko Stuebner		vcc-supply = <&vcc_lens_afvdd>;
39556198acdSHeiko Stuebner	};
39656198acdSHeiko Stuebner
39756198acdSHeiko Stuebner	accel@15 {
39856198acdSHeiko Stuebner		compatible = "memsic,mxc4005";
39956198acdSHeiko Stuebner		reg = <0x15>;
40056198acdSHeiko Stuebner		interrupt-parent = <&gpio2>;
40156198acdSHeiko Stuebner		interrupts = <RK_PB4 IRQ_TYPE_LEVEL_LOW>;
40256198acdSHeiko Stuebner		pinctrl-names = "default";
40356198acdSHeiko Stuebner		pinctrl-0 = <&accel_int>;
40456198acdSHeiko Stuebner	};
40556198acdSHeiko Stuebner
40656198acdSHeiko Stuebner	camera@36 {
40756198acdSHeiko Stuebner		compatible = "ovti,ov5675";
40856198acdSHeiko Stuebner		reg = <0x36>;
40956198acdSHeiko Stuebner		clocks = <&cru SCLK_CIF_OUT>;
41056198acdSHeiko Stuebner		assigned-clocks = <&cru SCLK_CIF_OUT>;
41156198acdSHeiko Stuebner		assigned-clock-rates = <19200000>;
41256198acdSHeiko Stuebner		avdd-supply = <&vcc_cam_avdd>;
41356198acdSHeiko Stuebner		dvdd-supply = <&vcc_cam_dvdd>;
41456198acdSHeiko Stuebner		dovdd-supply = <&vcc_cam_dovdd>;
41556198acdSHeiko Stuebner		lens-focus = <&focus>;
41656198acdSHeiko Stuebner		orientation = <0>;
41756198acdSHeiko Stuebner		pinctrl-names = "default";
41856198acdSHeiko Stuebner		pinctrl-0 = <&cif_clkout_m0 &cam_pwdn>;
41956198acdSHeiko Stuebner		reset-gpios = <&gpio2 RK_PB0 GPIO_ACTIVE_LOW>;
42056198acdSHeiko Stuebner		rotation = <0>;
42156198acdSHeiko Stuebner
42256198acdSHeiko Stuebner		port {
42356198acdSHeiko Stuebner			ucam_out: endpoint {
42456198acdSHeiko Stuebner				remote-endpoint = <&mipi_in_ucam>;
42556198acdSHeiko Stuebner				data-lanes = <1 2>;
42656198acdSHeiko Stuebner				link-frequencies = /bits/ 64 <450000000>;
42756198acdSHeiko Stuebner			};
42856198acdSHeiko Stuebner		};
42956198acdSHeiko Stuebner	};
43056198acdSHeiko Stuebner};
43156198acdSHeiko Stuebner
43256198acdSHeiko Stuebner&io_domains {
43356198acdSHeiko Stuebner	vccio1-supply = <&vcc_sdio>;
43456198acdSHeiko Stuebner	vccio2-supply = <&vccio_sd>;
43556198acdSHeiko Stuebner	vccio3-supply = <&vcc_1v8>;
43656198acdSHeiko Stuebner	vccio4-supply = <&vcc_3v3>;
43756198acdSHeiko Stuebner	vccio5-supply = <&vcc_3v3>;
43856198acdSHeiko Stuebner	vccio6-supply = <&vcc_emmc>;
43956198acdSHeiko Stuebner	status = "okay";
44056198acdSHeiko Stuebner};
44156198acdSHeiko Stuebner
44256198acdSHeiko Stuebner&isp {
44356198acdSHeiko Stuebner	status = "okay";
44456198acdSHeiko Stuebner
44556198acdSHeiko Stuebner	ports {
44656198acdSHeiko Stuebner		port@0 {
447*5ddb2d46SQuentin Schulz			mipi_in_ucam: endpoint {
44856198acdSHeiko Stuebner				data-lanes = <1 2>;
44956198acdSHeiko Stuebner				remote-endpoint = <&ucam_out>;
45056198acdSHeiko Stuebner			};
45156198acdSHeiko Stuebner		};
45256198acdSHeiko Stuebner	};
45356198acdSHeiko Stuebner};
45456198acdSHeiko Stuebner
45556198acdSHeiko Stuebner&isp_mmu {
45656198acdSHeiko Stuebner	status = "okay";
45756198acdSHeiko Stuebner};
45856198acdSHeiko Stuebner
45956198acdSHeiko Stuebner&pinctrl {
46056198acdSHeiko Stuebner	accel {
46156198acdSHeiko Stuebner		accel_int: accel-int {
46256198acdSHeiko Stuebner			rockchip,pins =
46356198acdSHeiko Stuebner				<2 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
46456198acdSHeiko Stuebner		};
46556198acdSHeiko Stuebner	};
46656198acdSHeiko Stuebner
46756198acdSHeiko Stuebner	camera {
46856198acdSHeiko Stuebner		cam_afvdd_en: cam-afvdd-en {
46956198acdSHeiko Stuebner			rockchip,pins =
47056198acdSHeiko Stuebner				<3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
47156198acdSHeiko Stuebner		};
47256198acdSHeiko Stuebner
47356198acdSHeiko Stuebner		cam_avdd_en: cam-avdd-en {
47456198acdSHeiko Stuebner			rockchip,pins =
47556198acdSHeiko Stuebner				<3 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>;
47656198acdSHeiko Stuebner		};
47756198acdSHeiko Stuebner
47856198acdSHeiko Stuebner		cam_dovdd_en: cam-dovdd-en {
47956198acdSHeiko Stuebner			rockchip,pins =
48056198acdSHeiko Stuebner				<3 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
48156198acdSHeiko Stuebner		};
48256198acdSHeiko Stuebner
48356198acdSHeiko Stuebner		cam_dvdd_en: cam-dvdd-en {
48456198acdSHeiko Stuebner			rockchip,pins =
48556198acdSHeiko Stuebner				<3 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
48656198acdSHeiko Stuebner		};
48756198acdSHeiko Stuebner
48856198acdSHeiko Stuebner		cam_pwdn: cam-pwdn {
48956198acdSHeiko Stuebner			rockchip,pins =
49056198acdSHeiko Stuebner				<2 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
49156198acdSHeiko Stuebner		};
49256198acdSHeiko Stuebner	};
49356198acdSHeiko Stuebner
49456198acdSHeiko Stuebner	emmc {
49556198acdSHeiko Stuebner		emmc_reset: emmc-reset {
49656198acdSHeiko Stuebner			rockchip,pins =
49756198acdSHeiko Stuebner				<1 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
49856198acdSHeiko Stuebner		};
49956198acdSHeiko Stuebner	};
50056198acdSHeiko Stuebner
50156198acdSHeiko Stuebner	leds {
50256198acdSHeiko Stuebner		debug_led_pin: debug-led-pin {
50356198acdSHeiko Stuebner			rockchip,pins =
50456198acdSHeiko Stuebner				<3 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>;
50556198acdSHeiko Stuebner		};
50656198acdSHeiko Stuebner
50756198acdSHeiko Stuebner		heartbeat_led_pin: heartbeat-led-pin {
50856198acdSHeiko Stuebner			rockchip,pins =
50956198acdSHeiko Stuebner				<0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
51056198acdSHeiko Stuebner		};
51156198acdSHeiko Stuebner	};
51256198acdSHeiko Stuebner
51356198acdSHeiko Stuebner	panel {
51456198acdSHeiko Stuebner		dsp_rst: dsp-rst {
51556198acdSHeiko Stuebner			rockchip,pins =
51656198acdSHeiko Stuebner				<0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_down>;
51756198acdSHeiko Stuebner		};
51856198acdSHeiko Stuebner
51956198acdSHeiko Stuebner		tch_int: tch-int {
52056198acdSHeiko Stuebner			rockchip,pins =
52156198acdSHeiko Stuebner				<0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
52256198acdSHeiko Stuebner		};
52356198acdSHeiko Stuebner
52456198acdSHeiko Stuebner		tch_rst: tch-rst {
52556198acdSHeiko Stuebner			rockchip,pins =
52656198acdSHeiko Stuebner				<0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
52756198acdSHeiko Stuebner		};
52856198acdSHeiko Stuebner	};
52956198acdSHeiko Stuebner
53056198acdSHeiko Stuebner	pmic {
53156198acdSHeiko Stuebner		pmic_int: pmic-int {
53256198acdSHeiko Stuebner			rockchip,pins =
53356198acdSHeiko Stuebner				<0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>;
53456198acdSHeiko Stuebner		};
53556198acdSHeiko Stuebner	};
53656198acdSHeiko Stuebner};
53756198acdSHeiko Stuebner
53856198acdSHeiko Stuebner&pmu_io_domains {
53956198acdSHeiko Stuebner	pmuio1-supply = <&vcc_3v3>;
54056198acdSHeiko Stuebner	pmuio2-supply = <&vcc_3v3>;
54156198acdSHeiko Stuebner	status = "okay";
54256198acdSHeiko Stuebner};
54356198acdSHeiko Stuebner
54456198acdSHeiko Stuebner&pwm0 {
54556198acdSHeiko Stuebner	status = "okay";
54656198acdSHeiko Stuebner};
54756198acdSHeiko Stuebner
54856198acdSHeiko Stuebner&pwm1 {
54956198acdSHeiko Stuebner	status = "okay";
55056198acdSHeiko Stuebner};
55156198acdSHeiko Stuebner
55256198acdSHeiko Stuebner&saradc {
55356198acdSHeiko Stuebner	vref-supply = <&vcc_1v8>;
55456198acdSHeiko Stuebner	status = "okay";
55556198acdSHeiko Stuebner};
55656198acdSHeiko Stuebner
55756198acdSHeiko Stuebner&tsadc {
55856198acdSHeiko Stuebner	status = "okay";
55956198acdSHeiko Stuebner};
56056198acdSHeiko Stuebner
56156198acdSHeiko Stuebner&u2phy {
56256198acdSHeiko Stuebner	status = "okay";
56356198acdSHeiko Stuebner};
56456198acdSHeiko Stuebner
56556198acdSHeiko Stuebner&u2phy_host {
56656198acdSHeiko Stuebner	status = "okay";
56756198acdSHeiko Stuebner};
56856198acdSHeiko Stuebner
56956198acdSHeiko Stuebner&u2phy_otg {
57056198acdSHeiko Stuebner	status = "okay";
57156198acdSHeiko Stuebner};
57256198acdSHeiko Stuebner
57356198acdSHeiko Stuebner&uart5 {
57456198acdSHeiko Stuebner	pinctrl-0 = <&uart5_xfer>;
57556198acdSHeiko Stuebner	status = "okay";
57656198acdSHeiko Stuebner};
57756198acdSHeiko Stuebner
57856198acdSHeiko Stuebner&usb20_otg {
57956198acdSHeiko Stuebner	dr_mode = "peripheral";
58056198acdSHeiko Stuebner	status = "okay";
58156198acdSHeiko Stuebner};
58256198acdSHeiko Stuebner
58356198acdSHeiko Stuebner&usb_host0_ehci {
58456198acdSHeiko Stuebner	status = "okay";
58556198acdSHeiko Stuebner};
58656198acdSHeiko Stuebner
58756198acdSHeiko Stuebner&usb_host0_ohci {
58856198acdSHeiko Stuebner	status = "okay";
58956198acdSHeiko Stuebner};
59056198acdSHeiko Stuebner
59156198acdSHeiko Stuebner&vopb {
59256198acdSHeiko Stuebner	status = "okay";
59356198acdSHeiko Stuebner};
59456198acdSHeiko Stuebner
59556198acdSHeiko Stuebner&vopb_mmu {
59656198acdSHeiko Stuebner	status = "okay";
59756198acdSHeiko Stuebner};
59856198acdSHeiko Stuebner
59956198acdSHeiko Stuebner&wdt {
60056198acdSHeiko Stuebner	status = "okay";
60156198acdSHeiko Stuebner};
602