// SPDX-License-Identifier: (GPL-2.0+ OR MIT)

/dts-v1/;
#include <dt-bindings/input/input.h>
#include "rk3328.dtsi"

/ {
	model = "A95X Z2";
	compatible = "zkmagic,a95x-z2", "rockchip,rk3318";

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

	chosen {
		stdout-path = "serial2:1500000n8";
	};

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

		recovery {
			label = "recovery";
			linux,code = <KEY_VENDOR>;
			press-threshold-microvolt = <17000>;
		};
	};

	ir-receiver {
		compatible = "gpio-ir-receiver";
		gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_LOW>;
		pinctrl-0 = <&ir_int>;
		pinctrl-names = "default";
	};

	leds {
		compatible = "gpio-leds";
		pinctrl-0 = <&cyx_led_pin>;
		pinctrl-names = "default";

		cyx_led: led-0 {
			default-state = "on";
			gpios = <&gpio2 RK_PC7 GPIO_ACTIVE_LOW>;
			label = "CYX_LED";
		};
	};

	sdio_pwrseq: sdio-pwrseq {
		compatible = "mmc-pwrseq-simple";
		pinctrl-0 = <&wifi_enable_h>;
		pinctrl-names = "default";
		reset-gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
	};

	spdif-sound {
		compatible = "simple-audio-card";
		simple-audio-card,name = "SPDIF";

		simple-audio-card,cpu {
			sound-dai = <&spdif>;
		};

		simple-audio-card,codec {
			sound-dai = <&spdif_out>;
		};
	};

	spdif_out: spdif-out {
		compatible = "linux,spdif-dit";
		#sound-dai-cells = <0>;
	};

	/* Power tree */
	vccio_1v8: vccio-1v8-regulator {
		compatible = "regulator-fixed";
		regulator-name = "vccio_1v8";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
		regulator-always-on;
	};

	vccio_3v3: vccio-3v3-regulator {
		compatible = "regulator-fixed";
		regulator-name = "vccio_3v3";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-always-on;
	};

	vcc_otg_vbus: otg-vbus-regulator {
		compatible = "regulator-fixed";
		gpio = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
		pinctrl-0 = <&otg_vbus_drv>;
		pinctrl-names = "default";
		regulator-name = "vcc_otg_vbus";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		enable-active-high;
	};

	vcc_sd: sdmmc-regulator {
		compatible = "regulator-fixed";
		gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>;
		pinctrl-0 = <&sdmmc0m1_pin>;
		pinctrl-names = "default";
		regulator-name = "vcc_sd";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		vin-supply = <&vccio_3v3>;
	};

	vdd_arm: vdd-arm {
		compatible = "pwm-regulator";
		pwms = <&pwm0 0 5000 1>;
		regulator-name = "vdd_arm";
		regulator-min-microvolt = <950000>;
		regulator-max-microvolt = <1400000>;
		regulator-settling-time-up-us = <250>;
		regulator-always-on;
		regulator-boot-on;
	};

	vdd_log: vdd-log {
		compatible = "pwm-regulator";
		pwms = <&pwm1 0 5000 1>;
		regulator-name = "vdd_log";
		regulator-min-microvolt = <900000>;
		regulator-max-microvolt = <1300000>;
		regulator-settling-time-up-us = <250>;
		regulator-always-on;
		regulator-boot-on;
	};
};

&analog_sound {
	status = "okay";
};

&codec {
	status = "okay";
};

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

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

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

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

&cpu0_opp_table {
	opp-1200000000 {
		status = "disabled";
	};

	opp-1296000000 {
		status = "disabled";
	};
};

&emmc {
	bus-width = <8>;
	cap-mmc-highspeed;
	non-removable;
	pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
	pinctrl-names = "default";
	status = "okay";
};

&gmac2phy {
	assigned-clock-parents = <&cru SCLK_MAC2PHY_SRC>;
	assigned-clock-rate = <50000000>;
	assigned-clocks = <&cru SCLK_MAC2PHY>;
	status = "okay";
};

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

&hdmi {
	status = "okay";
};

&hdmiphy {
	status = "okay";
};

&hdmi_sound {
	status = "okay";
};

&i2s0 {
	status = "okay";
};

&i2s1 {
	status = "okay";
};

&io_domains {
	pmuio-supply = <&vccio_3v3>;
	vccio1-supply = <&vccio_3v3>;
	vccio2-supply = <&vccio_1v8>;
	vccio3-supply = <&vccio_3v3>;
	vccio4-supply = <&vccio_1v8>;
	vccio5-supply = <&vccio_3v3>;
	vccio6-supply = <&vccio_3v3>;
	status = "okay";
};

&pinctrl {
	ir {
		ir_int: ir-int {
			rockchip,pins = <2 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};

	leds {
		cyx_led_pin: cyx-led-pin {
			rockchip,pins = <2 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};

	pwm0 {
		pwm0_pin_pull_up: pwm0-pin-pull-up {
			rockchip,pins = <2 RK_PA4 1 &pcfg_pull_up>;
		};
	};

	pwm1 {
		pwm1_pin_pull_up: pwm1-pin-pull-up {
			rockchip,pins = <2 RK_PA5 1 &pcfg_pull_up>;
		};
	};

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

	sdmmc1 {
		clk_32k_out: clk-32k-out {
			rockchip,pins = <1 RK_PD4 1 &pcfg_pull_none>;
		};
	};

	usb {
		host_vbus_drv: host-vbus-drv {
			rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
		};

		otg_vbus_drv: otg-vbus-drv {
			rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};
};

&pwm0 {
	pinctrl-0 = <&pwm0_pin_pull_up>;
	pinctrl-names = "active";
	status = "okay";
};

&pwm1 {
	pinctrl-0 = <&pwm1_pin_pull_up>;
	pinctrl-names = "active";
	status = "okay";
};

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

&sdio {
	bus-width = <4>;
	cap-sd-highspeed;
	cap-sdio-irq;
	keep-power-in-suspend;
	max-frequency = <125000000>;
	mmc-pwrseq = <&sdio_pwrseq>;
	non-removable;
	pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk &clk_32k_out>;
	pinctrl-names = "default";
	sd-uhs-sdr104;
	status = "okay";
};

&sdmmc {
	bus-width = <4>;
	cap-sd-highspeed;
	pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>;
	pinctrl-names = "default";
	vmmc-supply = <&vcc_sd>;
	status = "okay";
};

&spdif {
	pinctrl-0 = <&spdifm0_tx>;
	status = "okay";
};

&soc_crit {
	temperature = <115000>; /* millicelsius */
};

&target {
	temperature = <105000>; /* millicelsius */
};

&threshold {
	temperature = <90000>; /* millicelsius */
};

&tsadc {
	rockchip,hw-tshut-temp = <120000>;
	status = "okay";
};

&u2phy {
	status = "okay";
};

&u2phy_host {
	status = "okay";
};

&u2phy_otg {
	phy-supply = <&vcc_otg_vbus>;
	status = "okay";
};

&uart0 {
	pinctrl-0 = <&uart0_xfer &uart0_cts>;
	status = "okay";
};

&uart2 {
	status = "okay";
};

&usb20_otg {
	dr_mode = "host";
	status = "okay";
};

&usbdrd3 {
	dr_mode = "host";
	status = "okay";
};

&usb_host0_ehci {
	status = "okay";
};

&usb_host0_ohci {
	status = "okay";
};

&vop {
	status = "okay";
};

&vop_mmu {
	status = "okay";
};
