// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) 2021 BayLibre SAS
 * Author: Neil Armstrong <narmstrong@baylibre.com>
 */

#include "meson-sm1.dtsi"
#include <dt-bindings/leds/common.h>
#include <dt-bindings/input/linux-event-codes.h>
#include <dt-bindings/gpio/meson-g12a-gpio.h>

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

		button-sw3 {
			label = "SW3";
			linux,code = <BTN_3>;
			press-threshold-microvolt = <1700000>;
		};
	};

	aliases {
		serial0 = &uart_AO;
		ethernet0 = &ethmac;
	};

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

	emmc_pwrseq: emmc-pwrseq {
		compatible = "mmc-pwrseq-emmc";
		reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>;
	};

	gpio-keys {
		compatible = "gpio-keys";

		key {
			label = "SW1";
			linux,code = <BTN_1>;
			gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_LOW>;
			interrupt-parent = <&gpio_intc>;
			interrupts = <3 IRQ_TYPE_EDGE_BOTH>;
		};
	};

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

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

	leds {
		compatible = "gpio-leds";

		led-green {
			color = <LED_COLOR_ID_GREEN>;
			function = LED_FUNCTION_STATUS;
			gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>;
		};

		led-blue {
			color = <LED_COLOR_ID_BLUE>;
			function = LED_FUNCTION_STATUS;
			gpios = <&gpio_ao GPIOAO_11 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "heartbeat";
		};
	};

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

	emmc_1v8: regulator-emmc_1v8 {
		compatible = "regulator-fixed";
		regulator-name = "EMMC_1V8";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
		vin-supply = <&vddao_3v3>;
		regulator-always-on;
	};

	dc_in: regulator-dc_in {
		compatible = "regulator-fixed";
		regulator-name = "DC_IN";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		regulator-always-on;
	};

	vddio_c: regulator-vddio_c {
		compatible = "regulator-gpio";
		regulator-name = "VDDIO_C";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <3300000>;

		enable-gpios = <&gpio_ao GPIOE_2 GPIO_OPEN_DRAIN>;
		enable-active-high;
		regulator-always-on;

		gpios = <&gpio_ao GPIOAO_6 GPIO_OPEN_DRAIN>;
		gpios-states = <1>;

		states = <1800000 0>,
			 <3300000 1>;
	};

	tflash_vdd: regulator-tflash_vdd {
		compatible = "regulator-fixed";
		regulator-name = "TFLASH_VDD";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		vin-supply = <&dc_in>;
		gpio = <&gpio GPIOH_8 GPIO_OPEN_DRAIN>;
		enable-active-high;
		regulator-always-on;
	};

	vddao_1v8: regulator-vddao_1v8 {
		compatible = "regulator-fixed";
		regulator-name = "VDDAO_1V8";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
		vin-supply = <&vddao_3v3>;
		regulator-always-on;
	};

	vddao_3v3: regulator-vddao_3v3 {
		compatible = "regulator-fixed";
		regulator-name = "VDDAO_3V3";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		vin-supply = <&dc_in>;
		regulator-always-on;
	};

	vddcpu: regulator-vddcpu {
		/*
		 * SY8120B1ABC DC/DC Regulator.
		 */
		compatible = "pwm-regulator";

		regulator-name = "VDDCPU";
		regulator-min-microvolt = <690000>;
		regulator-max-microvolt = <1050000>;

		pwm-supply = <&dc_in>;

		pwms = <&pwm_AO_cd 1 1250 0>;
		pwm-dutycycle-range = <100 0>;

		regulator-boot-on;
		regulator-always-on;
	};

	/* USB Hub Power Enable */
	vl_pwr_en: regulator-vl_pwr_en {
		compatible = "regulator-fixed";
		regulator-name = "VL_PWR_EN";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		vin-supply = <&dc_in>;

		gpio = <&gpio GPIOH_6 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};
};

&arb {
	status = "okay";
};

&cpu0 {
	cpu-supply = <&vddcpu>;
	operating-points-v2 = <&cpu_opp_table>;
	clocks = <&clkc CLKID_CPU_CLK>;
	clock-latency = <50000>;
};

&cpu1 {
	cpu-supply = <&vddcpu>;
	operating-points-v2 = <&cpu_opp_table>;
	clocks = <&clkc CLKID_CPU1_CLK>;
	clock-latency = <50000>;
};

&cpu2 {
	cpu-supply = <&vddcpu>;
	operating-points-v2 = <&cpu_opp_table>;
	clocks = <&clkc CLKID_CPU2_CLK>;
	clock-latency = <50000>;
};

&cpu3 {
	cpu-supply = <&vddcpu>;
	operating-points-v2 = <&cpu_opp_table>;
	clocks = <&clkc CLKID_CPU3_CLK>;
	clock-latency = <50000>;
};

&ext_mdio {
	external_phy: ethernet-phy@0 {
		/* Realtek RTL8211F (0x001cc916) */
		reg = <0>;
		max-speed = <1000>;

		interrupt-parent = <&gpio_intc>;
		/* MAC_INTR on GPIOZ_14 */
		interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
	};
};

&ethmac {
	pinctrl-0 = <&eth_pins>, <&eth_rgmii_pins>;
	pinctrl-names = "default";
	status = "okay";
	phy-mode = "rgmii-txid";
	phy-handle = <&external_phy>;
};

&gpio {
	gpio-line-names =
		/* GPIOZ */
		"ETH_MDIO", /* GPIOZ_0 */
		"ETH_MDC", /* GPIOZ_1 */
		"ETH_RXCLK", /* GPIOZ_2 */
		"ETH_RX_DV", /* GPIOZ_3 */
		"ETH_RXD0", /* GPIOZ_4 */
		"ETH_RXD1", /* GPIOZ_5 */
		"ETH_RXD2", /* GPIOZ_6 */
		"ETH_RXD3", /* GPIOZ_7 */
		"ETH_TXCLK", /* GPIOZ_8 */
		"ETH_TXEN", /* GPIOZ_9 */
		"ETH_TXD0", /* GPIOZ_10 */
		"ETH_TXD1", /* GPIOZ_11 */
		"ETH_TXD2", /* GPIOZ_12 */
		"ETH_TXD3", /* GPIOZ_13 */
		"ETH_INTR", /* GPIOZ_14 */
		"ETH_NRST", /* GPIOZ_15 */
		/* GPIOH */
		"HDMI_SDA", /* GPIOH_0 */
		"HDMI_SCL", /* GPIOH_1 */
		"HDMI_HPD", /* GPIOH_2 */
		"HDMI_CEC", /* GPIOH_3 */
		"VL-RST_N", /* GPIOH_4 */
		"CON1-P36", /* GPIOH_5 */
		"VL-PWREN", /* GPIOH_6 */
		"WiFi_3V3_1V8", /* GPIOH_7 */
		"TFLASH_VDD_EN", /* GPIOH_8 */
		/* BOOT */
		"eMMC_D0", /* BOOT_0 */
		"eMMC_D1", /* BOOT_1 */
		"eMMC_D2", /* BOOT_2 */
		"eMMC_D3", /* BOOT_3 */
		"eMMC_D4", /* BOOT_4 */
		"eMMC_D5", /* BOOT_5 */
		"eMMC_D6", /* BOOT_6 */
		"eMMC_D7", /* BOOT_7 */
		"eMMC_CLK", /* BOOT_8 */
		"",
		"eMMC_CMD", /* BOOT_10 */
		"",
		"eMMC_RST#", /* BOOT_12 */
		"eMMC_DS", /* BOOT_13 */
		"", "",
		/* GPIOC */
		"SD_D0_B", /* GPIOC_0 */
		"SD_D1_B", /* GPIOC_1 */
		"SD_D2_B", /* GPIOC_2 */
		"SD_D3_B", /* GPIOC_3 */
		"SD_CLK_B", /* GPIOC_4 */
		"SD_CMD_B", /* GPIOC_5 */
		"CARD_EN_DET", /* GPIOC_6 */
		"",
		/* GPIOA */
		"", "", "", "", "", "", "", "",
		"", "", "", "", "", "",
		"CON1-P27", /* GPIOA_14 */
		"CON1-P28", /* GPIOA_15 */
		/* GPIOX */
		"CON1-P16", /* GPIOX_0 */
		"CON1-P18", /* GPIOX_1 */
		"CON1-P22", /* GPIOX_2 */
		"CON1-P11", /* GPIOX_3 */
		"CON1-P13", /* GPIOX_4 */
		"CON1-P07", /* GPIOX_5 */
		"CON1-P33", /* GPIOX_6 */
		"CON1-P15", /* GPIOX_7 */
		"CON1-P19", /* GPIOX_8 */
		"CON1-P21", /* GPIOX_9 */
		"CON1-P24", /* GPIOX_10 */
		"CON1-P23", /* GPIOX_11 */
		"CON1-P08", /* GPIOX_12 */
		"CON1-P10", /* GPIOX_13 */
		"CON1-P29", /* GPIOX_14 */
		"CON1-P31", /* GPIOX_15 */
		"CON1-P26", /* GPIOX_16 */
		"CON1-P03", /* GPIOX_17 */
		"CON1-P05", /* GPIOX_18 */
		"CON1-P32"; /* GPIOX_19 */

	/*
	 * WARNING: The USB Hub needs a reset signal to be turned high in
	 * order to be detected by the USB Controller. This signal should
	 * be handled by a USB specific power sequence to reset the Hub
	 * when the USB bus is powered down.
	 */
	usb-hub-hog {
		gpio-hog;
		gpios = <GPIOH_4 GPIO_ACTIVE_HIGH>;
		output-high;
		line-name = "usb-hub-reset";
	};
};

&gpio_ao {
	gpio-line-names =
		/* GPIOAO */
		"DEBUG TX", /* GPIOAO_0 */
		"DEBUG RX", /* GPIOAO_1 */
		"SYS_LED2", /* GPIOAO_2 */
		"UPDATE_KEY", /* GPIOAO_3 */
		"CON1-P40", /* GPIOAO_4 */
		"IR_IN", /* GPIOAO_5 */
		"TF_3V3N_1V8_EN", /* GPIOAO_6 */
		"CON1-P35", /* GPIOAO_7 */
		"CON1-P12", /* GPIOAO_8 */
		"CON1-P37", /* GPIOAO_9 */
		"CON1-P38", /* GPIOAO_10 */
		"SYS_LED", /* GPIOAO_11 */
		/* GPIOE */
		"VDDEE_PWM", /* GPIOE_0 */
		"VDDCPU_PWM", /* GPIOE_1 */
		"TF_PWR_EN"; /* GPIOE_2 */
};

&hdmi_tx {
	status = "okay";
	pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>;
	pinctrl-names = "default";
	hdmi-supply = <&dc_in>;
};

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

&ir {
	status = "okay";
	pinctrl-0 = <&remote_input_ao_pins>;
	pinctrl-names = "default";
};

&pwm_AO_cd {
	pinctrl-0 = <&pwm_ao_d_e_pins>;
	pinctrl-names = "default";
	clocks = <&xtal>;
	clock-names = "clkin1";
	status = "okay";
};

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

/* SD card */
&sd_emmc_b {
	status = "okay";
	pinctrl-0 = <&sdcard_c_pins>;
	pinctrl-1 = <&sdcard_clk_gate_c_pins>;
	pinctrl-names = "default", "clk-gate";

	bus-width = <4>;
	cap-sd-highspeed;
	max-frequency = <50000000>;
	disable-wp;

	/* TOFIX: SD card is barely usable in SDR modes */

	cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>;
	vmmc-supply = <&tflash_vdd>;
	vqmmc-supply = <&vddio_c>;
};

/* eMMC */
&sd_emmc_c {
	status = "okay";
	pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>;
	pinctrl-1 = <&emmc_clk_gate_pins>;
	pinctrl-names = "default", "clk-gate";

	bus-width = <8>;
	cap-mmc-highspeed;
	mmc-ddr-1_8v;
	mmc-hs200-1_8v;
	max-frequency = <200000000>;
	disable-wp;

	mmc-pwrseq = <&emmc_pwrseq>;
	vmmc-supply = <&vddao_3v3>;
	vqmmc-supply = <&emmc_1v8>;
};

&uart_AO {
	status = "okay";
	pinctrl-0 = <&uart_ao_a_pins>;
	pinctrl-names = "default";
};

&usb {
	status = "okay";
};

&usb2_phy0 {
	phy-supply = <&dc_in>;
};

&usb2_phy1 {
	/* Enable the hub which is connected to this port */
	phy-supply = <&vl_pwr_en>;
};
