ODROID-COMMON:Add device information to /proc/cpuinfo
Change-Id: I1148522b11733bfa05a1f74ecb756cf78a0b4fe4
diff --git a/arch/arm64/kernel/cpuinfo.c b/arch/arm64/kernel/cpuinfo.c
index 798c0f2..dcc9831 100644
--- a/arch/arm64/kernel/cpuinfo.c
+++ b/arch/arm64/kernel/cpuinfo.c
@@ -171,8 +171,9 @@
seq_printf(m, "%02x", chipid[i]);
seq_puts(m, "\n");
#endif
-
- seq_printf(m, "Hardware\t: %s\n\n", "Amlogic");
+ system_rev = 0x0400;
+ seq_printf(m, "Hardware\t: %s\n", machine_name);
+ seq_printf(m, "Revision\t: %04x\n\n", system_rev);
return 0;
}
diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c
index b522209..552d0eb 100644
--- a/arch/arm64/kernel/setup.c
+++ b/arch/arm64/kernel/setup.c
@@ -66,6 +66,12 @@
phys_addr_t __fdt_pointer __initdata;
+const char *machine_name;
+EXPORT_SYMBOL(machine_name);
+
+unsigned int system_rev;
+EXPORT_SYMBOL(system_rev);
+
/*
* Standard memory resources
*/
@@ -180,6 +186,7 @@
static void __init setup_machine_fdt(phys_addr_t dt_phys)
{
void *dt_virt = fixmap_remap_fdt(dt_phys);
+ const char *name;
if (!dt_virt || !early_init_dt_scan(dt_virt)) {
pr_crit("\n"
@@ -192,7 +199,13 @@
cpu_relax();
}
- dump_stack_set_arch_desc("%s (DT)", of_flat_dt_get_machine_name());
+ name = of_flat_dt_get_machine_name();
+ if (!name)
+ return;
+ machine_name = name;
+
+ pr_info("Machine model: %s\n", name);
+ dump_stack_set_arch_desc("%s (DT)", name);
}
static void __init request_standard_resources(void)
diff --git a/include/linux/amlogic/cpu_version.h b/include/linux/amlogic/cpu_version.h
index 4a19070..3aef138 100644
--- a/include/linux/amlogic/cpu_version.h
+++ b/include/linux/amlogic/cpu_version.h
@@ -40,6 +40,9 @@
#define MESON_CPU_VERSION_LVL_MISC 3
#define MESON_CPU_VERSION_LVL_MAX MESON_CPU_VERSION_LVL_MISC
+extern const char *machine_name;
+extern unsigned int system_rev;
+
#define CHIPID_LEN 16
void cpuinfo_get_chipid(unsigned char *cid, unsigned int size);
int meson_cpu_version_init(void);