bcm-v4

[Specification

N PHY TX Cal PHY Setup

  1. If PHY Revision >= 3

    1. Save PHY Register 0xA6 in tx_rx_cal_phy_saveregs[0]

    2. Save PHY Register 0xA7 in tx_rx_cal_phy_saveregs[1]

    3. Maskset PHY Register 0xA6 with mask 0xF0FF and set with 0x0A00
    4. Maskset PHY Register 0xA7 with mask 0xF0FF and set with 0x0A00
    5. Read PHY Register 0x8F and save in tmp and tx_rx_cal_phy_saveregs[2]

    6. Write (tmp | 0x0600) to PHY Register 0x8F
    7. Read PHY Register 0xA5 and save in tmp and tx_rx_cal_phy_saveregs[3]

    8. Write (tmp | 0x0600) to PHY Register 0xA5
    9. Save PHY Register 0x01 in tx_rx_cal_phy_saveregs[4]

    10. Clear bit 0x8000 in PHY Register 0x01
    11. Read an N PHY Table with ID 8, length 1, offset 3, width 16, and data pointing to tmp
    12. Save tmp in tx_rx_cal_phy_saveregs[5]

    13. Write an N PHY Table with ID 8, length 1, offset 3, width 16, and data 0
    14. Read an N PHY Table with ID 8, length 1, offset 19, width 16, and data pointing to tmp
    15. Save tmp in tx_rx_cal_phy_saveregs[6]

    16. Write an N PHY Table with ID 8, length 1, offset 19, width 16, and data 0
    17. Save PHY Register 0x91 in tx_rx_cal_phy_saveregs[7]

    18. Save PHY Register 0x92 in tx_rx_cal_phy_saveregs[8]

    19. Call N PHY RF Ctrl Intc Override with 2, 1, 3 as arguments

    20. Call N PHY RF Ctrl Intc Override with 1, 2, 1 as arguments

    21. Call N PHY RF Ctrl Intc Override with 1, 8, 2 as arguments

    22. Save PHY Register 0x297 in tx_rx_cal_phy_saveregs[9]

    23. Save PHY Register 0x29B in tx_rx_cal_phy_saveregs[10]

    24. Clear bit 0x0001 in PHY register 0x297
    25. Clear bit 0x0001 in PHY register 0x29B
  2. Otherwise
    1. Save PHY Register 0xA6 in tx_rx_cal_phy_saveregs[0]

    2. Save PHY Register 0xA7 in tx_rx_cal_phy_saveregs[1]

    3. Maskset PHY Register 0xA6 with mask 0x0FFF and set with 0xA000
    4. Maskset PHY Register 0xA7 with mask 0x0FFF and set with 0xA000
    5. Read PHY Register 0xA5 and save in tmp and tx_rx_cal_phy_saveregs[2]

    6. Write (tmp | 0x3000) to PHY Register 0xA5
    7. Read an N PHY Table with ID 8, length 1, offset 2, width 16, and data pointing to tmp
    8. Save tmp in tx_rx_cal_phy_saveregs[3]

    9. Set bit 0x2000 in tmp
    10. Write an N PHY Table with ID 8, length 1, offset 2, width 16, and data pointer tmp
    11. Read an N PHY Table with ID 8, length 1, offset 18, width 16, and data pointer tmp
    12. Save tmp in tx_rx_cal_phy_saveregs[4]

    13. Set bit 0x2000 in tmp
    14. Write an N PHY Table with ID 8, length 1, offset 18, width 16, and data pointer tmp
    15. Save PHY Register 0x91 in tx_rx_cal_phy_saveregs[5]

    16. Save PHY Register 0x92 in tx_rx_cal_phy_saveregs[6]

    17. If the band is 5GHz
      1. Set tmp to 0x0180
    18. Otherwise
      1. Set tmp to 0x0120
    19. Write tmp to PHY Register 0x91
    20. Write tmp to PHY Register 0x92

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