Merge branch 'for-davem' of ssh://master.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6
This commit is contained in:
commit
f9035cd498
177 changed files with 7152 additions and 6086 deletions
|
|
@ -25,6 +25,11 @@ struct bcma_chipinfo {
|
|||
u8 pkg;
|
||||
};
|
||||
|
||||
enum bcma_clkmode {
|
||||
BCMA_CLKMODE_FAST,
|
||||
BCMA_CLKMODE_DYNAMIC,
|
||||
};
|
||||
|
||||
struct bcma_host_ops {
|
||||
u8 (*read8)(struct bcma_device *core, u16 offset);
|
||||
u16 (*read16)(struct bcma_device *core, u16 offset);
|
||||
|
|
@ -243,8 +248,24 @@ void bcma_awrite32(struct bcma_device *core, u16 offset, u32 value)
|
|||
core->bus->ops->awrite32(core, offset, value);
|
||||
}
|
||||
|
||||
#define bcma_mask32(cc, offset, mask) \
|
||||
bcma_write32(cc, offset, bcma_read32(cc, offset) & (mask))
|
||||
#define bcma_set32(cc, offset, set) \
|
||||
bcma_write32(cc, offset, bcma_read32(cc, offset) | (set))
|
||||
#define bcma_maskset32(cc, offset, mask, set) \
|
||||
bcma_write32(cc, offset, (bcma_read32(cc, offset) & (mask)) | (set))
|
||||
|
||||
extern bool bcma_core_is_enabled(struct bcma_device *core);
|
||||
extern void bcma_core_disable(struct bcma_device *core, u32 flags);
|
||||
extern int bcma_core_enable(struct bcma_device *core, u32 flags);
|
||||
extern void bcma_core_set_clockmode(struct bcma_device *core,
|
||||
enum bcma_clkmode clkmode);
|
||||
extern void bcma_core_pll_ctl(struct bcma_device *core, u32 req, u32 status,
|
||||
bool on);
|
||||
#define BCMA_DMA_TRANSLATION_MASK 0xC0000000
|
||||
#define BCMA_DMA_TRANSLATION_NONE 0x00000000
|
||||
#define BCMA_DMA_TRANSLATION_DMA32_CMT 0x40000000 /* Client Mode Translation for 32-bit DMA */
|
||||
#define BCMA_DMA_TRANSLATION_DMA64_CMT 0x80000000 /* Client Mode Translation for 64-bit DMA */
|
||||
extern u32 bcma_core_dma_translation(struct bcma_device *core);
|
||||
|
||||
#endif /* LINUX_BCMA_H_ */
|
||||
|
|
|
|||
|
|
@ -179,15 +179,7 @@
|
|||
#define BCMA_CC_PROG_WAITCNT 0x0124
|
||||
#define BCMA_CC_FLASH_CFG 0x0128
|
||||
#define BCMA_CC_FLASH_WAITCNT 0x012C
|
||||
#define BCMA_CC_CLKCTLST 0x01E0 /* Clock control and status (rev >= 20) */
|
||||
#define BCMA_CC_CLKCTLST_FORCEALP 0x00000001 /* Force ALP request */
|
||||
#define BCMA_CC_CLKCTLST_FORCEHT 0x00000002 /* Force HT request */
|
||||
#define BCMA_CC_CLKCTLST_FORCEILP 0x00000004 /* Force ILP request */
|
||||
#define BCMA_CC_CLKCTLST_HAVEALPREQ 0x00000008 /* ALP available request */
|
||||
#define BCMA_CC_CLKCTLST_HAVEHTREQ 0x00000010 /* HT available request */
|
||||
#define BCMA_CC_CLKCTLST_HWCROFF 0x00000020 /* Force HW clock request off */
|
||||
#define BCMA_CC_CLKCTLST_HAVEHT 0x00010000 /* HT available */
|
||||
#define BCMA_CC_CLKCTLST_HAVEALP 0x00020000 /* APL available */
|
||||
/* 0x1E0 is defined as shared BCMA_CLKCTLST */
|
||||
#define BCMA_CC_HW_WORKAROUND 0x01E4 /* Hardware workaround (rev >= 20) */
|
||||
#define BCMA_CC_UART0_DATA 0x0300
|
||||
#define BCMA_CC_UART0_IMR 0x0304
|
||||
|
|
@ -244,7 +236,8 @@
|
|||
#define BCMA_CC_REGCTL_DATA 0x065C
|
||||
#define BCMA_CC_PLLCTL_ADDR 0x0660
|
||||
#define BCMA_CC_PLLCTL_DATA 0x0664
|
||||
#define BCMA_CC_SPROM 0x0830 /* SPROM beginning */
|
||||
#define BCMA_CC_SPROM 0x0800 /* SPROM beginning */
|
||||
#define BCMA_CC_SPROM_PCIE6 0x0830 /* SPROM beginning on PCIe rev >= 6 */
|
||||
|
||||
/* Data for the PMU, if available.
|
||||
* Check availability with ((struct bcma_chipcommon)->capabilities & BCMA_CC_CAP_PMU)
|
||||
|
|
|
|||
|
|
@ -1,13 +1,38 @@
|
|||
#ifndef LINUX_BCMA_REGS_H_
|
||||
#define LINUX_BCMA_REGS_H_
|
||||
|
||||
/* Some single registers are shared between many cores */
|
||||
/* BCMA_CLKCTLST: ChipCommon (rev >= 20), PCIe, 80211 */
|
||||
#define BCMA_CLKCTLST 0x01E0 /* Clock control and status */
|
||||
#define BCMA_CLKCTLST_FORCEALP 0x00000001 /* Force ALP request */
|
||||
#define BCMA_CLKCTLST_FORCEHT 0x00000002 /* Force HT request */
|
||||
#define BCMA_CLKCTLST_FORCEILP 0x00000004 /* Force ILP request */
|
||||
#define BCMA_CLKCTLST_HAVEALPREQ 0x00000008 /* ALP available request */
|
||||
#define BCMA_CLKCTLST_HAVEHTREQ 0x00000010 /* HT available request */
|
||||
#define BCMA_CLKCTLST_HWCROFF 0x00000020 /* Force HW clock request off */
|
||||
#define BCMA_CLKCTLST_EXTRESREQ 0x00000700 /* Mask of external resource requests */
|
||||
#define BCMA_CLKCTLST_HAVEALP 0x00010000 /* ALP available */
|
||||
#define BCMA_CLKCTLST_HAVEHT 0x00020000 /* HT available */
|
||||
#define BCMA_CLKCTLST_BP_ON_ALP 0x00040000 /* RO: running on ALP clock */
|
||||
#define BCMA_CLKCTLST_BP_ON_HT 0x00080000 /* RO: running on HT clock */
|
||||
#define BCMA_CLKCTLST_EXTRESST 0x07000000 /* Mask of external resource status */
|
||||
/* Is there any BCM4328 on BCMA bus? */
|
||||
#define BCMA_CLKCTLST_4328A0_HAVEHT 0x00010000 /* 4328a0 has reversed bits */
|
||||
#define BCMA_CLKCTLST_4328A0_HAVEALP 0x00020000 /* 4328a0 has reversed bits */
|
||||
|
||||
/* Agent registers (common for every core) */
|
||||
#define BCMA_IOCTL 0x0408
|
||||
#define BCMA_IOCTL 0x0408 /* IO control */
|
||||
#define BCMA_IOCTL_CLK 0x0001
|
||||
#define BCMA_IOCTL_FGC 0x0002
|
||||
#define BCMA_IOCTL_CORE_BITS 0x3FFC
|
||||
#define BCMA_IOCTL_PME_EN 0x4000
|
||||
#define BCMA_IOCTL_BIST_EN 0x8000
|
||||
#define BCMA_IOST 0x0500 /* IO status */
|
||||
#define BCMA_IOST_CORE_BITS 0x0FFF
|
||||
#define BCMA_IOST_DMA64 0x1000
|
||||
#define BCMA_IOST_GATED_CLK 0x2000
|
||||
#define BCMA_IOST_BIST_ERROR 0x4000
|
||||
#define BCMA_IOST_BIST_DONE 0x8000
|
||||
#define BCMA_RESET_CTL 0x0800
|
||||
#define BCMA_RESET_CTL_RESET 0x0001
|
||||
|
||||
|
|
|
|||
|
|
@ -1453,6 +1453,43 @@ enum ieee80211_sa_query_action {
|
|||
|
||||
#define WLAN_PMKID_LEN 16
|
||||
|
||||
/*
|
||||
* WMM/802.11e Tspec Element
|
||||
*/
|
||||
#define IEEE80211_WMM_IE_TSPEC_TID_MASK 0x0F
|
||||
#define IEEE80211_WMM_IE_TSPEC_TID_SHIFT 1
|
||||
|
||||
enum ieee80211_tspec_status_code {
|
||||
IEEE80211_TSPEC_STATUS_ADMISS_ACCEPTED = 0,
|
||||
IEEE80211_TSPEC_STATUS_ADDTS_INVAL_PARAMS = 0x1,
|
||||
};
|
||||
|
||||
struct ieee80211_tspec_ie {
|
||||
u8 element_id;
|
||||
u8 len;
|
||||
u8 oui[3];
|
||||
u8 oui_type;
|
||||
u8 oui_subtype;
|
||||
u8 version;
|
||||
__le16 tsinfo;
|
||||
u8 tsinfo_resvd;
|
||||
__le16 nominal_msdu;
|
||||
__le16 max_msdu;
|
||||
__le32 min_service_int;
|
||||
__le32 max_service_int;
|
||||
__le32 inactivity_int;
|
||||
__le32 suspension_int;
|
||||
__le32 service_start_time;
|
||||
__le32 min_data_rate;
|
||||
__le32 mean_data_rate;
|
||||
__le32 peak_data_rate;
|
||||
__le32 max_burst_size;
|
||||
__le32 delay_bound;
|
||||
__le32 min_phy_rate;
|
||||
__le16 sba;
|
||||
__le16 medium_time;
|
||||
} __packed;
|
||||
|
||||
/**
|
||||
* ieee80211_get_qos_ctl - get pointer to qos control bytes
|
||||
* @hdr: the frame
|
||||
|
|
|
|||
|
|
@ -756,8 +756,12 @@ enum nl80211_commands {
|
|||
*
|
||||
* @NL80211_ATTR_MAX_NUM_SCAN_SSIDS: number of SSIDs you can scan with
|
||||
* a single scan request, a wiphy attribute.
|
||||
* @NL80211_ATTR_MAX_NUM_SCHED_SCAN_SSIDS: number of SSIDs you can
|
||||
* scan with a single scheduled scan request, a wiphy attribute.
|
||||
* @NL80211_ATTR_MAX_SCAN_IE_LEN: maximum length of information elements
|
||||
* that can be added to a scan request
|
||||
* @NL80211_ATTR_MAX_SCHED_SCAN_IE_LEN: maximum length of information
|
||||
* elements that can be added to a scheduled scan request
|
||||
*
|
||||
* @NL80211_ATTR_SCAN_FREQUENCIES: nested attribute with frequencies (in MHz)
|
||||
* @NL80211_ATTR_SCAN_SSIDS: nested attribute with SSIDs, leave out for passive
|
||||
|
|
@ -989,8 +993,8 @@ enum nl80211_commands {
|
|||
* driving the peer link management state machine.
|
||||
* @NL80211_MESH_SETUP_USERSPACE_AMPE must be enabled.
|
||||
*
|
||||
* @NL80211_ATTR_WOWLAN_SUPPORTED: indicates, as part of the wiphy capabilities,
|
||||
* the supported WoWLAN triggers
|
||||
* @NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED: indicates, as part of the wiphy
|
||||
* capabilities, the supported WoWLAN triggers
|
||||
* @NL80211_ATTR_WOWLAN_TRIGGERS: used by %NL80211_CMD_SET_WOWLAN to
|
||||
* indicate which WoW triggers should be enabled. This is also
|
||||
* used by %NL80211_CMD_GET_WOWLAN to get the currently enabled WoWLAN
|
||||
|
|
@ -1010,6 +1014,11 @@ enum nl80211_commands {
|
|||
* @%NL80211_ATTR_REKEY_DATA: nested attribute containing the information
|
||||
* necessary for GTK rekeying in the device, see &enum nl80211_rekey_data.
|
||||
*
|
||||
* @NL80211_ATTR_SCAN_SUPP_RATES: rates per to be advertised as supported in scan,
|
||||
* nested array attribute containing an entry for each band, with the entry
|
||||
* being a list of supported rates as defined by IEEE 802.11 7.3.2.2 but
|
||||
* without the length restriction (at most %NL80211_MAX_SUPP_RATES).
|
||||
*
|
||||
* @NL80211_ATTR_MAX: highest attribute number currently defined
|
||||
* @__NL80211_ATTR_AFTER_LAST: internal use
|
||||
*/
|
||||
|
|
@ -1210,6 +1219,11 @@ enum nl80211_attrs {
|
|||
|
||||
NL80211_ATTR_REKEY_DATA,
|
||||
|
||||
NL80211_ATTR_MAX_NUM_SCHED_SCAN_SSIDS,
|
||||
NL80211_ATTR_MAX_SCHED_SCAN_IE_LEN,
|
||||
|
||||
NL80211_ATTR_SCAN_SUPP_RATES,
|
||||
|
||||
/* add attributes here, update the policy in nl80211.c */
|
||||
|
||||
__NL80211_ATTR_AFTER_LAST,
|
||||
|
|
@ -2255,6 +2269,16 @@ struct nl80211_wowlan_pattern_support {
|
|||
*
|
||||
* In %NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED, it is a binary attribute
|
||||
* carrying a &struct nl80211_wowlan_pattern_support.
|
||||
* @NL80211_WOWLAN_TRIG_GTK_REKEY_SUPPORTED: Not a real trigger, and cannot be
|
||||
* used when setting, used only to indicate that GTK rekeying is supported
|
||||
* by the device (flag)
|
||||
* @NL80211_WOWLAN_TRIG_GTK_REKEY_FAILURE: wake up on GTK rekey failure (if
|
||||
* done by the device) (flag)
|
||||
* @NL80211_WOWLAN_TRIG_EAP_IDENT_REQUEST: wake up on EAP Identity Request
|
||||
* packet (flag)
|
||||
* @NL80211_WOWLAN_TRIG_4WAY_HANDSHAKE: wake up on 4-way handshake (flag)
|
||||
* @NL80211_WOWLAN_TRIG_RFKILL_RELEASE: wake up when rfkill is released
|
||||
* (on devices that have rfkill in the device) (flag)
|
||||
* @NUM_NL80211_WOWLAN_TRIG: number of wake on wireless triggers
|
||||
* @MAX_NL80211_WOWLAN_TRIG: highest wowlan trigger attribute number
|
||||
*/
|
||||
|
|
@ -2264,6 +2288,11 @@ enum nl80211_wowlan_triggers {
|
|||
NL80211_WOWLAN_TRIG_DISCONNECT,
|
||||
NL80211_WOWLAN_TRIG_MAGIC_PKT,
|
||||
NL80211_WOWLAN_TRIG_PKT_PATTERN,
|
||||
NL80211_WOWLAN_TRIG_GTK_REKEY_SUPPORTED,
|
||||
NL80211_WOWLAN_TRIG_GTK_REKEY_FAILURE,
|
||||
NL80211_WOWLAN_TRIG_EAP_IDENT_REQUEST,
|
||||
NL80211_WOWLAN_TRIG_4WAY_HANDSHAKE,
|
||||
NL80211_WOWLAN_TRIG_RFKILL_RELEASE,
|
||||
|
||||
/* keep last */
|
||||
NUM_NL80211_WOWLAN_TRIG,
|
||||
|
|
|
|||
|
|
@ -27,6 +27,8 @@ struct ssb_sprom {
|
|||
u8 et1mdcport; /* MDIO for enet1 */
|
||||
u8 board_rev; /* Board revision number from SPROM. */
|
||||
u8 country_code; /* Country Code */
|
||||
u16 leddc_on_time; /* LED Powersave Duty Cycle On Count */
|
||||
u16 leddc_off_time; /* LED Powersave Duty Cycle Off Count */
|
||||
u8 ant_available_a; /* 2GHz antenna available bits (up to 4) */
|
||||
u8 ant_available_bg; /* 5GHz antenna available bits (up to 4) */
|
||||
u16 pa0b0;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue