lowlevel_init.S 663 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. /*
  2. * SoC-specific setup info
  3. *
  4. * (C) Copyright 2010,2011
  5. * NVIDIA Corporation <www.nvidia.com>
  6. *
  7. * SPDX-License-Identifier: GPL-2.0+
  8. */
  9. #include <config.h>
  10. #include <linux/linkage.h>
  11. #ifdef CONFIG_ARM64
  12. .align 5
  13. ENTRY(reset_cpu)
  14. /* get address for global reset register */
  15. ldr x1, =PRM_RSTCTRL
  16. ldr w3, [x1]
  17. /* force reset */
  18. orr w3, w3, #0x10
  19. str w3, [x1]
  20. mov w0, w0
  21. 1:
  22. b 1b
  23. ENDPROC(reset_cpu)
  24. #else
  25. .align 5
  26. ENTRY(reset_cpu)
  27. ldr r1, rstctl @ get addr for global reset
  28. @ reg
  29. ldr r3, [r1]
  30. orr r3, r3, #0x10
  31. str r3, [r1] @ force reset
  32. mov r0, r0
  33. _loop_forever:
  34. b _loop_forever
  35. rstctl:
  36. .word PRM_RSTCTRL
  37. ENDPROC(reset_cpu)
  38. #endif