mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-16 00:03:24 +00:00
badaa1f6a7
This avoids having to maintain to defconfigs that are 99% equivalent. The approach is to use binman to generate two flash images, flash-pg1.bin and flash-pg2.bin. With the help of a template dtsi, we can avoid duplicating the common binman image definitions. Suggested-by: Andrew Davis <afd@ti.com> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
277 lines
5.1 KiB
Text
277 lines
5.1 KiB
Text
// SPDX-License-Identifier: GPL-2.0
|
|
/*
|
|
* Copyright (c) Siemens AG, 2020-2023
|
|
*
|
|
* Authors:
|
|
* Jan Kiszka <jan.kiszka@siemens.com>
|
|
* Chao Zeng <chao.zeng@siemens.com>
|
|
*/
|
|
|
|
#include <config.h>
|
|
|
|
/ {
|
|
binman: binman {
|
|
multiple-images;
|
|
};
|
|
};
|
|
|
|
&binman {
|
|
common_part: template {
|
|
pad-byte = <0xff>;
|
|
size = <0x8c0000>;
|
|
allow-repack;
|
|
|
|
blob-ext@0 {
|
|
offset = <0x000000>;
|
|
missing-msg = "iot2050-seboot";
|
|
};
|
|
|
|
fit@180000 {
|
|
offset = <0x180000>;
|
|
filename = "tispl.bin";
|
|
pad-byte = <0xff>;
|
|
description = "Configuration to load ATF and SPL";
|
|
|
|
images {
|
|
atf {
|
|
description = "ARM Trusted Firmware";
|
|
type = "firmware";
|
|
arch = "arm64";
|
|
compression = "none";
|
|
os = "arm-trusted-firmware";
|
|
load = <CONFIG_K3_ATF_LOAD_ADDR>;
|
|
entry = <CONFIG_K3_ATF_LOAD_ADDR>;
|
|
atf: atf-bl31 {
|
|
};
|
|
};
|
|
|
|
tee {
|
|
description = "OP-TEE";
|
|
type = "tee";
|
|
arch = "arm64";
|
|
compression = "none";
|
|
os = "tee";
|
|
load = <0x9e800000>;
|
|
entry = <0x9e800000>;
|
|
tee: tee-os {
|
|
};
|
|
};
|
|
|
|
dm {
|
|
description = "DM binary";
|
|
type = "firmware";
|
|
arch = "arm32";
|
|
compression = "none";
|
|
os = "DM";
|
|
load = <0x89000000>;
|
|
entry = <0x89000000>;
|
|
blob-ext {
|
|
filename = "/dev/null";
|
|
};
|
|
};
|
|
|
|
spl {
|
|
description = "SPL (64-bit)";
|
|
type = "standalone";
|
|
os = "U-Boot";
|
|
arch = "arm64";
|
|
compression = "none";
|
|
load = <CONFIG_SPL_TEXT_BASE>;
|
|
entry = <CONFIG_SPL_TEXT_BASE>;
|
|
u_boot_spl_nodtb: blob-ext {
|
|
filename = "spl/u-boot-spl-nodtb.bin";
|
|
};
|
|
};
|
|
|
|
fdt-0 {
|
|
description = "k3-am65-iot2050-spl.dtb";
|
|
type = "flat_dt";
|
|
arch = "arm";
|
|
compression = "none";
|
|
spl_am65x_evm_dtb: blob-ext {
|
|
filename = "spl/dts/k3-am65-iot2050-spl.dtb";
|
|
};
|
|
};
|
|
};
|
|
|
|
configurations {
|
|
default = "spl";
|
|
spl {
|
|
fdt = "fdt-0";
|
|
firmware = "atf";
|
|
loadables = "tee", "dm", "spl";
|
|
};
|
|
};
|
|
};
|
|
|
|
fit@380000 {
|
|
description = "U-Boot for IOT2050";
|
|
offset = <0x380000>;
|
|
images {
|
|
u-boot {
|
|
description = "U-Boot";
|
|
type = "standalone";
|
|
arch = "arm64";
|
|
os = "u-boot";
|
|
compression = "none";
|
|
load = <0x80800000>;
|
|
entry = <0x80800000>;
|
|
u-boot-nodtb {
|
|
};
|
|
hash {
|
|
algo = "sha256";
|
|
};
|
|
};
|
|
|
|
@fdt-SEQ {
|
|
description = "fdt-NAME";
|
|
type = "flat_dt";
|
|
arch = "arm64";
|
|
compression = "none";
|
|
hash {
|
|
algo = "sha256";
|
|
};
|
|
};
|
|
|
|
#ifdef CONFIG_WDT_K3_RTI_FW_FILE
|
|
k3-rti-wdt-firmware {
|
|
type = "firmware";
|
|
load = <0x82000000>;
|
|
arch = "arm";
|
|
compression = "none";
|
|
blob-ext {
|
|
filename = CONFIG_WDT_K3_RTI_FW_FILE;
|
|
missing-msg = "k3-rti-wdt-firmware";
|
|
};
|
|
hash {
|
|
algo = "sha256";
|
|
};
|
|
};
|
|
#endif
|
|
};
|
|
|
|
configurations {
|
|
@config-SEQ {
|
|
description = "NAME";
|
|
firmware = "u-boot";
|
|
fdt = "fdt-SEQ";
|
|
signature {
|
|
sign-images = "firmware", "fdt", "loadables";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
fdtmap {
|
|
};
|
|
|
|
/* primary env */
|
|
fill@680000 {
|
|
offset = <0x680000>;
|
|
size = <0x020000>;
|
|
fill-byte = [00];
|
|
};
|
|
/* secondary env */
|
|
fill@6a0000 {
|
|
offset = <0x6a0000>;
|
|
size = <0x020000>;
|
|
fill-byte = [00];
|
|
};
|
|
|
|
/* OTP update command block */
|
|
#ifdef CONFIG_IOT2050_EMBED_OTPCMD
|
|
blob-ext@6c0000 {
|
|
offset = <0x6c0000>;
|
|
|
|
size = <0x010000>;
|
|
filename = "otpcmd.bin";
|
|
missing-msg = "iot2050-otpcmd";
|
|
};
|
|
#else
|
|
fill@6c0000 {
|
|
offset = <0x6c0000>;
|
|
size = <0x010000>;
|
|
fill-byte = [ff];
|
|
};
|
|
#endif
|
|
};
|
|
|
|
flash-pg1 {
|
|
filename = "flash-pg1.bin";
|
|
insert-template = <&common_part>;
|
|
|
|
blob-ext@0 {
|
|
filename = "seboot_pg1.bin";
|
|
};
|
|
|
|
fit@380000 {
|
|
fit,fdt-list-val = "k3-am6528-iot2050-basic", "k3-am6548-iot2050-advanced";
|
|
|
|
configurations {
|
|
default = "k3-am6528-iot2050-basic";
|
|
@config-SEQ {
|
|
loadables =
|
|
#ifdef CONFIG_WDT_K3_RTI_FW_FILE
|
|
"k3-rti-wdt-firmware",
|
|
#endif
|
|
<>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
flash-pg2 {
|
|
filename = "flash-pg2.bin";
|
|
insert-template = <&common_part>;
|
|
|
|
blob-ext@0 {
|
|
filename = "seboot_pg2.bin";
|
|
};
|
|
|
|
fit@380000 {
|
|
fit,fdt-list-val = "k3-am6528-iot2050-basic-pg2", "k3-am6548-iot2050-advanced-pg2", "k3-am6548-iot2050-advanced-m2";
|
|
|
|
images {
|
|
bkey-usb3-overlay {
|
|
description = "M.2-bkey-usb3-overlay";
|
|
type = "blob";
|
|
load = <0x82100000>;
|
|
arch = "arm64";
|
|
compression = "none";
|
|
blob-ext {
|
|
filename = "k3-am6548-iot2050-advanced-m2-bkey-usb3-overlay.dtbo";
|
|
};
|
|
hash {
|
|
algo = "sha256";
|
|
};
|
|
};
|
|
|
|
bkey-ekey-pcie-overlay {
|
|
description = "M.2-bkey-ekey-pcie-overlay";
|
|
type = "blob";
|
|
load = <0x82110000>;
|
|
arch = "arm64";
|
|
compression = "none";
|
|
blob-ext {
|
|
filename = "k3-am6548-iot2050-advanced-m2-bkey-ekey-pcie-overlay.dtbo";
|
|
};
|
|
hash {
|
|
algo = "sha256";
|
|
};
|
|
};
|
|
};
|
|
|
|
configurations {
|
|
default = "k3-am6528-iot2050-basic-pg2";
|
|
@config-SEQ {
|
|
loadables =
|
|
#ifdef CONFIG_WDT_K3_RTI_FW_FILE
|
|
"k3-rti-wdt-firmware",
|
|
#endif
|
|
"bkey-usb3-overlay",
|
|
"bkey-ekey-pcie-overlay";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|