// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (c) 2014 MediaTek Inc.
 * Author: Eddie Huang <eddie.huang@mediatek.com>
 */

/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include "mt8173.dtsi"

/ {
	model = "MediaTek MT8173 evaluation board";
	compatible = "mediatek,mt8173-evb", "mediatek,mt8173";

	aliases {
		serial0 = &uart0;
		serial1 = &uart1;
		serial2 = &uart2;
		serial3 = &uart3;
	};

	memory@40000000 {
		device_type = "memory";
		reg = <0 0x40000000 0 0x80000000>;
	};

	chosen { };

	connector {
		compatible = "hdmi-connector";
		label = "hdmi";
		type = "d";

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

	extcon_usb: extcon_iddig {
		compatible = "linux,extcon-usb-gpio";
		id-gpio = <&pio 16 GPIO_ACTIVE_HIGH>;
	};

	usb_p1_vbus: regulator@0 {
		compatible = "regulator-fixed";
		regulator-name = "usb_vbus";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		gpio = <&pio 130 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	usb_p0_vbus: regulator@1 {
		compatible = "regulator-fixed";
		regulator-name = "vbus";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		gpio = <&pio 9 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};
};

&mfg_async {
	domain-supply = <&da9211_vgpu_reg>;
};

&cec {
	status = "okay";
};

&cpu0 {
	proc-supply = <&mt6397_vpca15_reg>;
};

&cpu1 {
	proc-supply = <&mt6397_vpca15_reg>;
};

&cpu2 {
	proc-supply = <&da9211_vcpu_reg>;
	sram-supply = <&mt6397_vsramca7_reg>;
};

&cpu3 {
	proc-supply = <&da9211_vcpu_reg>;
	sram-supply = <&mt6397_vsramca7_reg>;
};

&dpi0 {
	status = "okay";
};

&hdmi_phy {
	status = "okay";
};

&hdmi0 {
	status = "okay";

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

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

&i2c1 {
	status = "okay";

	buck: da9211@68 {
		compatible = "dlg,da9211";
		reg = <0x68>;

		regulators {
			da9211_vcpu_reg: BUCKA {
				regulator-name = "VBUCKA";
				regulator-min-microvolt = < 700000>;
				regulator-max-microvolt = <1310000>;
				regulator-min-microamp	= <2000000>;
				regulator-max-microamp	= <4400000>;
				regulator-ramp-delay = <10000>;
				regulator-always-on;
			};

			da9211_vgpu_reg: BUCKB {
				regulator-name = "VBUCKB";
				regulator-min-microvolt = < 700000>;
				regulator-max-microvolt = <1310000>;
				regulator-min-microamp	= <2000000>;
				regulator-max-microamp	= <3000000>;
				regulator-ramp-delay = <10000>;
			};
		};
	};
};

&mmc0 {
	status = "okay";
	pinctrl-names = "default", "state_uhs";
	pinctrl-0 = <&mmc0_pins_default>;
	pinctrl-1 = <&mmc0_pins_uhs>;
	bus-width = <8>;
	max-frequency = <50000000>;
	cap-mmc-highspeed;
	mediatek,hs200-cmd-int-delay=<26>;
	mediatek,hs400-cmd-int-delay=<14>;
	mediatek,hs400-cmd-resp-sel-rising;
	vmmc-supply = <&mt6397_vemc_3v3_reg>;
	vqmmc-supply = <&mt6397_vio18_reg>;
	non-removable;
};

&mmc1 {
	status = "okay";
	pinctrl-names = "default", "state_uhs";
	pinctrl-0 = <&mmc1_pins_default>;
	pinctrl-1 = <&mmc1_pins_uhs>;
	bus-width = <4>;
	max-frequency = <50000000>;
	cap-sd-highspeed;
	sd-uhs-sdr25;
	cd-gpios = <&pio 132 0>;
	vmmc-supply = <&mt6397_vmch_reg>;
	vqmmc-supply = <&mt6397_vmc_reg>;
};

&pio {
	disp_pwm0_pins: disp_pwm0_pins {
		pins1 {
			pinmux = <MT8173_PIN_87_DISP_PWM0__FUNC_DISP_PWM0>;
			output-low;
		};
	};

	mmc0_pins_default: mmc0default {
		pins_cmd_dat {
			pinmux = <MT8173_PIN_57_MSDC0_DAT0__FUNC_MSDC0_DAT0>,
				 <MT8173_PIN_58_MSDC0_DAT1__FUNC_MSDC0_DAT1>,
				 <MT8173_PIN_59_MSDC0_DAT2__FUNC_MSDC0_DAT2>,
				 <MT8173_PIN_60_MSDC0_DAT3__FUNC_MSDC0_DAT3>,
				 <MT8173_PIN_61_MSDC0_DAT4__FUNC_MSDC0_DAT4>,
				 <MT8173_PIN_62_MSDC0_DAT5__FUNC_MSDC0_DAT5>,
				 <MT8173_PIN_63_MSDC0_DAT6__FUNC_MSDC0_DAT6>,
				 <MT8173_PIN_64_MSDC0_DAT7__FUNC_MSDC0_DAT7>,
				 <MT8173_PIN_66_MSDC0_CMD__FUNC_MSDC0_CMD>;
			input-enable;
			bias-pull-up;
		};

		pins_clk {
			pinmux = <MT8173_PIN_65_MSDC0_CLK__FUNC_MSDC0_CLK>;
			bias-pull-down;
		};

		pins_rst {
			pinmux = <MT8173_PIN_68_MSDC0_RST___FUNC_MSDC0_RSTB>;
			bias-pull-up;
		};
	};

	mmc1_pins_default: mmc1default {
		pins_cmd_dat {
			pinmux = <MT8173_PIN_73_MSDC1_DAT0__FUNC_MSDC1_DAT0>,
				 <MT8173_PIN_74_MSDC1_DAT1__FUNC_MSDC1_DAT1>,
				 <MT8173_PIN_75_MSDC1_DAT2__FUNC_MSDC1_DAT2>,
				 <MT8173_PIN_76_MSDC1_DAT3__FUNC_MSDC1_DAT3>,
				 <MT8173_PIN_78_MSDC1_CMD__FUNC_MSDC1_CMD>;
			input-enable;
			drive-strength = <MTK_DRIVE_4mA>;
			bias-pull-up = <MTK_PUPD_SET_R1R0_10>;
		};

		pins_clk {
			pinmux = <MT8173_PIN_77_MSDC1_CLK__FUNC_MSDC1_CLK>;
			bias-pull-down;
			drive-strength = <MTK_DRIVE_4mA>;
		};

		pins_insert {
			pinmux = <MT8173_PIN_132_I2S0_DATA1__FUNC_GPIO132>;
			bias-pull-up;
		};
	};

	mmc0_pins_uhs: mmc0 {
		pins_cmd_dat {
			pinmux = <MT8173_PIN_57_MSDC0_DAT0__FUNC_MSDC0_DAT0>,
				 <MT8173_PIN_58_MSDC0_DAT1__FUNC_MSDC0_DAT1>,
				 <MT8173_PIN_59_MSDC0_DAT2__FUNC_MSDC0_DAT2>,
				 <MT8173_PIN_60_MSDC0_DAT3__FUNC_MSDC0_DAT3>,
				 <MT8173_PIN_61_MSDC0_DAT4__FUNC_MSDC0_DAT4>,
				 <MT8173_PIN_62_MSDC0_DAT5__FUNC_MSDC0_DAT5>,
				 <MT8173_PIN_63_MSDC0_DAT6__FUNC_MSDC0_DAT6>,
				 <MT8173_PIN_64_MSDC0_DAT7__FUNC_MSDC0_DAT7>,
				 <MT8173_PIN_66_MSDC0_CMD__FUNC_MSDC0_CMD>;
			input-enable;
			drive-strength = <MTK_DRIVE_2mA>;
			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
		};

		pins_clk {
			pinmux = <MT8173_PIN_65_MSDC0_CLK__FUNC_MSDC0_CLK>;
			drive-strength = <MTK_DRIVE_2mA>;
			bias-pull-down = <MTK_PUPD_SET_R1R0_01>;
		};

		pins_rst {
			pinmux = <MT8173_PIN_68_MSDC0_RST___FUNC_MSDC0_RSTB>;
			bias-pull-up;
		};
	};

	mmc1_pins_uhs: mmc1 {
		pins_cmd_dat {
			pinmux = <MT8173_PIN_73_MSDC1_DAT0__FUNC_MSDC1_DAT0>,
				 <MT8173_PIN_74_MSDC1_DAT1__FUNC_MSDC1_DAT1>,
				 <MT8173_PIN_75_MSDC1_DAT2__FUNC_MSDC1_DAT2>,
				 <MT8173_PIN_76_MSDC1_DAT3__FUNC_MSDC1_DAT3>,
				 <MT8173_PIN_78_MSDC1_CMD__FUNC_MSDC1_CMD>;
			input-enable;
			drive-strength = <MTK_DRIVE_4mA>;
			bias-pull-up = <MTK_PUPD_SET_R1R0_10>;
		};

		pins_clk {
			pinmux = <MT8173_PIN_77_MSDC1_CLK__FUNC_MSDC1_CLK>;
			drive-strength = <MTK_DRIVE_4mA>;
			bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
		};
	};

	usb_id_pins_float: usb_iddig_pull_up {
		pins_iddig {
			pinmux = <MT8173_PIN_16_IDDIG__FUNC_IDDIG>;
			bias-pull-up;
		};
	};

	usb_id_pins_ground: usb_iddig_pull_down {
		pins_iddig {
			pinmux = <MT8173_PIN_16_IDDIG__FUNC_IDDIG>;
			bias-pull-down;
		};
	};
};

&pwm0 {
	pinctrl-names = "default";
	pinctrl-0 = <&disp_pwm0_pins>;
	status = "okay";
};

&pwrap {
	/* Only MT8173 E1 needs USB power domain */
	power-domains = <&spm MT8173_POWER_DOMAIN_USB>;

	pmic: mt6397 {
		compatible = "mediatek,mt6397";
		interrupt-parent = <&pio>;
		interrupts = <11 IRQ_TYPE_LEVEL_HIGH>;
		interrupt-controller;
		#interrupt-cells = <2>;

		mt6397regulator: mt6397regulator {
			compatible = "mediatek,mt6397-regulator";

			mt6397_vpca15_reg: buck_vpca15 {
				regulator-compatible = "buck_vpca15";
				regulator-name = "vpca15";
				regulator-min-microvolt = < 700000>;
				regulator-max-microvolt = <1350000>;
				regulator-ramp-delay = <12500>;
				regulator-always-on;
			};

			mt6397_vpca7_reg: buck_vpca7 {
				regulator-compatible = "buck_vpca7";
				regulator-name = "vpca7";
				regulator-min-microvolt = < 700000>;
				regulator-max-microvolt = <1350000>;
				regulator-ramp-delay = <12500>;
				regulator-enable-ramp-delay = <115>;
			};

			mt6397_vsramca15_reg: buck_vsramca15 {
				regulator-compatible = "buck_vsramca15";
				regulator-name = "vsramca15";
				regulator-min-microvolt = < 700000>;
				regulator-max-microvolt = <1350000>;
				regulator-ramp-delay = <12500>;
				regulator-always-on;
			};

			mt6397_vsramca7_reg: buck_vsramca7 {
				regulator-compatible = "buck_vsramca7";
				regulator-name = "vsramca7";
				regulator-min-microvolt = < 700000>;
				regulator-max-microvolt = <1350000>;
				regulator-ramp-delay = <12500>;
				regulator-always-on;
			};

			mt6397_vcore_reg: buck_vcore {
				regulator-compatible = "buck_vcore";
				regulator-name = "vcore";
				regulator-min-microvolt = < 700000>;
				regulator-max-microvolt = <1350000>;
				regulator-ramp-delay = <12500>;
				regulator-always-on;
			};

			mt6397_vgpu_reg: buck_vgpu {
				regulator-compatible = "buck_vgpu";
				regulator-name = "vgpu";
				regulator-min-microvolt = < 700000>;
				regulator-max-microvolt = <1350000>;
				regulator-ramp-delay = <12500>;
				regulator-enable-ramp-delay = <115>;
			};

			mt6397_vdrm_reg: buck_vdrm {
				regulator-compatible = "buck_vdrm";
				regulator-name = "vdrm";
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <1400000>;
				regulator-ramp-delay = <12500>;
				regulator-always-on;
			};

			mt6397_vio18_reg: buck_vio18 {
				regulator-compatible = "buck_vio18";
				regulator-name = "vio18";
				regulator-min-microvolt = <1620000>;
				regulator-max-microvolt = <1980000>;
				regulator-ramp-delay = <12500>;
				regulator-always-on;
			};

			mt6397_vtcxo_reg: ldo_vtcxo {
				regulator-compatible = "ldo_vtcxo";
				regulator-name = "vtcxo";
				regulator-always-on;
			};

			mt6397_va28_reg: ldo_va28 {
				regulator-compatible = "ldo_va28";
				regulator-name = "va28";
				regulator-always-on;
			};

			mt6397_vcama_reg: ldo_vcama {
				regulator-compatible = "ldo_vcama";
				regulator-name = "vcama";
				regulator-min-microvolt = <1500000>;
				regulator-max-microvolt = <2800000>;
				regulator-enable-ramp-delay = <218>;
			};

			mt6397_vio28_reg: ldo_vio28 {
				regulator-compatible = "ldo_vio28";
				regulator-name = "vio28";
				regulator-always-on;
			};

			mt6397_vusb_reg: ldo_vusb {
				regulator-compatible = "ldo_vusb";
				regulator-name = "vusb";
			};

			mt6397_vmc_reg: ldo_vmc {
				regulator-compatible = "ldo_vmc";
				regulator-name = "vmc";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <3300000>;
				regulator-enable-ramp-delay = <218>;
			};

			mt6397_vmch_reg: ldo_vmch {
				regulator-compatible = "ldo_vmch";
				regulator-name = "vmch";
				regulator-min-microvolt = <3000000>;
				regulator-max-microvolt = <3300000>;
				regulator-enable-ramp-delay = <218>;
			};

			mt6397_vemc_3v3_reg: ldo_vemc3v3 {
				regulator-compatible = "ldo_vemc3v3";
				regulator-name = "vemc_3v3";
				regulator-min-microvolt = <3000000>;
				regulator-max-microvolt = <3300000>;
				regulator-enable-ramp-delay = <218>;
			};

			mt6397_vgp1_reg: ldo_vgp1 {
				regulator-compatible = "ldo_vgp1";
				regulator-name = "vcamd";
				regulator-min-microvolt = <1220000>;
				regulator-max-microvolt = <3300000>;
				regulator-enable-ramp-delay = <240>;
			};

			mt6397_vgp2_reg: ldo_vgp2 {
				regulator-compatible = "ldo_vgp2";
				regulator-name = "vcamio";
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <3300000>;
				regulator-enable-ramp-delay = <218>;
			};

			mt6397_vgp3_reg: ldo_vgp3 {
				regulator-compatible = "ldo_vgp3";
				regulator-name = "vcamaf";
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <3300000>;
				regulator-enable-ramp-delay = <218>;
			};

			mt6397_vgp4_reg: ldo_vgp4 {
				regulator-compatible = "ldo_vgp4";
				regulator-name = "vgp4";
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <3300000>;
				regulator-enable-ramp-delay = <218>;
			};

			mt6397_vgp5_reg: ldo_vgp5 {
				regulator-compatible = "ldo_vgp5";
				regulator-name = "vgp5";
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <3000000>;
				regulator-enable-ramp-delay = <218>;
			};

			mt6397_vgp6_reg: ldo_vgp6 {
				regulator-compatible = "ldo_vgp6";
				regulator-name = "vgp6";
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <3300000>;
				regulator-enable-ramp-delay = <218>;
			};

			mt6397_vibr_reg: ldo_vibr {
				regulator-compatible = "ldo_vibr";
				regulator-name = "vibr";
				regulator-min-microvolt = <1300000>;
				regulator-max-microvolt = <3300000>;
				regulator-enable-ramp-delay = <218>;
			};
		};
	};
};

&pio {
	spi_pins_a: spi0 {
		pins_spi {
			pinmux = <MT8173_PIN_69_SPI_CK__FUNC_SPI_CK_0_>,
				<MT8173_PIN_70_SPI_MI__FUNC_SPI_MI_0_>,
				<MT8173_PIN_71_SPI_MO__FUNC_SPI_MO_0_>,
				<MT8173_PIN_72_SPI_CS__FUNC_SPI_CS_0_>;
		};
	};
};

&spi {
	pinctrl-names = "default";
	pinctrl-0 = <&spi_pins_a>;
	mediatek,pad-select = <0>;
	status = "okay";
};

&ssusb {
	vusb33-supply = <&mt6397_vusb_reg>;
	vbus-supply = <&usb_p0_vbus>;
	extcon = <&extcon_usb>;
	dr_mode = "otg";
	wakeup-source;
	pinctrl-names = "default";
	pinctrl-0 = <&usb_id_pins_float>;
	status = "okay";
};

&uart0 {
	status = "okay";
};

&usb_host {
	vusb33-supply = <&mt6397_vusb_reg>;
	vbus-supply = <&usb_p1_vbus>;
	status = "okay";
};
