bcm-v4

[Specification

u32 PMU Res Uptime (u8 rsrc)

  1. Set min_mask and max_mask to 0
  2. Write rsrc to register 0x602
  3. Read register 0x628, right shift by 8, mask with 0xFF and save as up
  4. Call PMU Res Deps with (1 << rsrc), FALSE as arguments and save output as deps

  5. Loop 31 times with i as index
    1. If deps & (1 << i) is zero

      1. Continue
    2. Call PMU Res Deps with (1 << i), TRUE as arguments, complement the result, AND with deps, and save result as deps

  6. Call PMU Res Masks with &min_mask, &max_mask as arguments

  7. Complement min_mask, AND with deps, and save as deps
  8. Set dmax to 0
  9. Loop 31 times with i as index
    1. If deps & (1 << i) is zero

      1. Continue
    2. Set dup to the output of PMU Res Uptime with i as argument (recursive call)

    3. If dmax < dup

      1. Set dmax to dup
  10. Return up + dmax + 2

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