| /* |
| * SoC-specific setup info |
| * |
| * (C) Copyright 2010,2011 |
| * NVIDIA Corporation <www.nvidia.com> |
| * |
| * SPDX-License-Identifier: GPL-2.0+ |
| */ |
| |
| #include <config.h> |
| #include <linux/linkage.h> |
| |
| #ifdef CONFIG_ARM64 |
| .align 5 |
| ENTRY(reset_cpu) |
| /* get address for global reset register */ |
| ldr x1, =PRM_RSTCTRL |
| ldr w3, [x1] |
| /* force reset */ |
| orr w3, w3, #0x10 |
| str w3, [x1] |
| mov w0, w0 |
| 1: |
| b 1b |
| ENDPROC(reset_cpu) |
| #else |
| .align 5 |
| ENTRY(reset_cpu) |
| ldr r1, rstctl @ get addr for global reset |
| @ reg |
| ldr r3, [r1] |
| orr r3, r3, #0x10 |
| str r3, [r1] @ force reset |
| mov r0, r0 |
| _loop_forever: |
| b _loop_forever |
| rstctl: |
| .word PRM_RSTCTRL |
| ENDPROC(reset_cpu) |
| #endif |