// SPDX-License-Identifier: GPL-2.0+

#include <config.h>

/ {
	aliases {
		mmc0 = &esdhc1;
		mmc1 = &esdhc0;
		i2c0 = &i2c0;
		i2c1 = &i2c3;
		i2c2 = &i2c4;
		rtc0 = &rtc;
		ethernet2 = &enetc2;
		ethernet3 = &enetc6;
	};

	binman: binman {
		filename = "u-boot.rom";
		pad-byte = <0xff>;

		u-boot-spl {
		};

		fit {
			offset = <CONFIG_SPL_PAD_TO>;
			description = "FIT image with multiple configurations";

			images {
				uboot {
					description = "U-Boot";
					type = "firmware";
					os = "u-boot";
					arch = "arm";
					compression = "none";
					load = <CONFIG_SYS_TEXT_BASE>;

					u-boot-nodtb {
					};
				};

				fdt-1 {
					description = "fsl-ls1028a-kontron-sl28";
					type = "flat_dt";
					arch = "arm";
					compression = "none";

					blob {
						filename = "arch/arm/dts/fsl-ls1028a-kontron-sl28.dtb";
					};
				};

				fdt-2 {
					description = "fsl-ls1028a-kontron-sl28-var1";
					type = "flat_dt";
					arch = "arm";
					compression = "none";

					blob {
						filename = "arch/arm/dts/fsl-ls1028a-kontron-sl28-var1.dtb";
					};
				};

				fdt-3 {
					description = "fsl-ls1028a-kontron-sl28-var2";
					type = "flat_dt";
					arch = "arm";
					compression = "none";

					blob {
						filename = "arch/arm/dts/fsl-ls1028a-kontron-sl28-var2.dtb";
					};
				};

				fdt-4 {
					description = "fsl-ls1028a-kontron-sl28-var3";
					type = "flat_dt";
					arch = "arm";
					compression = "none";

					blob {
						filename = "arch/arm/dts/fsl-ls1028a-kontron-sl28-var3.dtb";
					};
				};

				fdt-5 {
					description = "fsl-ls1028a-kontron-sl28-var4";
					type = "flat_dt";
					arch = "arm";
					compression = "none";

					blob {
						filename = "arch/arm/dts/fsl-ls1028a-kontron-sl28-var4.dtb";
					};
				};
			};

			configurations {
				default = "conf-1";

				conf-1 {
					description = "fsl-ls1028a-kontron-sl28";
					firmware = "uboot";
					fdt = "fdt-1";
				};

				conf-2 {
					description = "fsl-ls1028a-kontron-sl28-var1";
					firmware = "uboot";
					fdt = "fdt-2";
				};

				conf-3 {
					description = "fsl-ls1028a-kontron-sl28-var2";
					firmware = "uboot";
					fdt = "fdt-3";
				};

				conf-4 {
					description = "fsl-ls1028a-kontron-sl28-var3";
					firmware = "uboot";
					loadables = "uboot";
					fdt = "fdt-4";
				};

				conf-5 {
					description = "fsl-ls1028a-kontron-sl28-var4";
					firmware = "uboot";
					loadables = "uboot";
					fdt = "fdt-5";
				};
			};
		};
	};
};

#ifdef CONFIG_SL28_SPL_LOADS_ATF_BL31
&binman {
	fit {
		images {
			bl31 {
				description = "ARM Trusted Firmware (bl31)";
				type = "firmware";
				arch = "arm";
				os = "arm-trusted-firmware";
				compression = "none";
				load = <CONFIG_SL28_BL31_ENTRY_ADDR>;
				entry = <CONFIG_SL28_BL31_ENTRY_ADDR>;

				blob-ext {
					filename = "bl31.bin";
				};
			};
		};

		configurations {
			conf-1 {
				firmware = "bl31";
				loadables = "uboot";
			};

			conf-2 {
				firmware = "bl31";
				loadables = "uboot";
			};

			conf-3 {
				firmware = "bl31";
				loadables = "uboot";
			};

			conf-4 {
				firmware = "bl31";
				loadables = "uboot";
			};

			conf-5 {
				firmware = "bl31";
				loadables = "uboot";
			};
		};
	};
};
#endif

#ifdef CONFIG_SL28_SPL_LOADS_OPTEE_BL32
&binman {
	fit {
		images {
			bl32 {
				description = "OP-TEE Trusted OS (bl32)";
				type = "firmware";
				arch = "arm";
				os = "tee";
				compression = "none";
				load = <CONFIG_SL28_BL32_ENTRY_ADDR>;
				entry = <CONFIG_SL28_BL32_ENTRY_ADDR>;

				blob-ext {
					filename = "tee.bin";
				};
			};
		};

		configurations {
			conf-1 {
				loadables = "uboot", "bl32";
			};

			conf-2 {
				loadables = "uboot", "bl32";
			};

			conf-3 {
				loadables = "uboot", "bl32";
			};

			conf-4 {
				loadables = "uboot", "bl32";
			};

			conf-5 {
				loadables = "uboot", "bl32";
			};
		};
	};
};
#endif

&i2c0 {
	rtc: rtc@32 {
	};
};

&fspi {
	u-boot,dm-pre-reloc;
	flash@0 {
		u-boot,dm-pre-reloc;
	};
};

&dspi2 {
	u-boot,dm-pre-reloc;
};

&esdhc0 {
	u-boot,dm-pre-reloc;
};

&esdhc1 {
	u-boot,dm-pre-reloc;
};

&serial0 {
	u-boot,dm-pre-reloc;
};

&sysclk {
	u-boot,dm-pre-reloc;
};
