bcm-v4

[Specification

Availability

If this is an A PHY with PHY Revision 5 or greater or a G PHY with PHY Revision 6 or greater, use Hardware Power Control when directed in the specs.

A PHY Hardware Power Control Init

The following functions are executed in the order presented here, the names are preserved in the event that they're important.

One

  1. Mask OFDM Table 0xC, offset 1 with mask 0xFF7F

TSSI Power Lookup Table

  1. If 34 <= current channel <= 136

    1. Write the M TSSI To DBM Table to OFDM Table 0x15 starting at offset 0 (there are 64 entries)

  2. If 140 <= current channel <= 165

    1. Write the H TSSI To DBM Table to OFDM Table 0x15 starting at offset 0 (there are 64 entries)

  3. If 184 <= current channel <= 216

    1. Write the L TSSI To DBM Table to OFDM Table 0x15 starting at offset 0 (there are 64 entries)

Three

  1. Loop 64 times (over the TX Gain Tables)
    1. AND the current TX Gain DAC Table value with 0xF and left shift by 7
    2. AND the current TX Gain RF PA Table value with 0x7 and left shift by 4
    3. AND the current TX Gain Baseband Table value with 0xF
    4. OR the previous values together and write the result to OFDM Table 0x16, offset by the current loop position

Four

  1. Start with offset 0
  2. Loop 7 times (over the DIG Scalar Index)
    1. Loop 3 times
      1. Write the DIG Scalar OR'd with (the inner loop index left shifted by 7) to the next offset in OFDM Table 0x17

  3. Write the last entry 2 more times to the next two offsets in OFDM Table 0x17

Five

  1. Start with a table index of 0
  2. Loop 12 times
    1. Loop 5 times
      1. Get the DC Bias associated with the loop positions
      2. Write the DC Bias Vale to OFDM Table 0x18, offset given by the table index

      3. Increment the table index

Six

  1. Write 0 to OFDM Register 0x75

Seven

  1. Read the value of the Baseband Radio Register (0x17)

  2. Read the value of the RF Radio Register (0x19)

  3. The Register Value is found by taking the (RF value AND'd with 0x18), ORing that with (the Baseband Value AND'd with 0x60), ORing the result with (the RF value AND'd with 0x7) and left shifting the whole thing by 1
  4. If the Baseband value has bit 0x10 set
    1. OR the Register Value with 0x1
  5. Write the Register Value to OFDM Register 0x76

Nine

  1. If the PHY Revision is 6 or greater
    1. Write 0x900 to OFDM Register 0x78

  2. If the PHY Revision is 5
    1. Write 0xB00 to OFDM Register 0x78

  3. Otherwise
    1. Write 0x200 to OFDM Register 0x78

G PHY Hardware Power Control Init

  1. Find the delta between the Target Idle TSSI and the Measured Idle TSSI
  2. MaskSet CCK Register 0x36 with mask 0xFFC0 and set with the delta

  3. MaskSet OFDM Register 0x78 with mask 0xFF00 and set with the delta

  4. Setup the TSSI Power Lookup Table

  5. Setup the Gain Lookup Table

  6. AND CCK Register 0x60 with 0xFFBF

  7. Write 0 to CCK Register 0x14

  8. OR OFDM Register 0x78 with 0x800

  9. AND OFDM Register 0x78 with 0xFEFF

  10. AND Extended G Register 0x1 with 0xFFBF

  11. Setup the DC Lookup Table


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