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/Kconfig b/arch/arm/mach-msm/Kconfig
index 370bc3f..c9f5c29 100644
--- a/arch/arm/mach-msm/Kconfig
+++ b/arch/arm/mach-msm/Kconfig
@@ -503,6 +503,14 @@
help
Support for the Qualcomm MSM8625 Reference Design.
+config MACH_MSM8625_QRD7
+ depends on ARCH_MSM8625
+ depends on !MSM_STACKED_MEMORY
+ default y
+ bool "MSM8625 QRD7"
+ help
+ Support for the Qualcomm MSM8625 Reference Design.
+
config MACH_MSM7X30_SURF
depends on ARCH_MSM7X30
depends on !MSM_STACKED_MEMORY
diff --git a/arch/arm/mach-msm/Makefile b/arch/arm/mach-msm/Makefile
index cd6e36c..f71cf6d 100644
--- a/arch/arm/mach-msm/Makefile
+++ b/arch/arm/mach-msm/Makefile
@@ -234,6 +234,7 @@
obj-$(CONFIG_MACH_MSM8625_RUMI3) += board-msm7x27a.o
obj-$(CONFIG_MACH_MSM8625_SURF) += board-msm7x27a.o board-7627a-all.o
obj-$(CONFIG_MACH_MSM8625_EVB) += board-qrd7627a.o board-7627a-all.o
+obj-$(CONFIG_MACH_MSM8625_QRD7) += board-qrd7627a.o board-7627a-all.o
obj-$(CONFIG_ARCH_MSM7X30) += board-msm7x30.o devices-msm7x30.o memory_topology.o
obj-$(CONFIG_ARCH_MSM7X30) += clock-local.o clock-7x30.o acpuclock-7x30.o
obj-$(CONFIG_MACH_MSM7X25_SURF) += board-msm7x27.o devices-msm7x25.o
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
diff --git a/arch/arm/tools/mach-types b/arch/arm/tools/mach-types
index edede47..cde8031 100644
--- a/arch/arm/tools/mach-types
+++ b/arch/arm/tools/mach-types
@@ -1141,3 +1141,4 @@
msm7627a_qrd3 MACH_MSM7627A_QRD3 MSM7627A_QRD3 4005
msm8625_surf MACH_MSM8625_SURF MSM8625_SURF 4037
msm8625_evb MACH_MSM8625_EVB MSM8625_EVB 4042
+msm8625_qrd7 MACH_MSM8625_QRD7 MSM8625_QRD7 4095