1/* 2 * This file is part of wl1251 3 * 4 * Copyright (C) 2009 Nokia Corporation 5 * 6 * Contact: Kalle Valo <kalle.valo@nokia.com> 7 * 8 * This program is free software; you can redistribute it and/or 9 * modify it under the terms of the GNU General Public License 10 * version 2 as published by the Free Software Foundation. 11 * 12 * This program is distributed in the hope that it will be useful, but 13 * WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 * General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program; if not, write to the Free Software 19 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 20 * 02110-1301 USA 21 * 22 */ 23 24#ifndef __WL1251_INIT_H__ 25#define __WL1251_INIT_H__ 26 27#include "wl1251.h" 28 29enum { 30 /* best effort/legacy */ 31 AC_BE = 0, 32 33 /* background */ 34 AC_BK = 1, 35 36 /* video */ 37 AC_VI = 2, 38 39 /* voice */ 40 AC_VO = 3, 41 42 /* broadcast dummy access category */ 43 AC_BCAST = 4, 44 45 NUM_ACCESS_CATEGORIES = 4 46}; 47 48/* following are defult values for the IE fields*/ 49#define CWMIN_BK 15 50#define CWMIN_BE 15 51#define CWMIN_VI 7 52#define CWMIN_VO 3 53#define CWMAX_BK 1023 54#define CWMAX_BE 63 55#define CWMAX_VI 15 56#define CWMAX_VO 7 57 58/* slot number setting to start transmission at PIFS interval */ 59#define AIFS_PIFS 1 60 61/* 62 * slot number setting to start transmission at DIFS interval - normal DCF 63 * access 64 */ 65#define AIFS_DIFS 2 66 67#define AIFSN_BK 7 68#define AIFSN_BE 3 69#define AIFSN_VI AIFS_PIFS 70#define AIFSN_VO AIFS_PIFS 71#define TXOP_BK 0 72#define TXOP_BE 0 73#define TXOP_VI 3008 74#define TXOP_VO 1504 75 76int wl1251_hw_init_hwenc_config(struct wl1251 *wl); 77int wl1251_hw_init_templates_config(struct wl1251 *wl); 78int wl1251_hw_init_rx_config(struct wl1251 *wl, u32 config, u32 filter); 79int wl1251_hw_init_phy_config(struct wl1251 *wl); 80int wl1251_hw_init_beacon_filter(struct wl1251 *wl); 81int wl1251_hw_init_pta(struct wl1251 *wl); 82int wl1251_hw_init_energy_detection(struct wl1251 *wl); 83int wl1251_hw_init_beacon_broadcast(struct wl1251 *wl); 84int wl1251_hw_init_power_auth(struct wl1251 *wl); 85int wl1251_hw_init_mem_config(struct wl1251 *wl); 86int wl1251_hw_init(struct wl1251 *wl); 87 88#endif 89