msm: socinfo: add support for msm8226
Add dummy socinfo and support to get socinfo from bootloader for
msm8226
Change-Id: I245338a224a5c1917138259ce4874a4fcb212b5e
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
diff --git a/arch/arm/mach-msm/include/mach/socinfo.h b/arch/arm/mach-msm/include/mach/socinfo.h
index 7570fef..546cbaf 100644
--- a/arch/arm/mach-msm/include/mach/socinfo.h
+++ b/arch/arm/mach-msm/include/mach/socinfo.h
@@ -48,7 +48,12 @@
of_flat_dt_is_compatible(of_get_flat_dt_root(), "qcom,mpq8092")
#define machine_is_mpq8092_sim() \
of_machine_is_compatible("qcom,mpq8092-sim")
-
+#define early_machine_is_msm8226() \
+ of_flat_dt_is_compatible(of_get_flat_dt_root(), "qcom,msm8226")
+#define machine_is_msm8226() \
+ of_machine_is_compatible("qcom,msm8226")
+#define machine_is_msm8226_sim() \
+ of_machine_is_compatible("qcom,msm8226-sim")
#else
#define early_machine_is_msm8974() 0
#define machine_is_msm8974() 0
@@ -58,6 +63,10 @@
#define machine_is_msm9625() 0
#define early_machine_is_mpq8092() 0
#define machine_is_mpq8092_sim() 0
+#define early_machine_is_msm8226() 0
+#define machine_is_msm8226() 0
+#define machine_is_msm8226_sim() 0
+
#endif
#define PLATFORM_SUBTYPE_SGLTE 6
@@ -88,7 +97,8 @@
MSM_CPU_8627,
MSM_CPU_8625,
MSM_CPU_9625,
- MSM_CPU_8092
+ MSM_CPU_8092,
+ MSM_CPU_8226
};
enum pmic_model {
@@ -382,4 +392,17 @@
#endif
}
+
+static inline int cpu_is_msm8226(void)
+{
+#ifdef CONFIG_ARCH_MSM8226
+ enum msm_cpu cpu = socinfo_get_msm_cpu();
+
+ BUG_ON(cpu == MSM_CPU_UNKNOWN);
+ return cpu == MSM_CPU_8226;
+#else
+ return 0;
+#endif
+}
+
#endif
diff --git a/arch/arm/mach-msm/socinfo.c b/arch/arm/mach-msm/socinfo.c
index c614086..86de130 100644
--- a/arch/arm/mach-msm/socinfo.c
+++ b/arch/arm/mach-msm/socinfo.c
@@ -280,6 +280,9 @@
[143] = MSM_CPU_8930AA,
[144] = MSM_CPU_8930AA,
+ /* 8226 IDs */
+ [145] = MSM_CPU_8226,
+
/* 8092 IDs */
[146] = MSM_CPU_8092,
@@ -716,6 +719,10 @@
dummy_socinfo.id = 134;
strlcpy(dummy_socinfo.build_id, "msm9625 - ",
sizeof(dummy_socinfo.build_id));
+ } else if (early_machine_is_msm8226()) {
+ dummy_socinfo.id = 145;
+ strlcpy(dummy_socinfo.build_id, "msm8226 - ",
+ sizeof(dummy_socinfo.build_id));
} else if (machine_is_msm8625_rumi3())
dummy_socinfo.id = 127;
else if (early_machine_is_mpq8092()) {