// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright (c) 2019 BayLibre, SAS.
 * Author: Fabien Parent <fparent@baylibre.com>
 */

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

/ {
	aliases {
		serial0 = &uart0;
		ethernet0 = &ethernet;
	};

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

	firmware {
		optee: optee@4fd00000 {
			compatible = "linaro,optee-tz";
			method = "smc";
		};
	};

	gpio-keys {
		compatible = "gpio-keys";
		input-name = "gpio-keys";
		pinctrl-names = "default";
		pinctrl-0 = <&gpio_keys_default>;

		volume-up {
			gpios = <&pio 42 GPIO_ACTIVE_LOW>;
			label = "volume_up";
			linux,code = <115>;
			wakeup-source;
			debounce-interval = <15>;
		};

		volume-down {
			gpios = <&pio 43 GPIO_ACTIVE_LOW>;
			label = "volume_down";
			linux,code = <114>;
			wakeup-source;
			debounce-interval = <15>;
		};
	};
};

&i2c0 {
	clock-div = <2>;
	pinctrl-names = "default";
	pinctrl-0 = <&i2c0_pins_a>;
	status = "okay";

	tca6416: gpio@20 {
		compatible = "ti,tca6416";
		reg = <0x20>;
		reset-gpios = <&pio 65 GPIO_ACTIVE_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&tca6416_pins>;

		gpio-controller;
		#gpio-cells = <2>;

		eint20-mux-sel0-hog {
			gpio-hog;
			gpios = <0 0>;
			input;
			line-name = "eint20_mux_sel0";
		};

		expcon-mux-sel1-hog {
			gpio-hog;
			gpios = <1 0>;
			input;
			line-name = "expcon_mux_sel1";
		};

		mrg-di-mux-sel2-hog {
			gpio-hog;
			gpios = <2 0>;
			input;
			line-name = "mrg_di_mux_sel2";
		};

		sd-sdio-mux-sel3-hog {
			gpio-hog;
			gpios = <3 0>;
			input;
			line-name = "sd_sdio_mux_sel3";
		};

		sd-sdio-mux-ctrl7-hog {
			gpio-hog;
			gpios = <7 0>;
			output-low;
			line-name = "sd_sdio_mux_ctrl7";
		};

		hw-id0-hog {
			gpio-hog;
			gpios = <8 0>;
			input;
			line-name = "hw_id0";
		};

		hw-id1-hog {
			gpio-hog;
			gpios = <9 0>;
			input;
			line-name = "hw_id1";
		};

		hw-id2-hog {
			gpio-hog;
			gpios = <10 0>;
			input;
			line-name = "hw_id2";
		};

		fg-int-n-hog {
			gpio-hog;
			gpios = <11 0>;
			input;
			line-name = "fg_int_n";
		};

		usba-pwr-en-hog {
			gpio-hog;
			gpios = <12 0>;
			output-high;
			line-name = "usba_pwr_en";
		};

		wifi-3v3-pg-hog {
			gpio-hog;
			gpios = <13 0>;
			input;
			line-name = "wifi_3v3_pg";
		};

		cam-rst-hog {
			gpio-hog;
			gpios = <14 0>;
			output-low;
			line-name = "cam_rst";
		};

		cam-pwdn-hog {
			gpio-hog;
			gpios = <15 0>;
			output-low;
			line-name = "cam_pwdn";
		};
	};
};

&i2c2 {
	clock-div = <2>;
	pinctrl-names = "default";
	pinctrl-0 = <&i2c2_pins_a>;
	status = "okay";
};

&uart0 {
	status = "okay";
};

&ethernet {
	pinctrl-names = "default";
	pinctrl-0 = <&ethernet_pins_default>;
	phy-handle = <&eth_phy>;
	phy-mode = "rmii";
	mac-address = [00 00 00 00 00 00];
	status = "okay";

	mdio {
		#address-cells = <1>;
		#size-cells = <0>;

		eth_phy: ethernet-phy@0 {
			reg = <0>;
		};
	};
};

&usb0 {
	status = "okay";
	dr_mode = "peripheral";

	usb_con: connector {
		compatible = "usb-c-connector";
		label = "USB-C";
	};
};

&usb_phy {
	status = "okay";
};

&pio {
	gpio_keys_default: gpiodefault {
		pins_cmd_dat {
			pinmux = <MT8516_PIN_42_KPCOL0__FUNC_GPIO42>,
				 <MT8516_PIN_43_KPCOL1__FUNC_GPIO43>;
			bias-pull-up;
			input-enable;
		};
	};

	i2c0_pins_a: i2c0@0 {
		pins1 {
			pinmux = <MT8516_PIN_58_SDA0__FUNC_SDA0_0>,
				 <MT8516_PIN_59_SCL0__FUNC_SCL0_0>;
			bias-disable;
		};
	};

	i2c2_pins_a: i2c2@0 {
		pins1 {
			pinmux = <MT8516_PIN_60_SDA2__FUNC_SDA2_0>,
				 <MT8516_PIN_61_SCL2__FUNC_SCL2_0>;
			bias-disable;
		};
	};

	tca6416_pins: pinmux_tca6416_pins {
		gpio_mux_rst_n_pin {
			pinmux = <MT8516_PIN_65_UTXD1__FUNC_GPIO65>;
			output-high;
		};

		gpio_mux_int_n_pin {
			pinmux = <MT8516_PIN_64_URXD1__FUNC_GPIO64>;
			input-enable;
			bias-pull-up;
		};
	};

	ethernet_pins_default: ethernet {
		pins_ethernet {
			pinmux = <MT8516_PIN_0_EINT0__FUNC_EXT_TXD0>,
				 <MT8516_PIN_1_EINT1__FUNC_EXT_TXD1>,
				 <MT8516_PIN_5_EINT5__FUNC_EXT_RXER>,
				 <MT8516_PIN_6_EINT6__FUNC_EXT_RXC>,
				 <MT8516_PIN_7_EINT7__FUNC_EXT_RXDV>,
				 <MT8516_PIN_8_EINT8__FUNC_EXT_RXD0>,
				 <MT8516_PIN_9_EINT9__FUNC_EXT_RXD1>,
				 <MT8516_PIN_12_EINT12__FUNC_EXT_TXEN>,
				 <MT8516_PIN_38_MRG_DI__FUNC_EXT_MDIO>,
				 <MT8516_PIN_39_MRG_DO__FUNC_EXT_MDC>;
		};
	};
};
