diff options
Diffstat (limited to 'arch/arm/mach-ux500')
-rwxr-xr-x | arch/arm/mach-ux500/Kconfig | 8 | ||||
-rwxr-xr-x | arch/arm/mach-ux500/Makefile | 1 | ||||
-rwxr-xr-x | arch/arm/mach-ux500/board-u5500.c | 9 | ||||
-rwxr-xr-x | arch/arm/mach-ux500/devices.c | 7 | ||||
-rwxr-xr-x | arch/arm/mach-ux500/include/mach/devices.h | 4 |
5 files changed, 29 insertions, 0 deletions
diff --git a/arch/arm/mach-ux500/Kconfig b/arch/arm/mach-ux500/Kconfig index df96996d521..cad7589e91e 100755 --- a/arch/arm/mach-ux500/Kconfig +++ b/arch/arm/mach-ux500/Kconfig @@ -78,4 +78,12 @@ config FORCE_MAX_ZONEORDER int "Maximum zone order" default "12" +config U5500_MLOADER_HELPER + bool "mLoader helper, mem config from kernel boot args exported to sysfs" + default n + depends on MACH_U5500_SIMULATOR + help + Link between boot args and user space program that loads the modem ELF + + endif diff --git a/arch/arm/mach-ux500/Makefile b/arch/arm/mach-ux500/Makefile index 645657ccac7..77212ff2faa 100755 --- a/arch/arm/mach-ux500/Makefile +++ b/arch/arm/mach-ux500/Makefile @@ -25,6 +25,7 @@ obj-$(CONFIG_U8500_CPUFREQ) += cpufreq.o obj-$(CONFIG_U8500_PM) += pm.o savecontext.o obj-$(CONFIG_SENSORS1P_MOP) += sensors1p.o obj-$(CONFIG_USB) += musb_db8500.o +obj-$(CONFIG_U5500_MLOADER_HELPER) += mloader_helper.o ifeq ($(CONFIG_MFD_STE_CONN), m) obj-y += ste_conn_devices.o diff --git a/arch/arm/mach-ux500/board-u5500.c b/arch/arm/mach-ux500/board-u5500.c index 85b9f36c9be..3769bd68ddc 100755 --- a/arch/arm/mach-ux500/board-u5500.c +++ b/arch/arm/mach-ux500/board-u5500.c @@ -109,6 +109,12 @@ static struct amba_device *amba_board_devs[] __initdata = { &ux500_uart2_device, }; +static struct platform_device *u5500_platform_devices[] __initdata = { +#ifdef CONFIG_U5500_MLOADER_HELPER + &mloader_helper_device, +#endif +}; + static void __init u5500_init_machine(void) { stm_gpio_set_altfunctable(gpio_altfun_table, @@ -121,6 +127,9 @@ static void __init u5500_init_machine(void) u8500_register_device(&ux500_i2c_controller1, &u8500_i2c_1); u8500_register_device(&ux500_i2c_controller2, &u8500_i2c_2); u8500_register_device(&ux500_i2c_controller3, &u8500_i2c_3); + + platform_add_devices(u5500_platform_devices, + ARRAY_SIZE(u5500_platform_devices)); } MACHINE_START(NOMADIK, "ST-Ericsson U5500 Platform") diff --git a/arch/arm/mach-ux500/devices.c b/arch/arm/mach-ux500/devices.c index b838cfc8db0..711b02b45be 100755 --- a/arch/arm/mach-ux500/devices.c +++ b/arch/arm/mach-ux500/devices.c @@ -727,6 +727,13 @@ struct amba_device ux500_uart2_device = { #endif +#if defined(CONFIG_U5500_MLOADER_HELPER) +struct platform_device mloader_helper_device = { + .name = "mloader_helper", + .id = -1, +}; +#endif + void __init amba_add_devices(struct amba_device *devs[], int num) { int i; diff --git a/arch/arm/mach-ux500/include/mach/devices.h b/arch/arm/mach-ux500/include/mach/devices.h index a5973d85d7d..c00a36cffed 100755 --- a/arch/arm/mach-ux500/include/mach/devices.h +++ b/arch/arm/mach-ux500/include/mach/devices.h @@ -51,6 +51,10 @@ extern struct amba_device ux500_uart0_device; extern struct amba_device ux500_uart1_device; extern struct amba_device ux500_uart2_device; +#ifdef CONFIG_U5500_MLOADER_HELPER +extern struct platform_device mloader_helper_device; +#endif + /* * Do not use inside drivers. Check it in the board file and alter platform * data. |