blob: 7b426729eb81d4a4d29d3bc70fcc2eca6addd5f8 [file] [log] [blame]
// SPDX-License-Identifier: GPL-2.0
/*
* Copyright (C) 2022-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
#include "k3-binman.dtsi"
#ifdef CONFIG_TARGET_J721E_R5_EVM
&binman {
tiboot3-j721e_sr1_1-hs-evm.bin {
filename = "tiboot3-j721e_sr1_1-hs-evm.bin";
ti-secure-rom {
content = <&u_boot_spl>;
core = "public";
load = <CONFIG_SPL_TEXT_BASE>;
keyfile = "custMpk.pem";
};
u_boot_spl: u-boot-spl {
no-expanded;
};
};
tiboot3-j721e_sr2-hs-evm.bin {
filename = "tiboot3-j721e_sr2-hs-evm.bin";
ti-secure-rom {
content = <&u_boot_spl_sr2>;
core = "public";
load = <CONFIG_SPL_TEXT_BASE>;
keyfile = "custMpk.pem";
};
u_boot_spl_sr2: u-boot-spl {
no-expanded;
};
};
sysfw {
filename = "sysfw.bin";
ti-secure-rom {
content = <&ti_fs_cert>;
core = "secure";
load = <0x40000>;
keyfile = "custMpk.pem";
countersign;
};
ti_fs_cert: ti-fs-cert.bin {
filename = "ti-sysfw/ti-fs-firmware-j721e_sr1_1-hs-cert.bin";
type = "blob-ext";
optional;
};
ti-fs-firmware-j721e_sr1_1-hs-enc.bin {
filename = "ti-sysfw/ti-fs-firmware-j721e_sr1_1-hs-enc.bin";
type = "blob-ext";
optional;
};
};
sysfw_sr2 {
filename = "sysfw.bin_sr2";
ti-secure-rom {
content = <&ti_fs_cert_sr2>;
core = "secure";
load = <0x40000>;
keyfile = "custMpk.pem";
countersign;
};
ti_fs_cert_sr2: ti-fs-cert.bin {
filename = "ti-sysfw/ti-fs-firmware-j721e_sr2-hs-cert.bin";
type = "blob-ext";
optional;
};
ti-fs-firmware-j721e_sr2-hs-enc.bin {
filename = "ti-sysfw/ti-fs-firmware-j721e_sr2-hs-enc.bin";
type = "blob-ext";
optional;
};
};
itb {
filename = "sysfw-j721e_sr1_1-hs-evm.itb";
insert-template = <&itb_template>;
};
itb_sr2 {
filename = "sysfw-j721e_sr2-hs-evm.itb";
insert-template = <&itb_template>;
fit {
images {
sysfw.bin {
blob-ext {
filename = "sysfw.bin_sr2";
};
};
board-cfg.bin {
ti-secure {
content = <&board_cfg_sr2>;
};
board_cfg_sr2: board-cfg {
filename = "board-cfg.bin";
};
};
pm-cfg.bin {
ti-secure {
content = <&pm_cfg_sr2>;
};
pm_cfg_sr2: pm-cfg {
filename = "pm-cfg.bin";
};
};
rm-cfg.bin {
ti-secure {
content = <&rm_cfg_sr2>;
};
rm_cfg_sr2: rm-cfg {
filename = "rm-cfg.bin";
};
};
sec-cfg.bin {
ti-secure {
content = <&sec_cfg_sr2>;
};
sec_cfg_sr2: sec-cfg {
filename = "sec-cfg.bin";
};
};
};
};
};
};
&binman {
tiboot3-j721e_sr1_1-hs-fs-evm.bin {
filename = "tiboot3-j721e_sr1_1-hs-fs-evm.bin";
ti-secure-rom {
content = <&u_boot_spl_fs_sr1_1>;
core = "public";
core-opts = <2>;
load = <CONFIG_SPL_TEXT_BASE>;
keyfile = "custMpk.pem";
};
u_boot_spl_fs_sr1_1: u-boot-spl {
no-expanded;
};
};
sysfw_fs_sr1_1 {
filename = "sysfw.bin_fs_sr1_1";
ti-fs-cert-fs.bin {
filename = "ti-sysfw/ti-fs-firmware-j721e_sr1_1-hs-fs-cert.bin";
type = "blob-ext";
optional;
};
ti-fs-firmware-j721e-hs-fs-enc.bin {
filename = "ti-sysfw/ti-fs-firmware-j721e_sr1_1-hs-fs-enc.bin";
type = "blob-ext";
optional;
};
};
itb_fs_sr1_1 {
filename = "sysfw-j721e_sr1_1-hs-fs-evm.itb";
fit {
description = "SYSFW and Config fragments";
#address-cells = <1>;
images {
sysfw.bin {
description = "sysfw";
type = "firmware";
arch = "arm";
compression = "none";
blob-ext {
filename = "sysfw.bin_fs_sr1_1";
};
};
board-cfg.bin {
description = "board-cfg";
type = "firmware";
arch = "arm";
compression = "none";
board-cfg {
filename = "board-cfg.bin";
type = "blob-ext";
};
};
pm-cfg.bin {
description = "pm-cfg";
type = "firmware";
arch = "arm";
compression = "none";
pm-cfg {
filename = "pm-cfg.bin";
type = "blob-ext";
};
};
rm-cfg.bin {
description = "rm-cfg";
type = "firmware";
arch = "arm";
compression = "none";
rm-cfg {
filename = "rm-cfg.bin";
type = "blob-ext";
};
};
sec-cfg.bin {
description = "sec-cfg";
type = "firmware";
arch = "arm";
compression = "none";
sec-cfg {
filename = "sec-cfg.bin";
type = "blob-ext";
};
};
};
};
};
};
&binman {
tiboot3-j721e_sr2-hs-fs-evm.bin {
filename = "tiboot3-j721e_sr2-hs-fs-evm.bin";
ti-secure-rom {
content = <&u_boot_spl_fs>;
core = "public";
load = <CONFIG_SPL_TEXT_BASE>;
keyfile = "custMpk.pem";
};
u_boot_spl_fs: u-boot-spl {
no-expanded;
};
};
sysfw_fs {
filename = "sysfw.bin_fs";
ti-fs-cert-fs.bin {
filename = "ti-sysfw/ti-fs-firmware-j721e_sr2-hs-fs-cert.bin";
type = "blob-ext";
optional;
};
ti-fs-firmware-j721e-hs-fs-enc.bin {
filename = "ti-sysfw/ti-fs-firmware-j721e_sr2-hs-fs-enc.bin";
type = "blob-ext";
optional;
};
};
itb_fs {
filename = "sysfw-j721e_sr2-hs-fs-evm.itb";
insert-template = <&itb_unsigned_template>;
};
};
&binman {
tiboot3-j721e-gp-evm.bin {
filename = "tiboot3-j721e-gp-evm.bin";
symlink = "tiboot3.bin";
ti-secure-rom {
content = <&u_boot_spl_unsigned>;
core = "public";
load = <CONFIG_SPL_TEXT_BASE>;
sw-rev = <CONFIG_K3_X509_SWRV>;
keyfile = "ti-degenerate-key.pem";
};
u_boot_spl_unsigned: u-boot-spl {
no-expanded;
};
};
sysfw_gp {
filename = "sysfw.bin_gp";
ti-secure-rom {
content = <&ti_fs>;
core = "secure";
load = <0x40000>;
sw-rev = <CONFIG_K3_X509_SWRV>;
keyfile = "ti-degenerate-key.pem";
};
ti_fs: ti-fs.bin {
filename = "ti-sysfw/ti-fs-firmware-j721e-gp.bin";
type = "blob-ext";
optional;
};
};
itb_gp {
filename = "sysfw-j721e-gp-evm.itb";
symlink = "sysfw.itb";
insert-template = <&itb_unsigned_template>;
fit {
images {
sysfw.bin {
blob-ext {
filename = "sysfw.bin_gp";
};
};
};
};
};
};
#include "k3-binman-capsule-r5.dtsi"
// Capsule update GUIDs in string form. See j721e_evm.h
#define J721E_SK_TIBOOT3_IMAGE_GUID_STR "e672b518-7cd7-4014-bd8d-40724d0ad4dc"
#define J721E_SK_SYSFW_IMAGE_GUID_STR "6fd10680-361b-431f-80aa-899455819e11"
&capsule_tiboot3 {
efi-capsule {
image-guid = J721E_SK_TIBOOT3_IMAGE_GUID_STR;
};
};
&binman {
capsule-sysfw {
filename = "sysfw-capsule.bin";
efi-capsule {
image-index = <0x4>;
image-guid = J721E_SK_SYSFW_IMAGE_GUID_STR;
private-key = "arch/arm/mach-k3/keys/custMpk.pem";
public-key-cert = "arch/arm/mach-k3/keys/custMpk.crt";
monotonic-count = <0x1>;
blob {
filename = "sysfw.itb";
};
};
};
};
#endif
#ifdef CONFIG_TARGET_J721E_A72_EVM
#define SPL_J721E_EVM_DTB "spl/dts/k3-j721e-common-proc-board.dtb"
#define SPL_J721E_SK_DTB "spl/dts/k3-j721e-sk.dtb"
#define J721E_EVM_DTB "u-boot.dtb"
#define J721E_SK_DTB "arch/arm/dts/k3-j721e-sk.dtb"
&binman {
ti-dm {
filename = "ti-dm.bin";
blob-ext {
filename = "ti-dm/j721e/ipc_echo_testb_mcu1_0_release_strip.xer5f";
};
};
ti-spl {
insert-template = <&ti_spl_template>;
fit {
images {
atf {
ti-secure {
auth-in-place = <0xa02>;
firewall-257-0 {
/* cpu_0_cpu_0_msmc Background Firewall */
insert-template = <&firewall_bg_1>;
id = <257>;
region = <0>;
};
firewall-257-1 {
/* cpu_0_cpu_0_msmc Foreground Firewall */
insert-template = <&firewall_armv8_atf_fg>;
id = <257>;
region = <1>;
};
firewall-284-0 {
/* dru_0_msmc Background Firewall */
insert-template = <&firewall_bg_3>;
id = <284>;
region = <0>;
};
firewall-284-1 {
/* dru_0_msmc Foreground Firewall */
insert-template = <&firewall_armv8_atf_fg>;
id = <284>;
region = <1>;
};
/* firewall-4760-0 {
* nb_slv0__mem0 Background Firewall
* Already configured by the secure entity
* };
*/
firewall-4760-1 {
/* nb_slv0__mem0 Foreground Firewall */
insert-template = <&firewall_armv8_atf_fg>;
id = <4760>;
region = <1>;
};
/* firewall-4761-0 {
* nb_slv1__mem0 Background Firewall
* Already configured by the secure entity
* };
*/
firewall-4761-1 {
/* nb_slv1__mem0 Foreground Firewall */
insert-template = <&firewall_armv8_atf_fg>;
id = <4761>;
region = <1>;
};
};
};
tee {
ti-secure {
auth-in-place = <0xa02>;
/* cpu_0_cpu_0_msmc region 0 and 1 configured
* during ATF Firewalling
*/
firewall-257-2 {
/* cpu_0_cpu_0_msmc Foreground Firewall */
insert-template = <&firewall_armv8_optee_fg>;
id = <257>;
region = <2>;
};
/* dru_0_msmc region 0 and 1 configured
* during ATF Firewalling
*/
firewall-284-2 {
/* dru_0_msmc Foreground Firewall */
insert-template = <&firewall_armv8_optee_fg>;
id = <284>;
region = <2>;
};
firewall-4762-0 {
/* nb_slv2__mem0 Background Firewall */
insert-template = <&firewall_bg_3>;
id = <4762>;
region = <0>;
};
firewall-4762-1 {
/* nb_slv2__mem0 Foreground Firewall */
insert-template = <&firewall_armv8_optee_fg>;
id = <4762>;
region = <1>;
};
firewall-4763-0 {
/* nb_slv3__mem0 Background Firewall */
insert-template = <&firewall_bg_3>;
id = <4763>;
region = <0>;
};
firewall-4763-1 {
/* nb_slv3__mem0 Foreground Firewall */
insert-template = <&firewall_armv8_optee_fg>;
id = <4763>;
region = <1>;
};
};
};
dm {
ti-secure {
content = <&dm>;
keyfile = "custMpk.pem";
};
dm: ti-dm {
filename = "ti-dm.bin";
};
};
fdt-0 {
description = "k3-j721e-common-proc-board";
type = "flat_dt";
arch = "arm";
compression = "none";
ti-secure {
content = <&spl_j721e_evm_dtb>;
keyfile = "custMpk.pem";
};
spl_j721e_evm_dtb: blob-ext {
filename = SPL_J721E_EVM_DTB;
};
};
fdt-1 {
description = "k3-j721e-sk";
type = "flat_dt";
arch = "arm";
compression = "none";
ti-secure {
content = <&spl_j721e_sk_dtb>;
keyfile = "custMpk.pem";
};
spl_j721e_sk_dtb: blob-ext {
filename = SPL_J721E_SK_DTB;
};
};
};
configurations {
default = "conf-0";
conf-0 {
description = "k3-j721e-common-proc-board";
firmware = "atf";
loadables = "tee", "dm", "spl";
fdt = "fdt-0";
};
conf-1 {
description = "k3-j721e-sk";
firmware = "atf";
loadables = "tee", "dm", "spl";
fdt = "fdt-1";
};
};
};
};
};
&binman {
u-boot {
insert-template = <&u_boot_template>;
fit {
images {
uboot {
description = "U-Boot for J721E Board";
};
fdt-0 {
description = "k3-j721e-common-proc-board";
type = "flat_dt";
arch = "arm";
compression = "none";
ti-secure {
content = <&j721e_evm_dtb>;
keyfile = "custMpk.pem";
};
j721e_evm_dtb: blob-ext {
filename = J721E_EVM_DTB;
};
hash {
algo = "crc32";
};
};
fdt-1 {
description = "k3-j721e-sk";
type = "flat_dt";
arch = "arm";
compression = "none";
ti-secure {
content = <&j721e_sk_dtb>;
keyfile = "custMpk.pem";
};
j721e_sk_dtb: blob-ext {
filename = J721E_SK_DTB;
};
hash {
algo = "crc32";
};
};
};
configurations {
default = "conf-0";
conf-0 {
description = "k3-j721e-common-proc-board";
firmware = "uboot";
loadables = "uboot";
fdt = "fdt-0";
};
conf-1 {
description = "k3-j721e-sk";
firmware = "uboot";
loadables = "uboot";
fdt = "fdt-1";
};
};
};
};
};
&binman {
ti-spl_unsigned {
insert-template = <&ti_spl_unsigned_template>;
fit {
images {
dm {
ti-dm {
filename = "ti-dm.bin";
};
};
fdt-0 {
description = "k3-j721e-common-proc-board";
type = "flat_dt";
arch = "arm";
compression = "none";
blob {
filename = SPL_J721E_EVM_DTB;
};
};
fdt-1 {
description = "k3-j721e-sk";
type = "flat_dt";
arch = "arm";
compression = "none";
blob {
filename = SPL_J721E_SK_DTB;
};
};
};
configurations {
default = "conf-0";
conf-0 {
description = "k3-j721e-common-proc-board";
firmware = "atf";
loadables = "tee", "dm", "spl";
fdt = "fdt-0";
};
conf-1 {
description = "k3-j721e-sk";
firmware = "atf";
loadables = "tee", "dm", "spl";
fdt = "fdt-1";
};
};
};
};
};
&binman {
u-boot_unsigned {
insert-template = <&u_boot_unsigned_template>;
fit {
images {
uboot {
description = "U-Boot for J721E Board";
};
fdt-0 {
description = "k3-j721e-common-proc-board";
type = "flat_dt";
arch = "arm";
compression = "none";
blob {
filename = J721E_EVM_DTB;
};
hash {
algo = "crc32";
};
};
fdt-1 {
description = "k3-j721e-sk";
type = "flat_dt";
arch = "arm";
compression = "none";
blob {
filename = J721E_SK_DTB;
};
hash {
algo = "crc32";
};
};
};
configurations {
default = "conf-0";
conf-0 {
description = "k3-j721e-common-proc-board";
firmware = "uboot";
loadables = "uboot";
fdt = "fdt-0";
};
conf-1 {
description = "k3-j721e-sk";
firmware = "uboot";
loadables = "uboot";
fdt = "fdt-1";
};
};
};
};
};
#include "k3-binman-capsule.dtsi"
// Capsule update GUIDs in string form. See j721e_evm.h
#define J721E_SK_SPL_IMAGE_GUID_STR "86f710ad-10cf-46ea-ac67-856ae06efad2"
#define J721E_SK_UBOOT_IMAGE_GUID_STR "81b58fb0-3b00-4add-a20a-c185bbaca1ed"
&capsule_tispl {
efi-capsule {
image-guid = J721E_SK_SPL_IMAGE_GUID_STR;
};
};
&capsule_uboot {
efi-capsule {
image-guid = J721E_SK_UBOOT_IMAGE_GUID_STR;
};
};
#endif