mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-29 16:10:58 +00:00
sunxi: Move remaining PSCI assembly code to C
This patch finishes the rewrite of sunxi specific PSCI parts into C code. The assembly-only stack setup code has been factored out into a common function for ARMv7. The GIC setup code can be renamed as psci_arch_init. And we can use an empty stub function for psci_text_end. Signed-off-by: Chen-Yu Tsai <wens@csie.org> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
This commit is contained in:
parent
b52813239c
commit
94a389b257
3 changed files with 6 additions and 54 deletions
|
@ -14,7 +14,6 @@ obj-$(CONFIG_MACH_SUN8I_H3) += tzpc.o
|
|||
|
||||
ifndef CONFIG_SPL_BUILD
|
||||
obj-$(CONFIG_ARMV7_PSCI) += psci.o
|
||||
obj-$(CONFIG_ARMV7_PSCI) += psci_head.o
|
||||
endif
|
||||
|
||||
ifdef CONFIG_SPL_BUILD
|
||||
|
|
|
@ -250,7 +250,7 @@ void __secure psci_cpu_off(void)
|
|||
wfi();
|
||||
}
|
||||
|
||||
void __secure sunxi_gic_init(void)
|
||||
void __secure psci_arch_init(void)
|
||||
{
|
||||
u32 reg;
|
||||
|
||||
|
@ -271,3 +271,8 @@ void __secure sunxi_gic_init(void)
|
|||
reg &= ~BIT(0); /* Secure mode */
|
||||
cp15_write_scr(reg);
|
||||
}
|
||||
|
||||
/* dummy entry for end of psci text */
|
||||
void __secure psci_text_end(void)
|
||||
{
|
||||
}
|
||||
|
|
|
@ -1,52 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2013 - ARM Ltd
|
||||
* Author: Marc Zyngier <marc.zyngier@arm.com>
|
||||
*
|
||||
* Based on code by Carl van Schaik <carl@ok-labs.com>.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
#include <linux/linkage.h>
|
||||
|
||||
#include <asm/arch-armv7/generictimer.h>
|
||||
#include <asm/gic.h>
|
||||
#include <asm/macro.h>
|
||||
#include <asm/psci.h>
|
||||
#include <asm/arch/cpu.h>
|
||||
|
||||
/*
|
||||
* Memory layout:
|
||||
*
|
||||
* SECURE_RAM to text_end :
|
||||
* ._secure_text section
|
||||
* text_end to ALIGN_PAGE(text_end):
|
||||
* nothing
|
||||
* ALIGN_PAGE(text_end) to ALIGN_PAGE(text_end) + 0x1000)
|
||||
* 1kB of stack per CPU (4 CPUs max).
|
||||
*/
|
||||
|
||||
.pushsection ._secure.text, "ax"
|
||||
|
||||
.arch_extension sec
|
||||
|
||||
#define GICD_BASE (SUNXI_GIC400_BASE + 0x1000)
|
||||
#define GICC_BASE (SUNXI_GIC400_BASE + 0x2000)
|
||||
|
||||
ENTRY(psci_arch_init)
|
||||
b sunxi_gic_init
|
||||
ENDPROC(psci_arch_init)
|
||||
|
||||
ENTRY(psci_text_end)
|
||||
.popsection
|
Loading…
Reference in a new issue