[meta-ti] [PATCH] ti-compat-wireless: Port ti-compat-wireless recipe.
Franklin S. Cooper Jr
fcooperjr27 at gmail.com
Thu Oct 4 22:13:57 PDT 2012
* Port ti-compat-wireless recipe from arago.
* This is a TI specific version of the compat-wireless recipe.
* Ti-compat-wireless provides the necessary wireless drivers for the TI
wl12xx Wi-Fi + Bluetooth module.
Signed-off-by: Franklin S. Cooper Jr <fcooper at ti.com>
---
...01-compat-wireless-add-pm_runtime_enabled.patch | 36 +++++
.../0001-compat-wireless-exclude-BT-building.patch | 29 ++++
...wl12xx-Decrease-number-of-RX-transactions.patch | 34 +++++
...tional-two-members-for-wl12xx_platform_da.patch | 30 +++++
...xx-detect-between-wl1271-PG-3.0-and-lower.patch | 65 ++++++++++
.../0002-compat-wireless-enable-test-mode.patch | 29 ++++
...ompat-wireless-enable-uapsd-configuration.patch | 27 ++++
...wl12xx-Decrease-number-of-TX-transactions.patch | 135 ++++++++++++++++++++
.../files/0004-added-driver-version.patch | 36 +++++
.../ti-compat-wireless-wl12xx_r5_18.bb | 52 ++++++++
10 files changed, 473 insertions(+), 0 deletions(-)
create mode 100644 recipes-bsp/ti-compat-wireless/files/0001-compat-wireless-add-pm_runtime_enabled.patch
create mode 100644 recipes-bsp/ti-compat-wireless/files/0001-compat-wireless-exclude-BT-building.patch
create mode 100755 recipes-bsp/ti-compat-wireless/files/0001-wl12xx-Decrease-number-of-RX-transactions.patch
create mode 100644 recipes-bsp/ti-compat-wireless/files/0001-wl12xx-additional-two-members-for-wl12xx_platform_da.patch
create mode 100644 recipes-bsp/ti-compat-wireless/files/0001-wl12xx-detect-between-wl1271-PG-3.0-and-lower.patch
create mode 100644 recipes-bsp/ti-compat-wireless/files/0002-compat-wireless-enable-test-mode.patch
create mode 100644 recipes-bsp/ti-compat-wireless/files/0002-ti-compat-wireless-enable-uapsd-configuration.patch
create mode 100755 recipes-bsp/ti-compat-wireless/files/0002-wl12xx-Decrease-number-of-TX-transactions.patch
create mode 100644 recipes-bsp/ti-compat-wireless/files/0004-added-driver-version.patch
create mode 100644 recipes-bsp/ti-compat-wireless/ti-compat-wireless-wl12xx_r5_18.bb
diff --git a/recipes-bsp/ti-compat-wireless/files/0001-compat-wireless-add-pm_runtime_enabled.patch b/recipes-bsp/ti-compat-wireless/files/0001-compat-wireless-add-pm_runtime_enabled.patch
new file mode 100644
index 0000000..ba73dd8
--- /dev/null
+++ b/recipes-bsp/ti-compat-wireless/files/0001-compat-wireless-add-pm_runtime_enabled.patch
@@ -0,0 +1,36 @@
+From 0f11fd034274c795d9c506faa83a9fa947ba358a Mon Sep 17 00:00:00 2001
+From: Moosa <moosab at ti.com>
+Date: Thu, 3 May 2012 17:37:17 +0300
+Subject: [PATCH] compat-wireless: add pm_runtime_enabled
+
+* Add pm_runtime definition to header file
+
+Upstream-Status: Pending
+
+Signed-off-by: Moosa Baransi <moosab at ti.com>
+---
+ include/linux/compat-2.6.38.h | 9 +++++++++
+ 1 files changed, 9 insertions(+), 0 deletions(-)
+
+diff --git a/include/linux/compat-2.6.38.h b/include/linux/compat-2.6.38.h
+index 63f9dd6..94ee602 100644
+--- a/include/linux/compat-2.6.38.h
++++ b/include/linux/compat-2.6.38.h
+@@ -9,6 +9,15 @@
+ #include <linux/skbuff.h>
+ #include <linux/etherdevice.h>
+
++#ifdef CONFIG_PM_RUNTIME
++static inline bool pm_runtime_enabled(struct device *dev)
++{
++ return !dev->power.disable_depth;
++}
++#else
++ static inline bool pm_runtime_enabled(struct device *dev) { return false; }
++#endif
++
+ /* rename member in struct mmc_host in include/linux/mmc/host.h */
+ #define max_segs max_hw_segs
+
+--
+1.7.1
diff --git a/recipes-bsp/ti-compat-wireless/files/0001-compat-wireless-exclude-BT-building.patch b/recipes-bsp/ti-compat-wireless/files/0001-compat-wireless-exclude-BT-building.patch
new file mode 100644
index 0000000..731da28
--- /dev/null
+++ b/recipes-bsp/ti-compat-wireless/files/0001-compat-wireless-exclude-BT-building.patch
@@ -0,0 +1,29 @@
+From 491bf7e73abf395f2af4a914d972dc7b73af2533 Mon Sep 17 00:00:00 2001
+From: Moosa <moosab at ti.com>
+Date: Thu, 24 May 2012 11:53:07 +0300
+Subject: [PATCH 1/2] compat-wireless: exclude BT building
+
+* Exclude Bluetooth components building from compat-wireless
+
+Upstream-Status: Pending
+
+Signed-off-by: Moosa Baransi <moosab at ti.com>
+---
+ Makefile | 2 --
+ 1 files changed, 0 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index a020661..ac75fb0 100644
+--- a/Makefile
++++ b/Makefile
+@@ -37,8 +37,6 @@ endif
+
+ endif
+
+-obj-$(CONFIG_COMPAT_BLUETOOTH) += net/bluetooth/
+-obj-$(CONFIG_COMPAT_BLUETOOTH_MODULES) += drivers/bluetooth/
+
+ else
+
+--
+1.7.1
diff --git a/recipes-bsp/ti-compat-wireless/files/0001-wl12xx-Decrease-number-of-RX-transactions.patch b/recipes-bsp/ti-compat-wireless/files/0001-wl12xx-Decrease-number-of-RX-transactions.patch
new file mode 100755
index 0000000..90aec78
--- /dev/null
+++ b/recipes-bsp/ti-compat-wireless/files/0001-wl12xx-Decrease-number-of-RX-transactions.patch
@@ -0,0 +1,34 @@
+From 5cd7de59a61168b784ea7f51c09e64f847e81c92 Mon Sep 17 00:00:00 2001
+From: Ido Yariv <ido at wizery.com>
+Date: Tue, 13 Dec 2011 23:16:01 +0200
+Subject: [PATCH 1/2] wl12xx: Decrease number of RX transactions
+
+On weak platforms, it is crucial to keep the number of SDIO transactions
+to a bare minimum. It is probably more important to keep CPU utilization
+low, than to handle FW events asap.
+
+In order to decrease the number of RX transactions, set the FW to only
+wake up the host when it has at least 4 pending packets. In addition,
+increase the relevant timeout, so the FW could actually reach this
+threshold.
+---
+ drivers/net/wireless/wl12xx/main.c | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/net/wireless/wl12xx/main.c b/drivers/net/wireless/wl12xx/main.c
+index bdb7166..f90b96a 100644
+--- a/drivers/net/wireless/wl12xx/main.c
++++ b/drivers/net/wireless/wl12xx/main.c
+@@ -130,8 +130,8 @@ static struct conf_drv_settings default_conf = {
+ .rts_threshold = IEEE80211_MAX_RTS_THRESHOLD,
+ .rx_cca_threshold = 0,
+ .irq_blk_threshold = 0xFFFF,
+- .irq_pkt_threshold = 0,
+- .irq_timeout = 600,
++ .irq_pkt_threshold = 4,
++ .irq_timeout = 1200,
+ .queue_type = CONF_RX_QUEUE_TYPE_LOW_PRIORITY,
+ },
+ .tx = {
+--
+1.7.7.6
diff --git a/recipes-bsp/ti-compat-wireless/files/0001-wl12xx-additional-two-members-for-wl12xx_platform_da.patch b/recipes-bsp/ti-compat-wireless/files/0001-wl12xx-additional-two-members-for-wl12xx_platform_da.patch
new file mode 100644
index 0000000..69863cb
--- /dev/null
+++ b/recipes-bsp/ti-compat-wireless/files/0001-wl12xx-additional-two-members-for-wl12xx_platform_da.patch
@@ -0,0 +1,30 @@
+From 351a513dabfb55c3aab448613c2b10b7b5788d93 Mon Sep 17 00:00:00 2001
+From: Vita Preskovsky <vitap at ti.com>
+Date: Sun, 1 Jul 2012 11:49:30 +0300
+Subject: [PATCH] wl12xx: additional two members for wl12xx_platform_data
+
+ * Adding bt_enable_gpio and wlan_enable_gpio to wl12xx_platform_data.
+ This is needed in order to align this structure
+ with the one which is part of the linux kernel
+
+
+Signed-off-by: Vita Preskovsky <vitap at ti.com>
+---
+ include/linux/wl12xx.h | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/include/linux/wl12xx.h b/include/linux/wl12xx.h
+index 0d63731..535058e 100644
+--- a/include/linux/wl12xx.h
++++ b/include/linux/wl12xx.h
+@@ -54,6 +54,8 @@ struct wl12xx_platform_data {
+ int board_ref_clock;
+ int board_tcxo_clock;
+ unsigned long platform_quirks;
++ int bt_enable_gpio;
++ int wlan_enable_gpio;
+ bool pwr_in_suspend;
+
+ struct wl1271_if_operations *ops;
+--
+1.7.0.4
diff --git a/recipes-bsp/ti-compat-wireless/files/0001-wl12xx-detect-between-wl1271-PG-3.0-and-lower.patch b/recipes-bsp/ti-compat-wireless/files/0001-wl12xx-detect-between-wl1271-PG-3.0-and-lower.patch
new file mode 100644
index 0000000..13bce85
--- /dev/null
+++ b/recipes-bsp/ti-compat-wireless/files/0001-wl12xx-detect-between-wl1271-PG-3.0-and-lower.patch
@@ -0,0 +1,65 @@
+From f100c47eff6a24a9594702dc72037773f7dd8911 Mon Sep 17 00:00:00 2001
+From: Eyal Reizer <eyalr at ti.com>
+Date: Tue, 29 May 2012 14:45:07 +0300
+Subject: [PATCH] wl12xx: detect between wl1271 PG 3.0 and lower
+
+* Detect between wl1271 PG version 3.0 and lower for using the right
+ firmware with R5 based releases
+* Do not allow activating multi-role on PG 2.0(and lower)
+
+Upstream-Status: Pending
+
+Signed-off-by: Eyal Reizer <eyalr at ti.com>
+---
+ drivers/net/wireless/wl12xx/main.c | 22 ++++++++++++++++++++--
+ 1 files changed, 20 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/net/wireless/wl12xx/main.c b/drivers/net/wireless/wl12xx/main.c
+index 3f05874..db50bf0 100644
+--- a/drivers/net/wireless/wl12xx/main.c
++++ b/drivers/net/wireless/wl12xx/main.c
+@@ -51,6 +51,8 @@
+ #include "scan.h"
+ #include "version.h"
+
++#define WL1271_PG_VERSION_2 2
++#define WL127X_PG20_FW_NAME_SINGLE "ti-connectivity/wl127x-fw-4-pg2-0-sr.bin"
+ #define WL1271_BOOT_RETRIES 3
+
+ static struct conf_drv_settings default_conf = {
+@@ -1081,8 +1083,12 @@ static int wl12xx_fetch_firmware(struct wl1271 *wl, bool plt)
+ fw_type = WL12XX_FW_TYPE_NORMAL;
+ if (wl->chip.id == CHIP_ID_1283_PG20)
+ fw_name = WL128X_FW_NAME_SINGLE;
+- else
+- fw_name = WL127X_FW_NAME_SINGLE;
++ else {
++ if (wl->hw_pg_ver > WL1271_PG_VERSION_2)
++ fw_name = WL127X_FW_NAME_SINGLE;
++ else
++ fw_name = WL127X_PG20_FW_NAME_SINGLE;
++ }
+ }
+ }
+
+@@ -2494,6 +2500,18 @@ static int wl1271_op_add_interface(struct ieee80211_hw *hw,
+ goto out;
+ }
+
++ /*
++ * Only WL127x PG 3.0 supports multi-role. Do not allow bringing up more
++ * than one interface at a time in-case of using an older version.
++ */
++ if ((wl->chip.id == CHIP_ID_1271_PG20) && (wl->hw_pg_ver <= WL1271_PG_VERSION_2)) {
++ open_count = ieee80211_get_open_count(hw, vif);
++ if (open_count) {
++ wl1271_error("WL127x PG %d.0 doesn't support multi-role",wl->hw_pg_ver + 1);
++ ret = -EBUSY;
++ goto out;
++ }
++ }
+
+ ret = wl12xx_init_vif_data(wl, vif);
+ if (ret < 0)
+--
+1.7.0.4
diff --git a/recipes-bsp/ti-compat-wireless/files/0002-compat-wireless-enable-test-mode.patch b/recipes-bsp/ti-compat-wireless/files/0002-compat-wireless-enable-test-mode.patch
new file mode 100644
index 0000000..556ec8a
--- /dev/null
+++ b/recipes-bsp/ti-compat-wireless/files/0002-compat-wireless-enable-test-mode.patch
@@ -0,0 +1,29 @@
+From ca17ce77efde9a69ea4d82b86d4d51463d3e2b4a Mon Sep 17 00:00:00 2001
+From: Moosa <moosab at ti.com>
+Date: Thu, 24 May 2012 11:54:06 +0300
+Subject: [PATCH 2/2] compat-wireless: enable test mode
+
+* Enable test mode switch. Needed for the calibration process
+
+Upstream-Status: Pending
+
+Signed-off-by: Moosa Baransi <moosab at ti.com>
+---
+ config.mk | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/config.mk b/config.mk
+index f09d16d..65b485e 100644
+--- a/config.mk
++++ b/config.mk
+@@ -198,7 +198,7 @@ CONFIG_MAC80211_MESH=y
+ CONFIG_CFG80211=m
+ CONFIG_CFG80211_DEFAULT_PS=y
+ # CONFIG_CFG80211_DEBUGFS=y
+-# CONFIG_NL80211_TESTMODE=y
++CONFIG_NL80211_TESTMODE=y
+ # CONFIG_CFG80211_DEVELOPER_WARNINGS=y
+ # CONFIG_CFG80211_REG_DEBUG=y
+ # CONFIG_CFG80211_INTERNAL_REGDB=y
+--
+1.7.1
diff --git a/recipes-bsp/ti-compat-wireless/files/0002-ti-compat-wireless-enable-uapsd-configuration.patch b/recipes-bsp/ti-compat-wireless/files/0002-ti-compat-wireless-enable-uapsd-configuration.patch
new file mode 100644
index 0000000..2cd3502
--- /dev/null
+++ b/recipes-bsp/ti-compat-wireless/files/0002-ti-compat-wireless-enable-uapsd-configuration.patch
@@ -0,0 +1,27 @@
+From 74d34f0573183f3d4971fcae46ed9dadbf514626 Mon Sep 17 00:00:00 2001
+From: Eyal Reizer <eyalr at ti.com>
+Date: Sun, 12 Jun 2011 17:33:09 +0300
+Subject: [PATCH] ti-compat-wireless:enable uapsd configuration
+
+this switch activates the wlan uapsd_queues settings
+
+Signed-off-by: Eyal Reizer <eyalr at ti.com>
+---
+ config.mk | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/config.mk b/config.mk
+index f4cf832..a464b99 100644
+--- a/config.mk
++++ b/config.mk
+@@ -110,7 +110,7 @@ endif #CONFIG_COMPAT_KERNEL_33
+ # Wireless subsystem stuff
+ CONFIG_MAC80211=m
+
+-# CONFIG_MAC80211_DEBUGFS=y
++CONFIG_MAC80211_DEBUGFS=y
+ # CONFIG_MAC80211_NOINLINE=y
+ # CONFIG_MAC80211_VERBOSE_DEBUG=y
+ # CONFIG_MAC80211_HT_DEBUG=y
+--
+1.7.0.4
diff --git a/recipes-bsp/ti-compat-wireless/files/0002-wl12xx-Decrease-number-of-TX-transactions.patch b/recipes-bsp/ti-compat-wireless/files/0002-wl12xx-Decrease-number-of-TX-transactions.patch
new file mode 100755
index 0000000..344f06f
--- /dev/null
+++ b/recipes-bsp/ti-compat-wireless/files/0002-wl12xx-Decrease-number-of-TX-transactions.patch
@@ -0,0 +1,135 @@
+From 35d7ab5678ce2287b681cb2735ec4307f3f83a6b Mon Sep 17 00:00:00 2001
+From: Ido Yariv <ido at wizery.com>
+Date: Tue, 13 Dec 2011 23:28:12 +0200
+Subject: [PATCH 2/2] wl12xx: Decrease number of TX transactions
+
+On weak platforms, it is crucial to keep the number of SDIO transactions
+to a bare minimum. It is probably more important to keep CPU utilization
+low, than to handle FW events asap.
+
+In order to decrease the number of TX transactions, don't schedule tx
+work right away for every outgoing packet. Instead, try to wait for a
+short period before scheduling tx work if there aren't enough pending
+packets.
+
+In addition, increase the TX pacing timeout, so the FW will have enough
+free memory blocks for larger transfers.
+---
+ drivers/net/wireless/wl12xx/main.c | 39 ++++++++++++++++++++++++++++++---
+ drivers/net/wireless/wl12xx/wl12xx.h | 3 ++
+ 2 files changed, 38 insertions(+), 4 deletions(-)
+
+diff --git a/drivers/net/wireless/wl12xx/main.c b/drivers/net/wireless/wl12xx/main.c
+index f90b96a..e65eb5d 100644
+--- a/drivers/net/wireless/wl12xx/main.c
++++ b/drivers/net/wireless/wl12xx/main.c
+@@ -211,8 +211,8 @@ static struct conf_drv_settings default_conf = {
+ },
+ },
+ .frag_threshold = IEEE80211_MAX_FRAG_THRESHOLD,
+- .tx_compl_timeout = 700,
+- .tx_compl_threshold = 4,
++ .tx_compl_timeout = 1500,
++ .tx_compl_threshold = 6,
+ .basic_rate = CONF_HW_BIT_RATE_1MBPS,
+ .basic_rate_5 = CONF_HW_BIT_RATE_6MBPS,
+ .tmpl_short_retry_limit = 10,
+@@ -994,6 +994,8 @@ static irqreturn_t wl1271_irq(int irq, void *cookie)
+ spin_lock_irqsave(&wl->wl_lock, flags);
+ if (!test_bit(WL1271_FLAG_FW_TX_BUSY, &wl->flags) &&
+ wl1271_tx_total_queue_count(wl) > 0) {
++ hrtimer_try_to_cancel(&wl->tx_timer);
++ clear_bit(WL1271_FLAG_TX_TIMER_SET, &wl->flags);
+ spin_unlock_irqrestore(&wl->wl_lock, flags);
+ /*
+ * In order to avoid starvation of the TX path,
+@@ -1536,6 +1538,9 @@ out:
+ return ret;
+ }
+
++#define TX_PACKETS_THRESHOLD 6
++#define TX_WORK_DELAY_NS (1500 * 1000)
++
+ static void wl1271_op_tx(struct ieee80211_hw *hw, struct sk_buff *skb)
+ {
+ struct wl1271 *wl = hw->priv;
+@@ -1584,14 +1589,37 @@ static void wl1271_op_tx(struct ieee80211_hw *hw, struct sk_buff *skb)
+ * before that, the tx_work will not be initialized!
+ */
+
+- if (!test_bit(WL1271_FLAG_FW_TX_BUSY, &wl->flags) &&
+- !test_bit(WL1271_FLAG_TX_PENDING, &wl->flags))
++ if (test_bit(WL1271_FLAG_FW_TX_BUSY, &wl->flags) ||
++ test_bit(WL1271_FLAG_TX_PENDING, &wl->flags))
++ goto out;
++
++ if (wl1271_tx_total_queue_count(wl) < TX_PACKETS_THRESHOLD) {
++ if (!test_and_set_bit(WL1271_FLAG_TX_TIMER_SET, &wl->flags))
++ hrtimer_start(&wl->tx_timer,
++ ktime_set(0, TX_WORK_DELAY_NS),
++ HRTIMER_MODE_REL);
++ } else {
++ hrtimer_try_to_cancel(&wl->tx_timer);
++ clear_bit(WL1271_FLAG_TX_TIMER_SET, &wl->flags);
+ ieee80211_queue_work(wl->hw, &wl->tx_work);
++ }
+
+ out:
+ spin_unlock_irqrestore(&wl->wl_lock, flags);
+ }
+
++enum hrtimer_restart wl12xx_tx_timer(struct hrtimer *timer)
++{
++ struct wl1271 *wl = container_of(timer, struct wl1271, tx_timer);
++ unsigned long flags;
++
++ spin_lock_irqsave(&wl->wl_lock, flags);
++ clear_bit(WL1271_FLAG_TX_TIMER_SET, &wl->flags);
++ ieee80211_queue_work(wl->hw, &wl->tx_work);
++ spin_unlock_irqrestore(&wl->wl_lock, flags);
++ return HRTIMER_NORESTART;
++}
++
+ int wl1271_tx_dummy_packet(struct wl1271 *wl)
+ {
+ unsigned long flags;
+@@ -2162,6 +2190,7 @@ static void wl1271_op_stop(struct ieee80211_hw *hw)
+ * functions don't perform further work.
+ */
+ wl->state = WL1271_STATE_OFF;
++ hrtimer_cancel(&wl->tx_timer);
+ mutex_unlock(&wl->mutex);
+
+ mutex_lock(&wl_list_mutex);
+@@ -5835,6 +5864,8 @@ static struct ieee80211_hw *wl1271_alloc_hw(void)
+ wl->active_sta_count = 0;
+ wl->fwlog_size = 0;
+ init_waitqueue_head(&wl->fwlog_waitq);
++ hrtimer_init(&wl->tx_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
++ wl->tx_timer.function = wl12xx_tx_timer;
+
+ /* The system link is always allocated */
+ __set_bit(WL12XX_SYSTEM_HLID, wl->links_map);
+diff --git a/drivers/net/wireless/wl12xx/wl12xx.h b/drivers/net/wireless/wl12xx/wl12xx.h
+index 269fadf..437526f 100644
+--- a/drivers/net/wireless/wl12xx/wl12xx.h
++++ b/drivers/net/wireless/wl12xx/wl12xx.h
+@@ -265,6 +265,7 @@ enum wl12xx_flags {
+ WL1271_FLAG_RECOVERY_IN_PROGRESS,
+ WL1271_FLAG_VIF_CHANGE_IN_PROGRESS,
+ WL1271_FLAG_INTENDED_FW_RECOVERY,
++ WL1271_FLAG_TX_TIMER_SET,
+ };
+
+ enum wl12xx_vif_flags {
+@@ -552,6 +553,8 @@ struct wl1271 {
+ struct list_head peers_list;
+
+ bool watchdog_recovery;
++
++ struct hrtimer tx_timer;
+ };
+
+ struct wl1271_station {
+--
+1.7.7.6
diff --git a/recipes-bsp/ti-compat-wireless/files/0004-added-driver-version.patch b/recipes-bsp/ti-compat-wireless/files/0004-added-driver-version.patch
new file mode 100644
index 0000000..b118166
--- /dev/null
+++ b/recipes-bsp/ti-compat-wireless/files/0004-added-driver-version.patch
@@ -0,0 +1,36 @@
+From 6147f6523fd3e82b1bed0ea5de1c23cff808a39f Mon Sep 17 00:00:00 2001
+From: Moosa <moosa.baransi at babcomsoftware.com>
+Date: Thu, 29 Dec 2011 09:26:16 +0200
+Subject: [PATCH] added driver version
+
+* Add printing of driver version after printing FW version.
+
+Upstream-Status: Pending
+
+Signed-off-by: Moosa <moosa.baransi at babcomsoftware.com>
+---
+ drivers/net/wireless/wl12xx/main.c | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/net/wireless/wl12xx/main.c b/drivers/net/wireless/wl12xx/main.c
+index aae6a74..fbf754b 100644
+--- a/drivers/net/wireless/wl12xx/main.c
++++ b/drivers/net/wireless/wl12xx/main.c
+@@ -49,6 +49,7 @@
+ #include "scan.h"
+
+ #define WL1271_BOOT_RETRIES 3
++#define WLAN_DRIVER_VERSION "R5_00_18"
+
+ static struct conf_drv_settings default_conf = {
+ .sg = {
+@@ -2227,6 +2228,7 @@ power_off:
+ wl->state = WL1271_STATE_ON;
+ set_bit(WL1271_FLAG_IF_INITIALIZED, &wl->flags);
+ wl1271_info("firmware booted (%s)", wl->chip.fw_ver_str);
++ wl1271_info("Driver version: %s", WLAN_DRIVER_VERSION);
+
+ /* update hw/fw version info in wiphy struct */
+ wiphy->hw_version = wl->chip.id;
+--
+1.7.0.4
diff --git a/recipes-bsp/ti-compat-wireless/ti-compat-wireless-wl12xx_r5_18.bb b/recipes-bsp/ti-compat-wireless/ti-compat-wireless-wl12xx_r5_18.bb
new file mode 100644
index 0000000..ba9cbf3
--- /dev/null
+++ b/recipes-bsp/ti-compat-wireless/ti-compat-wireless-wl12xx_r5_18.bb
@@ -0,0 +1,52 @@
+# This is a TI specific version of the compat-wireless recipe using a
+# compat-wireless package created from the TI Systems Tested mac80211 releases.
+
+DESCRIPTION = "ti compat-wireless drivers"
+HOMEPAGE = "https://gforge.ti.com/gf/project/ecs_nlcp/"
+SECTION = "kernel/modules"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=d7810fab7487fb0aad327b76f1be7cd7"
+
+RDEPENDS = "wireless-tools"
+
+TAG = "${@'${COMPAT_WIRELESS_VERSION}'.replace('-', '')}"
+PV = "0.${TAG}"
+
+inherit module
+
+MACHINE_KERNEL_PR_append = "a"
+
+COMPAT_WIRELESS_VERSION = "2012-05-15-r5-18"
+
+S = "${WORKDIR}/compat-wireless"
+
+SRC_URI = "https://gforge.ti.com/gf/download/frsrelease/864/5621/ti-compat-wireless-wl12xx-2012-05-17-r5-18.tar.gz \
+ file://0001-compat-wireless-add-pm_runtime_enabled.patch \
+ file://0001-compat-wireless-exclude-BT-building.patch \
+ file://0002-compat-wireless-enable-test-mode.patch \
+ file://0004-added-driver-version.patch \
+ file://0002-ti-compat-wireless-enable-uapsd-configuration.patch \
+ file://0001-wl12xx-detect-between-wl1271-PG-3.0-and-lower.patch \
+ file://0001-wl12xx-additional-two-members-for-wl12xx_platform_da.patch \
+ "
+SRC_URI_append_am335x-evm = "file://0001-wl12xx-Decrease-number-of-RX-transactions.patch \
+ file://0002-wl12xx-Decrease-number-of-TX-transactions.patch \
+"
+
+SRC_URI[md5sum] = "9b6228d2ad39ece76ec022452df59621"
+SRC_URI[sha256sum] = "c5564cbdb5d89d488be13f8d9310242597728eb1e0918ef64a6fae55dba53f5e"
+
+EXTRA_OEMAKE = "KLIB_BUILD=${STAGING_KERNEL_DIR} KLIB=${D}"
+
+do_configure() {
+ cd ${S}
+ ./scripts/driver-select wl12xx
+}
+
+do_configure_append() {
+ sed -i "s#@./scripts/update-initramfs## " Makefile
+}
+
+do_install() {
+ oe_runmake DEPMOD=echo DESTDIR="${D}" INSTALL_MOD_PATH="${D}" LDFLAGS="" install-modules
+}
--
1.7.0.4
More information about the meta-ti
mailing list