msm: acpuclock-8974: Add support for Speed Bin 2 (2150.4MHz) parts

Add the 7 PVS bin tables for the new speed bin.

Change-Id: I68e71ba218ddd1892fc3f60080fd7e5b05461ca8
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
diff --git a/arch/arm/mach-msm/acpuclock-8974.c b/arch/arm/mach-msm/acpuclock-8974.c
index 370be84..c960516 100644
--- a/arch/arm/mach-msm/acpuclock-8974.c
+++ b/arch/arm/mach-msm/acpuclock-8974.c
@@ -470,6 +470,216 @@
 	{ 0, { 0 } }
 };
 
+static struct acpu_level acpu_freq_tbl_2p2g_pvs0[] __initdata = {
+	{ 1, {  300000, PLL_0, 0,   0 }, L2(0),   800000,  400000 },
+	{ 0, {  345600, HFPLL, 2,  36 }, L2(3),   800000, 3200000 },
+	{ 1, {  422400, HFPLL, 2,  44 }, L2(3),   805000, 3200000 },
+	{ 0, {  499200, HFPLL, 2,  52 }, L2(6),   815000, 3200000 },
+	{ 1, {  576000, HFPLL, 1,  30 }, L2(6),   825000, 3200000 },
+	{ 1, {  652800, HFPLL, 1,  34 }, L2(7),   835000, 3200000 },
+	{ 1, {  729600, HFPLL, 1,  38 }, L2(7),   845000, 3200000 },
+	{ 0, {  806400, HFPLL, 1,  42 }, L2(10),  855000, 3200000 },
+	{ 1, {  883200, HFPLL, 1,  46 }, L2(10),  865000, 3200000 },
+	{ 0, {  960000, HFPLL, 1,  50 }, L2(10),  875000, 3200000 },
+	{ 1, { 1036800, HFPLL, 1,  54 }, L2(10),  890000, 3200000 },
+	{ 0, { 1113600, HFPLL, 1,  58 }, L2(12),  900000, 3200000 },
+	{ 0, { 1190400, HFPLL, 1,  62 }, L2(12),  915000, 3200000 },
+	{ 0, { 1267200, HFPLL, 1,  66 }, L2(12),  925000, 3200000 },
+	{ 1, { 1344000, HFPLL, 1,  70 }, L2(12),  940000, 3200000 },
+	{ 0, { 1420800, HFPLL, 1,  74 }, L2(16),  950000, 3200000 },
+	{ 0, { 1497600, HFPLL, 1,  78 }, L2(16),  965000, 3200000 },
+	{ 0, { 1574400, HFPLL, 1,  82 }, L2(16),  980000, 3200000 },
+	{ 0, { 1651200, HFPLL, 1,  86 }, L2(16),  995000, 3200000 },
+	{ 1, { 1728000, HFPLL, 1,  90 }, L2(16), 1010000, 3200000 },
+	{ 0, { 1804800, HFPLL, 1,  94 }, L2(19), 1025000, 3200000 },
+	{ 0, { 1881600, HFPLL, 1,  98 }, L2(19), 1040000, 3200000 },
+	{ 0, { 1958400, HFPLL, 1, 102 }, L2(19), 1055000, 3200000 },
+	{ 1, { 2035200, HFPLL, 1, 106 }, L2(19), 1070000, 3200000 },
+	{ 0, { 2112000, HFPLL, 1, 110 }, L2(19), 1085000, 3200000 },
+	{ 1, { 2150400, HFPLL, 1, 112 }, L2(19), 1100000, 3200000 },
+	{ 0, { 0 } }
+};
+
+static struct acpu_level acpu_freq_tbl_2p2g_pvs1[] __initdata = {
+	{ 1, {  300000, PLL_0, 0,   0 }, L2(0),   800000,  400000 },
+	{ 0, {  345600, HFPLL, 2,  36 }, L2(3),   800000, 3200000 },
+	{ 1, {  422400, HFPLL, 2,  44 }, L2(3),   800000, 3200000 },
+	{ 0, {  499200, HFPLL, 2,  52 }, L2(6),   800000, 3200000 },
+	{ 1, {  576000, HFPLL, 1,  30 }, L2(6),   810000, 3200000 },
+	{ 1, {  652800, HFPLL, 1,  34 }, L2(7),   820000, 3200000 },
+	{ 1, {  729600, HFPLL, 1,  38 }, L2(7),   830000, 3200000 },
+	{ 0, {  806400, HFPLL, 1,  42 }, L2(10),  840000, 3200000 },
+	{ 1, {  883200, HFPLL, 1,  46 }, L2(10),  850000, 3200000 },
+	{ 0, {  960000, HFPLL, 1,  50 }, L2(10),  860000, 3200000 },
+	{ 1, { 1036800, HFPLL, 1,  54 }, L2(10),  875000, 3200000 },
+	{ 0, { 1113600, HFPLL, 1,  58 }, L2(12),  885000, 3200000 },
+	{ 0, { 1190400, HFPLL, 1,  62 }, L2(12),  895000, 3200000 },
+	{ 0, { 1267200, HFPLL, 1,  66 }, L2(12),  910000, 3200000 },
+	{ 1, { 1344000, HFPLL, 1,  70 }, L2(12),  920000, 3200000 },
+	{ 0, { 1420800, HFPLL, 1,  74 }, L2(16),  930000, 3200000 },
+	{ 0, { 1497600, HFPLL, 1,  78 }, L2(16),  945000, 3200000 },
+	{ 0, { 1574400, HFPLL, 1,  82 }, L2(16),  960000, 3200000 },
+	{ 0, { 1651200, HFPLL, 1,  86 }, L2(16),  975000, 3200000 },
+	{ 1, { 1728000, HFPLL, 1,  90 }, L2(16),  990000, 3200000 },
+	{ 0, { 1804800, HFPLL, 1,  94 }, L2(19), 1005000, 3200000 },
+	{ 0, { 1881600, HFPLL, 1,  98 }, L2(19), 1020000, 3200000 },
+	{ 0, { 1958400, HFPLL, 1, 102 }, L2(19), 1030000, 3200000 },
+	{ 1, { 2035200, HFPLL, 1, 106 }, L2(19), 1045000, 3200000 },
+	{ 0, { 2112000, HFPLL, 1, 110 }, L2(19), 1060000, 3200000 },
+	{ 1, { 2150400, HFPLL, 1, 112 }, L2(19), 1075000, 3200000 },
+	{ 0, { 0 } }
+};
+
+static struct acpu_level acpu_freq_tbl_2p2g_pvs2[] __initdata = {
+	{ 1, {  300000, PLL_0, 0,   0 }, L2(0),   775000,  400000 },
+	{ 0, {  345600, HFPLL, 2,  36 }, L2(3),   775000, 3200000 },
+	{ 1, {  422400, HFPLL, 2,  44 }, L2(3),   775000, 3200000 },
+	{ 0, {  499200, HFPLL, 2,  52 }, L2(6),   785000, 3200000 },
+	{ 1, {  576000, HFPLL, 1,  30 }, L2(6),   795000, 3200000 },
+	{ 1, {  652800, HFPLL, 1,  34 }, L2(7),   805000, 3200000 },
+	{ 1, {  729600, HFPLL, 1,  38 }, L2(7),   815000, 3200000 },
+	{ 0, {  806400, HFPLL, 1,  42 }, L2(10),  825000, 3200000 },
+	{ 1, {  883200, HFPLL, 1,  46 }, L2(10),  835000, 3200000 },
+	{ 0, {  960000, HFPLL, 1,  50 }, L2(10),  845000, 3200000 },
+	{ 1, { 1036800, HFPLL, 1,  54 }, L2(10),  855000, 3200000 },
+	{ 0, { 1113600, HFPLL, 1,  58 }, L2(12),  865000, 3200000 },
+	{ 0, { 1190400, HFPLL, 1,  62 }, L2(12),  875000, 3200000 },
+	{ 0, { 1267200, HFPLL, 1,  66 }, L2(12),  890000, 3200000 },
+	{ 1, { 1344000, HFPLL, 1,  70 }, L2(12),  900000, 3200000 },
+	{ 0, { 1420800, HFPLL, 1,  74 }, L2(16),  910000, 3200000 },
+	{ 0, { 1497600, HFPLL, 1,  78 }, L2(16),  925000, 3200000 },
+	{ 0, { 1574400, HFPLL, 1,  82 }, L2(16),  940000, 3200000 },
+	{ 0, { 1651200, HFPLL, 1,  86 }, L2(16),  955000, 3200000 },
+	{ 1, { 1728000, HFPLL, 1,  90 }, L2(16),  970000, 3200000 },
+	{ 0, { 1804800, HFPLL, 1,  94 }, L2(19),  980000, 3200000 },
+	{ 0, { 1881600, HFPLL, 1,  98 }, L2(19),  995000, 3200000 },
+	{ 0, { 1958400, HFPLL, 1, 102 }, L2(19), 1005000, 3200000 },
+	{ 1, { 2035200, HFPLL, 1, 106 }, L2(19), 1020000, 3200000 },
+	{ 0, { 2112000, HFPLL, 1, 110 }, L2(19), 1035000, 3200000 },
+	{ 1, { 2150400, HFPLL, 1, 112 }, L2(19), 1050000, 3200000 },
+	{ 0, { 0 } }
+};
+
+static struct acpu_level acpu_freq_tbl_2p2g_pvs3[] __initdata = {
+	{ 1, {  300000, PLL_0, 0,   0 }, L2(0),   775000,  400000 },
+	{ 0, {  345600, HFPLL, 2,  36 }, L2(3),   775000, 3200000 },
+	{ 1, {  422400, HFPLL, 2,  44 }, L2(3),   775000, 3200000 },
+	{ 0, {  499200, HFPLL, 2,  52 }, L2(6),   775000, 3200000 },
+	{ 1, {  576000, HFPLL, 1,  30 }, L2(6),   780000, 3200000 },
+	{ 1, {  652800, HFPLL, 1,  34 }, L2(7),   790000, 3200000 },
+	{ 1, {  729600, HFPLL, 1,  38 }, L2(7),   800000, 3200000 },
+	{ 0, {  806400, HFPLL, 1,  42 }, L2(10),  810000, 3200000 },
+	{ 1, {  883200, HFPLL, 1,  46 }, L2(10),  820000, 3200000 },
+	{ 0, {  960000, HFPLL, 1,  50 }, L2(10),  830000, 3200000 },
+	{ 1, { 1036800, HFPLL, 1,  54 }, L2(10),  840000, 3200000 },
+	{ 0, { 1113600, HFPLL, 1,  58 }, L2(12),  850000, 3200000 },
+	{ 0, { 1190400, HFPLL, 1,  62 }, L2(12),  860000, 3200000 },
+	{ 0, { 1267200, HFPLL, 1,  66 }, L2(12),  875000, 3200000 },
+	{ 1, { 1344000, HFPLL, 1,  70 }, L2(12),  885000, 3200000 },
+	{ 0, { 1420800, HFPLL, 1,  74 }, L2(16),  895000, 3200000 },
+	{ 0, { 1497600, HFPLL, 1,  78 }, L2(16),  910000, 3200000 },
+	{ 0, { 1574400, HFPLL, 1,  82 }, L2(16),  925000, 3200000 },
+	{ 0, { 1651200, HFPLL, 1,  86 }, L2(16),  935000, 3200000 },
+	{ 1, { 1728000, HFPLL, 1,  90 }, L2(16),  950000, 3200000 },
+	{ 0, { 1804800, HFPLL, 1,  94 }, L2(19),  960000, 3200000 },
+	{ 0, { 1881600, HFPLL, 1,  98 }, L2(19),  970000, 3200000 },
+	{ 0, { 1958400, HFPLL, 1, 102 }, L2(19),  985000, 3200000 },
+	{ 1, { 2035200, HFPLL, 1, 106 }, L2(19),  995000, 3200000 },
+	{ 0, { 2112000, HFPLL, 1, 110 }, L2(19), 1010000, 3200000 },
+	{ 1, { 2150400, HFPLL, 1, 112 }, L2(19), 1025000, 3200000 },
+	{ 0, { 0 } }
+};
+
+static struct acpu_level acpu_freq_tbl_2p2g_pvs4[] __initdata = {
+	{ 1, {  300000, PLL_0, 0,   0 }, L2(0),   775000,  400000 },
+	{ 0, {  345600, HFPLL, 2,  36 }, L2(3),   775000, 3200000 },
+	{ 1, {  422400, HFPLL, 2,  44 }, L2(3),   775000, 3200000 },
+	{ 0, {  499200, HFPLL, 2,  52 }, L2(6),   775000, 3200000 },
+	{ 1, {  576000, HFPLL, 1,  30 }, L2(6),   775000, 3200000 },
+	{ 1, {  652800, HFPLL, 1,  34 }, L2(7),   780000, 3200000 },
+	{ 1, {  729600, HFPLL, 1,  38 }, L2(7),   790000, 3200000 },
+	{ 0, {  806400, HFPLL, 1,  42 }, L2(10),  800000, 3200000 },
+	{ 1, {  883200, HFPLL, 1,  46 }, L2(10),  810000, 3200000 },
+	{ 0, {  960000, HFPLL, 1,  50 }, L2(10),  820000, 3200000 },
+	{ 1, { 1036800, HFPLL, 1,  54 }, L2(10),  830000, 3200000 },
+	{ 0, { 1113600, HFPLL, 1,  58 }, L2(12),  840000, 3200000 },
+	{ 0, { 1190400, HFPLL, 1,  62 }, L2(12),  850000, 3200000 },
+	{ 0, { 1267200, HFPLL, 1,  66 }, L2(12),  860000, 3200000 },
+	{ 1, { 1344000, HFPLL, 1,  70 }, L2(12),  870000, 3200000 },
+	{ 0, { 1420800, HFPLL, 1,  74 }, L2(16),  880000, 3200000 },
+	{ 0, { 1497600, HFPLL, 1,  78 }, L2(16),  895000, 3200000 },
+	{ 0, { 1574400, HFPLL, 1,  82 }, L2(16),  910000, 3200000 },
+	{ 0, { 1651200, HFPLL, 1,  86 }, L2(16),  920000, 3200000 },
+	{ 1, { 1728000, HFPLL, 1,  90 }, L2(16),  930000, 3200000 },
+	{ 0, { 1804800, HFPLL, 1,  94 }, L2(19),  940000, 3200000 },
+	{ 0, { 1881600, HFPLL, 1,  98 }, L2(19),  950000, 3200000 },
+	{ 0, { 1958400, HFPLL, 1, 102 }, L2(19),  960000, 3200000 },
+	{ 1, { 2035200, HFPLL, 1, 106 }, L2(19),  975000, 3200000 },
+	{ 0, { 2112000, HFPLL, 1, 110 }, L2(19),  985000, 3200000 },
+	{ 1, { 2150400, HFPLL, 1, 112 }, L2(19), 1000000, 3200000 },
+	{ 0, { 0 } }
+};
+
+static struct acpu_level acpu_freq_tbl_2p2g_pvs5[] __initdata = {
+	{ 1, {  300000, PLL_0, 0,   0 }, L2(0),   750000,  400000 },
+	{ 0, {  345600, HFPLL, 2,  36 }, L2(3),   750000, 3200000 },
+	{ 1, {  422400, HFPLL, 2,  44 }, L2(3),   750000, 3200000 },
+	{ 0, {  499200, HFPLL, 2,  52 }, L2(6),   750000, 3200000 },
+	{ 1, {  576000, HFPLL, 1,  30 }, L2(6),   760000, 3200000 },
+	{ 1, {  652800, HFPLL, 1,  34 }, L2(7),   770000, 3200000 },
+	{ 1, {  729600, HFPLL, 1,  38 }, L2(7),   780000, 3200000 },
+	{ 0, {  806400, HFPLL, 1,  42 }, L2(10),  790000, 3200000 },
+	{ 1, {  883200, HFPLL, 1,  46 }, L2(10),  800000, 3200000 },
+	{ 0, {  960000, HFPLL, 1,  50 }, L2(10),  810000, 3200000 },
+	{ 1, { 1036800, HFPLL, 1,  54 }, L2(10),  820000, 3200000 },
+	{ 0, { 1113600, HFPLL, 1,  58 }, L2(12),  830000, 3200000 },
+	{ 0, { 1190400, HFPLL, 1,  62 }, L2(12),  840000, 3200000 },
+	{ 0, { 1267200, HFPLL, 1,  66 }, L2(12),  850000, 3200000 },
+	{ 1, { 1344000, HFPLL, 1,  70 }, L2(12),  860000, 3200000 },
+	{ 0, { 1420800, HFPLL, 1,  74 }, L2(16),  870000, 3200000 },
+	{ 0, { 1497600, HFPLL, 1,  78 }, L2(16),  880000, 3200000 },
+	{ 0, { 1574400, HFPLL, 1,  82 }, L2(16),  890000, 3200000 },
+	{ 0, { 1651200, HFPLL, 1,  86 }, L2(16),  900000, 3200000 },
+	{ 1, { 1728000, HFPLL, 1,  90 }, L2(16),  910000, 3200000 },
+	{ 0, { 1804800, HFPLL, 1,  94 }, L2(19),  920000, 3200000 },
+	{ 0, { 1881600, HFPLL, 1,  98 }, L2(19),  930000, 3200000 },
+	{ 0, { 1958400, HFPLL, 1, 102 }, L2(19),  940000, 3200000 },
+	{ 1, { 2035200, HFPLL, 1, 106 }, L2(19),  955000, 3200000 },
+	{ 0, { 2112000, HFPLL, 1, 110 }, L2(19),  965000, 3200000 },
+	{ 1, { 2150400, HFPLL, 1, 112 }, L2(19),  975000, 3200000 },
+	{ 0, { 0 } }
+};
+
+static struct acpu_level acpu_freq_tbl_2p2g_pvs6[] __initdata = {
+	{ 1, {  300000, PLL_0, 0,   0 }, L2(0),   75000,  400000 },
+	{ 0, {  345600, HFPLL, 2,  36 }, L2(3),   75000, 3200000 },
+	{ 1, {  422400, HFPLL, 2,  44 }, L2(3),   75000, 3200000 },
+	{ 0, {  499200, HFPLL, 2,  52 }, L2(6),   75000, 3200000 },
+	{ 1, {  576000, HFPLL, 1,  30 }, L2(6),   75000, 3200000 },
+	{ 1, {  652800, HFPLL, 1,  34 }, L2(7),   76000, 3200000 },
+	{ 1, {  729600, HFPLL, 1,  38 }, L2(7),   77000, 3200000 },
+	{ 0, {  806400, HFPLL, 1,  42 }, L2(10),  78000, 3200000 },
+	{ 1, {  883200, HFPLL, 1,  46 }, L2(10),  79000, 3200000 },
+	{ 0, {  960000, HFPLL, 1,  50 }, L2(10),  80000, 3200000 },
+	{ 1, { 1036800, HFPLL, 1,  54 }, L2(10),  81000, 3200000 },
+	{ 0, { 1113600, HFPLL, 1,  58 }, L2(12),  82000, 3200000 },
+	{ 0, { 1190400, HFPLL, 1,  62 }, L2(12),  83000, 3200000 },
+	{ 0, { 1267200, HFPLL, 1,  66 }, L2(12),  84000, 3200000 },
+	{ 1, { 1344000, HFPLL, 1,  70 }, L2(12),  85000, 3200000 },
+	{ 0, { 1420800, HFPLL, 1,  74 }, L2(16),  86000, 3200000 },
+	{ 0, { 1497600, HFPLL, 1,  78 }, L2(16),  87000, 3200000 },
+	{ 0, { 1574400, HFPLL, 1,  82 }, L2(16),  87500, 3200000 },
+	{ 0, { 1651200, HFPLL, 1,  86 }, L2(16),  88500, 3200000 },
+	{ 1, { 1728000, HFPLL, 1,  90 }, L2(16),  89500, 3200000 },
+	{ 0, { 1804800, HFPLL, 1,  94 }, L2(19),  90500, 3200000 },
+	{ 0, { 1881600, HFPLL, 1,  98 }, L2(19),  91500, 3200000 },
+	{ 0, { 1958400, HFPLL, 1, 102 }, L2(19),  92000, 3200000 },
+	{ 1, { 2035200, HFPLL, 1, 106 }, L2(19),  93000, 3200000 },
+	{ 0, { 2112000, HFPLL, 1, 110 }, L2(19),  94000, 3200000 },
+	{ 1, { 2150400, HFPLL, 1, 112 }, L2(19),  95000, 3200000 },
+	{ 0, { 0 } }
+};
+
 static struct acpu_level acpu_freq_tbl_2p3g_pvs0[] __initdata = {
 	{ 1, {  300000, PLL_0, 0,   0 }, L2(0),   800000,  400000 },
 	{ 0, {  345600, HFPLL, 2,  36 }, L2(3),   800000, 3200000 },
@@ -716,6 +926,17 @@
 	[1][5] = { acpu_freq_tbl_2p3g_pvs5, sizeof(acpu_freq_tbl_2p3g_pvs5) },
 	[1][6] = { acpu_freq_tbl_2p3g_pvs6, sizeof(acpu_freq_tbl_2p3g_pvs6) },
 	[1][7] = { acpu_freq_tbl_2p3g_pvs6, sizeof(acpu_freq_tbl_2p3g_pvs6) },
+
+	/* 8974v2 2.0GHz Parts */
+	[2][0] = { acpu_freq_tbl_2p2g_pvs0, sizeof(acpu_freq_tbl_2p2g_pvs0) },
+	[2][1] = { acpu_freq_tbl_2p2g_pvs1, sizeof(acpu_freq_tbl_2p2g_pvs1) },
+	[2][2] = { acpu_freq_tbl_2p2g_pvs2, sizeof(acpu_freq_tbl_2p2g_pvs2) },
+	[2][3] = { acpu_freq_tbl_2p2g_pvs3, sizeof(acpu_freq_tbl_2p2g_pvs3) },
+	[2][4] = { acpu_freq_tbl_2p2g_pvs4, sizeof(acpu_freq_tbl_2p2g_pvs4) },
+	[2][5] = { acpu_freq_tbl_2p2g_pvs5, sizeof(acpu_freq_tbl_2p2g_pvs5) },
+	[2][6] = { acpu_freq_tbl_2p2g_pvs6, sizeof(acpu_freq_tbl_2p2g_pvs6) },
+	[2][7] = { acpu_freq_tbl_2p2g_pvs6, sizeof(acpu_freq_tbl_2p2g_pvs6) },
+
 };
 
 static struct msm_bus_scale_pdata bus_scale_data __initdata = {