Files
Linux_Drivers/u-boot-2021.10/arch/arm/mach-rmobile/cpu_info-rzg.c
sam.xiang f8fc109960 [uboot] create uboot from github:
repo: https://github.com/u-boot/u-boot
	commit: d80bb749fab53da72c4a0e09b8c2d2aaa3103c91

Change-Id: Ie6434426e1ec15bc08bb1832798e371f3fd5fb29
2023-03-10 20:30:57 +08:00

42 lines
900 B
C

// SPDX-License-Identifier: GPL-2.0
/*
* Copyright (C) 2021 Renesas Electronics Corporation
*
*/
#include <common.h>
#include <linux/libfdt.h>
/* If the firmware passed a device tree, use it for soc identification. */
extern u64 rcar_atf_boot_args[];
/* CPU information table */
static const struct {
char *soc_name;
u8 cpu_name[10];
} tfa_info[] = {
{ "renesas,r8a774a1", "R8A774A1" },
{ "renesas,r8a774b1", "R8A774B1" },
{ "renesas,r8a774c0", "R8A774C0" },
{ "renesas,r8a774e1", "R8A774E1" }
};
const u8 *rzg_get_cpu_name(void)
{
void *atf_fdt_blob = (void *)(rcar_atf_boot_args[1]);
bool ret = false;
int i;
if (fdt_magic(atf_fdt_blob) != FDT_MAGIC)
return NULL;
for (i = 0; i < ARRAY_SIZE(tfa_info); i++) {
if (fdt_node_check_compatible(atf_fdt_blob, 0,
tfa_info[i].soc_name) == 0) {
ret = true;
break;
}
}
return ret ? tfa_info[i].cpu_name : NULL;
}