copper: load device tree blob

Update LK to find the device tree from the device tree
table present in the boot.img.

Change-Id: I097908c20a6db954e92965df748b1061ccba17dd
diff --git a/platform/copper/platform.c b/platform/copper/platform.c
index b8c7279..397bb84 100644
--- a/platform/copper/platform.c
+++ b/platform/copper/platform.c
@@ -38,6 +38,7 @@
 
 void platform_early_init(void)
 {
+	board_init();
 	platform_clock_init();
 	qgic_init();
 	qtimer_init();
diff --git a/platform/msm_shared/board.c b/platform/msm_shared/board.c
index fdc5ed0..5bc9996 100644
--- a/platform/msm_shared/board.c
+++ b/platform/msm_shared/board.c
@@ -31,7 +31,6 @@
 #include <board.h>
 #include <smem.h>
 #include <baseband.h>
-#include <board.h>
 
 static struct board_data board = {UNKNOWN,
 	HW_PLATFORM_UNKNOWN,
@@ -109,3 +108,8 @@
 {
 	return board.baseband;
 }
+
+uint32_t board_hardware_id()
+{
+	return board.platform_hw;
+}
diff --git a/platform/msm_shared/include/board.h b/platform/msm_shared/include/board.h
index 40c0897..9aca934 100644
--- a/platform/msm_shared/include/board.h
+++ b/platform/msm_shared/include/board.h
@@ -30,7 +30,7 @@
 #ifndef __BOARD_H
 #define __BOARD_H
 
-#include <target/board.h>
+#define LINUX_MACHTYPE_UNKNOWN 0
 
 struct board_data {
 	uint32_t platform;
@@ -46,5 +46,6 @@
 uint32_t board_platform_id();
 uint32_t board_target_id();
 uint32_t board_baseband();
+uint32_t board_hardware_id();
 
 #endif
diff --git a/platform/msm_shared/rules.mk b/platform/msm_shared/rules.mk
index a7f6c93..5df9e11 100644
--- a/platform/msm_shared/rules.mk
+++ b/platform/msm_shared/rules.mk
@@ -66,6 +66,7 @@
 			$(LOCAL_DIR)/clock_pll.o \
 			$(LOCAL_DIR)/clock_lib2.o \
 			$(LOCAL_DIR)/uart_dm.o \
+			$(LOCAL_DIR)/board.o \
 			$(LOCAL_DIR)/spmi.o
 endif
 
diff --git a/platform/msm_shared/smem.h b/platform/msm_shared/smem.h
index f36efe8..0d6069b 100644
--- a/platform/msm_shared/smem.h
+++ b/platform/msm_shared/smem.h
@@ -217,12 +217,14 @@
 	MSM8660A = 122,
 	MSM8260A = 123,
 	APQ8060A = 124,
+    MSM8974 = 126,
 	MSM8225 = 127,
 	MSM8625 = 129,
 	MPQ8064 = 130,
 	MSM7225AB = 131,
 	MSM7625AB = 132,
 	ESM7225AB = 133,
+	MDM9625   = 134,
 	MSM7125A  = 135,
 	MSM7127A  = 136,
 	MSM8930AA = 142,
@@ -242,7 +244,9 @@
 	HW_PLATFORM_DRAGON = 10,
 	HW_PLATFORM_HRD = 13,
 	HW_PLATFORM_DTV = 14,
-	HW_PLATFORM_32BITS = 0x7FFFFFFF
+    HW_PLATFORM_RUMI   = 15,
+    HW_PLATFORM_VIRTIO = 16,
+	HW_PLATFORM_32BITS = 0x7FFFFFFF,
 };
 
 enum platform_subtype {