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

#include <config.h>

/ {
	aliases {
		i2c0 = &i2c0;
		i2c1 = &i2c3;
		i2c2 = &i2c4;
		ethernet2 = &enetc_port2;
		ethernet3 = &enetc_port3;
	};

	binman: binman {
		multiple-images;
	};
};

&binman {
	u_boot_rom: u-boot-rom {
		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";
				};
			};
		};
	};
};

&binman {
	u-boot-update {
		filename = "u-boot.update";

		fit {
			description = "FIT update image";

			images {
				u-boot-bin {
					description = "U-Boot";
					type = "firmware";
					os = "u-boot";
					arch = "arm";
					compression = "none";
					load = <0>; /* unused */

					blob {
						filename = "u-boot.rom";
					};
				};
			};
		};
	};
};

#ifdef CONFIG_SL28_ENABLE_SER0_CONSOLE
/ {
	chosen {
		stdout-path = "serial2:115200n8";
	};
};
#endif

#ifdef CONFIG_SL28_SPL_LOADS_ATF_BL31
&u_boot_rom {
	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
&u_boot_rom {
	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

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

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

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

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

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

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

/*
 * u-boot will enable the device in the linux device tree in place. Because
 * we are using the linux device tree, we have to enable the PCI controller
 * ourselves.
 */
&pcie1 {
	status = "okay";
};

&pcie2 {
	status = "okay";
};

&sata {
	status = "okay";
};

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

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