]> git.ipfire.org Git - ipfire-2.x.git/blame - src/patches/kernel/omap/beagle/expansion/0010-Beagle-expansion-add-LSR-COM6L-Adapter-Board.patch
snort: Update urls for rules download (2.9.7.0) in 'ids.cgi'
[ipfire-2.x.git] / src / patches / kernel / omap / beagle / expansion / 0010-Beagle-expansion-add-LSR-COM6L-Adapter-Board.patch
CommitLineData
d006af40
AF
1From f2e2294733d926e627dcda6425f58611b185c7fc Mon Sep 17 00:00:00 2001
2From: Robert Nelson <robertcnelson@gmail.com>
3Date: Tue, 11 Dec 2012 07:02:40 -0600
4Subject: [PATCH 10/10] Beagle: expansion: add LSR COM6L Adapter Board
5
6Signed-off-by: Robert Nelson <robertcnelson@gmail.com>
7---
8 arch/arm/mach-omap2/board-omap3beagle.c | 60 ++++++++++++++++++++++++++++---
9 1 file changed, 55 insertions(+), 5 deletions(-)
10
11diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
12index 0ac1b49..5a7e7b5 100644
13--- a/arch/arm/mach-omap2/board-omap3beagle.c
14+++ b/arch/arm/mach-omap2/board-omap3beagle.c
15@@ -202,6 +202,7 @@ static void __init omap3_beagle_init_rev(void)
16 char expansionboard_name[16];
17 char expansionboard2_name[16];
18 char camera_name[16];
19+char wl12xx_name[16];
20
21 enum {
22 EXPANSION_MMC_NONE = 0,
23@@ -237,6 +238,10 @@ struct wl12xx_platform_data omap_beagle_wlan_data __initdata = {
24 .board_ref_clock = WL12XX_REFCLOCK_38, /* 38.4 MHz */
25 };
26
27+struct wl12xx_platform_data omap_beagle_wlan_data_26mhz __initdata = {
28+ .board_ref_clock = WL12XX_REFCLOCK_26, /* 26 MHz */
29+};
30+
31 static struct ti_st_plat_data wilink_platform_data = {
32 .nshutdown_gpio = OMAP_BEAGLE_BT_EN_GPIO,
33 .dev_name = "/dev/ttyO1",
34@@ -987,6 +992,18 @@ static int __init camera_setup(char *str)
35 return 0;
36 }
37
38+static int __init wl12xx_setup(char *str)
39+{
40+ if (!machine_is_omap3_beagle())
41+ return 0;
42+
43+ if (!str)
44+ return -EINVAL;
45+ strncpy(wl12xx_name, str, 16);
46+ pr_info("Beagle wl12xx clk: %s\n", wl12xx_name);
47+ return 0;
48+}
49+
50 static int __init beagle_opp_init(void)
51 {
52 int r = 0;
53@@ -1114,9 +1131,29 @@ static void __init omap3_beagle_init(void)
54 omap_mux_init_gpio(OMAP3BEAGLE_GPIO_ZIPPY_MMC_CD, OMAP_PIN_INPUT);
55 }
56
57- if (!strcmp(expansionboard_name, "bbtoys-wifi"))
58+ if ((!strcmp(expansionboard_name, "bbtoys-wifi")) || (!strcmp(expansionboard_name, "lsr-com6l-adpt")))
59 {
60 #if IS_ENABLED(CONFIG_WL12XX)
61+ pr_info("Beagle expansion: wl12xx: setting up gpio pinmux\n");
62+
63+ omap_mux_init_gpio(OMAP_BEAGLE_FM_EN_BT_WU, OMAP_PIN_OUTPUT);
64+ omap_mux_init_gpio(OMAP_BEAGLE_BT_EN_GPIO, OMAP_PIN_OUTPUT);
65+ omap_mux_init_gpio(OMAP_BEAGLE_WLAN_EN_GPIO, OMAP_PIN_OUTPUT);
66+
67+ omap_mux_init_gpio(OMAP_BEAGLE_WLAN_IRQ_GPIO, OMAP_PIN_INPUT_PULLUP);
68+
69+ /* WLAN SDIO: MMC2 CLK */
70+ omap_mux_init_signal("sdmmc2_clk.sdmmc2_clk", OMAP_PIN_INPUT_PULLUP);
71+
72+ /* WLAN SDIO: MMC2 CMD */
73+ omap_mux_init_signal("sdmmc2_cmd.sdmmc2_cmd", OMAP_PIN_INPUT_PULLUP);
74+
75+ /* WLAN SDIO: MMC2 DAT[0-3] */
76+ omap_mux_init_signal("sdmmc2_dat0.sdmmc2_dat0", OMAP_PIN_INPUT_PULLUP);
77+ omap_mux_init_signal("sdmmc2_dat1.sdmmc2_dat1", OMAP_PIN_INPUT_PULLUP);
78+ omap_mux_init_signal("sdmmc2_dat2.sdmmc2_dat2", OMAP_PIN_INPUT_PULLUP);
79+ omap_mux_init_signal("sdmmc2_dat3.sdmmc2_dat3", OMAP_PIN_INPUT_PULLUP);
80+
81 expansion_config.mmc_settings = EXPANSION_MMC_WIFI;
82 #endif
83 }
84@@ -1208,12 +1245,24 @@ static void __init omap3_beagle_init(void)
85 gpio_export(162, 1);
86 }
87
88- if (!strcmp(expansionboard_name, "bbtoys-wifi"))
89+ if ((!strcmp(expansionboard_name, "bbtoys-wifi")) || (!strcmp(expansionboard_name, "lsr-com6l-adpt")))
90 {
91 #if IS_ENABLED(CONFIG_WL12XX)
92- omap_beagle_wlan_data.irq = gpio_to_irq(OMAP_BEAGLE_WLAN_IRQ_GPIO);
93- if (wl12xx_set_platform_data(&omap_beagle_wlan_data))
94- pr_err("error setting wl12xx data\n");
95+ pr_info("Beagle expansionboard: initializing wl12xx platform\n");
96+
97+ if (!strcmp(wl12xx_name, "wl12xx_26mhz")) {
98+ pr_info("wl12xx: 26Mhz reference clock (TiWi5)\n");
99+ omap_beagle_wlan_data_26mhz.irq = gpio_to_irq(OMAP_BEAGLE_WLAN_IRQ_GPIO);
100+ if (wl12xx_set_platform_data(&omap_beagle_wlan_data_26mhz))
101+ pr_err("error setting wl12xx data\n");
102+ } else {
103+ pr_info("wl12xx: 38.4Mhz reference clock (TiWi2/TiWi-BLE)\n");
104+ pr_info("wl12xx: for (TiWi5) support pass kernel [wl12xx_clk=wl12xx_26mhz]\n");
105+ omap_beagle_wlan_data.irq = gpio_to_irq(OMAP_BEAGLE_WLAN_IRQ_GPIO);
106+ if (wl12xx_set_platform_data(&omap_beagle_wlan_data))
107+ pr_err("error setting wl12xx data\n");
108+ }
109+
110 pr_info("Beagle expansionboard: registering wl12xx bt platform device\n");
111 platform_device_register(&wl12xx_device);
112 platform_device_register(&btwilink_device);
113@@ -1307,6 +1356,7 @@ static int __init omap3_beagle_late_initcall(void)
114 early_param("buddy", expansionboard_setup);
115 early_param("buddy2", expansionboard2_setup);
116 early_param("camera", camera_setup);
117+early_param("wl12xx_clk", wl12xx_setup);
118
119 late_initcall(omap3_beagle_late_initcall);
120
121--
1221.7.10.4
123