// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (C) 2022 Marek Vasut <marex@denx.de>
 */

#include "imx8mp-u-boot.dtsi"

/ {
	aliases {
		eeprom0 = &eeprom0;
		eeprom1 = &eeprom1;
		mmc0 = &usdhc2;	/* MicroSD */
		mmc1 = &usdhc3;	/* eMMC */
		mmc2 = &usdhc1;	/* SDIO */
	};

	config {
		dh,ram-coding-gpios = <&gpio3 22 0>, <&gpio3 23 0>, <&gpio3 24 0>;
	};

	wdt-reboot {
		compatible = "wdt-reboot";
		wdt = <&wdog1>;
		bootph-pre-ram;
	};
};

&buck4 {
	bootph-pre-ram;
};

&buck5 {
	bootph-pre-ram;
};

&gpio1 {
	bootph-pre-ram;
};

&gpio2 {
	bootph-pre-ram;
};

&gpio3 {
	bootph-all;
	bootph-pre-ram;
};

&gpio4 {
	bootph-pre-ram;
};

&gpio5 {
	bootph-pre-ram;
};

&i2c3 {
	bootph-pre-ram;
};

&pinctrl_i2c3 {
	bootph-pre-ram;
};

&pinctrl_i2c3_gpio {
	bootph-pre-ram;
};

&pinctrl_pmic {
	bootph-pre-ram;
};

&pinctrl_uart1 {
	bootph-pre-ram;
};

&pinctrl_usdhc2 {
	bootph-pre-ram;
};

&pinctrl_usdhc2_100mhz {
	bootph-pre-ram;
};

&pinctrl_usdhc2_200mhz {
	bootph-pre-ram;
};

&pinctrl_usdhc2_vmmc {
	bootph-pre-ram;
};

&pinctrl_usdhc3 {
	bootph-pre-ram;
};

&pinctrl_usdhc3_100mhz {
	bootph-pre-ram;
};

&pinctrl_usdhc3_100mhz {
	bootph-pre-ram;
};

&pmic {
	bootph-pre-ram;

	regulators {
		bootph-pre-ram;
	};
};

&reg_usdhc2_vmmc {
	bootph-pre-ram;
};

&uart1 {
	bootph-pre-ram;
};

/* SDIO WiFi */
&usdhc1 {
	status = "disabled";
};

&usdhc2 {
	bootph-pre-ram;
};

&usdhc3 {
	bootph-pre-ram;
};

&wdog1 {
	bootph-pre-ram;
};

&binman {
	section {
		fit {
			images {
				fdt-dto-imx8mp-dhcom-som-overlay-eth1xfast {
					description = "imx8mp-dhcom-som-overlay-eth1xfast";
					type = "flat_dt";
					compression = "none";

					blob-ext {
						filename = "imx8mp-dhcom-som-overlay-eth1xfast.dtbo";
					};
				};

				fdt-dto-imx8mp-dhcom-som-overlay-eth2xfast {
					description = "imx8mp-dhcom-som-overlay-eth2xfast";
					type = "flat_dt";
					compression = "none";

					blob-ext {
						filename = "imx8mp-dhcom-som-overlay-eth2xfast.dtbo";
					};
				};

				fdt-dto-imx8mp-dhcom-pdk-overlay-eth2xfast {
					description = "imx8mp-dhcom-pdk-overlay-eth2xfast";
					type = "flat_dt";
					compression = "none";

					blob-ext {
						filename = "imx8mp-dhcom-pdk-overlay-eth2xfast.dtbo";
					};
				};

				fdt-dto-imx8mp-dhcom-som-overlay-rev100 {
					description = "imx8mp-dhcom-som-overlay-rev100";
					type = "flat_dt";
					compression = "none";

					blob-ext {
						filename = "imx8mp-dhcom-som-overlay-rev100.dtbo";
					};
				};

				fdt-dto-imx8mp-dhcom-pdk3-overlay-rev100 {
					description = "imx8mp-dhcom-pdk3-overlay-rev100";
					type = "flat_dt";
					compression = "none";

					blob-ext {
						filename = "imx8mp-dhcom-pdk3-overlay-rev100.dtbo";
					};
				};
			};

			configurations {
				default = "@config-DEFAULT-SEQ";

				@config-SEQ {
					fdt = "fdt-1",
					      "fdt-dto-imx8mp-dhcom-som-overlay-eth1xfast",
					      "fdt-dto-imx8mp-dhcom-som-overlay-eth2xfast",
					      "fdt-dto-imx8mp-dhcom-pdk-overlay-eth2xfast",
					      "fdt-dto-imx8mp-dhcom-som-overlay-rev100",
					      "fdt-dto-imx8mp-dhcom-pdk3-overlay-rev100";
				};
			};
		};
	};
};
