summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShreshtha Kumar Sahu <shreshthakumar.sahu@stericsson.com>2012-01-05 15:15:00 +0530
committerPhilippe Langlais <philippe.langlais@stericsson.com>2012-05-22 11:02:42 +0200
commit5bc856f3337eed438d08aea50e9333d2aa23fef9 (patch)
tree95c0e28b72b2d1178a4d31e462a82f9c5c3d5d6e
parent51a4de5640552d3cb78958608ea4874817239a0f (diff)
u8500: Don't probe modem related drivers for AP9500
AP9500 is similar to u8500 except that it has no modem in it. This patch disabled loading of SHRM and Modem drivers if the SOC is AP9500. ST-Ericsson Linux next: - ST-Ericsson ID: 363927 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I043b65f31478061e9d5cef1c7c24ce4a095b2d65 Signed-off-by: Shreshtha Kumar Sahu <shreshthakumar.sahu@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/44470 Reviewed-by: Bibek BASU <bibek.basu@stericsson.com> Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
-rw-r--r--arch/arm/mach-ux500/board-mop500.c24
-rw-r--r--arch/arm/mach-ux500/id.c3
2 files changed, 19 insertions, 8 deletions
diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c
index a0ac1ec081f..0bce0c81b6c 100644
--- a/arch/arm/mach-ux500/board-mop500.c
+++ b/arch/arm/mach-ux500/board-mop500.c
@@ -884,7 +884,6 @@ static struct platform_device *mop500_platform_devs[] __initdata = {
#ifdef CONFIG_U8500_SIM_DETECT
&u8500_sim_detect_device,
#endif
- &u8500_shrm_device,
&ste_ff_vibra_device,
#ifdef CONFIG_U8500_MMIO
&ux500_mmio_device,
@@ -895,9 +894,6 @@ static struct platform_device *mop500_platform_devs[] __initdata = {
#endif
&u8500_b2r2_device,
&u8500_thsens_device,
-#ifdef CONFIG_STE_TRACE_MODEM
- &u8500_trace_modem,
-#endif
#ifdef CONFIG_LEDS_PWM
&ux500_leds_device,
#endif
@@ -911,9 +907,6 @@ static struct platform_device *mop500_platform_devs[] __initdata = {
#ifdef CONFIG_HSI
&u8500_hsi_device,
#endif
-#ifdef CONFIG_MODEM_U8500
- &u8500_modem_dev,
-#endif
};
#ifdef CONFIG_STM_MSP_SPI
@@ -1168,6 +1161,13 @@ static void __init mop500_init_machine(void)
platform_add_devices(mop500_platform_devs,
ARRAY_SIZE(mop500_platform_devs));
+ platform_device_register(&u8500_shrm_device);
+#ifdef CONFIG_STE_TRACE_MODEM
+ platform_device_register(&u8500_trace_modem);
+#endif
+#ifdef CONFIG_MODEM_U8500
+ platform_device_register(&u8500_modem_dev);
+#endif
mop500_i2c_init(parent);
mop500_sdi_init(parent);
mop500_spi_init(parent);
@@ -1281,6 +1281,16 @@ static void __init hrefv60_init_machine(void)
platform_add_devices(mop500_platform_devs,
ARRAY_SIZE(mop500_platform_devs));
+ if (!cpu_is_u9500()) {
+ platform_device_register(&u8500_shrm_device);
+#ifdef CONFIG_STE_TRACE_MODEM
+ platform_device_register(&u8500_trace_modem);
+#endif
+#ifdef CONFIG_MODEM_U8500
+ platform_device_register(&u8500_modem_dev);
+#endif
+ }
+
mop500_i2c_init(parent);
hrefv60_sdi_init(parent);
mop500_spi_init(parent);
diff --git a/arch/arm/mach-ux500/id.c b/arch/arm/mach-ux500/id.c
index d42d3a9ac9c..80489597ced 100644
--- a/arch/arm/mach-ux500/id.c
+++ b/arch/arm/mach-ux500/id.c
@@ -67,6 +67,7 @@ static unsigned int partnumber(unsigned int asicid)
* DB8500v1.1 0x411fc091 0x9001FFF4 0x008500A1
* DB8500v2 0x412fc091 0x9001DBF4 0x008500B0
* DB8520v2.2 0x412fc091 0x9001DBF4 0x008500B2
+ * AP9500 0x412fc091 0x9001DBF4 0x008500B2
* DB5500v1 0x412fc091 0x9001FFF4 0x005500A0
*/
@@ -82,7 +83,7 @@ void __init ux500_map_io(void)
addr = 0x9001FFF4;
break;
- case 0x412fc091: /* DB8520 / DB8500v2 / DB5500v1 */
+ case 0x412fc091: /* DB8520 / DB8500v2 / DB5500v1 / AP9500 */
asicid = ux500_read_asicid(0x9001DBF4);
if (partnumber(asicid) == 0x8500 ||
partnumber(asicid) == 0x8520)