msm: board-qrd7627a: Add support for QRD7
QRD7 is a NAND based variant of QRD1 with MSM8625. So,
add minimal support for the same.
Change-Id: Ic7078ca5789eac6c9a7d299956a28cb37e556901
Signed-off-by: Taniya Das <tdas@codeaurora.org>
Signed-off-by: Aparna Mallavarapu <aparnam@codeaurora.org>
diff --git a/arch/arm/mach-msm/board-qrd7627a.c b/arch/arm/mach-msm/board-qrd7627a.c
index ba534e8..3c01115 100644
--- a/arch/arm/mach-msm/board-qrd7627a.c
+++ b/arch/arm/mach-msm/board-qrd7627a.c
@@ -1232,18 +1232,20 @@
static void add_platform_devices(void)
{
- if (machine_is_msm8625_evb()) {
+ if (machine_is_msm8625_evb() || machine_is_msm8625_qrd7()) {
platform_add_devices(msm8625_evb_devices,
ARRAY_SIZE(msm8625_evb_devices));
platform_add_devices(qrd3_devices,
- ARRAY_SIZE(qrd3_devices));
+ ARRAY_SIZE(qrd3_devices));
} else {
platform_add_devices(qrd7627a_devices,
ARRAY_SIZE(qrd7627a_devices));
- if (machine_is_msm7627a_qrd3())
- platform_add_devices(qrd3_devices,
- ARRAY_SIZE(qrd3_devices));
}
+
+ if (machine_is_msm7627a_qrd3())
+ platform_add_devices(qrd3_devices,
+ ARRAY_SIZE(qrd3_devices));
+
platform_add_devices(common_devices,
ARRAY_SIZE(common_devices));
}
@@ -1276,6 +1278,23 @@
}
}
+static void __init msm_pm_init(void)
+{
+ if (machine_is_msm8625_qrd7())
+ return;
+
+ if (!machine_is_msm8625_evb()) {
+ msm_pm_set_platform_data(msm7627a_pm_data,
+ ARRAY_SIZE(msm7627a_pm_data));
+ BUG_ON(msm_pm_boot_init(&msm_pm_boot_pdata));
+ } else {
+ msm_pm_set_platform_data(msm8625_pm_data,
+ ARRAY_SIZE(msm8625_pm_data));
+ BUG_ON(msm_pm_boot_init(&msm_pm_8625_boot_pdata));
+ msm8x25_spm_device_init();
+ }
+}
+
static void __init msm_qrd_init(void)
{
msm7x2x_misc_init();
@@ -1302,16 +1321,7 @@
#ifdef CONFIG_USB_EHCI_MSM_72K
msm7627a_init_host();
#endif
- if (!machine_is_msm8625_evb()) {
- msm_pm_set_platform_data(msm7627a_pm_data,
- ARRAY_SIZE(msm7627a_pm_data));
- BUG_ON(msm_pm_boot_init(&msm_pm_boot_pdata));
- } else {
- msm_pm_set_platform_data(msm8625_pm_data,
- ARRAY_SIZE(msm8625_pm_data));
- BUG_ON(msm_pm_boot_init(&msm_pm_8625_boot_pdata));
- msm8x25_spm_device_init();
- }
+ msm_pm_init();
msm_fb_add_devices();
@@ -1369,3 +1379,13 @@
.init_early = qrd7627a_init_early,
.handle_irq = gic_handle_irq,
MACHINE_END
+MACHINE_START(MSM8625_QRD7, "QRD MSM8625 QRD7")
+ .boot_params = PHYS_OFFSET + 0x100,
+ .map_io = msm8625_map_io,
+ .reserve = msm7627a_reserve,
+ .init_irq = msm8625_init_irq,
+ .init_machine = msm_qrd_init,
+ .timer = &msm_timer,
+ .init_early = qrd7627a_init_early,
+ .handle_irq = gic_handle_irq,
+MACHINE_END