mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-26 04:53:42 +00:00
55 lines
703 B
ArmAsm
55 lines
703 B
ArmAsm
|
#include <config.h>
|
||
|
#include <linux/linkage.h>
|
||
|
|
||
|
#include <asm/armv7.h>
|
||
|
#include <asm/arch-armv7/generictimer.h>
|
||
|
#include <asm/psci.h>
|
||
|
|
||
|
.pushsection ._secure.text, "ax"
|
||
|
|
||
|
.arch_extension sec
|
||
|
|
||
|
@ r1 = target CPU
|
||
|
@ r2 = target PC
|
||
|
|
||
|
.globl psci_arch_init
|
||
|
psci_arch_init:
|
||
|
mov r6, lr
|
||
|
|
||
|
bl psci_get_cpu_id
|
||
|
bl psci_get_cpu_stack_top
|
||
|
mov sp, r0
|
||
|
|
||
|
bx r6
|
||
|
|
||
|
@ r1 = target CPU
|
||
|
@ r2 = target PC
|
||
|
|
||
|
.globl psci_cpu_on
|
||
|
psci_cpu_on:
|
||
|
push {lr}
|
||
|
|
||
|
mov r0, r1
|
||
|
bl psci_get_cpu_stack_top
|
||
|
str r2, [r0]
|
||
|
dsb
|
||
|
|
||
|
ldr r2, =psci_cpu_entry
|
||
|
bl imx_cpu_on
|
||
|
|
||
|
pop {pc}
|
||
|
|
||
|
.globl psci_cpu_off
|
||
|
psci_cpu_off:
|
||
|
|
||
|
bl psci_cpu_off_common
|
||
|
bl psci_get_cpu_id
|
||
|
bl imx_cpu_off
|
||
|
|
||
|
1: wfi
|
||
|
b 1b
|
||
|
|
||
|
.globl psci_text_end
|
||
|
psci_text_end:
|
||
|
.popsection
|