Merge "target: msm8952: Add PMIC support for qm215 target"
diff --git a/include/platform.h b/include/platform.h
index cd55d7e..64f683d 100644
--- a/include/platform.h
+++ b/include/platform.h
@@ -67,6 +67,7 @@
int platform_is_msm8992();
int platform_is_msm8937();
int platform_is_msm8917();
+int platform_is_qm215();
uint32_t platform_get_apcs_ipc_base();
int platform_is_msm8952();
int platform_is_msm8953();
diff --git a/platform/msm8952/msm8952-clock.c b/platform/msm8952/msm8952-clock.c
index 3d2b85c..6b1989c 100644
--- a/platform/msm8952/msm8952-clock.c
+++ b/platform/msm8952/msm8952-clock.c
@@ -651,7 +651,8 @@
}
if (platform_is_msm8937() || platform_is_msm8917() ||
- platform_is_sdm429() || platform_is_sdm439())
+ platform_is_sdm429() || platform_is_sdm439() ||
+ platform_is_qm215())
msm8937_clock_override();
clk_init(msm_clocks_8952, ARRAY_SIZE(msm_clocks_8952));
diff --git a/platform/msm8952/platform.c b/platform/msm8952/platform.c
index e865b30..6fa24f2 100644
--- a/platform/msm8952/platform.c
+++ b/platform/msm8952/platform.c
@@ -214,6 +214,22 @@
case MSM8217:
case MSM8617:
case APQ8017:
+ ret = 1;
+ break;
+ default:
+ ret = 0;
+ };
+
+ return ret;
+}
+
+int platform_is_qm215()
+{
+ uint32_t platform = board_platform_id();
+ uint32_t ret = 0;
+
+ switch(platform)
+ {
case QM215:
ret = 1;
break;
@@ -321,7 +337,8 @@
uint32_t platform_get_tz_app_add()
{
if(platform_is_msm8937() || platform_is_msm8917() ||
- platform_is_sdm429() || platform_is_sdm439())
+ platform_is_sdm429() || platform_is_sdm439() ||
+ platform_is_qm215())
return APP_REGION_ADDR_8937;
else
return APP_REGION_ADDR_8952;
@@ -330,7 +347,8 @@
uint32_t platform_get_tz_app_size()
{
if(platform_is_msm8937() || platform_is_msm8917() ||
- platform_is_sdm429() || platform_is_sdm439())
+ platform_is_sdm429() || platform_is_sdm439() ||
+ platform_is_qm215())
return APP_REGION_SIZE_8937;
else
return APP_REGION_SIZE_8952;
@@ -338,7 +356,7 @@
uint32_t platform_get_apcs_ipc_base()
{
- if(platform_is_msm8917() || platform_is_sdm429())
+ if(platform_is_msm8917() || platform_is_sdm429() || platform_is_qm215())
return APCS_ALIAS1_IPC_INTERRUPT_1;
else
return APCS_ALIAS0_IPC_INTERRUPT_2;
diff --git a/target/msm8952/init.c b/target/msm8952/init.c
index 93b9edc..4ce91ec 100644
--- a/target/msm8952/init.c
+++ b/target/msm8952/init.c
@@ -723,14 +723,19 @@
uint32_t target_get_pmic()
{
+ uint32_t pmi_type = 0;
+
if (target_is_pmi_enabled()) {
- uint32_t pmi_type = board_pmic_target(1) & PMIC_TYPE_MASK;
+ pmi_type = board_pmic_target(1) & PMIC_TYPE_MASK;
if (pmi_type == PMIC_IS_PMI632)
return PMIC_IS_PMI632;
else
return PMIC_IS_PMI8950;
- }
- else {
+ } else {
+ if (platform_is_qm215()) {
+ pmi_type = board_pmic_target(0) & PMIC_TYPE_MASK;
+ return pmi_type;
+ }
return PMIC_IS_UNKNOWN;
}
}