The host flags are a combined 32 bit register with the following flags:

Mask

Meaning

Default/Notes

0x000000000001

uCode Antenna diversity help

enabled/disabled when setting antenna diversity

0x000000000002

SYM workaround

on for G PHY

0x000000000004

Receive pullup workaround

off

0x000000000008

4 dB CCK power boost (exclusive PA gain OFDM boost)

on for G PHY rev < 3 unless OFDM power boost is enabled

0x000000000010

Bluetooth Coexistence

?

0x000000000020

Enable g-mode DC canceller filter bw workaround

on for G PHY revision 1

0x000000000040

Enable PA gain OFDM boost

on for G PHY if BFL_PACTRL is set

0x000000000080

Enable ACPR. Disable for Japan, channel 14

enabled/disabled when setting channel

0x000000000100

Enable EDCF (core revision > 4 only)

on if WME, must be set while MAC suspended

0x000000000200

TSSI reset PSM ucode workaround

off?

0x000000000400

disable slow clock request in uCode

on for multifunction boards (boardflag NO-PLL-DOWN set)

0x000000000800

Enable ACI workaround: shift bits by 2 on PHY CRS

enabled disabled during G PHY ACI

0x000000001000

2060 radio workaround, causes uCode to inform 2060 radio off rx/tx/rx transitions

enabled during A PHY setup

0x000000002000

radar workaround

off?

0x000000004000

enable use of default keys, see Crypto Engine

N/A

0x000000008000

afterburner enabled

on?

0x000000010000

Bluetooth 4-priority coexistance

off?

0x000000020000

fast wake-up uCode

off?

0x000000040000

force VCO recalculation when powering up synthpu

on for 2050 radio revision < 6

0x000000080000

PCI slow clock workaround

on if connected via PCI and PCI core revision is <= 10 (related to Power Save Mode as well)

0x000000100000

??

??

0x000000200000

4318 TSSI

off?

0x000000400000

flush broadcast/multicast FIFO immediately

N/A

0x000000800000

enable hardware power control

enabled during TX power SHM update

0x000001000000

Bluetooth coexistence in alternate pins

?

0x000002000000

enable bluetooth check during transmission

off?

0x000004000000

skip CFP update

enablue during scan on other channels

0x000020000000

antenna selection (for testing antenna diversity)

?

The following ones are probably only valid for revision 13 microcode and higher (addition of the N PHY).

Mask

Meaning

Default/Notes

0x000000000200

20 in 40 MHz I/Q workaround

new meaning for 0x200 bit on new ucode?

0x000008000000

N PHY 40 MHz workaround

?

0x000020000000

Bluetooth 3-wire coexistence

new meaning on new ucode?

0x000040000000

Bluetooth coexistence (antenna mode)

?

0x000100000000

Antenna selection enabled

0x000200000000

Antenna selection mode

0x000400000000

Bluetooth coexistence related

0x000800000000

Bluetooth coexistence related

0x001000000000

N PHY ML ADV workaround

0x002000000000

IBSS decryption mode

0x010000000000

Bluetooth coexistence related

0x020000000000

Bluetooth coexistence related

0x080000000000

PR 45960 workaround

Influence on microcode

based on microcode version 323.100

radar workaround

Causes the microcode to modify the Radar Threshold 1 A PHY register (uses the value 0x3d8 or SHM Radar Register value).

Receive pullup workaround

Causes the microcode to set the bits 0xc000 to 0x8000 for 40 cycles (and then reset them to 0) every 16 microseconds.

Bluetooth coexistence

Depending on various other things, signalling on GPIOs.

hardware power control

Enable EDCF

Causes the Microcode to use multiple FIFOs and keep track of the various timers for the EDCF, need to read up on that and try to understand what exactly it does.

flush broadcast/multicast FIFO immediately

Not sure, causes it to pull data from FIFO 5 maybe? Various SHM values have influence, like the Last posted Frame ID to the broadcast/multicast FIFO, also checks Hostflag 0x000000100000!

4318 TSSI

Sets the GPHY Analog Override Register to 0/8 (on TX/RX? RX/TX? other spots?)

Afterburner

Too long to explain here. "125Mbps" Broadcom markets is Afterburner, which really is frame aggregation similar to what 802.11N defines. Also influences slot timing and possibly more parameters.

FIXME: is it really frame aggregation or block ack (defined in 802.11e?)

TSSI reset PSM ucode workaround

Set TX Control 0 Radio register to 0x11/0x31 on some transmissions (which?)

Enable PA gain OFDM boost

Deassert GPIO 9 when transmitting OFDM frames, also modify Power Control Radio Register writing the value OFDM offset + Radio Power (both from SHM.)

Enable ACI workaround

Modify A PHY N1/N2 Threshold register sometimes.

enable use of default keys

Explained on the crypto page.

skip CFP update

Skips some code doing NAV/TSF (probably CFP) changes.

PCI slow clock workaround

wait 20 microseconds before entering sleep (powersave)

disable slow clock request in uCode

Do not use the SCC timer for waking up from sleep (powersave), ...

fast wake-up uCode

Program a different wakeup time for sleep

antenna diversity

Switch antenna automatically (based on what?)

SYM workaround

For some frames (data, special PLCP length or something, ...) change IFS control.

4 dB CCK power boost

???? Seems to only do similar things to the OFDM power boost?

Enable ACPR

Set TX Control 1 Radio register to 4 or 0 depending on some other factors.

802.11/Host Flags (last edited 2007-10-28 22:49:17 by localhost)