Skip to content
Snippets Groups Projects
fsl-ls1028a-kontron-sl28-u-boot.dtsi 4.88 KiB
Newer Older
// SPDX-License-Identifier: GPL-2.0+

#include <config.h>

/ {
	aliases {
		mmc0 = &esdhc1;
		mmc1 = &esdhc;
		i2c0 = &i2c0;
		i2c1 = &i2c3;
		i2c2 = &i2c4;
		rtc0 = &rtc;
		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";
					};
				};

					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";
				};
					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";
			};
#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";
			};
&i2c0 {
	rtc: rtc@32 {
	};
};

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

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

	u-boot,dm-pre-reloc;
};

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

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

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

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