summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-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)