
Hello Li,
On Tue, 20 Oct 2015 14:05:45 +0000, Li Frank Frank.Li@freescale.com wrote:
-----Original Message----- From: Peng Fan [mailto:Peng.Fan@freescale.com] Sent: Tuesday, October 20, 2015 1:00 AM To: u-boot@lists.denx.de Cc: Fan Peng-B51431 Peng.Fan@freescale.com; Li Frank-B20596 Frank.Li@freescale.com; Stefano Babic sbabic@denx.de; Estevam Fabio- R49496 Fabio.Estevam@freescale.com Subject: [PATCH V2 2/3] mx7: psci: add basic psci support
- add basic psci support for imx7 chip.
- support cpu_on and cpu_off.
- switch to non-secure mode when boot linux kernel.
- set csu allow accessing all peripherial register in non-secure mode.
Signed-off-by: Frank Li Frank.Li@freescale.com Signed-off-by: Peng Fan Peng.Fan@freescale.com Cc: Stefano Babic sbabic@denx.de Cc: Fabio Estevam fabio.estevam@freescale.com
Changes V2: Refine commit msg.
arch/arm/cpu/armv7/mx7/Makefile | 4 ++ arch/arm/cpu/armv7/mx7/psci-mx7.c | 78 +++++++++++++++++++++++++++++++++++++++ arch/arm/cpu/armv7/mx7/psci.S | 54 +++++++++++++++++++++++++++ arch/arm/cpu/armv7/mx7/soc.c | 9 +++++ 4 files changed, 145 insertions(+) create mode 100644 arch/arm/cpu/armv7/mx7/psci-mx7.c create mode 100644 arch/arm/cpu/armv7/mx7/psci.S
diff --git a/arch/arm/cpu/armv7/mx7/Makefile b/arch/arm/cpu/armv7/mx7/Makefile index e6ecef0..f25461c 100644 --- a/arch/arm/cpu/armv7/mx7/Makefile +++ b/arch/arm/cpu/armv7/mx7/Makefile @@ -6,3 +6,7 @@ #
obj-y := soc.o clock.o clock_slice.o
+ifdef CONFIG_ARMV7_PSCI +obj-y += psci.o psci-mx7.o
Obj-y += psci-mx7.o psci.o The otherwise psci_text_end will not be last one.
I don't like this object module order sensitivity.
The object module order of secure code modules should not affect the resulting binary to the point of possibly preventing it from working -- after all, the object module order of 'vanilla' image code does not matter (1). We don't have this kind of problem when defining the image start and end, why would we have it with the secure code start and end?
IOW, psci_text_end could (and should) be defined in the linker script, not in an object module.
(1) except for start.S, which *must* be linked first, and even that is not done through object order but through linker script section order.
Best regards Frank Li
Amicalement,