|
@@ -9,6 +9,7 @@
|
|
#include <asm/system.h>
|
|
#include <asm/system.h>
|
|
#include <asm/armv8/mmu.h>
|
|
#include <asm/armv8/mmu.h>
|
|
#include <asm/io.h>
|
|
#include <asm/io.h>
|
|
|
|
+#include <asm/arch-fsl-lsch3/soc.h>
|
|
#include <asm/arch-fsl-lsch3/immap_lsch3.h>
|
|
#include <asm/arch-fsl-lsch3/immap_lsch3.h>
|
|
#include <fsl_debug_server.h>
|
|
#include <fsl_debug_server.h>
|
|
#include <fsl-mc/fsl_mc.h>
|
|
#include <fsl-mc/fsl_mc.h>
|
|
@@ -22,6 +23,35 @@
|
|
|
|
|
|
DECLARE_GLOBAL_DATA_PTR;
|
|
DECLARE_GLOBAL_DATA_PTR;
|
|
|
|
|
|
|
|
+static struct cpu_type cpu_type_list[] = {
|
|
|
|
+#ifdef CONFIG_LS2085A
|
|
|
|
+ CPU_TYPE_ENTRY(LS2085, LS2085, 8),
|
|
|
|
+ CPU_TYPE_ENTRY(LS2080, LS2080, 8),
|
|
|
|
+ CPU_TYPE_ENTRY(LS2045, LS2045, 4),
|
|
|
|
+#endif
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+void cpu_name(char *name)
|
|
|
|
+{
|
|
|
|
+ struct ccsr_gur __iomem *gur = (void *)(CONFIG_SYS_FSL_GUTS_ADDR);
|
|
|
|
+ unsigned int i, svr, ver;
|
|
|
|
+
|
|
|
|
+ svr = in_le32(&gur->svr);
|
|
|
|
+ ver = SVR_SOC_VER(svr);
|
|
|
|
+
|
|
|
|
+ for (i = 0; i < ARRAY_SIZE(cpu_type_list); i++)
|
|
|
|
+ if ((cpu_type_list[i].soc_ver & SVR_WO_E) == ver) {
|
|
|
|
+ strcpy(name, cpu_type_list[i].name);
|
|
|
|
+
|
|
|
|
+ if (IS_E_PROCESSOR(svr))
|
|
|
|
+ strcat(name, "E");
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (i == ARRAY_SIZE(cpu_type_list))
|
|
|
|
+ strcpy(name, "unknown");
|
|
|
|
+}
|
|
|
|
+
|
|
#ifndef CONFIG_SYS_DCACHE_OFF
|
|
#ifndef CONFIG_SYS_DCACHE_OFF
|
|
/*
|
|
/*
|
|
* To start MMU before DDR is available, we create MMU table in SRAM.
|
|
* To start MMU before DDR is available, we create MMU table in SRAM.
|
|
@@ -380,6 +410,13 @@ int print_cpuinfo(void)
|
|
unsigned int i, core;
|
|
unsigned int i, core;
|
|
u32 type;
|
|
u32 type;
|
|
|
|
|
|
|
|
+ puts("SoC: ");
|
|
|
|
+
|
|
|
|
+ cpu_name(buf);
|
|
|
|
+ printf(" %s (0x%x)\n", buf, in_le32(&gur->svr));
|
|
|
|
+
|
|
|
|
+ memset((u8 *)buf, 0x00, ARRAY_SIZE(buf));
|
|
|
|
+
|
|
get_sys_info(&sysinfo);
|
|
get_sys_info(&sysinfo);
|
|
puts("Clock Configuration:");
|
|
puts("Clock Configuration:");
|
|
for_each_cpu(i, core, cpu_numcores(), cpu_mask()) {
|
|
for_each_cpu(i, core, cpu_numcores(), cpu_mask()) {
|