mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-30 00:21:06 +00:00
arm: mach-k3: j721e: Add detection for j721e
Add an api soc_is_j721e(), and use it to enable certain functionality that is available only on j721e. This detection is needed when DT is not available. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Suman Anna <s-anna@ti.com>
This commit is contained in:
parent
dc57a554a5
commit
2a18be77de
5 changed files with 18 additions and 0 deletions
|
@ -345,6 +345,16 @@ int print_cpuinfo(void)
|
|||
}
|
||||
#endif
|
||||
|
||||
bool soc_is_j721e(void)
|
||||
{
|
||||
u32 soc;
|
||||
|
||||
soc = (readl(CTRLMMR_WKUP_JTAG_ID) &
|
||||
JTAG_ID_PARTNO_MASK) >> JTAG_ID_PARTNO_SHIFT;
|
||||
|
||||
return soc == J721E;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_ARM64
|
||||
void board_prep_linux(bootm_headers_t *images)
|
||||
{
|
||||
|
|
|
@ -8,6 +8,8 @@
|
|||
|
||||
#include <asm/armv7_mpu.h>
|
||||
|
||||
#define J721E 0xbb64
|
||||
|
||||
struct fwl_data {
|
||||
const char *name;
|
||||
u16 fwl_id;
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
#endif
|
||||
|
||||
/* Assuming these addresses and definitions stay common across K3 devices */
|
||||
#define CTRLMMR_WKUP_JTAG_ID 0x43000014
|
||||
#define JTAG_ID_VARIANT_SHIFT 28
|
||||
#define JTAG_ID_VARIANT_MASK (0xf << 28)
|
||||
#define JTAG_ID_PARTNO_SHIFT 12
|
||||
|
|
|
@ -16,4 +16,6 @@ int do_board_detect(void);
|
|||
void release_resources_for_core_shutdown(void);
|
||||
int fdt_disable_node(void *blob, char *node_path);
|
||||
|
||||
bool soc_is_j721e(void);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -361,6 +361,9 @@ void start_non_linux_remote_cores(void)
|
|||
int size = 0, ret;
|
||||
u32 loadaddr = 0;
|
||||
|
||||
if (!soc_is_j721e())
|
||||
return;
|
||||
|
||||
size = load_firmware("name_mainr5f0_0fw", "addr_mainr5f0_0load",
|
||||
&loadaddr);
|
||||
if (size <= 0)
|
||||
|
|
Loading…
Reference in a new issue