Initalization routine for a B PHY, Revision 2

  1. Write 0x3F22 to MMIO offset 0x3EC

  2. Write 0x301C to PHYRegister 0x20

  3. Write 0 to PHYRegister 0x26

  4. Write 0xC6 to PHYRegister 0x30

  5. Write 0x3E00 to PHYRegister 0x88

  6. Loop 30 times starting at offset 0x89 and value 0x3C3D
    1. Write the value to the PHYRegister offset

    2. Increment the offset and decrement the value by 0x202
  7. Write 0x3000 to MMIO offset 0x3E4

  8. Set the channel to the currently selected channel
  9. If RadioID Radio Version is not 2050

    1. Write 0x80 to RadioRegister 0x75

    2. Write 0x81 to RadioRegister 0x79

  10. Write 0x20 to RadioRegister 0x50

  11. Write 0x23 to RadioRegister 0x50

  12. If RadioID Radio Version is 2050

    1. Write 0x20 to RadioRegister 0x50

    2. Write 0x70 to RadioRegister 0x5A

    3. Write 0x7B to RadioRegister 0x5B

    4. Write 0xB0 to RadioRegister 0x5C

    5. Write 0xF to RadioRegister 0x7A

    6. Write 0x677 to PHYRegister 0x38

    7. 2050RadioCoreCalibration Note, the return value is not saved here

  13. Write 0x80 to PHYRegister 0x14

  14. Write 0xCA to PHYRegister 0x32

  15. Write 0xCC to PHYRegister 0x32

  16. Write 0x7C2 to PHYRegister 0x36

  17. measure the local oscillator

  18. Write 0xCC00 to PHYRegister 0x26

  19. If RadioID Radio Version is not 2050

    1. Write 0xCE00 to PHYRegister 0x26

  20. Write 0x1000 to MMIO offset 0x3F4

  21. Write 0x88A3 to PHYRegister 0x2A

  22. If RadioID Radio Version is not 2050

    1. Write 0x88C2 to PHYRegister 0x2A

  23. SetTXPower to 0xFFFF, 0xFFFF, 0xFFFF

  24. InitPowerControl

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