summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/pdata-quirks.c
diff options
context:
space:
mode:
authorTony Lindgren <tony@atomide.com>2013-11-26 00:17:10 +0100
committerTony Lindgren <tony@atomide.com>2013-11-26 00:31:17 +0100
commitfa590c923401368d86db361350849a7bf9f42b8a (patch)
tree382de4e97235d6572c6648305a8a01cced5f8d5f /arch/arm/mach-omap2/pdata-quirks.c
parentARM: OMAP2+: Make n8x0 behave better with device tree based booting (diff)
downloadlinux-fa590c923401368d86db361350849a7bf9f42b8a.tar.xz
linux-fa590c923401368d86db361350849a7bf9f42b8a.zip
ARM: OMAP2+: Add quirks support for n8x0
This allows us to keep things working when booted with device tree. Note that we still need to initialize most things with platform data as the drivers are lacking support for device tree. Tested-by: Aaro Koskinen <aaro.koskinen@iki.fi> Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm/mach-omap2/pdata-quirks.c')
-rw-r--r--arch/arm/mach-omap2/pdata-quirks.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/pdata-quirks.c b/arch/arm/mach-omap2/pdata-quirks.c
index 468e4c1f2976..6a7554515b6e 100644
--- a/arch/arm/mach-omap2/pdata-quirks.c
+++ b/arch/arm/mach-omap2/pdata-quirks.c
@@ -26,6 +26,8 @@ struct pdata_init {
void (*fn)(void);
};
+struct of_dev_auxdata omap_auxdata_lookup[];
+
/*
* Create alias for USB host PHY clock.
* Remove this when clock phandle can be provided via DT
@@ -68,6 +70,15 @@ static inline void legacy_init_wl12xx(unsigned ref_clock,
}
#endif
+#ifdef CONFIG_MACH_NOKIA_N8X0
+static void __init omap2420_n8x0_legacy_init(void)
+{
+ omap_auxdata_lookup[0].platform_data = n8x0_legacy_init();
+}
+#else
+#define omap2420_n8x0_legacy_init NULL
+#endif
+
#ifdef CONFIG_ARCH_OMAP3
static void __init hsmmc2_internal_input_clk(void)
{
@@ -130,6 +141,11 @@ void omap_pcs_legacy_init(int irq, void (*rearm)(void))
* the dev entries in of_platform_populate().
*/
static struct pdata_init auxdata_quirks[] __initdata = {
+#ifdef CONFIG_SOC_OMAP2420
+ { "nokia,n800", omap2420_n8x0_legacy_init, },
+ { "nokia,n810", omap2420_n8x0_legacy_init, },
+ { "nokia,n810-wimax", omap2420_n8x0_legacy_init, },
+#endif
{ /* sentinel */ },
};