Add omap4 pinmux platform devices for core-pinmux and wkup-pinmux.
Signed-off-by: Rajendra Nayak rnayak@ti.com --- arch/arm/mach-omap2/devices.c | 43 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 43 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c index c15cfad..bd9fff6 100644 --- a/arch/arm/mach-omap2/devices.c +++ b/arch/arm/mach-omap2/devices.c @@ -671,6 +671,48 @@ static void omap_init_vout(void) static inline void omap_init_vout(void) {} #endif
+static struct resource pinmux_core_resources[] = { + { + .start = 0x4a100040, + .end = 0x4a100040 + SZ_4K - 1, + .flags = IORESOURCE_MEM, + }, +}; + +static struct resource pinmux_wkup_resources[] = { + { + .start = 0x4a31e040, + .end = 0x4a31e040 + SZ_4K - 1, + .flags = IORESOURCE_MEM, + }, +}; + +static struct platform_device omap4_pinmux_core_device = { + .name = "pinmux-omap", + .id = 0, + .num_resources = ARRAY_SIZE(pinmux_core_resources), + .resource = pinmux_core_resources, +}; + +static struct platform_device omap4_pinmux_wkup_device = { + .name = "pinmux-omap", + .id = 1, + .num_resources = ARRAY_SIZE(pinmux_wkup_resources), + .resource = pinmux_wkup_resources, +}; + +static struct platform_device *omap4_pinmux_devices[] = { + &omap4_pinmux_core_device, + &omap4_pinmux_wkup_device, +}; + +static inline void omap_init_pinmux(void) +{ + if (cpu_is_omap44xx()) + platform_add_devices(omap4_pinmux_devices, + ARRAY_SIZE(omap4_pinmux_devices)); +} + /*-------------------------------------------------------------------------*/
static int __init omap2_init_devices(void) @@ -690,6 +732,7 @@ static int __init omap2_init_devices(void) omap_init_sham(); omap_init_aes(); omap_init_vout(); + omap_init_pinmux();
return 0; }