mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-18 10:54:37 +00:00

Add support for packaging the TIFS Stub as it's required for basic Low Power Modes like Deep Sleep. The reason it is packaged using binman and not inherently as part of the DM firmware is because for HS devices, customer owns the customer key and only customer has access to it. DM is release by TI, Since TI doesn't have access to the customer key it cannot have a component that is signed by customer key. Hence, it's left as part of binman to be signed and packaged. Reviewed-by: Nishanth Menon <nm@ti.com> Acked-by: Neha Malcom Francis <n-francis@ti.com> Signed-off-by: Dhruva Gole <d-gole@ti.com>
339 lines
6.4 KiB
Text
339 lines
6.4 KiB
Text
// SPDX-License-Identifier: GPL-2.0
|
|
/*
|
|
* https://beagleboard.org/play
|
|
*
|
|
* Copyright (C) 2022-2023 Texas Instruments Incorporated - https://www.ti.com/
|
|
* Copyright (C) 2022-2023 Robert Nelson, BeagleBoard.org Foundation
|
|
*/
|
|
|
|
#include "k3-binman.dtsi"
|
|
|
|
/ {
|
|
chosen {
|
|
tick-timer = &main_timer0;
|
|
};
|
|
|
|
/* Keep the LEDs on by default to indicate life */
|
|
leds {
|
|
led-0 {
|
|
default-state = "on";
|
|
};
|
|
|
|
led-1 {
|
|
default-state = "on";
|
|
};
|
|
|
|
led-2 {
|
|
default-state = "on";
|
|
};
|
|
|
|
led-3 {
|
|
default-state = "on";
|
|
};
|
|
|
|
led-4 {
|
|
default-state = "on";
|
|
};
|
|
};
|
|
};
|
|
|
|
&main_timer0 {
|
|
clock-frequency = <25000000>;
|
|
};
|
|
|
|
&sd_pins_default {
|
|
/* Force to use SDCD card detect pin */
|
|
pinctrl-single,pins = <
|
|
AM62X_IOPAD(0x023c, PIN_INPUT, 0) /* (A21) MMC1_CMD */
|
|
AM62X_IOPAD(0x0234, PIN_INPUT, 0) /* (B22) MMC1_CLK */
|
|
AM62X_IOPAD(0x0230, PIN_INPUT, 0) /* (A22) MMC1_DAT0 */
|
|
AM62X_IOPAD(0x022c, PIN_INPUT, 0) /* (B21) MMC1_DAT1 */
|
|
AM62X_IOPAD(0x0228, PIN_INPUT, 0) /* (C21) MMC1_DAT2 */
|
|
AM62X_IOPAD(0x0224, PIN_INPUT, 0) /* (D22) MMC1_DAT3 */
|
|
AM62X_IOPAD(0x0240, PIN_INPUT, 0) /* (D17) MMC1_SDCD.MMC1_SDCD */
|
|
>;
|
|
};
|
|
|
|
&usbss0 {
|
|
bootph-all;
|
|
};
|
|
|
|
&usb0 {
|
|
dr_mode = "peripheral";
|
|
bootph-all;
|
|
};
|
|
|
|
#ifdef CONFIG_TARGET_AM625_A53_BEAGLEPLAY
|
|
|
|
#define SPL_NODTB "spl/u-boot-spl-nodtb.bin"
|
|
#define SPL_AM625_BEAGLEPLAY_DTB "spl/dts/ti/k3-am625-beagleplay.dtb"
|
|
#define UBOOT_NODTB "u-boot-nodtb.bin"
|
|
#define AM625_BEAGLEPLAY_DTB "dts/upstream/src/arm64/ti/k3-am625-beagleplay.dtb"
|
|
|
|
&binman {
|
|
ti-dm {
|
|
filename = "ti-dm.bin";
|
|
blob-ext {
|
|
filename = "ti-dm/am62xx/ipc_echo_testb_mcu1_0_release_strip.xer5f";
|
|
};
|
|
};
|
|
|
|
tifsstub-gp {
|
|
filename = "tifsstub.bin_gp";
|
|
ti-secure-rom {
|
|
content = <&tifsstub_gp>;
|
|
core = "secure";
|
|
load = <0x60000>;
|
|
sw-rev = <CONFIG_K3_X509_SWRV>;
|
|
keyfile = "ti-degenerate-key.pem";
|
|
tifsstub;
|
|
};
|
|
tifsstub_gp: tifsstub-gp.bin {
|
|
filename = "ti-sysfw/ti-fs-stub-firmware-am62x-gp.bin";
|
|
type = "blob-ext";
|
|
optional;
|
|
};
|
|
};
|
|
|
|
ti-spl_unsigned {
|
|
filename = "tispl.bin_unsigned";
|
|
symlink = "tispl.bin";
|
|
pad-byte = <0xff>;
|
|
|
|
fit {
|
|
description = "Configuration to load ATF and SPL";
|
|
#address-cells = <1>;
|
|
|
|
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-bl31 {
|
|
filename = "bl31.bin";
|
|
};
|
|
};
|
|
|
|
tee {
|
|
description = "OP-TEE";
|
|
type = "tee";
|
|
arch = "arm64";
|
|
compression = "none";
|
|
os = "tee";
|
|
load = <CONFIG_K3_OPTEE_LOAD_ADDR>;
|
|
entry = <CONFIG_K3_OPTEE_LOAD_ADDR>;
|
|
tee-os {
|
|
filename = "tee-raw.bin";
|
|
};
|
|
};
|
|
|
|
tifsstub-gp {
|
|
description = "tifsstub";
|
|
type = "firmware";
|
|
arch = "arm32";
|
|
compression = "none";
|
|
os = "tifsstub-gp";
|
|
load = <0x9dc00000>;
|
|
entry = <0x9dc00000>;
|
|
blob-ext {
|
|
filename = "tifsstub.bin_gp";
|
|
};
|
|
};
|
|
|
|
dm {
|
|
description = "DM binary";
|
|
type = "firmware";
|
|
arch = "arm32";
|
|
compression = "none";
|
|
os = "DM";
|
|
load = <0x89000000>;
|
|
entry = <0x89000000>;
|
|
blob-ext {
|
|
filename = "ti-dm.bin";
|
|
};
|
|
};
|
|
|
|
spl {
|
|
description = "SPL (64-bit)";
|
|
type = "standalone";
|
|
os = "U-Boot";
|
|
arch = "arm64";
|
|
compression = "none";
|
|
load = <CONFIG_SPL_TEXT_BASE>;
|
|
entry = <CONFIG_SPL_TEXT_BASE>;
|
|
blob {
|
|
filename = "spl/u-boot-spl-nodtb.bin";
|
|
};
|
|
};
|
|
|
|
fdt-0 {
|
|
description = "k3-am625-beagleplay";
|
|
type = "flat_dt";
|
|
arch = "arm";
|
|
compression = "none";
|
|
spl_am625_bp_dtb_unsigned: blob {
|
|
filename = SPL_AM625_BEAGLEPLAY_DTB;
|
|
};
|
|
};
|
|
};
|
|
|
|
configurations {
|
|
default = "conf-0";
|
|
|
|
conf-0 {
|
|
description = "k3-am625-beagleplay";
|
|
firmware = "atf";
|
|
loadables = "tee", "dm", "spl",
|
|
"tifsstub-gp";
|
|
fdt = "fdt-0";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
u-boot_unsigned {
|
|
filename = "u-boot.img_unsigned";
|
|
pad-byte = <0xff>;
|
|
|
|
fit {
|
|
description = "FIT image with multiple configurations";
|
|
|
|
images {
|
|
uboot {
|
|
description = "U-Boot for AM625 board";
|
|
type = "firmware";
|
|
os = "u-boot";
|
|
arch = "arm";
|
|
compression = "none";
|
|
load = <CONFIG_TEXT_BASE>;
|
|
blob {
|
|
filename = UBOOT_NODTB;
|
|
};
|
|
hash {
|
|
algo = "crc32";
|
|
};
|
|
};
|
|
|
|
fdt-0 {
|
|
description = "k3-am625-beagleplay";
|
|
type = "flat_dt";
|
|
arch = "arm";
|
|
compression = "none";
|
|
am625_bp_dtb_unsigned: blob {
|
|
filename = AM625_BEAGLEPLAY_DTB;
|
|
};
|
|
hash {
|
|
algo = "crc32";
|
|
};
|
|
};
|
|
};
|
|
|
|
configurations {
|
|
default = "conf-0";
|
|
|
|
conf-0 {
|
|
description = "k3-am625-beagleplay";
|
|
firmware = "uboot";
|
|
loadables = "uboot";
|
|
fdt = "fdt-0";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
#include "k3-binman-capsule.dtsi"
|
|
|
|
// Capsule update GUIDs in string form. See beagleplay.h
|
|
#define BEAGLEPLAY_SPL_IMAGE_GUID_STR "b2e7cc49-1a5a-4036-ae01-3387c3bef657"
|
|
#define BEAGLEPLAY_UBOOT_IMAGE_GUID_STR "92c92b11-a7ee-486f-aaa2-713d84425b0e"
|
|
|
|
&capsule_tispl {
|
|
efi-capsule {
|
|
image-guid = BEAGLEPLAY_SPL_IMAGE_GUID_STR;
|
|
|
|
blob {
|
|
filename = "tispl.bin_unsigned";
|
|
};
|
|
};
|
|
};
|
|
|
|
&capsule_uboot {
|
|
efi-capsule {
|
|
image-guid = BEAGLEPLAY_UBOOT_IMAGE_GUID_STR;
|
|
|
|
blob {
|
|
filename = "u-boot.img_unsigned";
|
|
};
|
|
};
|
|
};
|
|
|
|
#endif
|
|
|
|
&main_bcdma {
|
|
reg = <0x00 0x485c0100 0x00 0x100>,
|
|
<0x00 0x4c000000 0x00 0x20000>,
|
|
<0x00 0x4a820000 0x00 0x20000>,
|
|
<0x00 0x4aa40000 0x00 0x20000>,
|
|
<0x00 0x4bc00000 0x00 0x100000>,
|
|
<0x00 0x48600000 0x00 0x8000>,
|
|
<0x00 0x484a4000 0x00 0x2000>,
|
|
<0x00 0x484c2000 0x00 0x2000>;
|
|
reg-names = "gcfg", "bchanrt", "rchanrt", "tchanrt", "ringrt",
|
|
"cfg", "tchan", "rchan";
|
|
};
|
|
|
|
&main_pktdma {
|
|
reg = <0x00 0x485c0000 0x00 0x100>,
|
|
<0x00 0x4a800000 0x00 0x20000>,
|
|
<0x00 0x4aa00000 0x00 0x40000>,
|
|
<0x00 0x4b800000 0x00 0x400000>,
|
|
<0x00 0x485e0000 0x00 0x20000>,
|
|
<0x00 0x484a0000 0x00 0x4000>,
|
|
<0x00 0x484c0000 0x00 0x2000>,
|
|
<0x00 0x48430000 0x00 0x4000>;
|
|
reg-names = "gcfg", "rchanrt", "tchanrt", "ringrt", "cfg",
|
|
"tchan", "rchan", "rflow";
|
|
bootph-all;
|
|
};
|
|
|
|
&mdio0_pins_default {
|
|
bootph-all;
|
|
};
|
|
|
|
&cpsw3g_mdio {
|
|
bootph-all;
|
|
};
|
|
|
|
&cpsw3g_phy0 {
|
|
bootph-all;
|
|
};
|
|
|
|
&rgmii1_pins_default {
|
|
bootph-all;
|
|
};
|
|
|
|
&cpsw3g {
|
|
bootph-all;
|
|
|
|
ethernet-ports {
|
|
bootph-all;
|
|
};
|
|
};
|
|
|
|
&phy_gmii_sel {
|
|
bootph-all;
|
|
};
|
|
|
|
&cpsw_port1 {
|
|
bootph-all;
|
|
};
|
|
|
|
&cpsw_port2 {
|
|
status = "disabled";
|
|
};
|