2018-05-06 21:58:06 +00:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0+ */
|
2016-07-21 10:09:38 +00:00
|
|
|
/*
|
|
|
|
* Copyright 2016 NXP Semiconductor.
|
|
|
|
* Author: Wang Dongsheng <dongsheng.wang@freescale.com>
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include <config.h>
|
|
|
|
#include <linux/linkage.h>
|
|
|
|
|
|
|
|
#include <asm/armv7.h>
|
|
|
|
#include <asm/psci.h>
|
|
|
|
|
|
|
|
.pushsection ._secure.text, "ax"
|
|
|
|
|
|
|
|
.arch_extension sec
|
|
|
|
|
|
|
|
.align 5
|
|
|
|
|
|
|
|
.globl psci_system_off
|
|
|
|
psci_system_off:
|
|
|
|
@ Get QIXIS base address
|
|
|
|
movw r1, #(QIXIS_BASE & 0xffff)
|
|
|
|
movt r1, #(QIXIS_BASE >> 16)
|
|
|
|
|
|
|
|
ldrb r2, [r1, #QIXIS_PWR_CTL]
|
|
|
|
orr r2, r2, #QIXIS_PWR_CTL_POWEROFF
|
|
|
|
strb r2, [r1, #QIXIS_PWR_CTL]
|
|
|
|
|
|
|
|
1: wfi
|
|
|
|
b 1b
|
|
|
|
|
|
|
|
.popsection
|