18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * This file is part of wl1251 48c2ecf20Sopenharmony_ci * 58c2ecf20Sopenharmony_ci * Copyright (C) 2009 Nokia Corporation 68c2ecf20Sopenharmony_ci */ 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ci#ifndef __WL1251_INIT_H__ 98c2ecf20Sopenharmony_ci#define __WL1251_INIT_H__ 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ci#include "wl1251.h" 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_cienum { 148c2ecf20Sopenharmony_ci /* best effort/legacy */ 158c2ecf20Sopenharmony_ci AC_BE = 0, 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ci /* background */ 188c2ecf20Sopenharmony_ci AC_BK = 1, 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci /* video */ 218c2ecf20Sopenharmony_ci AC_VI = 2, 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_ci /* voice */ 248c2ecf20Sopenharmony_ci AC_VO = 3, 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ci /* broadcast dummy access category */ 278c2ecf20Sopenharmony_ci AC_BCAST = 4, 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ci NUM_ACCESS_CATEGORIES = 4 308c2ecf20Sopenharmony_ci}; 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ci/* following are defult values for the IE fields*/ 338c2ecf20Sopenharmony_ci#define CWMIN_BK 15 348c2ecf20Sopenharmony_ci#define CWMIN_BE 15 358c2ecf20Sopenharmony_ci#define CWMIN_VI 7 368c2ecf20Sopenharmony_ci#define CWMIN_VO 3 378c2ecf20Sopenharmony_ci#define CWMAX_BK 1023 388c2ecf20Sopenharmony_ci#define CWMAX_BE 63 398c2ecf20Sopenharmony_ci#define CWMAX_VI 15 408c2ecf20Sopenharmony_ci#define CWMAX_VO 7 418c2ecf20Sopenharmony_ci 428c2ecf20Sopenharmony_ci/* slot number setting to start transmission at PIFS interval */ 438c2ecf20Sopenharmony_ci#define AIFS_PIFS 1 448c2ecf20Sopenharmony_ci 458c2ecf20Sopenharmony_ci/* 468c2ecf20Sopenharmony_ci * slot number setting to start transmission at DIFS interval - normal DCF 478c2ecf20Sopenharmony_ci * access 488c2ecf20Sopenharmony_ci */ 498c2ecf20Sopenharmony_ci#define AIFS_DIFS 2 508c2ecf20Sopenharmony_ci 518c2ecf20Sopenharmony_ci#define AIFSN_BK 7 528c2ecf20Sopenharmony_ci#define AIFSN_BE 3 538c2ecf20Sopenharmony_ci#define AIFSN_VI AIFS_PIFS 548c2ecf20Sopenharmony_ci#define AIFSN_VO AIFS_PIFS 558c2ecf20Sopenharmony_ci#define TXOP_BK 0 568c2ecf20Sopenharmony_ci#define TXOP_BE 0 578c2ecf20Sopenharmony_ci#define TXOP_VI 3008 588c2ecf20Sopenharmony_ci#define TXOP_VO 1504 598c2ecf20Sopenharmony_ci 608c2ecf20Sopenharmony_ciint wl1251_hw_init_hwenc_config(struct wl1251 *wl); 618c2ecf20Sopenharmony_ciint wl1251_hw_init_templates_config(struct wl1251 *wl); 628c2ecf20Sopenharmony_ciint wl1251_hw_init_rx_config(struct wl1251 *wl, u32 config, u32 filter); 638c2ecf20Sopenharmony_ciint wl1251_hw_init_phy_config(struct wl1251 *wl); 648c2ecf20Sopenharmony_ciint wl1251_hw_init_beacon_filter(struct wl1251 *wl); 658c2ecf20Sopenharmony_ciint wl1251_hw_init_pta(struct wl1251 *wl); 668c2ecf20Sopenharmony_ciint wl1251_hw_init_energy_detection(struct wl1251 *wl); 678c2ecf20Sopenharmony_ciint wl1251_hw_init_beacon_broadcast(struct wl1251 *wl); 688c2ecf20Sopenharmony_ciint wl1251_hw_init_power_auth(struct wl1251 *wl); 698c2ecf20Sopenharmony_ciint wl1251_hw_init_mem_config(struct wl1251 *wl); 708c2ecf20Sopenharmony_ciint wl1251_hw_init(struct wl1251 *wl); 718c2ecf20Sopenharmony_ci 728c2ecf20Sopenharmony_ci#endif 73