// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) 2023 Edgeble AI Technologies Pvt. Ltd.
 */

#include <dt-bindings/gpio/gpio.h>

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

	vcc3v3_pcie2x1l0: vcc3v3-pcie2x1l0-regulator {
		compatible = "regulator-fixed";
		regulator-name = "vcc3v3_pcie2x1l0";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		startup-delay-us = <5000>;
		vin-supply = <&vcc_3v3_s3>;
	};

	vcc3v3_pcie3x2: vcc3v3-pcie3x2-regulator {
		compatible = "regulator-fixed";
		enable-active-high;
		gpios = <&gpio2 RK_PC4 GPIO_ACTIVE_HIGH>; /* PCIE_4G_PWEN */
		pinctrl-names = "default";
		pinctrl-0 = <&pcie3x2_vcc3v3_en>;
		regulator-name = "vcc3v3_pcie3x2";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		startup-delay-us = <5000>;
		vin-supply = <&vcc5v0_sys>;
	};

	vcc3v3_pcie3x4: vcc3v3-pcie3x4-regulator {
		compatible = "regulator-fixed";
		enable-active-high;
		gpios = <&gpio2 RK_PC5 GPIO_ACTIVE_HIGH>; /* PCIE30x4_PWREN_H */
		pinctrl-names = "default";
		pinctrl-0 = <&pcie3x4_vcc3v3_en>;
		regulator-name = "vcc3v3_pcie3x4";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		startup-delay-us = <5000>;
		vin-supply = <&vcc5v0_sys>;
	};

	vcc5v0_host: vcc5v0-host-regulator {
		compatible = "regulator-fixed";
		enable-active-high;
		gpio = <&gpio3 RK_PC7 GPIO_ACTIVE_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&vcc5v0_host_en>;
		regulator-name = "vcc5v0_host";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		regulator-boot-on;
		regulator-always-on;
		vin-supply = <&vcc5v0_sys>;
	};
};

&combphy0_ps {
	status = "okay";
};

&combphy1_ps {
	status = "okay";
};

&i2c6 {
	status = "okay";

	hym8563: rtc@51 {
		compatible = "haoyu,hym8563";
		reg = <0x51>;
		interrupt-parent = <&gpio0>;
		interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>;
		#clock-cells = <0>;
		clock-output-names = "hym8563";
		pinctrl-names = "default";
		pinctrl-0 = <&hym8563_int>;
		wakeup-source;
	};
};

/* ETH */
&pcie2x1l0 {
	pinctrl-names = "default";
	pinctrl-0 = <&pcie2_0_rst>;
	reset-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>; /* PCIE20_1_PERST_L */
	vpcie3v3-supply = <&vcc3v3_pcie2x1l0>;
	status = "okay";
};

&pcie30phy {
	status = "okay";
};

/* B-Key and E-Key */
&pcie3x2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pcie3x2_rst>;
	reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>; /* PCIE30X4_PERSTn_M1_L */
	vpcie3v3-supply = <&vcc3v3_pcie3x2>;
	status = "okay";
};

/* M-Key */
&pcie3x4 {
	pinctrl-names = "default";
	pinctrl-0 = <&pcie3x4_rst>;
	reset-gpios = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>; /* PCIE30X2_PERSTn_M1_L */
	vpcie3v3-supply = <&vcc3v3_pcie3x4>;
	status = "okay";
};

&pinctrl {
	pcie2 {
		pcie2_0_rst: pcie2-0-rst {
			rockchip,pins = <4 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};

	pcie3 {
		pcie3x2_rst: pcie3x2-rst {
			rockchip,pins = <4 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
		};

		pcie3x2_vcc3v3_en: pcie3x2-vcc3v3-en {
			rockchip,pins = <2 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
		};

		pcie3x4_rst: pcie3x4-rst {
			rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
		};

		pcie3x4_vcc3v3_en: pcie3x4-vcc3v3-en {
			rockchip,pins = <2 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};

	hym8563 {
		hym8563_int: hym8563-int {
			rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};

	usb {
		vcc5v0_host_en: vcc5v0-host-en {
			rockchip,pins = <3 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};
};

/* FAN */
&pwm2 {
	pinctrl-0 = <&pwm2m1_pins>;
	pinctrl-names = "default";
	status = "okay";
};

&sata0 {
	status = "okay";
};

&sdmmc {
	bus-width = <4>;
	cap-mmc-highspeed;
	cap-sd-highspeed;
	disable-wp;
	no-sdio;
	no-mmc;
	sd-uhs-sdr104;
	vmmc-supply = <&vcc_3v3_s3>;
	vqmmc-supply = <&vccio_sd_s0>;
	status = "okay";
};

&uart2 {
	pinctrl-0 = <&uart2m0_xfer>;
	status = "okay";
};

/* RS232 */
&uart6 {
	pinctrl-0 = <&uart6m0_xfer>;
	pinctrl-names = "default";
	status = "okay";
};

/* RS485 */
&uart7 {
	pinctrl-0 = <&uart7m2_xfer>;
	pinctrl-names = "default";
	status = "okay";
};

&u2phy2 {
	status = "okay";
};

&u2phy2_host {
	/* connected to USB hub, which is powered by vcc5v0_sys */
	phy-supply = <&vcc5v0_sys>;
	status = "okay";
};

&u2phy3 {
	status = "okay";
};

&u2phy3_host {
	phy-supply = <&vcc5v0_host>;
	status = "okay";
};

&usb_host0_ehci {
	status = "okay";
};

&usb_host0_ohci {
	status = "okay";
};

&usb_host1_ehci {
	status = "okay";
};

&usb_host1_ohci {
	status = "okay";
};
