1166b2136SLuciano Coelho /* 2166b2136SLuciano Coelho * This file is part of wl12xx 3166b2136SLuciano Coelho * 4166b2136SLuciano Coelho * Copyright (C) 2011 Texas Instruments Inc. 5166b2136SLuciano Coelho * 6166b2136SLuciano Coelho * This program is free software; you can redistribute it and/or 7166b2136SLuciano Coelho * modify it under the terms of the GNU General Public License 8166b2136SLuciano Coelho * version 2 as published by the Free Software Foundation. 9166b2136SLuciano Coelho * 10166b2136SLuciano Coelho * This program is distributed in the hope that it will be useful, but 11166b2136SLuciano Coelho * WITHOUT ANY WARRANTY; without even the implied warranty of 12166b2136SLuciano Coelho * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13166b2136SLuciano Coelho * General Public License for more details. 14166b2136SLuciano Coelho * 15166b2136SLuciano Coelho * You should have received a copy of the GNU General Public License 16166b2136SLuciano Coelho * along with this program; if not, write to the Free Software 17166b2136SLuciano Coelho * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 18166b2136SLuciano Coelho * 02110-1301 USA 19166b2136SLuciano Coelho * 20166b2136SLuciano Coelho */ 21166b2136SLuciano Coelho 22166b2136SLuciano Coelho #ifndef __WL12XX_PRIV_H__ 23166b2136SLuciano Coelho #define __WL12XX_PRIV_H__ 24166b2136SLuciano Coelho 25166b2136SLuciano Coelho #include "conf.h" 26166b2136SLuciano Coelho 27986f3aa1SLuciano Coelho /* WiLink 6/7 chip IDs */ 28986f3aa1SLuciano Coelho #define CHIP_ID_127X_PG10 (0x04030101) 29986f3aa1SLuciano Coelho #define CHIP_ID_127X_PG20 (0x04030111) 30986f3aa1SLuciano Coelho #define CHIP_ID_128X_PG10 (0x05030101) 31986f3aa1SLuciano Coelho #define CHIP_ID_128X_PG20 (0x05030111) 32986f3aa1SLuciano Coelho 338675f9abSLuciano Coelho /* FW chip version for wl127x */ 344a1ccce8SArik Nemtsov #define WL127X_CHIP_VER 6 358675f9abSLuciano Coelho /* minimum single-role FW version for wl127x */ 368675f9abSLuciano Coelho #define WL127X_IFTYPE_SR_VER 3 378675f9abSLuciano Coelho #define WL127X_MAJOR_SR_VER 10 388675f9abSLuciano Coelho #define WL127X_SUBTYPE_SR_VER WLCORE_FW_VER_IGNORE 398675f9abSLuciano Coelho #define WL127X_MINOR_SR_VER 115 408675f9abSLuciano Coelho /* minimum multi-role FW version for wl127x */ 418675f9abSLuciano Coelho #define WL127X_IFTYPE_MR_VER 5 428675f9abSLuciano Coelho #define WL127X_MAJOR_MR_VER 7 438675f9abSLuciano Coelho #define WL127X_SUBTYPE_MR_VER WLCORE_FW_VER_IGNORE 448675f9abSLuciano Coelho #define WL127X_MINOR_MR_VER 115 454a1ccce8SArik Nemtsov 468675f9abSLuciano Coelho /* FW chip version for wl128x */ 474a1ccce8SArik Nemtsov #define WL128X_CHIP_VER 7 488675f9abSLuciano Coelho /* minimum single-role FW version for wl128x */ 498675f9abSLuciano Coelho #define WL128X_IFTYPE_SR_VER 3 508675f9abSLuciano Coelho #define WL128X_MAJOR_SR_VER 10 518675f9abSLuciano Coelho #define WL128X_SUBTYPE_SR_VER WLCORE_FW_VER_IGNORE 528675f9abSLuciano Coelho #define WL128X_MINOR_SR_VER 115 538675f9abSLuciano Coelho /* minimum multi-role FW version for wl128x */ 548675f9abSLuciano Coelho #define WL128X_IFTYPE_MR_VER 5 558675f9abSLuciano Coelho #define WL128X_MAJOR_MR_VER 7 568675f9abSLuciano Coelho #define WL128X_SUBTYPE_MR_VER WLCORE_FW_VER_IGNORE 578675f9abSLuciano Coelho #define WL128X_MINOR_MR_VER 42 584a1ccce8SArik Nemtsov 5926a309c7SIgal Chernobelsky #define WL12XX_AGGR_BUFFER_SIZE (4 * PAGE_SIZE) 6026a309c7SIgal Chernobelsky 61f1c434dfSIgal Chernobelsky #define WL12XX_NUM_TX_DESCRIPTORS 16 62f1c434dfSIgal Chernobelsky #define WL12XX_NUM_RX_DESCRIPTORS 8 63f1c434dfSIgal Chernobelsky 64f4afbed9SArik Nemtsov #define WL12XX_NUM_MAC_ADDRESSES 2 65f4afbed9SArik Nemtsov 66*d21553f8SIgal Chernobelsky #define WL12XX_RX_BA_MAX_SESSIONS 3 67*d21553f8SIgal Chernobelsky 684b4887e9SLuciano Coelho struct wl127x_rx_mem_pool_addr { 694b4887e9SLuciano Coelho u32 addr; 704b4887e9SLuciano Coelho u32 addr_extra; 714b4887e9SLuciano Coelho }; 724b4887e9SLuciano Coelho 73166b2136SLuciano Coelho struct wl12xx_priv { 74166b2136SLuciano Coelho struct wl12xx_priv_conf conf; 75a5d751bbSLuciano Coelho 76a5d751bbSLuciano Coelho int ref_clock; 77a5d751bbSLuciano Coelho int tcxo_clock; 782e07d028SIdo Yariv 792e07d028SIdo Yariv struct wl127x_rx_mem_pool_addr *rx_mem_addr; 80166b2136SLuciano Coelho }; 81166b2136SLuciano Coelho 82166b2136SLuciano Coelho #endif /* __WL12XX_PRIV_H__ */ 83