pm_wakeup.S 596 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. /* SPDX-License-Identifier: GPL-2.0
  2. *
  3. * Copyright (c) 2006 Andriy Skulysh <[email protected]>
  4. */
  5. #include <linux/linkage.h>
  6. #include <cpu/mmu_context.h>
  7. /*
  8. * Kernel mode register usage:
  9. * k0 scratch
  10. * k1 scratch
  11. * For more details, please have a look at entry.S
  12. */
  13. #define k0 r0
  14. #define k1 r1
  15. ENTRY(wakeup_start)
  16. ! clear STBY bit
  17. mov #-126, k1
  18. and #127, k0
  19. mov.b k0, @k1
  20. ! enable refresh
  21. mov.l 5f, k1
  22. mov.w 6f, k0
  23. mov.w k0, @k1
  24. ! jump to handler
  25. mov.l 4f, k1
  26. jmp @k1
  27. nop
  28. .align 2
  29. 4: .long handle_interrupt
  30. 5: .long 0xffffff68
  31. 6: .word 0x0524
  32. ENTRY(wakeup_end)
  33. nop