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

/dts-v1/;

#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>
#include "rk3128.dtsi"

/ {
	model = "Geniatech XPI-3128";
	compatible = "geniatech,xpi-3128", "rockchip,rk3128";

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

	memory@60000000 {
		device_type = "memory";
		reg = <0x60000000 0x40000000>;
	};

	chosen {
		stdout-path = &uart1;
	};

	adc-keys {
		compatible = "adc-keys";
		io-channels = <&saradc 1>;
		io-channel-names = "buttons";
		keyup-threshold-microvolt = <3300000>;

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

	dc_5v: dc-5v-regulator {
		compatible = "regulator-fixed";
		regulator-name = "DC_5V";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		regulator-always-on;
		regulator-boot-on;
	};

	hdmi-connnector {
		compatible = "hdmi-connector";
		type = "a";

		port {
			hdmi_connector_in: endpoint {
				remote-endpoint = <&hdmi_connector_out>;
			};
		};
	};

	/*
	 * This is a vbus-supply, which also supplies the GL852G usb hub,
	 * thus has to be always-on
	 */
	host_pwr_5v: host-pwr-5v-regulator {
		compatible = "regulator-fixed";
		gpio = <&gpio3 RK_PC4 GPIO_ACTIVE_HIGH>;
		startup-delay-us = <1500>;
		regulator-name = "HOST_PWR_5V";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		vin-supply = <&dc_5v>;
		pinctrl-names = "default";
		pinctrl-0 = <&host_drv>;
		enable-active-high;
		regulator-always-on;
	};

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

	leds {
		compatible = "gpio-leds";

		led-power {
			gpios = <&gpio0 RK_PD2 GPIO_ACTIVE_HIGH>;
			function = LED_FUNCTION_POWER;
			color = <LED_COLOR_ID_BLUE>;
			default-state = "on";
			pinctrl-names = "default";
			pinctrl-0 = <&power_led>;
		};

		led-spd {
			gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>;
			function = LED_FUNCTION_LAN;
			color = <LED_COLOR_ID_GREEN>;
			/*
			 * currently not allowed to be set as per
			 * https://www.kernel.org/doc/Documentation/devicetree/bindings/leds/common.yaml
			 * and needs to set in userspace:
			 *
			 * linux,default-trigger = "netdev";
			 */
			pinctrl-names = "default";
			pinctrl-0 = <&spd_led>;
		};
	};

	mcu3v3: mcu3v3-regulator {
		compatible = "regulator-fixed";
		regulator-name = "MCU3V3";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		vin-supply = <&vcc_io>;
		regulator-always-on;
		regulator-boot-on;
	};

	vcc_ddr: vcc-ddr-regulator {
		compatible = "regulator-fixed";
		regulator-name = "VCC_DDR";
		regulator-min-microvolt = <1500000>;
		regulator-max-microvolt = <1500000>;
		vin-supply = <&vcc_sys>;
		regulator-always-on;
		regulator-boot-on;
	};

	vcc_io: vcc-io-regulator {
		compatible = "regulator-fixed";
		regulator-name = "VCC_IO";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		vin-supply = <&vcc_sys>;
		regulator-always-on;
		regulator-boot-on;
	};

	vcc_lan: vcc-lan-regulator {
		compatible = "regulator-fixed";
		regulator-name = "VCC_LAN";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		vin-supply = <&vcc_io>;
		regulator-always-on;
		regulator-boot-on;
	};

	vcc_sd: vcc-sd-regulator {
		compatible = "regulator-fixed";
		gpio = <&gpio1 RK_PB6 GPIO_ACTIVE_LOW>;
		startup-delay-us = <500>;
		regulator-name = "VCC_SD";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		vin-supply = <&vcc_io>;
		pinctrl-names = "default";
		pinctrl-0 = <&sdmmc_pwren>;
	};

	vcc_sys: vcc-sys-regulator {
		compatible = "regulator-fixed";
		regulator-name = "VCC_SYS";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		vin-supply = <&dc_5v>;
		regulator-always-on;
		regulator-boot-on;
	};

	vcc33_hdmi: vcc33-hdmi-regulator {
		compatible = "regulator-fixed";
		regulator-name = "VCC33_HDMI";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		vin-supply = <&vcca_33>;
		regulator-always-on;
		regulator-boot-on;
	};

	vcca_33: vcca-33-regulator {
		compatible = "regulator-fixed";
		regulator-name = "VCCA_33";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		vin-supply = <&vcc_sys>;
		regulator-always-on;
		regulator-boot-on;
	};

	vdd_11: vdd-11-regulator {
		compatible = "regulator-fixed";
		regulator-name = "VDD_11";
		regulator-min-microvolt = <1100000>;
		regulator-max-microvolt = <1100000>;
		vin-supply = <&vcc_sys>;
		regulator-always-on;
		regulator-boot-on;
	};

	vdd11_hdmi: vdd11-hdmi-regulator {
		compatible = "regulator-fixed";
		regulator-name = "VDD11_HDMI";
		regulator-min-microvolt = <1100000>;
		regulator-max-microvolt = <1100000>;
		vin-supply = <&vdd_11>;
		regulator-always-on;
		regulator-boot-on;
	};

	vdd_arm: vdd-arm-regulator {
		compatible = "pwm-regulator";
		regulator-name = "VDD_ARM";
		pwms = <&pwm1 0 25000 1>;
		pwm-supply = <&vcc_sys>;
		regulator-min-microvolt = <900000>;
		regulator-max-microvolt = <1400000>;
		regulator-always-on;
		regulator-boot-on;
	};

	/*
	 * As per schematics vdd_log is minimum 900 mV, maximum 1400 mV.
	 * Since there are HW blocks in PD_LOGIC (which are all driven by
	 * this supply), that either do not have a driver at all or the
	 * driver does not implement regulator support we have to make
	 * sure here that the voltage never drops below 1050 mV.
	 */
	vdd_log: vdd-log-regulator {
		compatible = "pwm-regulator";
		regulator-name = "VDD_LOG";
		pwms = <&pwm2 0 25000 1>;
		pwm-dutycycle-range = <30 100>;
		pwm-supply = <&vcc_sys>;
		regulator-min-microvolt = <1050000>;
		regulator-max-microvolt = <1400000>;
		regulator-ramp-delay = <4000>;
		regulator-always-on;
		regulator-boot-on;
	};

};

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

&display_subsystem {
	status = "okay";
};

&emmc {
	bus-width = <8>;
	vmmc-supply = <&vcc_io>;
	pinctrl-names = "default";
	pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
	cap-mmc-highspeed;
	mmc-ddr-3_3v;
	no-sd;
	no-sdio;
	status = "okay";
};

&gmac {
	clock_in_out = "output";
	phy-supply = <&vcc_lan>;
	phy-mode = "rmii";
	phy-handle = <&phy0>;
	assigned-clocks = <&cru SCLK_MAC_SRC>;
	assigned-clock-rates= <50000000>;
	pinctrl-names = "default";
	pinctrl-0 = <&rmii_pins>;
	status = "okay";
};

&gpio0 {
	gpio-line-names = /* GPIO0 A0-A7 */
			  "", "", "HEADER_5", "HEADER_3",
			  "", "", "", "",
			  /* GPIO0 B0-B7 */
			  "HEADER_22", "HEADER_23", "", "HEADER_19",
			  "HEADER_26", "HEADER_21", "HEADER_24", "",
			  /* GPIO0 C0-C7 */
			  "", "HEADER_18", "", "",
			  "", "", "", "",
			  /* GPIO0 D0-D7 */
			  "HEADER_36", "", "", "",
			  "", "", "HEADER_13", "";
};

&gpio1 {
	gpio-line-names = /* GPIO1 A0-A7 */
			  "HEADER_7", "HEADER_35", "HEADER_33", "HEADER_37",
			  "HEADER_40", "HEADER_38", "", "",
			  /* GPIO1 B0-B7 */
			  "HEADER_11", "", "", "HEADER_29",
			  "HEADER_31", "", "", "",
			  /* GPIO1 C0-C7 */
			  "", "", "", "",
			  "", "", "", "",
			  /* GPIO1 D0-D7 */
			  "", "", "", "",
			  "", "", "", "";
};

&gpio2 {
	gpio-line-names = /* GPIO2 A0-A7 */
			  "", "", "", "",
			  "", "", "", "",
			  /* GPIO2 B0-B7 */
			  "", "", "", "",
			  "", "", "", "",
			  /* GPIO2 C0-C7 */
			  "", "", "", "",
			  "HEADER_27", "", "", "",
			  /* GPIO2 D0-D7 */
			  "", "", "HEADER_8", "HEADER_10",
			  "", "", "", "";
};

&gpio3 {
	gpio-line-names = /* GPIO3 A0-A7 */
			  "", "", "", "",
			  "", "", "", "",
			  /* GPIO3 B0-B7 */
			  "", "", "", "",
			  "", "", "", "",
			  /* GPIO3 C0-C7 */
			  "", "HEADER_32", "", "",
			  "", "", "", "HEADER_12",
			  /* GPIO3 D0-D7 */
			  "", "", "", "HEADER_15",
			  "", "", "", "";
};

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

&hdmi {
	status = "okay";
};

&hdmi_out {
	hdmi_connector_out: endpoint {
		remote-endpoint = <&hdmi_connector_in>;
	};
};

&mdio {
	phy0: ethernet-phy@1 {
		compatible = "ethernet-phy-ieee802.3-c22";
		reg = <1>;
		max-speed = <100>;
		/* T2.2.4 min. 1 us */
		reset-assert-us = <10>;
		/* T2.2.1 + T2.2.2 + T2.2.3 min. 6.05 us */
		reset-deassert-us = <20>;
		reset-gpios = <&gpio2 RK_PD0 GPIO_ACTIVE_LOW>;
		pinctrl-names = "default";
		pinctrl-0 = <&dp83848c_rst>;
	};
};

&pinctrl {
	dp83848c {
		dp83848c_rst: dp83848c-rst {
			rockchip,pins = <2 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};

	ir-receiver {
		ir_int: ir-int {
			rockchip,pins = <3 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};

	leds {
		power_led: power-led {
			rockchip,pins = <0 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
		};

		spd_led: spd-led {
			rockchip,pins = <3 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};

	usb2 {
		host_drv: host-drv {
			rockchip,pins = <3 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};
};

&pwm1 {
	status = "okay";
};

&pwm2 {
	status = "okay";
};

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

&sdmmc {
	bus-width = <4>;
	vmmc-supply = <&vcc_sd>;
	pinctrl-names = "default";
	pinctrl-0 = <&sdmmc_bus4 &sdmmc_clk &sdmmc_cmd &sdmmc_det>;
	disable-wp;
	cap-sd-highspeed;
	no-mmc;
	no-sdio;
	status = "okay";
};

&uart1 {
	status = "okay";
};

&usb_host_ehci {
	status = "okay";
};

&usb_otg {
	vusb_a-supply = <&vcc_io>;
	vusb_d-supply = <&vdd_11>;
	status = "okay";
};

&usb2phy {
	status = "okay";
};

&usb2phy_host {
	status = "okay";
};

&usb2phy_otg {
	status = "okay";
};

&vop {
	status = "okay";
};
