PHY reset(pih)
- Set in_reset to FALSE (local bool)
- Set a u32 clock bits variable to 0
- If this is an N PHY
- If the band width is 10 MHz
- Set clock bits to 0
- Else if the band width is 20 MHz
Set clock bits to 1 << 22
- Else if the band width is 40 MHz
Set clock bits to 2 << 22
- Otherwise
- Error condition
- If PHY Revision is 3 or 4
- Set core register 0x00C00000 to the clock bits
- Delay 1 usec
Call PHY PLL Reset
- Set bits 0xC0000 in core flags
- Set in_reset to TRUE
- If the band width is 10 MHz
- If in_reset is FALSE
- Mask set SB Target State Low with mask 0xFF33FFFF and set with 0x00C00000 ORed with clock bits
- Delay 2 usec
- Mask set SB Target State Low with mask 0xFFF5FFFF and set with 0x00200000
- Delay 1 usec
- Bitwise AND SB Target State Low with mask 0xFFFDFFFF
- Delay 1 usec
- If argument is not zero (This should/must be true.)
Call PHY Analog Core with argument 1