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

/dts-v1/;

#include <config.h>
#include "mt8516.dtsi"

/ {
	model = "Coral MT8516";

	chosen {
		stdout-path = &uart0;
	};

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

	reserved-memory {
		#address-cells = <2>;
		#size-cells = <2>;

		/* 128 KiB reserved for ARM Trusted Firmware (BL31) */
		bl31_secmon_reserved: secmon@43000000 {
			no-map;
			reg = <0 0x43000000 0 0x20000>;
		};
	};

	reg_1p8v: regulator-1p8v {
		compatible = "regulator-fixed";
		regulator-name = "fixed-1.8V";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
		regulator-boot-on;
		regulator-always-on;
	};

	reg_3p3v: regulator-3p3v {
		compatible = "regulator-fixed";
		regulator-name = "fixed-3.3V";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-boot-on;
		regulator-always-on;
	};

	i2c0: i2c@11009000 {
		status = "okay";
		compatible = "i2c-gpio";
		pinctrl-names = "default";
		pinctrl-0 = <&i2c0_pins>;
		gpios = <&gpio 58 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>,
		        <&gpio 59 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
		#address-cells = <1>;
		#size-cells = <0>;
	};

	i2c1: i2c@1100a000 {
		status = "okay";
		compatible = "i2c-gpio";
		pinctrl-names = "default";
		pinctrl-0 = <&i2c1_pins>;
		gpios = <&gpio 52 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>,
		        <&gpio 53 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
		#address-cells = <1>;
		#size-cells = <0>;
	};

	i2c2: i2c@1100b000 {
		status = "okay";
		compatible = "i2c-gpio";
		pinctrl-names = "default";
		pinctrl-0 = <&i2c2_pins>;
		gpios = <&gpio 60 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>,
		        <&gpio 61 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
		i2c-gpio,delay-us = <5>;
		#address-cells = <1>;
		#size-cells = <0>;

		a71ch: a71ch@49 {
			compatible = "nxp,a71ch";
			reg = <0x49>;
		};
	};
};

&mmc0 {
	pinctrl-names = "default";
	pinctrl-0 = <&mmc0_pins_default>;
	bus-width = <8>;
	max-frequency = <188000000>;
	cap-mmc-highspeed;
	mmc-hs200-1_8v;
	cap-mmc-hw-reset;
	vmmc-supply = <&reg_3p3v>;
	vqmmc-supply = <&reg_1p8v>;
	non-removable;
	status = "okay";
};

&pinctrl {
	mmc0_pins_default: mmc0default {
		mux {
			function = "msdc";
			groups =  "msdc0";
		};

		conf-cmd-data {
			pins = "MSDC0_CMD", "MSDC0_DAT0", "MSDC0_DAT1",
			       "MSDC0_DAT2", "MSDC0_DAT3", "MSDC0_DAT4",
			       "MSDC0_DAT5", "MSDC0_DAT6", "MSDC0_DAT7";
			input-enable;
			bias-pull-up;
		};

		conf-clk {
			pins = "MSDC0_CLK";
			bias-pull-down;
		};

		conf-rst {
			pins = "MSDC0_RSTB";
			bias-pull-up;
		};
	};

	uart0_pins: uart0 {
		mux {
			function = "uart";
			groups = "uart0_0_rxd_txd";
		};
	};

	i2c0_pins: i2c0 {
		mux {
			function = "i2c_gpio";
			groups = "i2c0";
		};
	};

	i2c1_pins: i2c1 {
		mux {
			function = "i2c_gpio";
			groups = "i2c1";
		};
	};

	i2c2_pins: i2c2 {
		mux {
			function = "i2c_gpio";
			groups = "i2c2";
		};
		conf_a71ch_reset {
			pins = "EINT23";
			output-high;
		};
	};
};

&uart0 {
	pinctrl-names = "default";
	pinctrl-0 = <&uart0_pins>;
	status = "okay";
};

&watchdog {
	status = "okay";
};

&usb0 {
	status = "okay";
};
