aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ti/wl18xx/main.c
diff options
context:
space:
mode:
authorLuciano Coelho <coelho@ti.com>2012-05-10 05:13:50 -0400
committerLuciano Coelho <coelho@ti.com>2012-06-05 08:56:39 -0400
commitbe42aee6df93597f669b4d20e7a32c8fc144f104 (patch)
treeeff58e20b109fabf95d46d400cc5d64174d1ccdc /drivers/net/wireless/ti/wl18xx/main.c
parentc331b344d5def33194427b24cb2190ff345f7f55 (diff)
wl18xx: add plt_init operation
Add the correct FW name for PLT (which is the same as the normal firmware) and implement the plt_init operation. Signed-off-by: Luciano Coelho <coelho@ti.com> Signed-off-by: Arik Nemtsov <arik@wizery.com>
Diffstat (limited to 'drivers/net/wireless/ti/wl18xx/main.c')
-rw-r--r--drivers/net/wireless/ti/wl18xx/main.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/wireless/ti/wl18xx/main.c b/drivers/net/wireless/ti/wl18xx/main.c
index f892d37443e2..59408291d30d 100644
--- a/drivers/net/wireless/ti/wl18xx/main.c
+++ b/drivers/net/wireless/ti/wl18xx/main.c
@@ -580,6 +580,8 @@ static int wl18xx_identify_chip(struct wl1271 *wl)
580 wl1271_debug(DEBUG_BOOT, "chip id 0x%x (185x PG10)", 580 wl1271_debug(DEBUG_BOOT, "chip id 0x%x (185x PG10)",
581 wl->chip.id); 581 wl->chip.id);
582 wl->sr_fw_name = WL18XX_FW_NAME; 582 wl->sr_fw_name = WL18XX_FW_NAME;
583 /* wl18xx uses the same firmware for PLT */
584 wl->plt_fw_name = WL18XX_FW_NAME;
583 wl->quirks |= WLCORE_QUIRK_NO_ELP | 585 wl->quirks |= WLCORE_QUIRK_NO_ELP |
584 WLCORE_QUIRK_FWLOG_NOT_IMPLEMENTED | 586 WLCORE_QUIRK_FWLOG_NOT_IMPLEMENTED |
585 WLCORE_QUIRK_RX_BLOCKSIZE_ALIGN; 587 WLCORE_QUIRK_RX_BLOCKSIZE_ALIGN;
@@ -958,9 +960,17 @@ static void wl18xx_conf_init(struct wl1271 *wl)
958 memcpy(&priv->conf, &wl18xx_default_priv_conf, sizeof(priv->conf)); 960 memcpy(&priv->conf, &wl18xx_default_priv_conf, sizeof(priv->conf));
959} 961}
960 962
963static int wl18xx_plt_init(struct wl1271 *wl)
964{
965 wl1271_write32(wl, WL18XX_SCR_PAD8, WL18XX_SCR_PAD8_PLT);
966
967 return wl->ops->boot(wl);
968}
969
961static struct wlcore_ops wl18xx_ops = { 970static struct wlcore_ops wl18xx_ops = {
962 .identify_chip = wl18xx_identify_chip, 971 .identify_chip = wl18xx_identify_chip,
963 .boot = wl18xx_boot, 972 .boot = wl18xx_boot,
973 .plt_init = wl18xx_plt_init,
964 .trigger_cmd = wl18xx_trigger_cmd, 974 .trigger_cmd = wl18xx_trigger_cmd,
965 .ack_event = wl18xx_ack_event, 975 .ack_event = wl18xx_ack_event,
966 .calc_tx_blocks = wl18xx_calc_tx_blocks, 976 .calc_tx_blocks = wl18xx_calc_tx_blocks,