瀏覽代碼

[PATCH] powerpc: iseries: Add /system-id, /model and /compatible

Add /system-id, /model and /compatible to the iSeries device tree.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Michael Ellerman 19 年之前
父節點
當前提交
289f1c74a9
共有 1 個文件被更改,包括 20 次插入0 次删除
  1. 20 0
      arch/powerpc/platforms/iseries/setup.c

+ 20 - 0
arch/powerpc/platforms/iseries/setup.c

@@ -50,6 +50,7 @@
 #include <asm/iseries/hv_call_xm.h>
 #include <asm/iseries/hv_call_xm.h>
 #include <asm/iseries/it_lp_queue.h>
 #include <asm/iseries/it_lp_queue.h>
 #include <asm/iseries/mf.h>
 #include <asm/iseries/mf.h>
+#include <asm/iseries/it_exp_vpd_panel.h>
 #include <asm/iseries/hv_lp_event.h>
 #include <asm/iseries/hv_lp_event.h>
 #include <asm/iseries/lpar_map.h>
 #include <asm/iseries/lpar_map.h>
 #include <asm/udbg.h>
 #include <asm/udbg.h>
@@ -888,6 +889,24 @@ void dt_cpus(struct iseries_flat_dt *dt)
 	dt_end_node(dt);
 	dt_end_node(dt);
 }
 }
 
 
+void dt_model(struct iseries_flat_dt *dt)
+{
+	char buf[16] = "IBM,";
+
+	/* "IBM," + mfgId[2:3] + systemSerial[1:5] */
+	strne2a(buf + 4, xItExtVpdPanel.mfgID + 2, 2);
+	strne2a(buf + 6, xItExtVpdPanel.systemSerial + 1, 5);
+	buf[11] = '\0';
+	dt_prop_str(dt, "system-id", buf);
+
+	/* "IBM," + machineType[0:4] */
+	strne2a(buf + 4, xItExtVpdPanel.machineType, 4);
+	buf[8] = '\0';
+	dt_prop_str(dt, "model", buf);
+
+	dt_prop_str(dt, "compatible", "IBM,iSeries");
+}
+
 void build_flat_dt(struct iseries_flat_dt *dt, unsigned long phys_mem_size)
 void build_flat_dt(struct iseries_flat_dt *dt, unsigned long phys_mem_size)
 {
 {
 	u64 tmp[2];
 	u64 tmp[2];
@@ -898,6 +917,7 @@ void build_flat_dt(struct iseries_flat_dt *dt, unsigned long phys_mem_size)
 
 
 	dt_prop_u32(dt, "#address-cells", 2);
 	dt_prop_u32(dt, "#address-cells", 2);
 	dt_prop_u32(dt, "#size-cells", 2);
 	dt_prop_u32(dt, "#size-cells", 2);
+	dt_model(dt);
 
 
 	/* /memory */
 	/* /memory */
 	dt_start_node(dt, "memory@0");
 	dt_start_node(dt, "memory@0");