apq8064: Add support for APQ8064AA

Change-Id: I628fcdbe9c49279b0d12ecc25e241d4e364924dd
diff --git a/platform/msm8960/acpuclock.c b/platform/msm8960/acpuclock.c
index cbe53f7..8e42cfb 100644
--- a/platform/msm8960/acpuclock.c
+++ b/platform/msm8960/acpuclock.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011-2012, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
@@ -246,7 +246,8 @@
 /* Configure crypto engine clock */
 void ce_clock_init(void)
 {
-	if (board_platform_id() != APQ8064)
+	if ((board_platform_id() != APQ8064) || (board_platform_id() != APQ8064AA)
+				|| (board_platform_id() != APQ8064AB))
 	{
 		/* Enable HCLK for CE1 */
 		clk_get_set_enable("ce1_pclk", 0, 1);
diff --git a/platform/msm8960/gpio.c b/platform/msm8960/gpio.c
index 35b0c2f..3bd7738 100755
--- a/platform/msm8960/gpio.c
+++ b/platform/msm8960/gpio.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2011-2012, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are
@@ -81,6 +81,7 @@
 		}
 	}
 	else if((board_platform_id() == APQ8064) ||
+			(board_platform_id() == APQ8064AA) ||
 			(board_platform_id() == APQ8064AB))
 	{
 		switch (id) {
diff --git a/platform/msm_shared/crypto4_eng.c b/platform/msm_shared/crypto4_eng.c
index 2d34470..2c232f8 100644
--- a/platform/msm_shared/crypto4_eng.c
+++ b/platform/msm_shared/crypto4_eng.c
@@ -43,7 +43,8 @@
 void wr_ce(uint32_t val,uint32_t reg)
 {
 
-	if(board_platform_id() != APQ8064)
+	if((board_platform_id() != APQ8064) || (board_platform_id() != APQ8064AA)
+		|| (board_platform_id() != APQ8064AB))
 		writel(val,CRYPTO_ENG_REG(CE1_CRYPTO4_BASE, reg));
 	else
 		writel(val,CRYPTO_ENG_REG(CE3_CRYPTO4_BASE, reg));
@@ -53,7 +54,8 @@
 
 	uint32_t val;
 
-	if(board_platform_id() != APQ8064)
+	if((board_platform_id() != APQ8064) || (board_platform_id() != APQ8064AA)
+		|| (board_platform_id() != APQ8064AB))
 		val = readl(CRYPTO_ENG_REG(CE1_CRYPTO4_BASE, reg));
 	else
         val = readl(CRYPTO_ENG_REG(CE3_CRYPTO4_BASE, reg));
diff --git a/platform/msm_shared/smem.h b/platform/msm_shared/smem.h
index 9c4d5e4..f4b3606 100755
--- a/platform/msm_shared/smem.h
+++ b/platform/msm_shared/smem.h
@@ -2,7 +2,7 @@
  * Copyright (c) 2009, Google Inc.
  * All rights reserved.
  *
- * Copyright (c) 2009-2012, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2009-2013, The Linux Foundation. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -247,6 +247,7 @@
 	APQ8030AB = 157,
 	APQ8030AA = 160,
 	MSM8125   = 167,
+	APQ8064AA = 172, /* aka V2 SLOW_PRIME */
 };
 
 enum platform {
diff --git a/target/msm8960/atags.c b/target/msm8960/atags.c
index c2a3be8..add3f09 100755
--- a/target/msm8960/atags.c
+++ b/target/msm8960/atags.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2009-2012, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2009-2013, The Linux Foundation. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
@@ -145,6 +145,7 @@
 
 	switch (platform_id) {
 		case APQ8064:
+		case APQ8064AA:
 		case APQ8064AB:
 			if(baseband == BASEBAND_MDM)
 			{
diff --git a/target/msm8960/init.c b/target/msm8960/init.c
index 9fed389..99a79d4 100755
--- a/target/msm8960/init.c
+++ b/target/msm8960/init.c
@@ -1,7 +1,7 @@
 /*
  * Copyright (c) 2009, Google Inc.
  * All rights reserved.
- * Copyright (c) 2009-2012, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2009-2013, The Linux Foundation. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -131,6 +131,7 @@
 		break;
 	case APQ8064:
 	case MPQ8064:
+	case APQ8064AA:
 	case APQ8064AB:
 		apq8064_keypad_init();
 		break;
@@ -148,7 +149,8 @@
 		(platform_id == APQ8060AB) || (platform_id == MSM8260AB) ||
 		(platform_id == MSM8660AB) || (platform_id == MSM8660A) ||
 		(platform_id == MSM8260A) || (platform_id == APQ8060A) ||
-		(platform_id == APQ8064))
+		(platform_id == APQ8064) || (platform_id == APQ8064AA) ||
+		(platform_id == APQ8064AB))
 		/* Enable Hardware CE */
 		platform_ce_type = CRYPTO_ENGINE_TYPE_HW;
 
@@ -394,7 +396,8 @@
 		default:
 			target_id = LINUX_MACHTYPE_8064_MPQ_CDP;
 		}
-	} else if ((platform == APQ8064) || (platform == APQ8064AB)) {
+	} else if ((platform == APQ8064) || (platform == APQ8064AA)
+					 || (platform == APQ8064AB)) {
 		switch (platform_hw) {
 		case HW_PLATFORM_SURF:
 			target_id = LINUX_MACHTYPE_8064_CDP;
@@ -437,6 +440,7 @@
 		switch(platform) {
 		case APQ8060:
 		case APQ8064:
+		case APQ8064AA:
 		case APQ8064AB:
 		case APQ8030AB:
 		case MPQ8064: