These are specific workarounds for certain boards
A PHYs
If this is a board with a Broadcom Vendor ID, Board Type of 0x416 and Board Revision < 0x30
Write 0xE000 to PHY Register 0x10
Write 0x140 to PHY Register 0x13
Write 0x280 to PHY Register 0x14
- Otherwise
If the Board Type is 0x44A and the Board Revision is < 0x20
Write 0x210 to PHY Register 0x13
Write 0x840 to PHY Register 0x14
- Otherwise
Write 0x140 to PHY Register 0x13
Write 0x280 to PHY Register 0x14
- If the PHY Revision is 4 or less
Write 0xE000 to PHY Register 0x10
- Otherwise
Write 0x2000 to PHY Register 0x10
Write 0x39 to OFDM Table 0xE, offset 0x8
Write 0x40 to OFDM Table 0xF, offset 0x7
G PHYs
- 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
If the PHY Revision is < 2
Write 0x2 to OFDM Table 0x14, offset 0x1
Write 0x1 to OFDM Table 0x14, offset 0x2
- Otherwise
Write 0x2 to OFDM Table 0x1, offset 0x1
Write 0x1 to OFDM Table 0x1, offset 0x2
If the BoardFlags have BFL_EXTLNA set and the PHY Revision is 7 or greater
Mask Extended G Register 0x11 with mask 0xF7FF
Write 0x1 to OFDM Table 0x1, offset 0x20
Write 0x1 to OFDM Table 0x1, offset 0x21
Write 0x1 to OFDM Table 0x1, offset 0x22
Write 0x0 to OFDM Table 0x1, offset 0x23
Write 0x0 to OFDM Table 0x1, offset 0x0
Write 0x2 to OFDM Table 0x1, offset 0x3
If the Board Flags have BFL_FEM set (Front End Module NRSSI Lookup Table Workaround)
Write 0x3120 to Extended G Register 0x03
Write 0xC480 to Extended G Register 0x04