// 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_ENABLE_SER0_CONSOLE
/ {
	chosen {
		stdout-path = "serial2:115200n8";
	};
};
#endif

#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;
};

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

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

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