2 * Legacy platform_data quirks
4 * Copyright (C) 2013 Texas Instruments
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
10 #include <linux/clk.h>
11 #include <linux/gpio.h>
12 #include <linux/init.h>
13 #include <linux/kernel.h>
14 #include <linux/wl12xx.h>
17 #include "common-board-devices.h"
18 #include "dss-common.h"
21 const char *compatible
;
26 * Create alias for USB host PHY clock.
27 * Remove this when clock phandle can be provided via DT
29 static void __init __used
legacy_init_ehci_clk(char *clkname
)
33 ret
= clk_add_alias("main_clk", NULL
, clkname
, NULL
);
35 pr_err("%s:Failed to add main_clk alias to %s :%d\n",
36 __func__
, clkname
, ret
);
39 #if IS_ENABLED(CONFIG_WL12XX)
41 static struct wl12xx_platform_data wl12xx __initdata
;
43 static void __init __used
legacy_init_wl12xx(unsigned ref_clock
,
49 wl12xx
.board_ref_clock
= ref_clock
;
50 wl12xx
.board_tcxo_clock
= tcxo_clock
;
51 wl12xx
.irq
= gpio_to_irq(gpio
);
53 res
= wl12xx_set_platform_data(&wl12xx
);
55 pr_err("error setting wl12xx data: %d\n", res
);
60 static inline void legacy_init_wl12xx(unsigned ref_clock
,
67 #ifdef CONFIG_ARCH_OMAP4
68 static void __init
omap4_sdp_legacy_init(void)
70 omap_4430sdp_display_init_of();
71 legacy_init_wl12xx(WL12XX_REFCLOCK_26
,
72 WL12XX_TCXOCLOCK_26
, 53);
75 static void __init
omap4_panda_legacy_init(void)
77 omap4_panda_display_init_of();
78 legacy_init_ehci_clk("auxclk3_ck");
79 legacy_init_wl12xx(WL12XX_REFCLOCK_38
, 0, 53);
83 #ifdef CONFIG_SOC_OMAP5
84 static void __init
omap5_uevm_legacy_init(void)
86 legacy_init_ehci_clk("auxclk1_ck");
90 static struct pdata_init pdata_quirks
[] __initdata
= {
91 #ifdef CONFIG_ARCH_OMAP4
92 { "ti,omap4-sdp", omap4_sdp_legacy_init
, },
93 { "ti,omap4-panda", omap4_panda_legacy_init
, },
95 #ifdef CONFIG_SOC_OMAP5
96 { "ti,omap5-uevm", omap5_uevm_legacy_init
, },
101 void __init
pdata_quirks_init(void)
103 struct pdata_init
*quirks
= pdata_quirks
;
105 while (quirks
->compatible
) {
106 if (of_machine_is_compatible(quirks
->compatible
)) {