bcm-specs

[Specification

Initalization routine for a B PHY, Revision 5

  1. If the Analog Core Revision is 1

    1. OR RadioRegister 0x7A with 0x50

  2. If the Board Vendor isn't 0x14E4 with a Board Type of 0x416
    1. Loop 31 times, start with offset 0xA8 and value 0x2120
      1. Write the value to the PHYRegister offset

      2. Increment the offset and add 0x202 to the value
  3. MaskSet PHYRegister 0x35 with mask 0xF0FF and set 0x700

  4. If the RadioID Radio Version is 2050

    1. Write 0x667 to PHYRegister 0x38

  5. If this is a G PHY
    1. If the RadioID Radio Version is 2050

      1. OR RadioRegister 0x7A with 0x20

      2. OR RadioRegister 0x51 with 0x4

    2. Write 0 to MMIO offset 0x3E2

    3. OR PHYRegister 0x802 with 0x100

    4. OR PHYRegister 0x42B with 0x2000

    5. Write 0x186A to PHYRegister 0x1C

    6. MaskSet PHYRegister 0x13 with mask 0xFF and set 0x1900

    7. MaskSet PHYRegister 0x35 with mask 0xFFC0 and set 0x64

    8. MaskSet PHYRegister 0x5D with mask 0xFF80 and set 0xA

    9. Write 0 to PHYRegister 0x5B

    10. Write 0 to PHYRegister 0x5C

  6. If "bad frames preemption" is enabled (default off, user controlled)
    1. Turn on bit 12 in PHY Register 0x401
  7. If the Analog Core Revision is 1

    1. Write 0xCE00 to PHYRegister 0x26

    2. Write 0x3763 to PHYRegister 0x21

    3. Write 0x1BC3 to PHYRegister 0x22

    4. Write 0x6F9 to PHYRegister 0x23

    5. Write 0x37E to PHYRegister 0x24

  8. Otherwise
    1. Write 0xCC00 to PHYRegister 0x26

  9. Write 0xC6 to PHYRegister 0x30

  10. Write 0x3F22 to MMIO offset 0x3EC

  11. If the Analog Core Revision is 1

    1. Write 0x3E1C to PHYRegister 0x20

  12. Otherwise
    1. Write 0x301C to PHYRegister 0x20

  13. If the Analog Core Revision is 0

    1. Write 0x3000 to MMIO offset 0x3E4

  14. Back up the current channel
  15. Force to channel 7, even if it's not supported
  16. If the RadioID Radio Version isn't 2050

    1. Write 0x80 to RadioRegister 0x75

    2. Write 0x81 to RadioRegister 0x79

  17. Write 0x20 to RadioRegister 0x50

  18. Write 0x23 to RadioRegister 0x50

  19. If the RadioID Radio Version is 2050

    1. Write 0x20 to RadioRegister 0x50

    2. Write 0x70 to RadioRegister 0x5A

  20. Write 0x7B to RadioRegister 0x5B

  21. Write 0xB0 to RadioRegister 0x5C

  22. OR RadioRegister 0x7A with 0x7

  23. Restore the channel
  24. Write 0x80 to PHYRegister 0x14

  25. Write 0xCA to PHYRegister 0x32

  26. Write 0x88A3 to PHYRegister 0x2A

  27. SetTXPower with 0xFFFF, 0xFFFF, 0xFFFF

  28. If the RadioID Radio Version is 2050

    1. Write 0xD to RadioRegister 0x5D

  29. MaskSet MMIO offset 0x3E4 with mask 0xFFC0 and set 0x4


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