// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
 */

/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/pinctrl/rockchip.h>
#include "px30.dtsi"

/ {
	model = "Rockchip PX30 EVB";
	compatible = "rockchip,px30-evb", "rockchip,px30";

	aliases {
		ethernet0 = &gmac;
		mmc0 = &sdmmc;
		mmc1 = &sdio;
		mmc2 = &emmc;
	};

	chosen {
		stdout-path = "serial5:115200n8";
	};

	adc-keys {
		compatible = "adc-keys";
		io-channels = <&saradc 2>;
		io-channel-names = "buttons";
		keyup-threshold-microvolt = <1800000>;
		poll-interval = <100>;

		button-esc {
			label = "esc";
			linux,code = <KEY_ESC>;
			press-threshold-microvolt = <1310000>;
		};

		button-home {
			label = "home";
			linux,code = <KEY_HOME>;
			press-threshold-microvolt = <624000>;
		};

		button-menu {
			label = "menu";
			linux,code = <KEY_MENU>;
			press-threshold-microvolt = <987000>;
		};

		button-down {
			label = "volume down";
			linux,code = <KEY_VOLUMEDOWN>;
			press-threshold-microvolt = <300000>;
		};

		button-up {
			label = "volume up";
			linux,code = <KEY_VOLUMEUP>;
			press-threshold-microvolt = <17000>;
		};
	};

	backlight: backlight {
		compatible = "pwm-backlight";
		pwms = <&pwm1 0 25000 0>;
		power-supply = <&vcc3v3_lcd>;
	};

	emmc_pwrseq: emmc-pwrseq {
		compatible = "mmc-pwrseq-emmc";
		pinctrl-0 = <&emmc_reset>;
		pinctrl-names = "default";
		reset-gpios = <&gpio1 RK_PB3 GPIO_ACTIVE_HIGH>;
	};

	sdio_pwrseq: sdio-pwrseq {
		compatible = "mmc-pwrseq-simple";
		pinctrl-names = "default";
		pinctrl-0 = <&wifi_enable_h>;

		/*
		 * On the module itself this is one of these (depending
		 * on the actual card populated):
		 * - SDIO_RESET_L_WL_REG_ON
		 * - PDN (power down when low)
		 */
		reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>; /* GPIO3_A4 */
	};

	vcc5v0_sys: vccsys {
		compatible = "regulator-fixed";
		regulator-name = "vcc5v0_sys";
		regulator-always-on;
		regulator-boot-on;
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
	};
};

&cpu0 {
	cpu-supply = <&vdd_arm>;
};

&cpu1 {
	cpu-supply = <&vdd_arm>;
};

&cpu2 {
	cpu-supply = <&vdd_arm>;
};

&cpu3 {
	cpu-supply = <&vdd_arm>;
};

&csi_dphy {
	status = "okay";
};

&display_subsystem {
	status = "okay";
};

&dsi {
	status = "okay";

	ports {
		mipi_out: port@1 {
			reg = <1>;

			mipi_out_panel: endpoint {
				remote-endpoint = <&mipi_in_panel>;
			};
		};
	};

	panel@0 {
		compatible = "xinpeng,xpp055c272";
		reg = <0>;
		backlight = <&backlight>;
		iovcc-supply = <&vcc_1v8>;
		vci-supply = <&vcc3v3_lcd>;

		port {
			mipi_in_panel: endpoint {
				remote-endpoint = <&mipi_out_panel>;
			};
		};
	};
};

&dsi_dphy {
	status = "okay";
};

&emmc {
	cap-mmc-highspeed;
	mmc-hs200-1_8v;
	non-removable;
	mmc-pwrseq = <&emmc_pwrseq>;
	vmmc-supply = <&vcc_3v0>;
	vqmmc-supply = <&vccio_flash>;
	status = "okay";
};

&gmac {
	clock_in_out = "output";
	phy-supply = <&vcc_rmii>;
	snps,reset-gpio = <&gpio2 13 GPIO_ACTIVE_LOW>;
	snps,reset-active-low;
	snps,reset-delays-us = <0 50000 50000>;
	status = "okay";
};

&gpu {
	mali-supply = <&vdd_log>;
	status = "okay";
};

&i2c0 {
	status = "okay";

	rk809: pmic@20 {
		compatible = "rockchip,rk809";
		reg = <0x20>;
		interrupt-parent = <&gpio0>;
		interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
		pinctrl-names = "default";
		pinctrl-0 = <&pmic_int>;
		rockchip,system-power-controller;
		wakeup-source;
		#clock-cells = <0>;
		clock-output-names = "xin32k";

		vcc1-supply = <&vcc5v0_sys>;
		vcc2-supply = <&vcc5v0_sys>;
		vcc3-supply = <&vcc5v0_sys>;
		vcc4-supply = <&vcc5v0_sys>;
		vcc5-supply = <&vcc3v3_sys>;
		vcc6-supply = <&vcc3v3_sys>;
		vcc7-supply = <&vcc3v3_sys>;
		vcc8-supply = <&vcc3v3_sys>;
		vcc9-supply = <&vcc5v0_sys>;

		regulators {
			vdd_log: DCDC_REG1 {
				regulator-name = "vdd_log";
				regulator-min-microvolt = <950000>;
				regulator-max-microvolt = <1350000>;
				regulator-ramp-delay = <6001>;
				regulator-always-on;
				regulator-boot-on;

				regulator-state-mem {
					regulator-on-in-suspend;
					regulator-suspend-microvolt = <950000>;
				};
			};

			vdd_arm: DCDC_REG2 {
				regulator-name = "vdd_arm";
				regulator-min-microvolt = <950000>;
				regulator-max-microvolt = <1350000>;
				regulator-ramp-delay = <6001>;
				regulator-always-on;
				regulator-boot-on;

				regulator-state-mem {
					regulator-off-in-suspend;
					regulator-suspend-microvolt = <950000>;
				};
			};

			vcc_ddr: DCDC_REG3 {
				regulator-name = "vcc_ddr";
				regulator-always-on;
				regulator-boot-on;

				regulator-state-mem {
					regulator-on-in-suspend;
				};
			};

			vcc_3v0: vcc_rmii: DCDC_REG4 {
				regulator-name = "vcc_3v0";
				regulator-min-microvolt = <3000000>;
				regulator-max-microvolt = <3000000>;
				regulator-always-on;
				regulator-boot-on;

				regulator-state-mem {
					regulator-on-in-suspend;
					regulator-suspend-microvolt = <3000000>;
				};
			};

			vcc3v3_sys: DCDC_REG5 {
				regulator-name = "vcc3v3_sys";
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
				regulator-boot-on;

				regulator-state-mem {
					regulator-on-in-suspend;
					regulator-suspend-microvolt = <3300000>;
				};
			};

			vcc_1v0: LDO_REG1 {
				regulator-name = "vcc_1v0";
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <1000000>;
				regulator-always-on;
				regulator-boot-on;

				regulator-state-mem {
					regulator-on-in-suspend;
					regulator-suspend-microvolt = <1000000>;
				};
			};

			vcc_1v8: vccio_flash: vccio_sdio: LDO_REG2 {
				regulator-name = "vcc_1v8";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-always-on;
				regulator-boot-on;

				regulator-state-mem {
					regulator-on-in-suspend;
					regulator-suspend-microvolt = <1800000>;
				};
			};

			vdd_1v0: LDO_REG3 {
				regulator-name = "vdd_1v0";
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <1000000>;
				regulator-always-on;
				regulator-boot-on;

				regulator-state-mem {
					regulator-on-in-suspend;
					regulator-suspend-microvolt = <1000000>;
				};
			};

			vcc3v0_pmu: LDO_REG4 {
				regulator-name = "vcc3v0_pmu";
				regulator-min-microvolt = <3000000>;
				regulator-max-microvolt = <3000000>;
				regulator-always-on;
				regulator-boot-on;

				regulator-state-mem {
					regulator-on-in-suspend;
					regulator-suspend-microvolt = <3000000>;
				};
			};

			vccio_sd: LDO_REG5 {
				regulator-name = "vccio_sd";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
				regulator-boot-on;

				regulator-state-mem {
					regulator-on-in-suspend;
					regulator-suspend-microvolt = <3300000>;
				};
			};

			vcc_sd: LDO_REG6 {
				regulator-name = "vcc_sd";
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
				regulator-boot-on;

				regulator-state-mem {
					regulator-on-in-suspend;
					regulator-suspend-microvolt = <3300000>;
				};
			};

			vcc2v8_dvp: LDO_REG7 {
				regulator-name = "vcc2v8_dvp";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <2800000>;
				regulator-boot-on;

				regulator-state-mem {
					regulator-off-in-suspend;
					regulator-suspend-microvolt = <2800000>;
				};
			};

			vcc1v8_dvp: LDO_REG8 {
				regulator-name = "vcc1v8_dvp";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-boot-on;

				regulator-state-mem {
					regulator-on-in-suspend;
					regulator-suspend-microvolt = <1800000>;
				};
			};

			vcc1v5_dvp: LDO_REG9 {
				regulator-name = "vcc1v5_dvp";
				regulator-min-microvolt = <1500000>;
				regulator-max-microvolt = <1500000>;
				regulator-boot-on;

				regulator-state-mem {
					regulator-off-in-suspend;
					regulator-suspend-microvolt = <1500000>;
				};
			};

			vcc3v3_lcd: SWITCH_REG1 {
				regulator-name = "vcc3v3_lcd";
				regulator-boot-on;
			};

			vcc5v0_host: SWITCH_REG2 {
				regulator-name = "vcc5v0_host";
				regulator-always-on;
				regulator-boot-on;
			};
		};
	};
};

&i2c1 {
	status = "okay";

	sensor@d {
		compatible = "asahi-kasei,ak8963";
		reg = <0x0d>;
		gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>;
		vdd-supply = <&vcc3v0_pmu>;
		mount-matrix = "1", /* x0 */
			       "0", /* y0 */
			       "0", /* z0 */
			       "0", /* x1 */
			       "1", /* y1 */
			       "0", /* z1 */
			       "0", /* x2 */
			       "0", /* y2 */
			       "1"; /* z2 */
	};

	touchscreen@14 {
		compatible = "goodix,gt1151";
		reg = <0x14>;
		interrupt-parent = <&gpio0>;
		interrupts = <RK_PA5 IRQ_TYPE_LEVEL_LOW>;
		irq-gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
		reset-gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
		VDDIO-supply = <&vcc3v3_lcd>;
	};

	sensor@4c {
		compatible = "fsl,mma7660";
		reg = <0x4c>;
		interrupt-parent = <&gpio0>;
		interrupts = <RK_PB7 IRQ_TYPE_LEVEL_LOW>;
	};
};

&i2c2 {
	status = "okay";

	clock-frequency = <100000>;

	/* These are relatively safe rise/fall times; TODO: measure */
	i2c-scl-falling-time-ns = <50>;
	i2c-scl-rising-time-ns = <300>;

	ov5695: ov5695@36 {
		compatible = "ovti,ov5695";
		reg = <0x36>;
		avdd-supply = <&vcc2v8_dvp>;
		clocks = <&cru SCLK_CIF_OUT>;
		clock-names = "xvclk";
		dvdd-supply = <&vcc1v5_dvp>;
		dovdd-supply = <&vcc1v8_dvp>;
		pinctrl-names = "default";
		pinctrl-0 = <&cif_clkout_m0 &mipi_pdn>;
		reset-gpios = <&gpio2 RK_PB6 GPIO_ACTIVE_LOW>;

		port {
			ucam_out: endpoint {
				remote-endpoint = <&mipi_in_ucam>;
				data-lanes = <1 2>;
			};
		};
	};
};

&i2s1_2ch {
	status = "okay";
};

&io_domains {
	status = "okay";

	vccio1-supply = <&vccio_sdio>;
	vccio2-supply = <&vccio_sd>;
	vccio3-supply = <&vcc_3v0>;
	vccio4-supply = <&vcc3v0_pmu>;
	vccio5-supply = <&vcc_3v0>;
	vccio6-supply = <&vccio_flash>;
};

&isp {
	status = "okay";

	ports {
		port@0 {
			mipi_in_ucam: endpoint@0 {
				reg = <0>;
				data-lanes = <1 2>;
				remote-endpoint = <&ucam_out>;
			};
		};
	};
};

&isp_mmu {
	status = "okay";
};

&pinctrl {
	headphone {
		hp_det: hp-det {
			rockchip,pins =
				<2 RK_PB0 RK_FUNC_GPIO &pcfg_pull_down>;
		};
	};

	emmc {
		emmc_reset: emmc-reset {
			rockchip,pins = <1 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};

	pmic {
		pmic_int: pmic_int {
			rockchip,pins =
				<0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>;
		};

		soc_slppin_gpio: soc_slppin_gpio {
			rockchip,pins =
				<0 RK_PA4 RK_FUNC_GPIO &pcfg_output_low>;
		};

		soc_slppin_slp: soc_slppin_slp {
			rockchip,pins =
				<0 RK_PA4 1 &pcfg_pull_none>;
		};

		soc_slppin_rst: soc_slppin_rst {
			rockchip,pins =
				<0 RK_PA4 2 &pcfg_pull_none>;
		};
	};

	sdio-pwrseq {
		wifi_enable_h: wifi-enable-h {
			rockchip,pins =
				<0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};

	cif-m0 {
		cif_clkout_m0: cif-clkout-m0 {
			rockchip,pins =
				<2 RK_PB3 1 &pcfg_pull_none_12ma>;
		};
	};

	mipi {
		mipi_pdn: mipi-pdn {
			rockchip,pins = <2 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};
};

&pmu_io_domains {
	status = "okay";

	pmuio1-supply = <&vcc3v0_pmu>;
	pmuio2-supply = <&vcc3v0_pmu>;
};

&pwm1 {
	status = "okay";
};

&saradc {
	vref-supply = <&vcc_1v8>;
	status = "okay";
};

&sdmmc {
	cap-mmc-highspeed;
	cap-sd-highspeed;
	card-detect-delay = <800>;
	sd-uhs-sdr12;
	sd-uhs-sdr25;
	sd-uhs-sdr50;
	sd-uhs-sdr104;
	vmmc-supply = <&vcc_sd>;
	vqmmc-supply = <&vccio_sd>;
	status = "okay";
};

&sdio {
	cap-sd-highspeed;
	keep-power-in-suspend;
	non-removable;
	mmc-pwrseq = <&sdio_pwrseq>;
	sd-uhs-sdr104;
	status = "okay";
};

&tsadc {
	rockchip,hw-tshut-mode = <1>;
	rockchip,hw-tshut-polarity = <1>;
	status = "okay";
};

&u2phy {
	status = "okay";

	u2phy_host: host-port {
		status = "okay";
	};

	u2phy_otg: otg-port {
		status = "okay";
	};
};

&uart1 {
	pinctrl-names = "default";
	pinctrl-0 = <&uart1_xfer &uart1_cts>;
	status = "okay";
};

&uart5 {
	status = "okay";
};

&usb20_otg {
	status = "okay";
};

&usb_host0_ehci {
	status = "okay";
};

&usb_host0_ohci {
	status = "okay";
};

&vopb {
	status = "okay";
};

&vopb_mmu {
	status = "okay";
};

&vopl {
	status = "okay";
};

&vopl_mmu {
	status = "okay";
};
