[U-Boot] [PATCH v2 00/11] ARMv7: PSCI: add PSCI v1.0 support
hb zhang
macro.wave.z at gmail.com
Fri Apr 8 09:57:23 CEST 2016
This patch set touches other psci drivers, such as
arch/arm/cpu/armv7/mx7/psci.S | 7 +-
arch/arm/cpu/armv7/sunxi/psci_sun6i.S | 8 +-
arch/arm/cpu/armv7/sunxi/psci_sun7i.S | 8 +-
arch/arm/mach-tegra/psci.S | 7 +-
But the changes are quite slightly, take the psci_sun7i.S for example,
changes after all patches are like this:
diff --git a/arch/arm/cpu/armv7/sunxi/psci_sun7i.S
b/arch/arm/cpu/armv7/sunxi/psci_sun7i.S
index e15d587..b0601a7 100644
--- a/arch/arm/cpu/armv7/sunxi/psci_sun7i.S
+++ b/arch/arm/cpu/armv7/sunxi/psci_sun7i.S
@@ -119,14 +119,12 @@ out: mcr p15, 0, r7, c1, c1, 0
@ r1 = target CPU
@ r2 = target PC
+ @ r3 = target Conetxt ID
.globl psci_cpu_on
psci_cpu_on:
push {lr}
- mov r0, r1
- bl psci_get_cpu_stack_top @ get stack top of target CPU
- str r2, [r0] @ store target PC at stack top
- dsb
+ bl psci_cpu_on_common
movw r0, #(SUN7I_CPUCFG_BASE & 0xffff)
movt r0, #(SUN7I_CPUCFG_BASE >> 16)
@@ -179,7 +177,7 @@ psci_cpu_on:
orr r6, r6, r4
str r6, [r0, #0x1e4]
- mov r0, #ARM_PSCI_RET_SUCCESS @ Return PSCI_RET_SUCCESS
+ mov r0, #PSCI_RET_SUCCESS @ Return PSCI_RET_SUCCESS
pop {pc}
On Fri, Apr 8, 2016 at 2:23 PM, <macro.wave.z at gmail.com> wrote:
> From: Hongbo Zhang <hongbo.zhang at nxp.com>
>
> This patch set contains two parts:
> ARMv7 PSCI common framework: fix some issues and add v1.0 support
> NXP (was Freescale) LS102XA: codes enhancement and add v1.0 implementation
>
> Changes since v1:
> - re-organize psci_cpu_on_common, this code should be called by each platform's
> psci_cpu_on, should not be a function calling each psci_cpu_on, all related
> functions are updated due to this change
> - update some registers usage, e.g. if r10 is used without push/pop, u-boot
> cannot launch rt-kernel
> - update some comments to be clearer, re-organize all patches for easier review
> - add patch to check already_on or on_pending for LS102XA
>
>
> Hongbo Zhang:
> Wang Dongsheng:
> ARMv7: PSCI: update function psci_get_cpu_stack_top
> ARMv7: PSCI: update the place of saving target PC
> ARMv7: PSCI: add codes to save context ID for CPU_ON
> ARMv7: PSCI: factor out reusable psci_cpu_on_common
> ARMv7: PSCI: add PSCI v1.0 functions skeleton
> ARMv7: PSCI: ls102xa: check target CPU ID before further operations
> ARMv7: PSCI: ls102xa: check ALREADY_ON or ON_PENDING for CPU_ON
> ARMv7: PSCI: ls102xa: add more PSCI v1.0 functions implemention
> ARMv7: PSCI: ls102xa: move secure text section into OCRAM
> ARM: PSCI: change PSCI function IDs base and offsets
> ARM: PSCI: change PSCI related macros definition style
>
> arch/arm/cpu/armv7/ls102xa/psci.S | 177 +++++++++++++++++++++++++++--
> arch/arm/cpu/armv7/mx7/psci.S | 7 +-
> arch/arm/cpu/armv7/nonsec_virt.S | 7 ++
> arch/arm/cpu/armv7/psci.S | 113 +++++++++++++++---
> arch/arm/cpu/armv7/sunxi/psci_sun6i.S | 8 +-
> arch/arm/cpu/armv7/sunxi/psci_sun7i.S | 8 +-
> arch/arm/cpu/armv7/virt-dt.c | 54 ++++++---
> arch/arm/include/asm/arch-ls102xa/config.h | 3 +-
> arch/arm/include/asm/psci.h | 62 +++++++---
> arch/arm/mach-tegra/psci.S | 7 +-
> board/freescale/ls1021aqds/Makefile | 1 +
> board/freescale/ls1021aqds/psci.S | 36 ++++++
> board/freescale/ls1021atwr/Makefile | 1 +
> board/freescale/ls1021atwr/psci.S | 28 +++++
> include/configs/ls1021aqds.h | 3 +
> include/configs/ls1021atwr.h | 3 +
> 16 files changed, 449 insertions(+), 69 deletions(-)
> create mode 100644 board/freescale/ls1021aqds/psci.S
> create mode 100644 board/freescale/ls1021atwr/psci.S
>
> --
> 2.1.4
>
More information about the U-Boot
mailing list