u16 Clock Control Fast Powerup Delay
If chipcommon capabilities & 0x10000000 is not zero
- Disable interrupts
Set delay to output of PMU Fast Powerup Delay
- Enable interrupts
- Return delay
If chipcommon capabilities & 0x40000 is zero
- Return 0
- Set fast to false
If bus type is PCI-E or (but type is PCI and PCI core revision >= 13)
- Set fast to true
- Set delay to 0
- If fast is false
- Save current core index
- Disable interrupts
- Make chipcommon core active
- Get minfreq from chipco_pctl_clockfreqlimit with argument 0 (This routine is in current ssb driver.)
- Read register 0x00B0 to get pll_on_delay
- Set delay to ((pll_on_delay + 2) * 1,000,000 + (minfreq - 1)) / minfreq
- If fast is false
- Restore original core
- Enable interrupts
- Return delay