bcm-v4

[Specification

N PHY TX Cal Radio Setup

  1. If PHY Revision >= 3

    1. Loop 2 times with index i
      1. If i is 0
        1. Set tmp to 0x2000
      2. Otherwise
        1. Set tmp to 0x3000
      3. Read Radio Register (0x28 | tmp) and save in tx_rx_cal_radio_saveregs[(i * 11) + 0]

      4. Read Radio Register (0x29 | tmp) and save in tx_rx_cal_radio_saveregs[(i * 11) + 1]

      5. Read Radio Register (0x2A | tmp) and save in tx_rx_cal_radio_saveregs[(i * 11) + 2]

      6. Read Radio Register (0x2B | tmp) and save in tx_rx_cal_radio_saveregs[(i * 11) + 3]

      7. Read Radio Register (0x2C | tmp) and save in tx_rx_cal_radio_saveregs[(i * 11) + 4]

      8. Read Radio Register (0x2D | tmp) and save in tx_rx_cal_radio_saveregs[(i * 11) + 5]

      9. Read Radio Register (0x2E | tmp) and save in tx_rx_cal_radio_saveregs[(i * 11) + 6]

      10. Read Radio Register (0x2F | tmp) and save in tx_rx_cal_radio_saveregs[(i * 11) + 7]

      11. Read Radio Register (0x30 | tmp) and save in tx_rx_cal_radio_saveregs[(i * 11) + 8]

      12. Read Radio Register (0x31 | tmp) and save in tx_rx_cal_radio_saveregs[(i * 11) + 9]

      13. Read Radio Register (0x32 | tmp) and save in tx_rx_cal_radio_saveregs[(i * 11) + 10]

      14. If the band is 5 GHz
        1. Write 0x0A to Radio Register (0x28 | tmp)
        2. Write 0x40 to Radio Register (0x29 | tmp)
        3. Write 0x55 to Radio Register (0x2A | tmp)
        4. Write 0x00 to Radio Register (0x2B | tmp)
        5. Write 0x00 to Radio Register (0x2C | tmp)
        6. If nphy_ipa5g_on

          1. Write 0x04 to Radio Register (0x2D | tmp)
          2. Write 0x01 to Radio Register (0x2E | tmp)
        7. Otherwise
          1. Write 0x00 to Radio Register (0x2D | tmp)
          2. Write 0x2F to Radio Register (0x2E | tmp)
        8. Write 0x00 to Radio Register (0x2F | tmp)
        9. Write 0x00 to Radio Register (0x30 | tmp)
        10. Write 0x00 to Radio Register (0x31 | tmp)
        11. Write 0x00 to Radio Register (0x32 | tmp)
      15. Otherwise
        1. Write 0x06 to Radio Register (0x28 | tmp)
        2. Write 0x40 to Radio Register (0x29 | tmp)
        3. Write 0x55 to Radio Register (0x2A | tmp)
        4. Write 0x00 to Radio Register (0x2B | tmp)
        5. Write 0x00 to Radio Register (0x2C | tmp)
        6. Write 0x00 to Radio Register (0x2E | tmp)
        7. If nphy_ipa2g_on

          1. Write 0x06 to Radio Register (0x2D | tmp)
          2. If PHY Revision < 5

            1. Write 0x11 to Radio Register (0x2F | tmp)
          3. Otherwise
            1. Write 0x01 to Radio Register (0x2F | tmp)
        8. Otherwise
          1. Write 0x00 to Radio Register (0x2D | tmp)
          2. Write 0x00 to Radio Register (0x2F | tmp)
        9. Write 0x00 to Radio Register (0x30 | tmp)
        10. Write 0x00 to Radio Register (0x31 | tmp)
        11. Write 0x00 to Radio Register (0x32 | tmp)
  2. Otherwise
    1. Read Radio Register 0x87 and save in tx_rx_cal_radio_saveregs[0]

    2. Write 0x29 to Radio Register 0x87
    3. Read Radio Register 0x88 and save in tx_rx_cal_radio_saveregs[1]

    4. Write 0x54 to Radio Register 0x88
    5. Read Radio Register 0xB6 and save in tx_rx_cal_radio_saveregs[2]

    6. Write 0x29 to Radio Register 0xB6
    7. Read Radio Register 0xB7 and save in tx_rx_cal_radio_saveregs[3]

    8. Write 0x54 to Radio Register 0xB7
    9. Read Radio Register 0x1F and save in tx_rx_cal_radio_saveregs[4]

    10. Read Radio Register 0x21 and save in tx_rx_cal_radio_saveregs[5]

    11. If PHY Register 0x09 & 0x0001 is 0

      1. Write 0x04 to Radio Register 0x1F
      2. Write 0x04 to Radio Register 0x21
    12. Otherwise
      1. Write 0x20 to Radio Register 0x1F
      2. Write 0x20 to Radio Register 0x21
    13. If PHY Revision < 2

      1. Set bit 0x20 in Radio Register 0x8D
      2. Set bit 0x20 in Radio Register 0xBC
    14. Otherwise
      1. Clear bit 0x20 in Radio Register 0x8D
      2. Clear bit 0x20 in Radio Register 0xBC

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