/* SPDX-License-Identifier: GPL-2.0-only */ /* * This file is part of wl1271 * * Copyright (C) 1998-2009 Texas Instruments. All rights reserved. * Copyright (C) 2008-2010 Nokia Corporation * * Contact: Luciano Coelho <luciano.coelho@nokia.com>
*/
/* The number of PLCP errors since the last time this */ /* information element was interrogated. This field is */ /* automatically cleared when it is interrogated.*/
__le32 PLCP_error;
/* The number of FCS errors since the last time this */ /* information element was interrogated. This field is */ /* automatically cleared when it is interrogated.*/
__le32 FCS_error;
/* The number of MPDUs without PLCP header errors received*/ /* since the last time this information element was interrogated. */ /* This field is automatically cleared when it is interrogated.*/
__le32 valid_frame;
/* the number of missed sequence numbers in the squentially */ /* values of frames seq numbers */
__le32 seq_num_miss;
} __packed;
enum wl1271_psm_mode { /* Active mode */
WL1271_PSM_CAM = 0,
/* Power save mode */
WL1271_PSM_PS = 1,
/* Extreme low power */
WL1271_PSM_ELP = 2,
WL1271_PSM_MAX = WL1271_PSM_ELP,
/* illegal out of band value of PSM mode */
WL1271_PSM_ILLEGAL = 0xff
};
struct acx_sleep_auth { struct acx_header header;
/* The sleep level authorization of the device. */ /* 0 - Always active*/ /* 1 - Power down mode: light / fast sleep*/ /* 2 - ELP mode: Deep / Max sleep*/
u8 sleep_auth;
u8 padding[3];
} __packed;
u8 role_id;
u8 enable; /* * The number of beacons without the unicast TIM * bit set that the firmware buffers before * signaling the host about ready frames. * When set to 0 and the filter is enabled, beacons * without the unicast TIM bit set are dropped.
*/
u8 max_num_beacons;
u8 pad[1];
} __packed;
/* * ACXBeaconFilterEntry (not 221) * Byte Offset Size (Bytes) Definition * =========== ============ ========== * 0 1 IE identifier * 1 1 Treatment bit mask * * ACXBeaconFilterEntry (221) * Byte Offset Size (Bytes) Definition * =========== ============ ========== * 0 1 IE identifier * 1 1 Treatment bit mask * 2 3 OUI * 5 1 Type * 6 2 Version * * * Treatment bit mask - The information element handling: * bit 0 - The information element is compared and transferred * in case of change. * bit 1 - The information element is transferred to the host * with each appearance or disappearance. * Note that both bits can be set at the same time.
*/ #define BEACON_FILTER_TABLE_MAX_IE_NUM (32) #define BEACON_FILTER_TABLE_MAX_VENDOR_SPECIFIC_IE_NUM (6) #define BEACON_FILTER_TABLE_IE_ENTRY_SIZE (2) #define BEACON_FILTER_TABLE_EXTRA_VENDOR_SPECIFIC_IE_SIZE (6) #define BEACON_FILTER_TABLE_MAX_SIZE ((BEACON_FILTER_TABLE_MAX_IE_NUM * \
BEACON_FILTER_TABLE_IE_ENTRY_SIZE) + \
(BEACON_FILTER_TABLE_MAX_VENDOR_SPECIFIC_IE_NUM * \
BEACON_FILTER_TABLE_EXTRA_VENDOR_SPECIFIC_IE_SIZE))
u8 role_id;
u8 padding[3];
__le32 synch_fail_thold; /* number of beacons missed */
__le32 bss_lose_timeout; /* number of TU's from synch fail */
} __packed;
/* * When set, the WiLink transmits the frames with a short preamble and * when cleared, the WiLink transmits the frames with a long preamble.
*/
u8 role_id;
u8 preamble;
u8 padding[2];
} __packed;
/* bitmap of enabled arp_filter features */ #define ACX_ARP_FILTER_ARP_FILTERING BIT(0) #define ACX_ARP_FILTER_AUTO_ARP BIT(1)
struct wl1271_acx_arp_filter { struct acx_header header;
u8 role_id;
u8 version; /* ACX_IPV4_VERSION, ACX_IPV6_VERSION */
u8 enable; /* bitmap of enabled ARP filtering features */
u8 padding[1];
u8 address[16]; /* The configured device IP address - all ARP requests directed to this IP address will pass through. For IPv4, the first four bytes are
used. */
} __packed;
/* special capability bit (not employed by the 802.11n spec) */ #define WL12XX_HT_CAP_HT_OPERATION BIT(16)
/* * ACX_PEER_HT_CAP * Configure HT capabilities - declare the capabilities of the peer * we are connected to.
*/ struct wl1271_acx_ht_capabilities { struct acx_header header;
/* bitmask of capability bits supported by the peer */
__le32 ht_capabilites;
/* Indicates to which link these capabilities apply. */
u8 hlid;
/* * This the maximum A-MPDU length supported by the AP. The FW may not * exceed this length when sending A-MPDUs
*/
u8 ampdu_max_length;
/* This is the minimal spacing required when sending A-MPDUs to the AP*/
u8 ampdu_min_spacing;
u8 padding;
} __packed;
/* * ACX_HT_BSS_OPERATION * Configure HT capabilities - AP rules for behavior in the BSS.
*/ struct wl1271_acx_ht_information { struct acx_header header;
/* * Values: 0 - Dual CTS protection not required, * 1 - Dual CTS Protection required * Note: When this value is set to 1 FW will protect all TXOP with RTS * frame and will not use CTS-to-self regardless of the value of the * ACX_CTS_PROTECTION information element
*/
u8 dual_cts_protection;
/* * ACX_FM_COEX_CFG * set the FM co-existence parameters.
*/ struct wl1271_acx_fm_coex { struct acx_header header; /* enable(1) / disable(0) the FM Coex feature */
u8 enable; /* * Swallow period used in COEX PLL swallowing mechanism. * 0xFF = use FW default
*/
u8 swallow_period; /* * The N divider used in COEX PLL swallowing mechanism for Fref of * 38.4/19.2 Mhz. 0xFF = use FW default
*/
u8 n_divider_fref_set_1; /* * The N divider used in COEX PLL swallowing mechanism for Fref of * 26/52 Mhz. 0xFF = use FW default
*/
u8 n_divider_fref_set_2; /* * The M divider used in COEX PLL swallowing mechanism for Fref of * 38.4/19.2 Mhz. 0xFFFF = use FW default
*/
__le16 m_divider_fref_set_1; /* * The M divider used in COEX PLL swallowing mechanism for Fref of * 26/52 Mhz. 0xFFFF = use FW default
*/
__le16 m_divider_fref_set_2; /* * The time duration in uSec required for COEX PLL to stabilize. * 0xFFFFFFFF = use FW default
*/
__le32 coex_pll_stabilization_time; /* * The time duration in uSec required for LDO to stabilize. * 0xFFFFFFFF = use FW default
*/
__le16 ldo_stabilization_time; /* * The disturbed frequency band margin around the disturbed frequency * center (single sided). * For example, if 2 is configured, the following channels will be * considered disturbed channel: * 80 +- 0.1 MHz, 91 +- 0.1 MHz, 98 +- 0.1 MHz, 102 +- 0.1 MH * 0xFF = use FW default
*/
u8 fm_disturbed_band_margin; /* * The swallow clock difference of the swallowing mechanism. * 0xFF = use FW default
*/
u8 swallow_clk_diff;
} __packed;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.