bcm-v4

[Specification

These are specific workarounds for certain boards

A PHYs

  1. If this is a board with a Broadcom Vendor ID, Board Type of 0x416 and Board Revision < 0x30

    1. Write 0xE000 to PHY Register 0x10

    2. Write 0x140 to PHY Register 0x13

    3. Write 0x280 to PHY Register 0x14

  2. Otherwise
    1. If the Board Type is 0x44A and the Board Revision is < 0x20

      1. Write 0x210 to PHY Register 0x13

      2. Write 0x840 to PHY Register 0x14

    2. Otherwise
      1. Write 0x140 to PHY Register 0x13

      2. Write 0x280 to PHY Register 0x14

    3. If the PHY Revision is 4 or less
      1. Write 0xE000 to PHY Register 0x10

    4. Otherwise
      1. Write 0x2000 to PHY Register 0x10

    5. Write 0x39 to OFDM Table 0xE, offset 0x8

    6. Write 0x40 to OFDM Table 0xF, offset 0x7

G PHYs

  1. If this isn't a board with a Broadcom Vendor ID or isn't a board with type 0x416 or doesn't have board revision 0x17
    1. If the PHY Revision is < 2

      1. Write 0x2 to OFDM Table 0x14, offset 0x1

      2. Write 0x1 to OFDM Table 0x14, offset 0x2

    2. Otherwise
      1. Write 0x2 to OFDM Table 0x1, offset 0x1

      2. Write 0x1 to OFDM Table 0x1, offset 0x2

      3. If the BoardFlags have BFL_EXTLNA set and the PHY Revision is 7 or greater

        1. Mask Extended G Register 0x11 with mask 0xF7FF

        2. Write 0x1 to OFDM Table 0x1, offset 0x20

        3. Write 0x1 to OFDM Table 0x1, offset 0x21

        4. Write 0x1 to OFDM Table 0x1, offset 0x22

        5. Write 0x0 to OFDM Table 0x1, offset 0x23

        6. Write 0x0 to OFDM Table 0x1, offset 0x0

        7. Write 0x2 to OFDM Table 0x1, offset 0x3

  2. If the Board Flags have BFL_FEM set (Front End Module NRSSI Lookup Table Workaround)

    1. Write 0x3120 to Extended G Register 0x03

    2. Write 0xC480 to Extended G Register 0x04


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