bcm-v4

[Specification

LP PHY Load TX Gain Table ( struct gain_table_entry *gain_table)

  1. The struct in the call has the following layout: u8 gm; u8 pga; u8 pad; u8 dac; u8 bb_mult
  2. Create a table, set the table width to 32, the table length to 1, and the table data pointer to a u32 data word
  3. If PHY revision < 2

    1. Set the table ID to 10
  4. Otherwise
    1. Set the table ID to 7
  5. If PHY Revision >= 3

    1. If the current band is 5GHz
      1. Set tmp to 0x10
    2. Otherwise
      1. Set tmp to 0x70
  6. Otherwise
    1. If the current band if 5GHz
      1. Set tmp to 0x14
    2. Otherwise
      1. Set tmp to 0x7F
  7. Loop 128 times with loop index j starting at 0
    1. If PHY revision >= 2

      1. Set the data word to gain_table[j].pad << 16 | gain_table[j].pga << 8 | gain_table[j].gm | tmp << 24

      2. Set the table offset to 0xC0 + j
      3. Write the LP table

      4. Set the data word to gain_table[j].bb_mult << 0x14 | gain_table[j].dac << 0x1c

      5. Set the table offset to 0x140 + j
      6. Write the LP table

    2. Otherwise
      1. Set the data word to gain_table[j].pad << 0xb | gain_table[j].pga << 7 | gain_table[j].gm << 4 | gain_table[j].dac

      2. Set the table offset to 0xC0 + j
      3. Write the LP table

      4. Set the data word to gain_table[j].bb_mult << 0x14

      5. Set the table offset to 0x140 + j
      6. Write the LP table


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