Merge "msm8960: Set MMC clk to 144KHz during initialization."
diff --git a/platform/msm_shared/qtimer.c b/platform/msm_shared/qtimer.c
index 8af01f4..bc77f6f 100755
--- a/platform/msm_shared/qtimer.c
+++ b/platform/msm_shared/qtimer.c
@@ -47,15 +47,16 @@
 static time_t timer_interval;
 static unsigned int timer_type = PLATFORM_TIMER_TYPE_PHYSICAL;
 static volatile uint32_t ticks;
+static uint32_t tick_count;
 
 static enum handler_return timer_irq(void *arg)
 {
 	ticks += timer_interval;
 
 	if (timer_type == PLATFORM_TIMER_TYPE_VIRTUAL)
-		__asm__("mcr p15, 0, %0, c14, c3, 0"::"r"(timer_interval));
+		__asm__("mcr p15, 0, %0, c14, c3, 0"::"r"(tick_count));
 	else if (timer_type == PLATFORM_TIMER_TYPE_PHYSICAL)
-		__asm__("mcr p15, 0, %0, c14, c2, 0" : :"r" (timer_interval));
+		__asm__("mcr p15, 0, %0, c14, c2, 0" : :"r" (tick_count));
 
 	return timer_callback(timer_arg, ticks);
 }
@@ -108,7 +109,8 @@
 {
 	uint32_t ppi_num;
 	unsigned long ctrl;
-	uint32_t tick_count = interval * platform_tick_rate() / 1000;
+
+	tick_count = interval * platform_tick_rate() / 1000;
 
 	enter_critical_section();
 
diff --git a/platform/msm_shared/smem.h b/platform/msm_shared/smem.h
index 97f01e6..a66af59 100644
--- a/platform/msm_shared/smem.h
+++ b/platform/msm_shared/smem.h
@@ -186,7 +186,8 @@
 	MSM8260A = 123,
 	APQ8060A = 124,
 	MSM8225 = 127,
-	MSM8625 = 129
+	MSM8625 = 129,
+	MPQ8064 = 130,
 };
 
 enum platform {
@@ -199,6 +200,8 @@
 	HW_PLATFORM_MTP = 8,
 	HW_PLATFORM_LIQUID = 9,
 	HW_PLATFORM_DRAGON = 10,
+	HW_PLATFORM_HRD = 13,
+	HW_PLATFORM_DTV = 14,
 	HW_PLATFORM_32BITS = 0x7FFFFFFF
 };
 
diff --git a/target/msm8960/init.c b/target/msm8960/init.c
index d39022e..4618550 100644
--- a/target/msm8960/init.c
+++ b/target/msm8960/init.c
@@ -71,6 +71,8 @@
 #define LINUX_MACHTYPE_8064_CDP     3948
 #define LINUX_MACHTYPE_8064_MTP     3949
 #define LINUX_MACHTYPE_8064_LIQUID  3951
+#define LINUX_MACHTYPE_8064_HRD     3994
+#define LINUX_MACHTYPE_8064_DTV     3995
 
 extern void dmb(void);
 extern void msm8960_keypad_init(void);
@@ -266,7 +268,7 @@
 		default:
 			target_id = LINUX_MACHTYPE_8627_CDP;
 		}
-	} else if (platform_id == APQ8064) {
+	} else if ((platform_id == APQ8064) || (platform_id == MPQ8064)) {
 		switch (id) {
 		case HW_PLATFORM_SURF:
 			target_id = LINUX_MACHTYPE_8064_CDP;
@@ -277,6 +279,12 @@
 		case HW_PLATFORM_LIQUID:
 			target_id = LINUX_MACHTYPE_8064_LIQUID;
 			break;
+		case HW_PLATFORM_HRD:
+			target_id = LINUX_MACHTYPE_8064_HRD;
+			break;
+		case HW_PLATFORM_DTV:
+			target_id = LINUX_MACHTYPE_8064_DTV;
+			break;
 		default:
 			target_id = LINUX_MACHTYPE_8064_CDP;
 		}