Availability

Wireless cores with revision 4 and lower can only support one PHY type per core, newer revisions can support more than one PHY Type per core (A and B or G combined).

Dual Band Boards

The following boards have two bands available.

PCI ID

Board

0x4324

BCM4306 Series, A/B support

0x4312

BCM4311 Series, A/G support

0x4319

BCM4318 Series, A/G support

Dual Core Boards

If the core revision (of the first wireless core present) is 4, then any dual-band board (see above) or these boards have two cores. Other boards may have two cores as well, but that isn't relevant as they won't be connected.

PCI ID

Board

0x4321

BCM4306 Series

0x4313

BCM4311 Series

0x431A

BCM4318 Series

Multiband Operation

band switch

Preconditions: core up, MAC disabled, interrupts disabled, radio off

  1. If multiband operation is by way of multiple cores, turn off LEDs
  2. put PHY into reset but also turn off the G mode enable TM state low bit when turning on the PHY reset bit

  3. perform the low level bandswitch

low level band switch

  1. if a core switch is required and the crystal is turned on, disable the G mode TM state low bit

  2. if the crystal is turned on, set the G mode TM state low bit as required (i.e. set for G band, clear for A band)

activate band

  1. if the core revision is >= 5

    1. ...
  2. take PHY out of reset
  3. initialise the band
  4. update the crypto hardware on that band
  5. restore interrupts

initialise band

  1. update Host flags in hardware
  2. upload band initial values
  3. turn on Analog (see PHY pages)
  4. turn on radio
  5. initialize PHY
  6. update
    • min/max contention window
    • slot timing
    • Microcode rate tables
    • shared memory PHY type and PHY version
    • MAC control
    • MAC BSSID
    • SHM default IV location (must be 29 for A PHY and core rev < 5, 30 otherwise)

    • SHM synthetic pull-up delay (500 if not associated or IBSS, 3700 for A PHY, 1050 for B/G PHY, at least 2400 for Radio 2050 revision 8)
  7. on B/G PHY, ensure that wideband frequency tracking is enabled/disabled correctly