aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/pdata-quirks.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-omap2/pdata-quirks.c')
-rw-r--r--arch/arm/mach-omap2/pdata-quirks.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/pdata-quirks.c b/arch/arm/mach-omap2/pdata-quirks.c
index 648d9573aaea..04bfa647a934 100644
--- a/arch/arm/mach-omap2/pdata-quirks.c
+++ b/arch/arm/mach-omap2/pdata-quirks.c
@@ -8,8 +8,10 @@
8 * published by the Free Software Foundation. 8 * published by the Free Software Foundation.
9 */ 9 */
10#include <linux/clk.h> 10#include <linux/clk.h>
11#include <linux/gpio.h>
11#include <linux/init.h> 12#include <linux/init.h>
12#include <linux/kernel.h> 13#include <linux/kernel.h>
14#include <linux/wl12xx.h>
13 15
14#include "common.h" 16#include "common.h"
15#include "common-board-devices.h" 17#include "common-board-devices.h"
@@ -34,16 +36,47 @@ static void __init __used legacy_init_ehci_clk(char *clkname)
34 __func__, clkname, ret); 36 __func__, clkname, ret);
35} 37}
36 38
39#if IS_ENABLED(CONFIG_WL12XX)
40
41static struct wl12xx_platform_data wl12xx __initdata;
42
43static void __init __used legacy_init_wl12xx(unsigned ref_clock,
44 unsigned tcxo_clock,
45 int gpio)
46{
47 int res;
48
49 wl12xx.board_ref_clock = ref_clock;
50 wl12xx.board_tcxo_clock = tcxo_clock;
51 wl12xx.irq = gpio_to_irq(gpio);
52
53 res = wl12xx_set_platform_data(&wl12xx);
54 if (res) {
55 pr_err("error setting wl12xx data: %d\n", res);
56 return;
57 }
58}
59#else
60static inline void legacy_init_wl12xx(unsigned ref_clock,
61 unsigned tcxo_clock,
62 int gpio)
63{
64}
65#endif
66
37#ifdef CONFIG_ARCH_OMAP4 67#ifdef CONFIG_ARCH_OMAP4
38static void __init omap4_sdp_legacy_init(void) 68static void __init omap4_sdp_legacy_init(void)
39{ 69{
40 omap_4430sdp_display_init_of(); 70 omap_4430sdp_display_init_of();
71 legacy_init_wl12xx(WL12XX_REFCLOCK_26,
72 WL12XX_TCXOCLOCK_26, 53);
41} 73}
42 74
43static void __init omap4_panda_legacy_init(void) 75static void __init omap4_panda_legacy_init(void)
44{ 76{
45 omap4_panda_display_init_of(); 77 omap4_panda_display_init_of();
46 legacy_init_ehci_clk("auxclk3_ck"); 78 legacy_init_ehci_clk("auxclk3_ck");
79 legacy_init_wl12xx(WL12XX_REFCLOCK_38, 0, 53);
47} 80}
48#endif 81#endif
49 82