[U-Boot] [PATCH v3 5/5] ARMv8: LS1043A: Enable LS1043A default PSCI support

Hongbo Zhang macro.wave.z at gmail.com
Tue Nov 15 03:11:58 CET 2016


On Tue, Nov 15, 2016 at 2:12 AM, york sun <york.sun at nxp.com> wrote:
> On 11/06/2016 08:14 PM, macro.wave.z at gmail.com wrote:
>> From: Hongbo Zhang <hongbo.zhang at 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.zhang at 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.zhang at 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?
>

It is OCRAM1, just like ARMv7 LS1021.

> Zhiqiang,
>
> Does this patch set interfere with existing PPA support?
>
> York


More information about the U-Boot mailing list