diff options
author | Shreshtha Kumar Sahu <shreshthakumar.sahu@stericsson.com> | 2012-01-05 15:15:00 +0530 |
---|---|---|
committer | Philippe Langlais <philippe.langlais@stericsson.com> | 2012-05-22 11:02:42 +0200 |
commit | 5bc856f3337eed438d08aea50e9333d2aa23fef9 (patch) | |
tree | 95c0e28b72b2d1178a4d31e462a82f9c5c3d5d6e | |
parent | 51a4de5640552d3cb78958608ea4874817239a0f (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.c | 24 | ||||
-rw-r--r-- | arch/arm/mach-ux500/id.c | 3 |
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) |