Merge patch series "Introduce J742S2 SoC and EVM"

Manorit Chawdhry <m-chawdhry@ti.com> says:

The series adds support for J742S2 family of SoCs. Also adds J742S2 EVM
Support and re-uses most of the stuff from the superset device J784s4.

This device is a subset of J784S4 and shares the same memory map and
thus the code is being reused from J784S4 to avoid duplication.

It initially cleans up the J784s4 and AM69 files so that they can be
re-usable for j742s2 and then it introduces J742S2.

The DT for the following SoC will be coming to U-boot during 6.13 Sync
so the series is kept as RFC till then.

Here are some of the salient features of the J742S2 automotive grade
application processor:

The J742S2 SoC belongs to the K3 Multicore SoC architecture platform,
providing advanced system integration in automotive, ADAS and industrial
applications requiring AI at the network edge. This SoC extends the K3
Jacinto 7 family of SoCs with focus on raising performance and
integration while providing interfaces, memory architecture and compute
performance for multi-sensor, high concurrency applications.

Some changes that this devices has from J784S4 are:
* 4x Cortex-A72 vs 8x Cortex-A72
* 3x C7x DSP vs 4x C7x DSP
* 4 port ethernet switch vs 8 port ethernet switch
* 2 DDR controller vs 4 DDR controller

Test logs:
https://gist.github.com/manorit2001/f7df0e8cca1e9973b4361f0559c6f53d

Link: https://lore.kernel.org/r/20250317-b4-upstream-j742s2-v4-0-4ba88bfd357a@ti.com
This commit is contained in:
Tom Rini
2025-04-03 11:37:57 -06:00
21 changed files with 18080 additions and 8959 deletions

View File

@@ -1,10 +1,109 @@
// SPDX-License-Identifier: GPL-2.0-only // SPDX-License-Identifier: GPL-2.0-only
/* /*
* Copyright (C) 2022-2023 Texas Instruments Incorporated - https://www.ti.com/ * Copyright (C) 2022-2024 Texas Instruments Incorporated - https://www.ti.com/
*/ */
#define SPL_BOARD_DTB "spl/dts/ti/k3-am69-sk.dtb"
#define BOARD_DESCRIPTION "k3-am69-sk"
#define UBOOT_BOARD_DESCRIPTION "U-Boot for AM69 board"
#include "k3-j784s4-binman.dtsi" #include "k3-j784s4-binman.dtsi"
#if defined(CONFIG_CPU_V7R)
&binman {
tiboot3-am69-hs {
insert-template = <&tiboot3_j784s4_hs>;
filename = "tiboot3-j784s4-hs-evm.bin";
};
tiboot3-am69-hs-fs {
insert-template = <&tiboot3_j784s4_hs_fs>;
filename = "tiboot3-j784s4-hs-fs-evm.bin";
symlink = "tiboot3.bin";
};
};
&ti_fs_enc {
filename = "ti-sysfw/ti-fs-firmware-j784s4-hs-enc.bin";
};
&sysfw_inner_cert {
filename = "ti-sysfw/ti-fs-firmware-j784s4-hs-cert.bin";
};
&ti_fs_enc_fs {
filename = "ti-sysfw/ti-fs-firmware-j784s4-hs-fs-enc.bin";
};
&sysfw_inner_cert_fs {
filename = "ti-sysfw/ti-fs-firmware-j784s4-hs-fs-cert.bin";
};
#include "k3-binman-capsule-r5.dtsi"
// Capsule update GUIDs in string form. See j784s4_evm.h
#define AM69_SK_TIBOOT3_IMAGE_GUID_STR "adf49ec5-61bb-4dbe-8b8d-39df4d7ebf46"
&capsule_tiboot3 {
efi-capsule {
image-guid = AM69_SK_TIBOOT3_IMAGE_GUID_STR;
blob {
filename = "tiboot3-j784s4-hs-fs-evm.bin";
};
};
};
#else // CONFIG_ARM64
&binman {
ti-dm {
filename = "ti-dm.bin";
blob-ext {
filename = "ti-dm/j784s4/ipc_echo_testb_mcu1_0_release_strip.xer5f";
optional;
};
};
tispl {
insert-template = <&ti_spl>;
};
u-boot {
insert-template = <&u_boot>;
};
tispl-unsigned {
insert-template = <&ti_spl_unsigned>;
};
u-boot-unsigned {
insert-template = <&u_boot_unsigned>;
};
};
#include "k3-binman-capsule.dtsi"
// Capsule update GUIDs in string form. See j784s4_evm.h
#define AM69_SK_SPL_IMAGE_GUID_STR "787f0059-63a1-461c-a18e-9d838345fe8e"
#define AM69_SK_UBOOT_IMAGE_GUID_STR "9300505d-6ec5-4ff8-99e4-5459a04be617"
&capsule_tispl {
efi-capsule {
image-guid = AM69_SK_SPL_IMAGE_GUID_STR;
};
};
&capsule_uboot {
efi-capsule {
image-guid = AM69_SK_UBOOT_IMAGE_GUID_STR;
};
};
#endif
/ { / {
memory@80000000 { memory@80000000 {
bootph-all; bootph-all;
@@ -23,25 +122,3 @@
bootph-pre-ram; bootph-pre-ram;
}; };
#ifdef CONFIG_TARGET_J784S4_A72_EVM
#define SPL_AM69_SK_DTB "spl/dts/ti/k3-am69-sk.dtb"
#define AM69_SK_DTB "u-boot.dtb"
&spl_j784s4_evm_dtb {
filename = SPL_AM69_SK_DTB;
};
&j784s4_evm_dtb {
filename = AM69_SK_DTB;
};
&spl_j784s4_evm_dtb_unsigned {
filename = SPL_AM69_SK_DTB;
};
&j784s4_evm_dtb_unsigned {
filename = AM69_SK_DTB;
};
#endif

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,72 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (C) 2024 Texas Instruments Incorporated - https://www.ti.com/
*/
#define SPL_BOARD_DTB "spl/dts/ti/k3-j742s2-evm.dtb"
#define BOARD_DESCRIPTION "k3-j742s2-evm"
#define UBOOT_BOARD_DESCRIPTION "U-Boot for J742S2 board"
#include "k3-j784s4-binman.dtsi"
#if !defined(CONFIG_ARM64)
&binman {
tiboot3-j742s2-hs-fs {
insert-template = <&tiboot3_j784s4_hs_fs>;
filename = "tiboot3-j742s2-hs-fs-evm.bin";
symlink = "tiboot3.bin";
};
tiboot3-j742s2-hs {
insert-template = <&tiboot3_j784s4_hs>;
filename = "tiboot3-j742s2-hs-evm.bin";
};
};
&ti_fs_enc_fs {
filename = "ti-sysfw/ti-fs-firmware-j742s2-hs-fs-enc.bin";
};
&sysfw_inner_cert_fs {
filename = "ti-sysfw/ti-fs-firmware-j742s2-hs-fs-cert.bin";
};
&ti_fs_enc {
filename = "ti-sysfw/ti-fs-firmware-j742s2-hs-enc.bin";
};
&sysfw_inner_cert {
filename = "ti-sysfw/ti-fs-firmware-j742s2-hs-cert.bin";
};
#else // CONFIG_ARM64
&binman {
ti-dm {
filename = "ti-dm.bin";
blob-ext {
filename = "ti-dm/j742s2/ipc_echo_testb_mcu1_0_release_strip.xer5f";
optional;
};
};
tispl {
insert-template = <&ti_spl>;
};
u-boot {
insert-template = <&u_boot>;
};
tispl-unsigned {
insert-template = <&ti_spl_unsigned>;
};
u-boot-unsigned {
insert-template = <&u_boot_unsigned>;
};
};
#endif

View File

@@ -0,0 +1,18 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (C) 2024 Texas Instruments Incorporated - https://www.ti.com/
*/
/dts-v1/;
#include "k3-j742s2-evm.dts"
#include "k3-j742s2-ddr-evm-lp4-4266.dtsi"
#include "k3-j784s4-j742s2-ddr.dtsi"
#include "k3-j742s2-evm-u-boot.dtsi"
#include "k3-j784s4-r5.dtsi"
&tps659413 {
esm: esm {
compatible = "ti,tps659413-esm";
bootph-pre-ram;
};
};

View File

@@ -5,16 +5,15 @@
#include "k3-binman.dtsi" #include "k3-binman.dtsi"
#ifdef CONFIG_TARGET_J784S4_R5_EVM #if defined(CONFIG_CPU_V7R)
&rcfg_yaml_tifs { &rcfg_yaml_tifs {
config = "tifs-rm-cfg.yaml"; config = "tifs-rm-cfg.yaml";
}; };
&binman { &binman {
tiboot3-j784s4-hs-evm.bin { tiboot3_j784s4_hs: template-9 {
filename = "tiboot3-j784s4-hs-evm.bin"; section {
ti-secure-rom { ti-secure-rom {
content = <&u_boot_spl>, <&ti_fs_enc>, <&combined_tifs_cfg>, content = <&u_boot_spl>, <&ti_fs_enc>, <&combined_tifs_cfg>,
<&combined_dm_cfg>, <&sysfw_inner_cert>; <&combined_dm_cfg>, <&sysfw_inner_cert>;
@@ -39,7 +38,6 @@
}; };
ti_fs_enc: ti-fs-enc.bin { ti_fs_enc: ti-fs-enc.bin {
filename = "ti-sysfw/ti-fs-firmware-j784s4-hs-enc.bin";
type = "blob-ext"; type = "blob-ext";
optional; optional;
}; };
@@ -50,7 +48,6 @@
}; };
sysfw_inner_cert: sysfw-inner-cert { sysfw_inner_cert: sysfw-inner-cert {
filename = "ti-sysfw/ti-fs-firmware-j784s4-hs-cert.bin";
type = "blob-ext"; type = "blob-ext";
optional; optional;
}; };
@@ -59,13 +56,13 @@
filename = "combined-dm-cfg.bin"; filename = "combined-dm-cfg.bin";
type = "blob-ext"; type = "blob-ext";
}; };
};
}; };
}; };
&binman { &binman {
tiboot3-j784s4-hs-fs-evm.bin { tiboot3_j784s4_hs_fs: template-10 {
filename = "tiboot3-j784s4-hs-fs-evm.bin"; section {
ti-secure-rom { ti-secure-rom {
content = <&u_boot_spl_fs>, <&ti_fs_enc_fs>, <&combined_tifs_cfg_fs>, content = <&u_boot_spl_fs>, <&ti_fs_enc_fs>, <&combined_tifs_cfg_fs>,
<&combined_dm_cfg_fs>, <&sysfw_inner_cert_fs>; <&combined_dm_cfg_fs>, <&sysfw_inner_cert_fs>;
@@ -90,7 +87,6 @@
}; };
ti_fs_enc_fs: ti-fs-enc.bin { ti_fs_enc_fs: ti-fs-enc.bin {
filename = "ti-sysfw/ti-fs-firmware-j784s4-hs-fs-enc.bin";
type = "blob-ext"; type = "blob-ext";
optional; optional;
}; };
@@ -101,7 +97,6 @@
}; };
sysfw_inner_cert_fs: sysfw-inner-cert { sysfw_inner_cert_fs: sysfw-inner-cert {
filename = "ti-sysfw/ti-fs-firmware-j784s4-hs-fs-cert.bin";
type = "blob-ext"; type = "blob-ext";
optional; optional;
}; };
@@ -110,14 +105,13 @@
filename = "combined-dm-cfg.bin"; filename = "combined-dm-cfg.bin";
type = "blob-ext"; type = "blob-ext";
}; };
};
}; };
}; };
&binman { &binman {
tiboot3-j784s4-gp-evm.bin { tiboot3_j784s4_gp: template-11 {
filename = "tiboot3-j784s4-gp-evm.bin"; section {
symlink = "tiboot3.bin";
ti-secure-rom { ti-secure-rom {
content = <&u_boot_spl_unsigned>, <&ti_fs_gp>, content = <&u_boot_spl_unsigned>, <&ti_fs_gp>,
<&combined_tifs_cfg_gp>, <&combined_dm_cfg_gp>; <&combined_tifs_cfg_gp>, <&combined_dm_cfg_gp>;
@@ -140,7 +134,6 @@
}; };
ti_fs_gp: ti-fs-gp.bin { ti_fs_gp: ti-fs-gp.bin {
filename = "ti-sysfw/ti-fs-firmware-j784s4-gp.bin";
type = "blob-ext"; type = "blob-ext";
optional; optional;
}; };
@@ -154,43 +147,14 @@
filename = "combined-dm-cfg.bin"; filename = "combined-dm-cfg.bin";
type = "blob-ext"; type = "blob-ext";
}; };
};
};
#include "k3-binman-capsule-r5.dtsi"
// Capsule update GUIDs in string form. See j784s4_evm.h
#define AM69_SK_TIBOOT3_IMAGE_GUID_STR "adf49ec5-61bb-4dbe-8b8d-39df4d7ebf46"
&capsule_tiboot3 {
efi-capsule {
image-guid = AM69_SK_TIBOOT3_IMAGE_GUID_STR;
blob {
filename = "tiboot3-j784s4-hs-fs-evm.bin";
}; };
}; };
}; };
#endif #else
#ifdef CONFIG_TARGET_J784S4_A72_EVM
#define SPL_J784S4_EVM_DTB "spl/dts/ti/k3-j784s4-evm.dtb"
#define J784S4_EVM_DTB "u-boot.dtb"
&binman { &binman {
ti-dm { ti_spl: template-12 {
filename = "ti-dm.bin";
blob-ext {
filename = "ti-dm/j784s4/ipc_echo_testb_mcu1_0_release_strip.xer5f";
optional;
};
};
ti-spl {
insert-template = <&ti_spl_template>; insert-template = <&ti_spl_template>;
fit { fit {
@@ -207,19 +171,20 @@
}; };
fdt-0 { fdt-0 {
description = "k3-j784s4-evm"; description = BOARD_DESCRIPTION;
type = "flat_dt"; type = "flat_dt";
arch = "arm"; arch = "arm";
compression = "none"; compression = "none";
ti-secure { ti-secure {
content = <&spl_j784s4_evm_dtb>; content = <&spl_board_dtb>;
keyfile = "custMpk.pem"; keyfile = "custMpk.pem";
}; };
spl_j784s4_evm_dtb: blob-ext { spl_board_dtb: blob-ext {
filename = SPL_J784S4_EVM_DTB; filename = SPL_BOARD_DTB;
}; };
}; };
}; };
@@ -227,7 +192,7 @@
default = "conf-0"; default = "conf-0";
conf-0 { conf-0 {
description = "k3-j784s4-evm"; description = BOARD_DESCRIPTION;
firmware = "atf"; firmware = "atf";
loadables = "tee", "dm", "spl"; loadables = "tee", "dm", "spl";
fdt = "fdt-0"; fdt = "fdt-0";
@@ -238,17 +203,17 @@
}; };
&binman { &binman {
u-boot { u_boot: template-13 {
insert-template = <&u_boot_template>; insert-template = <&u_boot_template>;
fit { fit {
images { images {
uboot { uboot {
description = "U-Boot for J784S4 board"; description = UBOOT_BOARD_DESCRIPTION;
}; };
fdt-0 { fdt-0 {
description = "k3-j784s4-evm"; description = BOARD_DESCRIPTION;
type = "flat_dt"; type = "flat_dt";
arch = "arm"; arch = "arm";
compression = "none"; compression = "none";
@@ -259,7 +224,7 @@
}; };
j784s4_evm_dtb: blob-ext { j784s4_evm_dtb: blob-ext {
filename = J784S4_EVM_DTB; filename = "u-boot.dtb";
}; };
hash { hash {
@@ -272,7 +237,7 @@
default = "conf-0"; default = "conf-0";
conf-0 { conf-0 {
description = "k3-j784s4-evm"; description = BOARD_DESCRIPTION;
firmware = "uboot"; firmware = "uboot";
loadables = "uboot"; loadables = "uboot";
fdt = "fdt-0"; fdt = "fdt-0";
@@ -283,7 +248,7 @@
}; };
&binman { &binman {
ti-spl_unsigned { ti_spl_unsigned: template-14 {
insert-template = <&ti_spl_unsigned_template>; insert-template = <&ti_spl_unsigned_template>;
fit { fit {
@@ -295,13 +260,13 @@
}; };
fdt-0 { fdt-0 {
description = "k3-j784s4-evm"; description = BOARD_DESCRIPTION;
type = "flat_dt"; type = "flat_dt";
arch = "arm"; arch = "arm";
compression = "none"; compression = "none";
spl_j784s4_evm_dtb_unsigned: blob { spl_j784s4_evm_dtb_unsigned: blob {
filename = SPL_J784S4_EVM_DTB; filename = SPL_BOARD_DTB;
}; };
}; };
}; };
@@ -310,7 +275,7 @@
default = "conf-0"; default = "conf-0";
conf-0 { conf-0 {
description = "k3-j784s4-evm"; description = BOARD_DESCRIPTION;
firmware = "atf"; firmware = "atf";
loadables = "tee", "dm", "spl"; loadables = "tee", "dm", "spl";
fdt = "fdt-0"; fdt = "fdt-0";
@@ -321,23 +286,23 @@
}; };
&binman { &binman {
u-boot_unsigned { u_boot_unsigned: template-15 {
insert-template = <&u_boot_unsigned_template>; insert-template = <&u_boot_unsigned_template>;
fit { fit {
images { images {
uboot { uboot {
description = "U-Boot for J784S4 board"; description = UBOOT_BOARD_DESCRIPTION;
}; };
fdt-0 { fdt-0 {
description = "k3-j784s4-evm"; description = BOARD_DESCRIPTION;
type = "flat_dt"; type = "flat_dt";
arch = "arm"; arch = "arm";
compression = "none"; compression = "none";
j784s4_evm_dtb_unsigned: blob { j784s4_evm_dtb_unsigned: blob {
filename = J784S4_EVM_DTB; filename = "u-boot.dtb";
}; };
hash { hash {
@@ -350,7 +315,7 @@
default = "conf-0"; default = "conf-0";
conf-0 { conf-0 {
description = "k3-j784s4-evm"; description = BOARD_DESCRIPTION;
firmware = "uboot"; firmware = "uboot";
loadables = "uboot"; loadables = "uboot";
fdt = "fdt-0"; fdt = "fdt-0";
@@ -359,23 +324,4 @@
}; };
}; };
}; };
#include "k3-binman-capsule.dtsi"
// Capsule update GUIDs in string form. See j784s4_evm.h
#define AM69_SK_SPL_IMAGE_GUID_STR "787f0059-63a1-461c-a18e-9d838345fe8e"
#define AM69_SK_UBOOT_IMAGE_GUID_STR "9300505d-6ec5-4ff8-99e4-5459a04be617"
&capsule_tispl {
efi-capsule {
image-guid = AM69_SK_SPL_IMAGE_GUID_STR;
};
};
&capsule_uboot {
efi-capsule {
image-guid = AM69_SK_UBOOT_IMAGE_GUID_STR;
};
};
#endif #endif

File diff suppressed because it is too large Load Diff

View File

@@ -3,8 +3,83 @@
* Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/ * Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/
*/ */
#define SPL_BOARD_DTB "spl/dts/ti/k3-j784s4-evm.dtb"
#define BOARD_DESCRIPTION "k3-j784s4-evm"
#define UBOOT_BOARD_DESCRIPTION "U-Boot for J784S4 board"
#include "k3-j784s4-binman.dtsi" #include "k3-j784s4-binman.dtsi"
#if defined(CONFIG_CPU_V7R)
&binman {
tiboot3-j784s4-hs {
insert-template = <&tiboot3_j784s4_hs>;
filename = "tiboot3-j784s4-hs-evm.bin";
};
tiboot3-j784s4-hs-fs {
insert-template = <&tiboot3_j784s4_hs_fs>;
filename = "tiboot3-j784s4-hs-fs-evm.bin";
};
tiboot3-j784s4-gp {
insert-template = <&tiboot3_j784s4_gp>;
filename = "tiboot3-j784s4-gp-evm.bin";
symlink = "tiboot3.bin";
};
};
&ti_fs_gp {
filename = "ti-sysfw/ti-fs-firmware-j784s4-gp.bin";
};
&ti_fs_enc {
filename = "ti-sysfw/ti-fs-firmware-j784s4-hs-enc.bin";
};
&sysfw_inner_cert {
filename = "ti-sysfw/ti-fs-firmware-j784s4-hs-cert.bin";
};
&ti_fs_enc_fs {
filename = "ti-sysfw/ti-fs-firmware-j784s4-hs-fs-enc.bin";
};
&sysfw_inner_cert_fs {
filename = "ti-sysfw/ti-fs-firmware-j784s4-hs-fs-cert.bin";
};
#else // CONFIG_ARM64
&binman {
ti-dm {
filename = "ti-dm.bin";
blob-ext {
filename = "ti-dm/j784s4/ipc_echo_testb_mcu1_0_release_strip.xer5f";
optional;
};
};
tispl {
insert-template = <&ti_spl>;
};
u-boot {
insert-template = <&u_boot>;
};
tispl-unsigned {
insert-template = <&ti_spl_unsigned>;
};
u-boot-unsigned {
insert-template = <&u_boot_unsigned>;
};
};
#endif
/ { / {
memory@80000000 { memory@80000000 {
bootph-all; bootph-all;

File diff suppressed because it is too large Load Diff

View File

@@ -62,6 +62,12 @@
#define JTAG_ID_PARTNO_J722S 0xbba0 #define JTAG_ID_PARTNO_J722S 0xbba0
#define JTAG_ID_PARTNO_J784S4 0xbb80 #define JTAG_ID_PARTNO_J784S4 0xbb80
#define CTRLMMR_WKUP_JTAG_DEVICE_ID (WKUP_CTRL_MMR0_BASE + 0x18)
#define JTAG_DEV_J742S2_PKG_MASK GENMASK(2, 0)
#define JTAG_DEV_J742S2_PKG_SHIFT 0
#define JTAG_ID_PKG_J742S2 0x7
#define K3_SOC_ID(id, ID) \ #define K3_SOC_ID(id, ID) \
static inline bool soc_is_##id(void) \ static inline bool soc_is_##id(void) \
{ \ { \

View File

@@ -27,6 +27,24 @@ config TARGET_J784S4_R5_EVM
select BINMAN select BINMAN
imply SYS_K3_SPL_ATF imply SYS_K3_SPL_ATF
config TARGET_J742S2_A72_EVM
bool "TI K3 based J742S2 EVM running on A72"
select ARM64
select BOARD_LATE_INIT
select SYS_DISABLE_DCACHE_OPS
select BINMAN
config TARGET_J742S2_R5_EVM
bool "TI K3 based J742S2 EVM running on R5"
select CPU_V7R
select SYS_THUMB_BUILD
select K3_LOAD_SYSFW
select RAM
select SPL_RAM
select K3_DDRSS
select BINMAN
imply SYS_K3_SPL_ATF
endchoice endchoice
source "board/ti/j784s4/Kconfig" source "board/ti/j784s4/Kconfig"

View File

@@ -35,3 +35,36 @@ config SPL_LDSCRIPT
source "board/ti/common/Kconfig" source "board/ti/common/Kconfig"
endif endif
if TARGET_J742S2_A72_EVM
config SYS_BOARD
default "j784s4"
config SYS_VENDOR
default "ti"
config SYS_CONFIG_NAME
default "j784s4_evm"
source "board/ti/common/Kconfig"
endif
if TARGET_J742S2_R5_EVM
config SYS_BOARD
default "j784s4"
config SYS_VENDOR
default "ti"
config SYS_CONFIG_NAME
default "j784s4_evm"
config SPL_LDSCRIPT
default "arch/arm/mach-omap2/u-boot-spl.lds"
source "board/ti/common/Kconfig"
endif

View File

@@ -20,3 +20,13 @@ F: arch/arm/dts/k3-am69-sk-u-boot.dtsi
F: arch/arm/dts/k3-am69-r5-sk.dts F: arch/arm/dts/k3-am69-r5-sk.dts
F: configs/am69_sk_r5_defconfig F: configs/am69_sk_r5_defconfig
F: configs/am69_sk_a72_defconfig F: configs/am69_sk_a72_defconfig
J742S2 EVM BOARD
M: Manorit Chawdhry <m-chawdhry@ti.com>
S: Maintained
F: arch/arm/dts/k3-j784s4-j742s2-ddr.dtsi
F: arch/arm/dts/k3-j742s2-r5-evm.dts
F: arch/arm/dts/k3-j742s2-evm-u-boot.dtsi
F: arch/arm/dts/k3-j742s2-ddr-evm-lp4-4266.dtsi
F: configs/j742s2_evm_r5_defconfig
F: configs/j742s2_evm_a72_defconfig

View File

@@ -20,4 +20,8 @@ bootpart=1:2
bootdir=/boot bootdir=/boot
rd_spec=- rd_spec=-
#if CONFIG_TARGET_J784S4_A72_EVM
rproc_fw_binaries= 2 /lib/firmware/j784s4-main-r5f0_0-fw 3 /lib/firmware/j784s4-main-r5f0_1-fw 4 /lib/firmware/j784s4-main-r5f1_0-fw 5 /lib/firmware/j784s4-main-r5f1_1-fw 6 /lib/firmware/j784s4-main-r5f2_0-fw 7 /lib/firmware/j784s4-main-r5f2_1-fw 8 /lib/firmware/j784s4-c71_0-fw 9 /lib/firmware/j784s4-c71_1-fw 10 /lib/firmware/j784s4-c71_2-fw 11 /lib/firmware/j784s4-c71_3-fw rproc_fw_binaries= 2 /lib/firmware/j784s4-main-r5f0_0-fw 3 /lib/firmware/j784s4-main-r5f0_1-fw 4 /lib/firmware/j784s4-main-r5f1_0-fw 5 /lib/firmware/j784s4-main-r5f1_1-fw 6 /lib/firmware/j784s4-main-r5f2_0-fw 7 /lib/firmware/j784s4-main-r5f2_1-fw 8 /lib/firmware/j784s4-c71_0-fw 9 /lib/firmware/j784s4-c71_1-fw 10 /lib/firmware/j784s4-c71_2-fw 11 /lib/firmware/j784s4-c71_3-fw
#elif CONFIG_TARGET_J742S2_A72_EVM
rproc_fw_binaries= 2 /lib/firmware/j742s2-main-r5f0_0-fw 3 /lib/firmware/j742s2-main-r5f0_1-fw 4 /lib/firmware/j742s2-main-r5f1_0-fw 5 /lib/firmware/j742s2-main-r5f1_1-fw 6 /lib/firmware/j742s2-main-r5f2_0-fw 7 /lib/firmware/j742s2-main-r5f2_1-fw 8 /lib/firmware/j742s2-c71_0-fw 9 /lib/firmware/j742s2-c71_1-fw 10 /lib/firmware/j742s2-c71_2-fw
#endif

View File

@@ -0,0 +1,9 @@
#include <configs/j784s4_evm_a72_defconfig>
CONFIG_ARM=y
CONFIG_ARCH_K3=y
CONFIG_SOC_K3_J784S4=y
CONFIG_TARGET_J742S2_A72_EVM=y
CONFIG_DEFAULT_DEVICE_TREE="ti/k3-j742s2-evm"
CONFIG_SPL_OF_LIST="ti/k3-j742s2-evm"

View File

@@ -0,0 +1,9 @@
#include <configs/j784s4_evm_r5_defconfig>
CONFIG_ARM=y
CONFIG_ARCH_K3=y
CONFIG_SOC_K3_J784S4=y
CONFIG_TARGET_J742S2_R5_EVM=y
CONFIG_DEFAULT_DEVICE_TREE="k3-j742s2-r5-evm"
CONFIG_SPL_OF_LIST="k3-j742s2-r5-evm"

View File

@@ -104,6 +104,10 @@ static const struct soc_attr ti_k3_soc_clk_data[] = {
.family = "J784S4", .family = "J784S4",
.data = &j784s4_clk_platdata, .data = &j784s4_clk_platdata,
}, },
{
.family = "J742S2",
.data = &j784s4_clk_platdata,
},
#endif #endif
{ /* sentinel */ } { /* sentinel */ }
}; };

View File

@@ -116,6 +116,10 @@ static const struct soc_attr ti_k3_soc_pd_data[] = {
.family = "J784S4", .family = "J784S4",
.data = &j784s4_pd_platdata, .data = &j784s4_pd_platdata,
}, },
{
.family = "J742S2",
.data = &j784s4_pd_platdata,
},
#endif #endif
{ /* sentinel */ } { /* sentinel */ }
}; };

View File

@@ -18,8 +18,12 @@ struct soc_ti_k3_plat {
static const char *get_family_string(u32 idreg) static const char *get_family_string(u32 idreg)
{ {
const char *family; const char *family;
u32 jtag_dev_id;
u32 pkg;
u32 soc; u32 soc;
jtag_dev_id = readl(CTRLMMR_WKUP_JTAG_DEVICE_ID);
soc = (idreg & JTAG_ID_PARTNO_MASK) >> JTAG_ID_PARTNO_SHIFT; soc = (idreg & JTAG_ID_PARTNO_MASK) >> JTAG_ID_PARTNO_SHIFT;
switch (soc) { switch (soc) {
@@ -51,8 +55,16 @@ static const char *get_family_string(u32 idreg)
family = "J722S"; family = "J722S";
break; break;
case JTAG_ID_PARTNO_J784S4: case JTAG_ID_PARTNO_J784S4:
family = "J784S4"; {
break; /* Keep default family as J784S4 */
family = "J784S4";
pkg = (jtag_dev_id & JTAG_DEV_J742S2_PKG_MASK) >> JTAG_DEV_J742S2_PKG_SHIFT;
if (pkg == JTAG_ID_PKG_J742S2)
family = "J742S2";
break;
}
default: default:
family = "Unknown Silicon"; family = "Unknown Silicon";
}; };

View File

@@ -522,9 +522,13 @@ def _ProcessTemplates(parent):
def _RemoveTemplates(parent): def _RemoveTemplates(parent):
"""Remove any templates in the binman description """Remove any templates in the binman description
""" """
del_nodes = []
for node in parent.subnodes: for node in parent.subnodes:
if node.name.startswith('template'): if node.name.startswith('template'):
node.Delete() del_nodes.append(node)
for node in del_nodes:
node.Delete()
def PrepareImagesAndDtbs(dtb_fname, select_images, update_fdt, use_expanded, indir): def PrepareImagesAndDtbs(dtb_fname, select_images, update_fdt, use_expanded, indir):
"""Prepare the images to be processed and select the device tree """Prepare the images to be processed and select the device tree

View File

@@ -7990,5 +7990,12 @@ fdt fdtmap Extract the devicetree blob from the fdtmap
"""Test an image with an FIT with multiple FDT images using NAME""" """Test an image with an FIT with multiple FDT images using NAME"""
self.CheckFitFdt('345_fit_fdt_name.dts', use_seq_num=False) self.CheckFitFdt('345_fit_fdt_name.dts', use_seq_num=False)
def testRemoveTemplate(self):
"""Test whether template is removed"""
TestFunctional._MakeInputFile('my-blob.bin', b'blob')
TestFunctional._MakeInputFile('my-blob2.bin', b'other')
self._DoTestFile('346_remove_template.dts',
force_missing_bintools='openssl',)
if __name__ == "__main__": if __name__ == "__main__":
unittest.main() unittest.main()

View File

@@ -0,0 +1,49 @@
// SPDX-License-Identifier: GPL-2.0+
/dts-v1/;
/ {
binman: binman {
multiple-images;
template_1: template-1 {
section {
phandle1: my-blob.bin {
filename = "my-blob.bin";
type = "blob-ext";
};
};
};
template_2: template-2 {
section {
ti-secure {
content = <&phandle2>;
keyfile = "key.pem";
};
phandle2: my-blob.bin {
filename = "my-blob.bin";
type = "blob-ext";
};
};
};
template_3: template-3 {
section {
phandle3: my-blob.bin {
filename = "my-blob.bin";
type = "blob-ext";
};
};
};
file1 {
insert-template = <&template_1>;
};
file2 {
insert-template = <&template_2>;
};
file3 {
insert-template = <&template_3>;
};
};
};