// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
 * Copyright 2022 Toradex
 */

#include "imx6ull-colibri.dtsi"

/ {
	aliases {
		mmc0 = &usdhc2; /* eMMC */
		mmc1 = &usdhc1; /* MMC 4-bit slot */
	};

	memory@80000000 {
		device_type = "memory";
		reg = <0x80000000 0x10000000>;
	};
};

&gpio1 {
	gpio-line-names = "SODIMM_8",
			  "SODIMM_6",
			  "SODIMM_129",
			  "SODIMM_89",
			  "SODIMM_19",
			  "SODIMM_21",
			  "UNUSABLE_SODIMM_180",
			  "UNUSABLE_SODIMM_184",
			  "SODIMM_4",
			  "SODIMM_2",
			  "SODIMM_106",
			  "SODIMM_71",
			  "SODIMM_23",
			  "SODIMM_31",
			  "SODIMM_99",
			  "SODIMM_102",
			  "SODIMM_33",
			  "SODIMM_35",
			  "SODIMM_25",
			  "SODIMM_27",
			  "SODIMM_36",
			  "SODIMM_38",
			  "SODIMM_32",
			  "SODIMM_34",
			  "SODIMM_135",
			  "SODIMM_77",
			  "SODIMM_100",
			  "SODIMM_186",
			  "SODIMM_196",
			  "SODIMM_194";
};

&gpio2 {
	gpio-line-names = "SODIMM_55",
			  "SODIMM_63",
			  "SODIMM_178",
			  "SODIMM_188",
			  "SODIMM_73",
			  "SODIMM_30",
			  "SODIMM_67",
			  "SODIMM_104",
			  "",
			  "",
			  "",
			  "",
			  "",
			  "",
			  "",
			  "",
			  "SODIMM_190",
			  "SODIMM_47",
			  "SODIMM_192",
			  "SODIMM_49",
			  "SODIMM_51",
			  "SODIMM_53";
};

&gpio3 {
	gpio-line-names = "SODIMM_56",
			  "SODIMM_44",
			  "SODIMM_68",
			  "SODIMM_82",
			  "",
			  "SODIMM_76",
			  "SODIMM_70",
			  "SODIMM_60",
			  "SODIMM_58",
			  "SODIMM_78",
			  "SODIMM_72",
			  "SODIMM_80",
			  "SODIMM_46",
			  "SODIMM_62",
			  "SODIMM_48",
			  "SODIMM_74",
			  "SODIMM_50",
			  "SODIMM_52",
			  "SODIMM_54",
			  "SODIMM_66",
			  "SODIMM_64",
			  "SODIMM_57",
			  "SODIMM_61",
			  "SODIMM_29",
			  "SODIMM_37",
			  "SODIMM_88",
			  "SODIMM_86",
			  "SODIMM_92",
			  "SODIMM_90";
};

&gpio4 {
	gpio-line-names = "",
			  "",
			  "",
			  "",
			  "",
			  "",
			  "",
			  "",
			  "",
			  "",
			  "SODIMM_140",
			  "SODIMM_59",
			  "SODIMM_142",
			  "SODIMM_144",
			  "SODIMM_133",
			  "SODIMM_146",
			  "SODIMM_28",
			  "SODIMM_75",
			  "SODIMM_96",
			  "SODIMM_81",
			  "SODIMM_94",
			  "SODIMM_101",
			  "SODIMM_103",
			  "SODIMM_79",
			  "SODIMM_97",
			  "SODIMM_69",
			  "SODIMM_98",
			  "SODIMM_85",
			  "SODIMM_65";
};

&gpio5 {
	gpio-line-names = "SODIMM_43",
			  "SODIMM_45",
			  "SODIMM_137",
			  "SODIMM_95",
			  "SODIMM_107",
			  "SODIMM_131",
			  "SODIMM_93",
			  "",
			  "SODIMM_138",
			  "",
			  "SODIMM_105",
			  "SODIMM_127";
};

/* NAND */
&gpmi {
	status = "disabled";
};

&iomuxc {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_gpio1 &pinctrl_gpio2 &pinctrl_gpio3
		&pinctrl_gpio4 &pinctrl_gpio6 &pinctrl_gpio7
		&pinctrl_gpmi_gpio>;
};

&iomuxc_snvs {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_snvs_gpio1 &pinctrl_snvs_gpio3>;
};

/* eMMC */
&usdhc2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usdhc2emmc>;
	assigned-clocks = <&clks IMX6UL_CLK_USDHC2_SEL>, <&clks IMX6UL_CLK_USDHC2>;
	assigned-clock-parents = <&clks IMX6UL_CLK_PLL2_PFD2>;
	assigned-clock-rates = <0>, <198000000>;
	bus-width = <8>;
	keep-power-in-suspend;
	no-1-8-v;
	non-removable;
	vmmc-supply = <&reg_module_3v3>;
	status = "okay";
};
