Initialize B PHY / G PHY Power Control
- If the Board Vendor is 0x14E4 and the Board Type is 0x416
- Return
Write 0x8018 to PHYRegister 0x28
Mask MMIO 0x3E6 with mask 0xFFDF
- If this is a G PHY
If PHYConnected isn't true, return
If this board doesn't have HardwarePowerControl
Write 0xC111 to PHYRegister 0x47A
- Otherwise
Bitwise AND PHYRegister 0x36 with 0xFEFF
Write 0x202 to PHYRegister 0x2F
Bitwise OR PHYRegister 0x47C with 0x0002
Bitwise OR PHYRegister 0x47A with 0xF000
- If the Radio Version is 0x2050 and the Radio Revision is 8
MaskSet PHYRegister 0x47A with mask 0xFF0F and set with 0x10
Bitwise OR PHYRegister 0x5D with mask 0x8000
MaskSet PHYRegister 0x4E with mask 0xFFC0 and set with 0x10
Write 0xC07F to PHYRegister 0x2E
Bitwise OR PHYRegister 0x36 with 0x400
- Otherwise
Bitwise OR PHYRegister 0x36 with 0x200
Bitwise OR PHYRegister 0x36 with 0x400
Bitwise AND PHYRegister 0x5D with 0x7FFF
Bitwise AND PHYRegister 0x4F with 0xFFFE
MaskSet PHYRegister 0x4E with mask 0xFFC0 and set with 0x10
Write 0xC07F to PHYRegister 0x2E
MaskSet PHYRegister 0x47A with mask 0xFF0F and set with 0x10
If we haven't already saved the contents of PHYRegister 0x29 (the Power Control Register)
If this is a 0x2050 radio with Analog Core Revision 0
MaskSet RadioRegister 0x76 with mask 0xF7 and set with 0x84
- Otherwise
- If this the Radio Revision is 8
- SetTXPower to Baseband Attenuation 0xB, Radio Attenuation 0x1F, TXCtl1 Attenuation 0
- Otherwise
- SetTXPower to Baseband Attentuation 0xB, Radio Attenuation 9, TXCtl1 Attenuation 0
- If this the Radio Revision is 8
Perform a DummyTransmission
Save the value of PHYRegister 0x29 (the Power Control Register)
If this is a 0x2050 radio with Analog Core Revision 0
Bitwise AND RadioRegister 0x76 with 0xFF7B
- Otherwise
- SetTXPower to the saved Radio Attenuation, Baseband Attenuation and TXCTL Attentuation
If this board has HardwarePowerControl, perform the init routine