bcm-v4

[Specification

do nothing for phy rev < 3

  1. if PHY hang avoidance is on, enable staying in carrier search
  2. if the G-band spur workaround is enabled (it is on rev 3 and 4)
    1. adjust RX analog LPF bandwidth with a reduction factor of 7
    2. if the channel is 40mhz channel 11, adjust minimum noise var with the two tone IDs (57, 58) and noise values (0x3ff, 0x3ff)
    3. otherwise adjust minimum noise var with no tones (below)
    4. adjust CRS minimum power to 30 (below)
  3. if A-band spur workaround is enabled (boardflag):
    1. adjust minimum noise var with no or a single tone ID/noise value depending on channels:
      • channel 54: tone ID 32, noise value 0x25f
      • 134: 32, 0x21f
      • 151: 16, 0x23f
      • 153, 161: 48, 0x23f
      • others: no tone
  4. if PHY hang avoidance is on, disable staying in carrier search

adjust RX analog LPF bandwidth

  1. do nothing on PHY rev < 3

  2. if channel is 40mhz channel 11:
    1. if RX analog LPF bandwidth was previously adjusted, do nothing
    2. write the RC calibration value plus reduction factor all ORed with 0x80 to phy register 0x606b
  3. otherwise plus reduction factor
    1. if RX analog LPF bandwidth was previously adjusted, do nothing
    2. write the RC calibration value ORed with 0x80 to phy register 0x606b

adjust minimum noise var

  1. set table length to 254 for 40 mhz, 128 for 20 mhz
  2. if noise var was previously adjusted
    1. write the saved noise var to the 32-bit nphy table 16 at the respective stored offsets
    2. clear the saved noise var
    3. set noise var to not previously adjusted
  3. if tones are given
    1. clear the saved noise var
    2. set noise var to previously adjusted
    3. for each tone id/noise value:
      1. calculate the offset as twice the tone ID plus 1
      2. read the 32-bit nphy table 16 at this offset and store in saved noise var array
      3. write the given noise value to this offset in the same table

adjust CRS minimum power

  1. do nothing on PHY rev < 3

  2. if channel is 40mhz channel 11:
    1. if CRS minimum power was not previously adjusted
      1. store the lower 8 bits of registers 0x27d, 0x280, 0x283 and overwrite them with the given value
  3. otherwise
    1. if CRS minimum power was previously adjusted
      1. restore the lower 8 bits of the said registers

Exported/Archived from the wiki to HTML on 2016-10-27