Hi York > -----Original Message----- > From: york sun > Sent: 2016年11月15日 2:12 > To: macro.wav...@gmail.com; u-boot@lists.denx.de; tr...@konsulko.com; > Z.Q. Hou <zhiqiang....@nxp.com> > Cc: w...@csie.org; H.B. Zhang <hongbo.zh...@nxp.com> > Subject: Re: [PATCH v3 5/5] ARMv8: LS1043A: Enable LS1043A default PSCI > support > > On 11/06/2016 08:14 PM, macro.wav...@gmail.com wrote: > > From: Hongbo Zhang <hongbo.zh...@nxp.com> > > > > A most basic PSCI implementation with only one psci_version is added > > for LS1043A, this can verify the generic PSCI framework, and more > > platform specific implementation will be added later. > > > > Signed-off-by: Hongbo Zhang <hongbo.zh...@nxp.com> > > --- > > arch/arm/cpu/armv8/fsl-layerscape/Makefile | 1 + > > arch/arm/cpu/armv8/fsl-layerscape/ls1043a_psci.S | 20 > ++++++++++++++++++++ > > board/freescale/ls1043ardb/Kconfig | 9 +++++++++ > > configs/ls1043ardb_defconfig | 3 +++ > > 4 files changed, 33 insertions(+) > > create mode 100644 arch/arm/cpu/armv8/fsl-layerscape/ls1043a_psci.S > > > > diff --git a/arch/arm/cpu/armv8/fsl-layerscape/Makefile > > b/arch/arm/cpu/armv8/fsl-layerscape/Makefile > > index 51c1cee..423b4b3 100644 > > --- a/arch/arm/cpu/armv8/fsl-layerscape/Makefile > > +++ b/arch/arm/cpu/armv8/fsl-layerscape/Makefile > > @@ -28,6 +28,7 @@ endif > > > > ifneq ($(CONFIG_LS1043A),) > > obj-$(CONFIG_SYS_HAS_SERDES) += ls1043a_serdes.o > > +obj-$(CONFIG_ARMV8_PSCI) += ls1043a_psci.o > > endif > > > > ifneq ($(CONFIG_ARCH_LS1012A),) > > diff --git a/arch/arm/cpu/armv8/fsl-layerscape/ls1043a_psci.S > > b/arch/arm/cpu/armv8/fsl-layerscape/ls1043a_psci.S > > new file mode 100644 > > index 0000000..86045ac > > --- /dev/null > > +++ b/arch/arm/cpu/armv8/fsl-layerscape/ls1043a_psci.S > > @@ -0,0 +1,20 @@ > > +/* > > + * Copyright 2016 Freescale Semiconductor, Inc. > > + * Author: Hongbo Zhang <hongbo.zh...@nxp.com> > > + * > > + * SPDX-License-Identifier: GPL-2.0+ > > + * This file implements LS102X platform PSCI SYSTEM-SUSPEND function > > +*/ > > + > > +#include <config.h> > > +#include <linux/linkage.h> > > +#include <asm/psci.h> > > + > > + .pushsection ._secure.text, "ax" > > + > > +.globl psci_version > > +psci_version: > > + ldr w0, =0x00010000 /* PSCI v1.0 */ > > + ret > > + > > + .popsection > > diff --git a/board/freescale/ls1043ardb/Kconfig > > b/board/freescale/ls1043ardb/Kconfig > > index 51818ec..0c596f9 100644 > > --- a/board/freescale/ls1043ardb/Kconfig > > +++ b/board/freescale/ls1043ardb/Kconfig > > @@ -13,4 +13,13 @@ config SYS_SOC > > config SYS_CONFIG_NAME > > default "ls1043ardb" > > > > +config SYS_HAS_ARMV8_SECURE_BASE > > + bool "Enable secure RAM for PSCI image" > > + depends on ARMV8_PSCI > > + default y > > + help > > + PSCI image can be re-located to secure RAM. > > + If enabled, please also define the value for ARMV8_SECURE_BASE, > > + for LS1043ARDB, it is address in OCRAM. > > + > > endif > > diff --git a/configs/ls1043ardb_defconfig > > b/configs/ls1043ardb_defconfig index 79a4eb2..cb189f3 100644 > > --- a/configs/ls1043ardb_defconfig > > +++ b/configs/ls1043ardb_defconfig > > @@ -28,3 +28,6 @@ CONFIG_DM_USB=y > > CONFIG_USB_XHCI_HCD=y > > CONFIG_USB_XHCI_DWC3=y > > CONFIG_USB_STORAGE=y > > +CONFIG_ARMV8_PSCI=y > > +CONFIG_ARMV8_PSCI_CPUS_PER_CLUSTER=4 > > +CONFIG_ARMV8_SECURE_BASE=0x10010000 > > > > How do you decide the CONFIG_ARMV8_SECURE_BASE? > > Zhiqiang, > > Does this patch set interfere with existing PPA support?
Tried Hongbo's patches with PPA enabled on ls1043ardb, kernel boot failed. I guess hongbo's u-boot psci setup triggered an exception, because when PPA is initialized u-boot will execute on EL2. Hongbo, how did you process this circumstance? Another problem, if PPA is disabled, u-boot will go through the spin-table process to wake up secondary cores, will this affect u-boot psci? Thanks, Zhiqiang _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot