bcm-v4

[Specification

LP PHY Table Init

  1. If PHY Revision >= 2

    1. If PHY Revision >= 3

      1. Set the table ID to 0x0A
    2. Otherwise
      1. Set the table ID to 0x07
    3. Set the the table width to 32, the PHY width to 32, the length to 1, and the table data pointer to a u32 containing 0
    4. Loop from 0 to 703 (inclusive) in steps of 1
      1. Copy the loop index to the table offset
      2. Write LP table

    5. If the PHY revision >= 3

      1. For each entry in the "Rev 3 Data Table List", write that table

    6. Otherwise
      1. For each entry in the "Rev 2 Data Table List", write that table

    7. Call LP PHY ACI Load Table

    8. If the board flags & 0x00010000 is not zero

      1. If PHY Revision >= 3

        1. Call LP PHY Load TX Gain Table with the "Rev 3 noPA Gain Table" as argument

      2. Otherwise
        1. Call LP PHY Load TX Gain Table with the "Rev 2 noPA Gain Table" as argument

    9. Else if the current band is 5 GHz
      1. If PHY Revision >= 3

        1. Call LP PHY Load TX Gain Table with the "Rev 3 Gain Table for 5 GHz" as argument

      2. Otherwise
        1. Call LP PHY Load TX Gain Table with the "Rev 2 Gain Table for 5 GHz" as argument

    10. Otherwise
      1. If PHY Revision >= 3

        1. Call LP PHY Load TX Gain Table with the "Rev 3 Gain Table for 2 GHz" as argument

      2. Otherwise
        1. Call LP PHY Load TX Gain Table with the "Rev 2 Gain Table for 2 GHz" as argument

    11. Loop from 0 to 127 (inclusive) in steps of 1
      1. Set the table ID to 7
      2. Set the table width and PHY width to 32
      3. Set the table offset to 576 + the loop index
      4. Set the table data pointer to a u32 containing 127 - loop index
      5. Write the table

  2. Else if the Phy revision is 1
    1. For each entry in the "Rev 1 Data Table List"
      1. Write that table

    2. If the board flags & 0x00010000 is not zero OR board flags & 0x00002000 is not zero

      1. Call LP PHY Load TX Gain Table with the "Rev 1 noPA Gain Table" as argument

    3. Else if the current band is 5 GHz
      1. Call LP PHY Load TX Gain Table with the "Rev 1 Gain Table for 5 GHz" as argument

    4. Otherwise
      1. Call LP PHY Load TX Gain Table with the "Rev 1 Gain Table for 2 GHz" as argument

  3. Otherwise
    1. For each entry in the "Rev 0 Data Table List"
      1. Write that table

    2. If the board flags & 0x00010000 is not zero

      1. Call LP PHY Load TX Gain Table with the "Rev 0 noPA Gain Table" as argument

    3. Else if the current band is 5 GHz
      1. Call LP PHY Load TX Gain Table with the "Rev 0 Gain Table for 5 GHz" as argument

    4. Otherwise
      1. Call LP PHY Load TX Gain Table with the "Rev 0 Gain Table for 2 GHz" as argument

  4. If the board flags & 0x00010000 is not zero OR board flags & 0x00002000 is not zero

    1. If the chip ID is 0x5354 AND the chip revision >=3

      1. Call [PHY/LP/LoadTxGainTable|LP PHY Load TX Gain Table]] with "Rev 0 noPA Gain Table 5354" as argument
    2. Otherwise
      1. Call [PHY/LP/LoadTxGainTable|LP PHY Load TX Gain Table]] with "Rev 0 noPA Gain Table" as argument
    3. Otherwise
      1. If this is a 5GHz channel
        1. Call [PHY/LP/LoadTxGainTable|LP PHY Load TX Gain Table]] with "Rev 0 Gain Table for 5 GHz" as argument
      2. Otherwise
        1. Call [PHY/LP/LoadTxGainTable|LP PHY Load TX Gain Table]] with "Rev 0 Gain Table for 2 GHz" as argument
  5. Write the channel specific gain tables with the frequency of the current channel (in KHz) as argument


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