diff options
Diffstat (limited to 'arch')
-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) |