bcm-v4

[Specification

N PHY Spur Workaround

  1. Initialize the current channel to 0
  2. Initialize an int 2-element tone buffer with values 57 and 58
  3. Initialize a u32 2-element noise buffer with values 0x3FF and 0x3FF
  4. If the PHY revision >= 3

    1. If phyhang_avoid is not zero

      1. Call N PHY Stay in Carrier Search with argument 1

    2. Extract the current channel from radio_chanspec

    3. If nphy_gband_spurwar_en is not zero

      1. Call N PHY Adjust Analog Pfbw with argument 7

      2. If the current channel is 11 AND the current channel width is 40 MHz
        1. Call N PHY Adjust Min Noise Var with 2, the tone buffer, and the noise buffer as arguments

      3. Otherwise
        1. Call N PHY Adjust Min Noise Var with 0, NULL, and NULL as arguments

      4. Call N PHY Adjust CRS Min Power with 0x1E as argument

    4. If nphy_aband_spurwar_en is not zero

      1. If the current channel is 54
        1. Set element 0 of the tone buffer to 0x20
        2. Set element 0 of the noise buffer to 0x25F
      2. Else if the current channel is 38, 102, or 118
        1. If the chip is 0x4716 and the chip package is 9
          1. Set element 0 of the tone buffer to 0x20
          2. Set element 0 of the noise buffer to 0x21F
        2. Otherwise
          1. Set element 0 of the tone buffer to 0
          2. Set element 0 of the noise buffer to 0
      3. Else if the current channel is 134
        1. Set element 0 of the tone buffer to 0x20
        2. Set element 0 of the noise buffer to 0x21F
      4. Else if the current channel is 151
        1. Set element 0 of the tone buffer to 0x10
        2. Set element 0 of the noise buffer to 0x23F
      5. Else if the current channel is 153 or 161
        1. Set element 0 of the tone buffer to 0x30
        2. Set element 0 of the noise buffer to 0x23F
      6. Otherwise
        1. Set element 0 of the tone buffer to 0
        2. Set element 0 of the noise buffer to 0
      7. If the 0th element of the tone buffer and the 0th element of the noise buffer are both 0
        1. Call N PHY Adjust Min Noise Var with 1, the tone buffer, and the noise buffer as arguments

      8. Otherwise
        1. Call N PHY Adjust Min Noise Var with 0, NULL, and NULL as arguments

    5. If phyhang_avoid is not zero

      1. Call N PHY Stay in Carrier Search with argument 0


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