blob: 37382e09f1eddd305d0de90c4fc08f3cdb3d47ad [file] [log] [blame]
// 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";
};
};
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
&i2c0 {
rtc: rtc@32 {
};
};
&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";
};
&soc {
u-boot,dm-pre-reloc;
};
&sysclk {
u-boot,dm-pre-reloc;
};