* [U-Boot] [PATCHv2 1/3] armv8: fsl-layerscape: add i/d-cache enable function to enable_caches @ 2016-01-21 9:44 Zhiqiang Hou 2016-01-21 9:44 ` [U-Boot] [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support Zhiqiang Hou 2016-01-21 9:44 ` [U-Boot] [PATCHv2 3/3] ARMv8/ls1043ardb: Integrate FSL PPA Zhiqiang Hou 0 siblings, 2 replies; 21+ messages in thread From: Zhiqiang Hou @ 2016-01-21 9:44 UTC (permalink / raw) To: u-boot From: Hou Zhiqiang <Zhiqiang.Hou@freescale.com> This function assume that the d-cache and MMU has been enabled earlier, so it just created MMU table in main memory. But the assumption is not always correct, for example, the early setup is done in EL3, while enable_caches() is called when the PE has turned into another EL. Define the function mmu_setup() for fsl-layerscape to cover the weak one. Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@freescale.com> --- Tested on LS1043A RDB board V2: - Replace patch [PATCH 1/3] ARMv8/layerscape: Add mmu_init API arch/arm/cpu/armv8/fsl-layerscape/cpu.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c index 6ea28ed..3147870 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c +++ b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c @@ -393,15 +393,21 @@ int arch_cpu_init(void) return 0; } +void mmu_setup(void) +{ + final_mmu_setup(); +} + /* - * This function is called from lib/board.c. - * It recreates MMU table in main memory. MMU and d-cache are enabled earlier. - * There is no need to disable d-cache for this operation. + * This function is called from common/board_r.c. + * It recreates MMU table in main memory. */ void enable_caches(void) { - final_mmu_setup(); + mmu_setup(); __asm_invalidate_tlb_all(); + icache_enable(); + dcache_enable(); } #endif -- 2.1.0.27.g96db324 ^ permalink raw reply related [flat|nested] 21+ messages in thread
* [U-Boot] [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support 2016-01-21 9:44 [U-Boot] [PATCHv2 1/3] armv8: fsl-layerscape: add i/d-cache enable function to enable_caches Zhiqiang Hou @ 2016-01-21 9:44 ` Zhiqiang Hou 2016-01-22 20:05 ` york sun 2016-01-21 9:44 ` [U-Boot] [PATCHv2 3/3] ARMv8/ls1043ardb: Integrate FSL PPA Zhiqiang Hou 1 sibling, 1 reply; 21+ messages in thread From: Zhiqiang Hou @ 2016-01-21 9:44 UTC (permalink / raw) To: u-boot From: Hou Zhiqiang <Zhiqiang.Hou@freescale.com> The FSL Primary Protected Application (PPA) is a software component loaded during boot which runs in TrustZone and remains resident after boot. Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@freescale.com> --- Tested on LS1043A RDB board V2: - Added arguments of boot location pointer to ppa_init. arch/arm/cpu/armv8/fsl-layerscape/Makefile | 1 + arch/arm/cpu/armv8/fsl-layerscape/ppa.c | 212 +++++++++++++++++++++++++ arch/arm/cpu/armv8/fsl-layerscape/ppa_entry.S | 42 +++++ arch/arm/include/asm/arch-fsl-layerscape/ppa.h | 15 ++ 4 files changed, 270 insertions(+) create mode 100644 arch/arm/cpu/armv8/fsl-layerscape/ppa.c create mode 100644 arch/arm/cpu/armv8/fsl-layerscape/ppa_entry.S create mode 100644 arch/arm/include/asm/arch-fsl-layerscape/ppa.h diff --git a/arch/arm/cpu/armv8/fsl-layerscape/Makefile b/arch/arm/cpu/armv8/fsl-layerscape/Makefile index cce7405..27bfeb1 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/Makefile +++ b/arch/arm/cpu/armv8/fsl-layerscape/Makefile @@ -10,6 +10,7 @@ obj-y += soc.o obj-$(CONFIG_MP) += mp.o obj-$(CONFIG_OF_LIBFDT) += fdt.o obj-$(CONFIG_SPL) += spl.o +obj-$(CONFIG_FSL_LS_PPA) += ppa.o ppa_entry.o ifneq ($(CONFIG_FSL_LSCH3),) obj-y += fsl_lsch3_speed.o diff --git a/arch/arm/cpu/armv8/fsl-layerscape/ppa.c b/arch/arm/cpu/armv8/fsl-layerscape/ppa.c new file mode 100644 index 0000000..db767f9 --- /dev/null +++ b/arch/arm/cpu/armv8/fsl-layerscape/ppa.c @@ -0,0 +1,212 @@ +/* + * Copyright 2015 Freescale Semiconductor, Inc. + * + * SPDX-License-Identifier: GPL-2.0+ + */ +#include <common.h> +#include <config.h> +#include <errno.h> +#include <malloc.h> +#include <asm/system.h> +#include <asm/io.h> +#include <asm/types.h> +#include <asm/macro.h> +#include <asm/arch/soc.h> +#ifdef CONFIG_FSL_LSCH3 +#include <asm/arch/immap_lsch3.h> +#elif defined(CONFIG_FSL_LSCH2) +#include <asm/arch/immap_lsch2.h> +#endif +#include <asm/arch/ppa.h> + +DECLARE_GLOBAL_DATA_PTR; + +extern void c_runtime_cpu_setup(void); + +#define LS_PPA_FIT_FIRMWARE_IMAGE "firmware" +#define LS_PPA_FIT_CNF_NAME "config at 1" +#define PPA_MEM_SIZE_ENV_VAR "ppamemsize" + +/* + * Return the actual size of the PPA private DRAM block. + */ +unsigned long ppa_get_dram_block_size(void) +{ + unsigned long dram_block_size = CONFIG_SYS_LS_PPA_DRAM_BLOCK_MIN_SIZE; + + char *dram_block_size_env_var = getenv(PPA_MEM_SIZE_ENV_VAR); + + if (dram_block_size_env_var) { + dram_block_size = simple_strtoul(dram_block_size_env_var, NULL, + 10); + + if (dram_block_size < CONFIG_SYS_LS_PPA_DRAM_BLOCK_MIN_SIZE) { + printf("fsl-ppa: WARNING: Invalid value for \'" + PPA_MEM_SIZE_ENV_VAR + "\' environment variable: %lu\n", + dram_block_size); + + dram_block_size = CONFIG_SYS_LS_PPA_DRAM_BLOCK_MIN_SIZE; + } + } + + return dram_block_size; +} + +/* + * PPA firmware FIT image parser checks if the image is in FIT + * format, verifies integrity of the image and calculates raw + * image address and size values. + * + * Returns 0 on success and a negative errno on error task fail. + */ +static int parse_ppa_firmware_fit_image(const void **raw_image_addr, + size_t *raw_image_size) +{ + const void *ppa_data; + size_t ppa_size; + void *fit_hdr; + int conf_node_off, fw_node_off; + char *conf_node_name = NULL; + +#ifdef CONFIG_SYS_LS_PPA_FW_IN_NOR + fit_hdr = (void *)CONFIG_SYS_LS_PPA_FW_ADDR; +#else +#error "No CONFIG_SYS_LS_PPA_FW_IN_xxx defined" +#endif + + conf_node_name = LS_PPA_FIT_CNF_NAME; + + if (fdt_check_header(fit_hdr)) { + printf("fsl-ppa: Bad firmware image (not a FIT image)\n"); + return -EINVAL; + } + + if (!fit_check_format(fit_hdr)) { + printf("fsl-ppa: Bad firmware image (bad FIT header)\n"); + return -EINVAL; + } + + conf_node_off = fit_conf_get_node(fit_hdr, conf_node_name); + if (conf_node_off < 0) { + printf("fsl-ppa: %s: no such config\n", conf_node_name); + return -ENOENT; + } + + fw_node_off = fit_conf_get_prop_node(fit_hdr, conf_node_off, + LS_PPA_FIT_FIRMWARE_IMAGE); + if (fw_node_off < 0) { + printf("fsl-ppa: No '%s' in config\n", + LS_PPA_FIT_FIRMWARE_IMAGE); + return -ENOLINK; + } + + /* Verify PPA firmware image */ + if (!(fit_image_verify(fit_hdr, fw_node_off))) { + printf("fsl-ppa: Bad firmware image (bad CRC)\n"); + return -EINVAL; + } + + if (fit_image_get_data(fit_hdr, fw_node_off, &ppa_data, &ppa_size)) { + printf("fsl-ppa: Can't get %s subimage data/size", + LS_PPA_FIT_FIRMWARE_IMAGE); + return -ENOENT; + } + + debug("fsl-ppa: raw_image_addr = 0x%p, raw_image_size = 0x%lx\n", + ppa_data, ppa_size); + *raw_image_addr = ppa_data; + *raw_image_size = ppa_size; + + return 0; +} + +static int ppa_copy_image(const char *title, + u64 image_addr, u32 image_size, u64 ppa_ram_addr) +{ + debug("%s copied to address 0x%p\n", title, (void *)ppa_ram_addr); + memcpy((void *)ppa_ram_addr, (void *)image_addr, image_size); + flush_dcache_range(ppa_ram_addr, ppa_ram_addr + image_size); + + return 0; +} + +int ppa_init_pre(u64 *entry) +{ + u64 ppa_ram_addr; + const void *raw_image_addr; + size_t raw_image_size = 0; + size_t ppa_ram_size = ppa_get_dram_block_size(); + int ret; + + debug("fsl-ppa: ppa size(0x%lx)\n", ppa_ram_size); + + /* + * The PPA must be stored in secure memory. + * Append PPA to secure mmu table. + */ + ppa_ram_addr = (gd->secure_ram & MEM_RESERVE_SECURE_ADDR_MASK) + + gd->arch.tlb_size; + + /* Align PPA base address to 4K */ + ppa_ram_addr = (ppa_ram_addr + 0xfff) & ~0xfff; + debug("fsl-ppa: PPA load address (0x%llx)\n", ppa_ram_addr); + + ret = parse_ppa_firmware_fit_image(&raw_image_addr, &raw_image_size); + if (ret < 0) + goto out; + + if (ppa_ram_size < raw_image_size) { + ret = -ENOSPC; + goto out; + } + + ppa_copy_image("PPA firmware", (u64)raw_image_addr, + raw_image_size, ppa_ram_addr); + + debug("fsl-ppa: PPA entry: 0x%llx\n", ppa_ram_addr); + *entry = ppa_ram_addr; + + return 0; + +out: + printf("fsl-ppa: error (%d)\n", ret); + *entry = 0; + + return ret; +} + +int ppa_init_entry(void *ppa_entry) +{ + int ret; + u32 *boot_loc_ptr_l, *boot_loc_ptr_h; + +#ifdef CONFIG_FSL_LSCH3 + struct ccsr_gur __iomem *gur = (void *)(CONFIG_SYS_FSL_GUTS_ADDR); + boot_loc_ptr_l = &gur->bootlocptrl; + boot_loc_ptr_h = &gur->bootlocptrh; +#elif defined(CONFIG_FSL_LSCH2) + struct ccsr_scfg __iomem *scfg = (void *)(CONFIG_SYS_FSL_SCFG_ADDR); + boot_loc_ptr_l = &scfg->scratchrw[1]; + boot_loc_ptr_h = &scfg->scratchrw[0]; +#endif + + debug("fsl-ppa: boot_loc_ptr_l = 0x%p, boot_loc_ptr_h =0x%p\n", + boot_loc_ptr_l, boot_loc_ptr_h); + ret = ppa_init(ppa_entry, boot_loc_ptr_l, boot_loc_ptr_h); + if (ret < 0) + return ret; + + debug("fsl-ppa: Return from PPA: current_el = %d\n", current_el()); + + /* + * The PE will be turned into EL2 when run out of PPA. + * First, set vector for EL2. + */ + c_runtime_cpu_setup(); + + /* Enable caches and MMU for EL2. */ + enable_caches(); + + return 0; +} diff --git a/arch/arm/cpu/armv8/fsl-layerscape/ppa_entry.S b/arch/arm/cpu/armv8/fsl-layerscape/ppa_entry.S new file mode 100644 index 0000000..3a3bb64 --- /dev/null +++ b/arch/arm/cpu/armv8/fsl-layerscape/ppa_entry.S @@ -0,0 +1,42 @@ +/* + * Copyright 2015 Freescale Semiconductor, Inc. + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include <config.h> +#include <linux/linkage.h> +#include <asm/system.h> +#include <asm/macro.h> + +ENTRY(ppa_init) + /* + * x0: PPA entry point + * x1: Boot Location Pointer Low + * x2: Boot Location Pointer High + */ + + /* Save stack pointer for EL2 */ + mov x3, sp + msr sp_el2, x3 + + /* Set boot loc pointer */ + adr x4, 1f + mov x3, x4 +#if defined(CONFIG_FSL_LSCH2) + rev w3, w3 +#endif + str w3, [x1] + lsr x3, x4, #32 +#if defined(CONFIG_FSL_LSCH2) + rev w3, w3 +#endif + str w3, [x2] + +/* Call PPA monitor */ + br x0 + +1: + mov x0, #0 + ret +ENDPROC(ppa_init) diff --git a/arch/arm/include/asm/arch-fsl-layerscape/ppa.h b/arch/arm/include/asm/arch-fsl-layerscape/ppa.h new file mode 100644 index 0000000..f0f0d10 --- /dev/null +++ b/arch/arm/include/asm/arch-fsl-layerscape/ppa.h @@ -0,0 +1,15 @@ +/* + * Copyright 2015 Freescale Semiconductor, Inc. + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#ifndef __FSL_PPA_H_ +#define __FSL_PPA_H_ + +int ppa_init_pre(u64 *); +int ppa_init_entry(void *); +int ppa_init(void *, u32*, u32*); +unsigned long ppa_get_dram_block_size(void); + +#endif -- 2.1.0.27.g96db324 ^ permalink raw reply related [flat|nested] 21+ messages in thread
* [U-Boot] [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support 2016-01-21 9:44 ` [U-Boot] [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support Zhiqiang Hou @ 2016-01-22 20:05 ` york sun 2016-01-22 20:09 ` Scott Wood 2016-01-25 3:02 ` Zhiqiang Hou 0 siblings, 2 replies; 21+ messages in thread From: york sun @ 2016-01-22 20:05 UTC (permalink / raw) To: u-boot On 01/21/2016 01:53 AM, Zhiqiang Hou wrote: > From: Hou Zhiqiang <Zhiqiang.Hou@freescale.com> > > The FSL Primary Protected Application (PPA) is a software component > loaded during boot which runs in TrustZone and remains resident > after boot. > > Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@freescale.com> > --- > Tested on LS1043A RDB board > I presume PSCI is implemented in PPA. How does the SMP boot flow change with PPA? U-boot has to remain functional in the absence of PPA, right? Would it be possible to write a readme for PPA? York ^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support 2016-01-22 20:05 ` york sun @ 2016-01-22 20:09 ` Scott Wood 2016-01-22 20:14 ` Bhupesh Sharma 2016-01-25 3:09 ` Zhiqiang Hou 2016-01-25 3:02 ` Zhiqiang Hou 1 sibling, 2 replies; 21+ messages in thread From: Scott Wood @ 2016-01-22 20:09 UTC (permalink / raw) To: u-boot On Fri, 2016-01-22 at 20:05 +0000, york sun wrote: > On 01/21/2016 01:53 AM, Zhiqiang Hou wrote: > > From: Hou Zhiqiang <Zhiqiang.Hou@freescale.com> > > > > The FSL Primary Protected Application (PPA) is a software component > > loaded during boot which runs in TrustZone and remains resident > > after boot. > > > > Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@freescale.com> > > --- > > Tested on LS1043A RDB board > > > > I presume PSCI is implemented in PPA. How does the SMP boot flow change with > PPA? U-boot has to remain functional in the absence of PPA, right? > > Would it be possible to write a readme for PPA? Also, how does the devicetree get updated to indicate the presence of PSCI? -Scott ^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support 2016-01-22 20:09 ` Scott Wood @ 2016-01-22 20:14 ` Bhupesh Sharma 2016-01-22 20:17 ` Scott Wood 2016-01-22 20:18 ` york sun 2016-01-25 3:09 ` Zhiqiang Hou 1 sibling, 2 replies; 21+ messages in thread From: Bhupesh Sharma @ 2016-01-22 20:14 UTC (permalink / raw) To: u-boot > -----Original Message----- > From: Scott Wood [mailto:oss at buserror.net] > Sent: Saturday, January 23, 2016 1:39 AM > To: york sun; Zhiqiang Hou; u-boot at lists.denx.de; > albert.u.boot at aribaud.net; Mingkai.hu at freescale.com; Stuart Yoder; > leoli at freescale.com; prabhakar at freescale.com; > bhupesh.sharma at freescale.com; Zhiqiang Hou > Subject: Re: [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support > > On Fri, 2016-01-22 at 20:05 +0000, york sun wrote: > > On 01/21/2016 01:53 AM, Zhiqiang Hou wrote: > > > From: Hou Zhiqiang <Zhiqiang.Hou@freescale.com> > > > > > > The FSL Primary Protected Application (PPA) is a software component > > > loaded during boot which runs in TrustZone and remains resident > > > after boot. > > > > > > Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@freescale.com> > > > --- > > > Tested on LS1043A RDB board > > > > > > > I presume PSCI is implemented in PPA. How does the SMP boot flow > > change with PPA? U-boot has to remain functional in the absence of PPA, > right? > > > > Would it be possible to write a readme for PPA? > > Also, how does the devicetree get updated to indicate the presence of > PSCI? > One needs to add PSCI node in the DTS for the same, claiming support for PSCI specification. The cpu.enable_method needs to be changed from spin-table to psci as well. See http://lxr.free-electrons.com/source/Documentation/devicetree/bindings/arm/psci.txt for details. ^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support 2016-01-22 20:14 ` Bhupesh Sharma @ 2016-01-22 20:17 ` Scott Wood 2016-01-22 20:26 ` Bhupesh Sharma 2016-01-25 3:11 ` Zhiqiang Hou 2016-01-22 20:18 ` york sun 1 sibling, 2 replies; 21+ messages in thread From: Scott Wood @ 2016-01-22 20:17 UTC (permalink / raw) To: u-boot On Fri, 2016-01-22 at 20:14 +0000, Bhupesh Sharma wrote: > > > -----Original Message----- > > From: Scott Wood [mailto:oss at buserror.net] > > Sent: Saturday, January 23, 2016 1:39 AM > > To: york sun; Zhiqiang Hou; u-boot at lists.denx.de; > > albert.u.boot at aribaud.net; Mingkai.hu at freescale.com; Stuart Yoder; > > leoli at freescale.com; prabhakar at freescale.com; > > bhupesh.sharma at freescale.com; Zhiqiang Hou > > Subject: Re: [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support > > > > On Fri, 2016-01-22 at 20:05 +0000, york sun wrote: > > > On 01/21/2016 01:53 AM, Zhiqiang Hou wrote: > > > > From: Hou Zhiqiang <Zhiqiang.Hou@freescale.com> > > > > > > > > The FSL Primary Protected Application (PPA) is a software component > > > > loaded during boot which runs in TrustZone and remains resident > > > > after boot. > > > > > > > > Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@freescale.com> > > > > --- > > > > Tested on LS1043A RDB board > > > > > > > > > > I presume PSCI is implemented in PPA. How does the SMP boot flow > > > change with PPA? U-boot has to remain functional in the absence of PPA, > > right? > > > > > > Would it be possible to write a readme for PPA? > > > > Also, how does the devicetree get updated to indicate the presence of > > PSCI? > > > > One needs to add PSCI node in the DTS for the same, claiming support for > PSCI specification. So then we need a different dts based on whether PPA is loaded? No thanks. > The cpu.enable_method needs to be changed from spin-table to psci as well. Right, that's part of updating the devicetree to indicate the presence of PSCI. > See http://lxr.free-electrons.com/source/Documentation/devicetree/bindings/a > rm/psci.txt for details. I'm familiar with the binding. -Scott ^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support 2016-01-22 20:17 ` Scott Wood @ 2016-01-22 20:26 ` Bhupesh Sharma 2016-01-25 3:11 ` Zhiqiang Hou 1 sibling, 0 replies; 21+ messages in thread From: Bhupesh Sharma @ 2016-01-22 20:26 UTC (permalink / raw) To: u-boot > From: Scott Wood [mailto:oss at buserror.net] > Sent: Saturday, January 23, 2016 1:48 AM > On Fri, 2016-01-22 at 20:14 +0000, Bhupesh Sharma wrote: > > > > > -----Original Message----- > > > From: Scott Wood [mailto:oss at buserror.net] > > > Sent: Saturday, January 23, 2016 1:39 AM > > > To: york sun; Zhiqiang Hou; u-boot at lists.denx.de; > > > albert.u.boot at aribaud.net; Mingkai.hu at freescale.com; Stuart Yoder; > > > leoli at freescale.com; prabhakar at freescale.com; > > > bhupesh.sharma at freescale.com; Zhiqiang Hou > > > Subject: Re: [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support > > > > > > On Fri, 2016-01-22 at 20:05 +0000, york sun wrote: > > > > On 01/21/2016 01:53 AM, Zhiqiang Hou wrote: > > > > > From: Hou Zhiqiang <Zhiqiang.Hou@freescale.com> > > > > > > > > > > The FSL Primary Protected Application (PPA) is a software > > > > > component loaded during boot which runs in TrustZone and remains > > > > > resident after boot. > > > > > > > > > > Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@freescale.com> > > > > > --- > > > > > Tested on LS1043A RDB board > > > > > > > > > > > > > I presume PSCI is implemented in PPA. How does the SMP boot flow > > > > change with PPA? U-boot has to remain functional in the absence of > > > > PPA, > > > right? > > > > > > > > Would it be possible to write a readme for PPA? > > > > > > Also, how does the devicetree get updated to indicate the presence > > > of PSCI? > > > > > > > One needs to add PSCI node in the DTS for the same, claiming support > > for PSCI specification. > > So then we need a different dts based on whether PPA is loaded? No > thanks. For e.g the current LS2080A DTS has no separate node for PSCI, the same can be patched-up/added by the Bootloader. > > > The cpu.enable_method needs to be changed from spin-table to psci as > well. > > Right, that's part of updating the devicetree to indicate the presence of > PSCI. Similarly the cpu.enable-method is also empty in the LS2080A DTS to allow Bootloader to patch it accordingly. Please see: http://lxr.free-electrons.com/source/arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi#L65 > > See > > http://lxr.free-electrons.com/source/Documentation/devicetree/bindings > > /a > > rm/psci.txt for details. > > I'm familiar with the binding. Regards, Bhupesh ^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support 2016-01-22 20:17 ` Scott Wood 2016-01-22 20:26 ` Bhupesh Sharma @ 2016-01-25 3:11 ` Zhiqiang Hou 1 sibling, 0 replies; 21+ messages in thread From: Zhiqiang Hou @ 2016-01-25 3:11 UTC (permalink / raw) To: u-boot Hi Rod and Chenhui, Can you help to answer the questions about PSCI? > -----Original Message----- > From: Scott Wood [mailto:oss at buserror.net] > Sent: 2016?1?23? 4:18 > To: Bhupesh Sharma <bhupesh.sharma@nxp.com>; york sun <york.sun@nxp.com>; > Zhiqiang Hou <Zhiqiang.Hou@freescale.com>; u-boot at lists.denx.de; > albert.u.boot at aribaud.net; Mingkai.hu at freescale.com; Stuart Yoder > <stuart.yoder@nxp.com>; leoli at freescale.com; prabhakar at freescale.com; > bhupesh.sharma at freescale.com; Zhiqiang Hou <zhiqiang.hou@nxp.com> > Subject: Re: [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support > > On Fri, 2016-01-22 at 20:14 +0000, Bhupesh Sharma wrote: > > > > > -----Original Message----- > > > From: Scott Wood [mailto:oss at buserror.net] > > > Sent: Saturday, January 23, 2016 1:39 AM > > > To: york sun; Zhiqiang Hou; u-boot at lists.denx.de; > > > albert.u.boot at aribaud.net; Mingkai.hu at freescale.com; Stuart Yoder; > > > leoli at freescale.com; prabhakar at freescale.com; > > > bhupesh.sharma at freescale.com; Zhiqiang Hou > > > Subject: Re: [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support > > > > > > On Fri, 2016-01-22 at 20:05 +0000, york sun wrote: > > > > On 01/21/2016 01:53 AM, Zhiqiang Hou wrote: > > > > > From: Hou Zhiqiang <Zhiqiang.Hou@freescale.com> > > > > > > > > > > The FSL Primary Protected Application (PPA) is a software > > > > > component loaded during boot which runs in TrustZone and remains > > > > > resident after boot. > > > > > > > > > > Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@freescale.com> > > > > > --- > > > > > Tested on LS1043A RDB board > > > > > > > > > > > > > I presume PSCI is implemented in PPA. How does the SMP boot flow > > > > change with PPA? U-boot has to remain functional in the absence of > > > > PPA, > > > right? > > > > > > > > Would it be possible to write a readme for PPA? > > > > > > Also, how does the devicetree get updated to indicate the presence > > > of PSCI? > > > > > > > One needs to add PSCI node in the DTS for the same, claiming support > > for PSCI specification. > > So then we need a different dts based on whether PPA is loaded? No thanks. > > > The cpu.enable_method needs to be changed from spin-table to psci as well. > > Right, that's part of updating the devicetree to indicate the presence of PSCI. > > > See > > http://lxr.free-electrons.com/source/Documentation/devicetree/bindings > > /a > > rm/psci.txt for details. > > I'm familiar with the binding. > > -Scott ^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support 2016-01-22 20:14 ` Bhupesh Sharma 2016-01-22 20:17 ` Scott Wood @ 2016-01-22 20:18 ` york sun 2016-01-22 20:21 ` Scott Wood 1 sibling, 1 reply; 21+ messages in thread From: york sun @ 2016-01-22 20:18 UTC (permalink / raw) To: u-boot On 01/22/2016 12:14 PM, Bhupesh Sharma wrote: > > >> -----Original Message----- >> From: Scott Wood [mailto:oss at buserror.net] >> Sent: Saturday, January 23, 2016 1:39 AM >> To: york sun; Zhiqiang Hou; u-boot at lists.denx.de; >> albert.u.boot at aribaud.net; Mingkai.hu at freescale.com; Stuart Yoder; >> leoli at freescale.com; prabhakar at freescale.com; >> bhupesh.sharma at freescale.com; Zhiqiang Hou >> Subject: Re: [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support >> >> On Fri, 2016-01-22 at 20:05 +0000, york sun wrote: >>> On 01/21/2016 01:53 AM, Zhiqiang Hou wrote: >>>> From: Hou Zhiqiang <Zhiqiang.Hou@freescale.com> >>>> >>>> The FSL Primary Protected Application (PPA) is a software component >>>> loaded during boot which runs in TrustZone and remains resident >>>> after boot. >>>> >>>> Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@freescale.com> >>>> --- >>>> Tested on LS1043A RDB board >>>> >>> >>> I presume PSCI is implemented in PPA. How does the SMP boot flow >>> change with PPA? U-boot has to remain functional in the absence of PPA, >> right? >>> >>> Would it be possible to write a readme for PPA? >> >> Also, how does the devicetree get updated to indicate the presence of >> PSCI? >> > > One needs to add PSCI node in the DTS for the same, claiming support for PSCI specification. > The cpu.enable_method needs to be changed from spin-table to psci as well. > > See http://lxr.free-electrons.com/source/Documentation/devicetree/bindings/arm/psci.txt for details. > Bhupesh, Before PPA is fully adopted, u-boot has to detect the existence of PPA and decide to use PSCI or spin table, right? So the device tree node should also be fixed accordingly. York ^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support 2016-01-22 20:18 ` york sun @ 2016-01-22 20:21 ` Scott Wood 2016-01-22 20:27 ` Bhupesh Sharma ` (2 more replies) 0 siblings, 3 replies; 21+ messages in thread From: Scott Wood @ 2016-01-22 20:21 UTC (permalink / raw) To: u-boot On Fri, 2016-01-22 at 20:18 +0000, york sun wrote: > On 01/22/2016 12:14 PM, Bhupesh Sharma wrote: > > > > > > > -----Original Message----- > > > From: Scott Wood [mailto:oss at buserror.net] > > > Sent: Saturday, January 23, 2016 1:39 AM > > > To: york sun; Zhiqiang Hou; u-boot at lists.denx.de; > > > albert.u.boot at aribaud.net; Mingkai.hu at freescale.com; Stuart Yoder; > > > leoli at freescale.com; prabhakar at freescale.com; > > > bhupesh.sharma at freescale.com; Zhiqiang Hou > > > Subject: Re: [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support > > > > > > On Fri, 2016-01-22 at 20:05 +0000, york sun wrote: > > > > On 01/21/2016 01:53 AM, Zhiqiang Hou wrote: > > > > > From: Hou Zhiqiang <Zhiqiang.Hou@freescale.com> > > > > > > > > > > The FSL Primary Protected Application (PPA) is a software component > > > > > loaded during boot which runs in TrustZone and remains resident > > > > > after boot. > > > > > > > > > > Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@freescale.com> > > > > > --- > > > > > Tested on LS1043A RDB board > > > > > > > > > > > > > I presume PSCI is implemented in PPA. How does the SMP boot flow > > > > change with PPA? U-boot has to remain functional in the absence of > > > > PPA, > > > right? > > > > > > > > Would it be possible to write a readme for PPA? > > > > > > Also, how does the devicetree get updated to indicate the presence of > > > PSCI? > > > > > > > One needs to add PSCI node in the DTS for the same, claiming support for > > PSCI specification. > > The cpu.enable_method needs to be changed from spin-table to psci as well. > > > > See http://lxr.free-electrons.com/source/Documentation/devicetree/bindings > > /arm/psci.txt for details. > > > > Bhupesh, > > Before PPA is fully adopted, u-boot has to detect the existence of PPA and > decide to use PSCI or spin table, right? So the device tree node should also > be > fixed accordingly. How would U-Boot know what version of PSCI the loaded PPA supports? Is or could there be any metadata on the PPA image to convey such information? -Scott ^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support 2016-01-22 20:21 ` Scott Wood @ 2016-01-22 20:27 ` Bhupesh Sharma 2016-01-22 20:30 ` york sun 2016-01-22 20:32 ` Scott Wood 2016-01-25 3:15 ` Zhiqiang Hou 2016-01-25 3:16 ` Zhiqiang Hou 2 siblings, 2 replies; 21+ messages in thread From: Bhupesh Sharma @ 2016-01-22 20:27 UTC (permalink / raw) To: u-boot > -----Original Message----- > From: Scott Wood [mailto:oss at buserror.net] > Sent: Saturday, January 23, 2016 1:52 AM > To: york sun; Bhupesh Sharma; Zhiqiang Hou; u-boot at lists.denx.de; > albert.u.boot at aribaud.net; Mingkai.hu at freescale.com; Stuart Yoder; > leoli at freescale.com; prabhakar at freescale.com; > bhupesh.sharma at freescale.com; Zhiqiang Hou > Subject: Re: [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support > > On Fri, 2016-01-22 at 20:18 +0000, york sun wrote: > > On 01/22/2016 12:14 PM, Bhupesh Sharma wrote: > > > > > > > > > > -----Original Message----- > > > > From: Scott Wood [mailto:oss at buserror.net] > > > > Sent: Saturday, January 23, 2016 1:39 AM > > > > To: york sun; Zhiqiang Hou; u-boot at lists.denx.de; > > > > albert.u.boot at aribaud.net; Mingkai.hu at freescale.com; Stuart Yoder; > > > > leoli at freescale.com; prabhakar at freescale.com; > > > > bhupesh.sharma at freescale.com; Zhiqiang Hou > > > > Subject: Re: [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support > > > > > > > > On Fri, 2016-01-22 at 20:05 +0000, york sun wrote: > > > > > On 01/21/2016 01:53 AM, Zhiqiang Hou wrote: > > > > > > From: Hou Zhiqiang <Zhiqiang.Hou@freescale.com> > > > > > > > > > > > > The FSL Primary Protected Application (PPA) is a software > > > > > > component loaded during boot which runs in TrustZone and > > > > > > remains resident after boot. > > > > > > > > > > > > Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@freescale.com> > > > > > > --- > > > > > > Tested on LS1043A RDB board > > > > > > > > > > > > > > > > I presume PSCI is implemented in PPA. How does the SMP boot flow > > > > > change with PPA? U-boot has to remain functional in the absence > > > > > of PPA, > > > > right? > > > > > > > > > > Would it be possible to write a readme for PPA? > > > > > > > > Also, how does the devicetree get updated to indicate the presence > > > > of PSCI? > > > > > > > > > > One needs to add PSCI node in the DTS for the same, claiming support > > > for PSCI specification. > > > The cpu.enable_method needs to be changed from spin-table to psci as > well. > > > > > > See > > > http://lxr.free-electrons.com/source/Documentation/devicetree/bindin > > > gs > > > /arm/psci.txt for details. > > > > > > > Bhupesh, > > > > Before PPA is fully adopted, u-boot has to detect the existence of PPA > > and decide to use PSCI or spin table, right? So the device tree node > > should also be fixed accordingly. A static CONFIG_ flag is used for enabling the PPA support currently in QorIQ-LS u-boot code. > > How would U-Boot know what version of PSCI the loaded PPA supports? Is > or could there be any metadata on the PPA image to convey such > information? PSCI specifications support the PSCI_VERSION API which is implemented by PPA and it returns the PSCI_VERSION supported by PPA. Regards, Bhupesh ^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support 2016-01-22 20:27 ` Bhupesh Sharma @ 2016-01-22 20:30 ` york sun 2016-01-25 3:22 ` Zhiqiang Hou 2016-01-22 20:32 ` Scott Wood 1 sibling, 1 reply; 21+ messages in thread From: york sun @ 2016-01-22 20:30 UTC (permalink / raw) To: u-boot On 01/22/2016 12:27 PM, Bhupesh Sharma wrote: > > >> -----Original Message----- >> From: Scott Wood [mailto:oss at buserror.net] >> Sent: Saturday, January 23, 2016 1:52 AM >> To: york sun; Bhupesh Sharma; Zhiqiang Hou; u-boot at lists.denx.de; >> albert.u.boot at aribaud.net; Mingkai.hu at freescale.com; Stuart Yoder; >> leoli at freescale.com; prabhakar at freescale.com; >> bhupesh.sharma at freescale.com; Zhiqiang Hou >> Subject: Re: [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support >> >> On Fri, 2016-01-22 at 20:18 +0000, york sun wrote: >>> On 01/22/2016 12:14 PM, Bhupesh Sharma wrote: >>>> >>>> >>>>> -----Original Message----- >>>>> From: Scott Wood [mailto:oss at buserror.net] >>>>> Sent: Saturday, January 23, 2016 1:39 AM >>>>> To: york sun; Zhiqiang Hou; u-boot at lists.denx.de; >>>>> albert.u.boot at aribaud.net; Mingkai.hu at freescale.com; Stuart Yoder; >>>>> leoli at freescale.com; prabhakar at freescale.com; >>>>> bhupesh.sharma at freescale.com; Zhiqiang Hou >>>>> Subject: Re: [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support >>>>> >>>>> On Fri, 2016-01-22 at 20:05 +0000, york sun wrote: >>>>>> On 01/21/2016 01:53 AM, Zhiqiang Hou wrote: >>>>>>> From: Hou Zhiqiang <Zhiqiang.Hou@freescale.com> >>>>>>> >>>>>>> The FSL Primary Protected Application (PPA) is a software >>>>>>> component loaded during boot which runs in TrustZone and >>>>>>> remains resident after boot. >>>>>>> >>>>>>> Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@freescale.com> >>>>>>> --- >>>>>>> Tested on LS1043A RDB board >>>>>>> >>>>>> >>>>>> I presume PSCI is implemented in PPA. How does the SMP boot flow >>>>>> change with PPA? U-boot has to remain functional in the absence >>>>>> of PPA, >>>>> right? >>>>>> >>>>>> Would it be possible to write a readme for PPA? >>>>> >>>>> Also, how does the devicetree get updated to indicate the presence >>>>> of PSCI? >>>>> >>>> >>>> One needs to add PSCI node in the DTS for the same, claiming support >>>> for PSCI specification. >>>> The cpu.enable_method needs to be changed from spin-table to psci as >> well. >>>> >>>> See >>>> http://lxr.free-electrons.com/source/Documentation/devicetree/bindin >>>> gs >>>> /arm/psci.txt for details. >>>> >>> >>> Bhupesh, >>> >>> Before PPA is fully adopted, u-boot has to detect the existence of PPA >>> and decide to use PSCI or spin table, right? So the device tree node >>> should also be fixed accordingly. > > A static CONFIG_ flag is used for enabling the PPA support currently in QorIQ-LS u-boot code. Not enough. The driver parse PPA image and gives up if it is not a valid image. Before we have a way to deploy PPA image to all our customers, we need to keep both options open. York ^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support 2016-01-22 20:30 ` york sun @ 2016-01-25 3:22 ` Zhiqiang Hou 2016-03-17 21:09 ` york sun 0 siblings, 1 reply; 21+ messages in thread From: Zhiqiang Hou @ 2016-01-25 3:22 UTC (permalink / raw) To: u-boot Hi Rod and Chenhui, Can you help to answer the questions about PSCI and PPA? > -----Original Message----- > From: york sun > Sent: 2016?1?23? 4:30 > To: Bhupesh Sharma <bhupesh.sharma@nxp.com>; Scott Wood > <oss@buserror.net>; Zhiqiang Hou <Zhiqiang.Hou@freescale.com>; u- > boot at lists.denx.de; albert.u.boot at aribaud.net; Mingkai.hu at freescale.com; > Stuart Yoder <stuart.yoder@nxp.com>; leoli at freescale.com; > prabhakar at freescale.com; bhupesh.sharma at freescale.com; Zhiqiang Hou > <zhiqiang.hou@nxp.com> > Subject: Re: [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support > > On 01/22/2016 12:27 PM, Bhupesh Sharma wrote: > > > > > >> -----Original Message----- > >> From: Scott Wood [mailto:oss at buserror.net] > >> Sent: Saturday, January 23, 2016 1:52 AM > >> To: york sun; Bhupesh Sharma; Zhiqiang Hou; u-boot at lists.denx.de; > >> albert.u.boot at aribaud.net; Mingkai.hu at freescale.com; Stuart Yoder; > >> leoli at freescale.com; prabhakar at freescale.com; > >> bhupesh.sharma at freescale.com; Zhiqiang Hou > >> Subject: Re: [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support > >> > >> On Fri, 2016-01-22 at 20:18 +0000, york sun wrote: > >>> On 01/22/2016 12:14 PM, Bhupesh Sharma wrote: > >>>> > >>>> > >>>>> -----Original Message----- > >>>>> From: Scott Wood [mailto:oss at buserror.net] > >>>>> Sent: Saturday, January 23, 2016 1:39 AM > >>>>> To: york sun; Zhiqiang Hou; u-boot at lists.denx.de; > >>>>> albert.u.boot at aribaud.net; Mingkai.hu at freescale.com; Stuart Yoder; > >>>>> leoli at freescale.com; prabhakar at freescale.com; > >>>>> bhupesh.sharma at freescale.com; Zhiqiang Hou > >>>>> Subject: Re: [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support > >>>>> > >>>>> On Fri, 2016-01-22 at 20:05 +0000, york sun wrote: > >>>>>> On 01/21/2016 01:53 AM, Zhiqiang Hou wrote: > >>>>>>> From: Hou Zhiqiang <Zhiqiang.Hou@freescale.com> > >>>>>>> > >>>>>>> The FSL Primary Protected Application (PPA) is a software > >>>>>>> component loaded during boot which runs in TrustZone and remains > >>>>>>> resident after boot. > >>>>>>> > >>>>>>> Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@freescale.com> > >>>>>>> --- > >>>>>>> Tested on LS1043A RDB board > >>>>>>> > >>>>>> > >>>>>> I presume PSCI is implemented in PPA. How does the SMP boot flow > >>>>>> change with PPA? U-boot has to remain functional in the absence > >>>>>> of PPA, > >>>>> right? > >>>>>> > >>>>>> Would it be possible to write a readme for PPA? > >>>>> > >>>>> Also, how does the devicetree get updated to indicate the presence > >>>>> of PSCI? > >>>>> > >>>> > >>>> One needs to add PSCI node in the DTS for the same, claiming > >>>> support for PSCI specification. > >>>> The cpu.enable_method needs to be changed from spin-table to psci > >>>> as > >> well. > >>>> > >>>> See > >>>> http://lxr.free-electrons.com/source/Documentation/devicetree/bindi > >>>> n > >>>> gs > >>>> /arm/psci.txt for details. > >>>> > >>> > >>> Bhupesh, > >>> > >>> Before PPA is fully adopted, u-boot has to detect the existence of > >>> PPA and decide to use PSCI or spin table, right? So the device tree > >>> node should also be fixed accordingly. > > > > A static CONFIG_ flag is used for enabling the PPA support currently in QorIQ-LS > u-boot code. > > Not enough. The driver parse PPA image and gives up if it is not a valid image. > Before we have a way to deploy PPA image to all our customers, we need to keep > both options open. > Chenhui is working on it. Thanks, Zhiqiang ^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support 2016-01-25 3:22 ` Zhiqiang Hou @ 2016-03-17 21:09 ` york sun 2016-03-23 3:17 ` Zhiqiang Hou 0 siblings, 1 reply; 21+ messages in thread From: york sun @ 2016-03-17 21:09 UTC (permalink / raw) To: u-boot On 01/24/2016 07:22 PM, Zhiqiang Hou wrote: > > Chenhui is working on it. > Guys, Where are we on this set? York ^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support 2016-03-17 21:09 ` york sun @ 2016-03-23 3:17 ` Zhiqiang Hou 0 siblings, 0 replies; 21+ messages in thread From: Zhiqiang Hou @ 2016-03-23 3:17 UTC (permalink / raw) To: u-boot Hi Chenhui, Do you have any update about how to fixup the related device node according to the PSCI and spin-table? > -----Original Message----- > From: york sun > Sent: 2016?3?18? 5:09 > To: Zhiqiang Hou <zhiqiang.hou@nxp.com>; Bhupesh Sharma > <bhupesh.sharma@nxp.com>; Scott Wood <oss@buserror.net>; Zhiqiang Hou > <Zhiqiang.Hou@freescale.com>; u-boot at lists.denx.de; > albert.u.boot at aribaud.net; Mingkai.hu at freescale.com; Stuart Yoder > <stuart.yoder@nxp.com>; leoli at freescale.com; prabhakar at freescale.com; > bhupesh.sharma at freescale.com; Rod Dorris <rod.dorris@nxp.com>; Chenhui > Zhao <chenhui.zhao@nxp.com> > Subject: Re: [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support > > On 01/24/2016 07:22 PM, Zhiqiang Hou wrote: > > > > Chenhui is working on it. > > > > Guys, > > Where are we on this set? > > York > Thanks, Zhiqiang ^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support 2016-01-22 20:27 ` Bhupesh Sharma 2016-01-22 20:30 ` york sun @ 2016-01-22 20:32 ` Scott Wood 1 sibling, 0 replies; 21+ messages in thread From: Scott Wood @ 2016-01-22 20:32 UTC (permalink / raw) To: u-boot On Fri, 2016-01-22 at 20:27 +0000, Bhupesh Sharma wrote: > > > -----Original Message----- > > From: Scott Wood [mailto:oss at buserror.net] > > Sent: Saturday, January 23, 2016 1:52 AM > > To: york sun; Bhupesh Sharma; Zhiqiang Hou; u-boot at lists.denx.de; > > albert.u.boot at aribaud.net; Mingkai.hu at freescale.com; Stuart Yoder; > > leoli at freescale.com; prabhakar at freescale.com; > > bhupesh.sharma at freescale.com; Zhiqiang Hou > > Subject: Re: [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support > > > > On Fri, 2016-01-22 at 20:18 +0000, york sun wrote: > > > On 01/22/2016 12:14 PM, Bhupesh Sharma wrote: > > > > > > > > > > > > > -----Original Message----- > > > > > From: Scott Wood [mailto:oss at buserror.net] > > > > > Sent: Saturday, January 23, 2016 1:39 AM > > > > > To: york sun; Zhiqiang Hou; u-boot at lists.denx.de; > > > > > albert.u.boot at aribaud.net; Mingkai.hu at freescale.com; Stuart Yoder; > > > > > leoli at freescale.com; prabhakar at freescale.com; > > > > > bhupesh.sharma at freescale.com; Zhiqiang Hou > > > > > Subject: Re: [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support > > > > > > > > > > On Fri, 2016-01-22 at 20:05 +0000, york sun wrote: > > > > > > On 01/21/2016 01:53 AM, Zhiqiang Hou wrote: > > > > > > > From: Hou Zhiqiang <Zhiqiang.Hou@freescale.com> > > > > > > > > > > > > > > The FSL Primary Protected Application (PPA) is a software > > > > > > > component loaded during boot which runs in TrustZone and > > > > > > > remains resident after boot. > > > > > > > > > > > > > > Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@freescale.com> > > > > > > > --- > > > > > > > Tested on LS1043A RDB board > > > > > > > > > > > > > > > > > > > I presume PSCI is implemented in PPA. How does the SMP boot flow > > > > > > change with PPA? U-boot has to remain functional in the absence > > > > > > of PPA, > > > > > right? > > > > > > > > > > > > Would it be possible to write a readme for PPA? > > > > > > > > > > Also, how does the devicetree get updated to indicate the presence > > > > > of PSCI? > > > > > > > > > > > > > One needs to add PSCI node in the DTS for the same, claiming support > > > > for PSCI specification. > > > > The cpu.enable_method needs to be changed from spin-table to psci as > > well. > > > > > > > > See > > > > http://lxr.free-electrons.com/source/Documentation/devicetree/bindin > > > > gs > > > > /arm/psci.txt for details. > > > > > > > > > > Bhupesh, > > > > > > Before PPA is fully adopted, u-boot has to detect the existence of PPA > > > and decide to use PSCI or spin table, right? So the device tree node > > > should also be fixed accordingly. > > A static CONFIG_ flag is used for enabling the PPA support currently in > QorIQ-LS u-boot code. > > > > > How would U-Boot know what version of PSCI the loaded PPA supports? Is > > or could there be any metadata on the PPA image to convey such > > information? > > PSCI specifications support the PSCI_VERSION API which is implemented by PPA > and it returns the PSCI_VERSION > supported by PPA. That does not answer the question unless we can assume that PPA always implements PSCI >= 0.2. And maybe there are other services worth advertising in the device tree? Some sort of metadata would be nice. -Scott ^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support 2016-01-22 20:21 ` Scott Wood 2016-01-22 20:27 ` Bhupesh Sharma @ 2016-01-25 3:15 ` Zhiqiang Hou 2016-01-25 3:16 ` Zhiqiang Hou 2 siblings, 0 replies; 21+ messages in thread From: Zhiqiang Hou @ 2016-01-25 3:15 UTC (permalink / raw) To: u-boot Hi Rod and Chenhui, Can you help to answer the questions about PSCI and PPA? > -----Original Message----- > From: Scott Wood [mailto:oss at buserror.net] > Sent: 2016?1?23? 4:22 > To: york sun <york.sun@nxp.com>; Bhupesh Sharma <bhupesh.sharma@nxp.com>; > Zhiqiang Hou <Zhiqiang.Hou@freescale.com>; u-boot at lists.denx.de; > albert.u.boot at aribaud.net; Mingkai.hu at freescale.com; Stuart Yoder > <stuart.yoder@nxp.com>; leoli at freescale.com; prabhakar at freescale.com; > bhupesh.sharma at freescale.com; Zhiqiang Hou <zhiqiang.hou@nxp.com> > Subject: Re: [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support > > On Fri, 2016-01-22 at 20:18 +0000, york sun wrote: > > On 01/22/2016 12:14 PM, Bhupesh Sharma wrote: > > > > > > > > > > -----Original Message----- > > > > From: Scott Wood [mailto:oss at buserror.net] > > > > Sent: Saturday, January 23, 2016 1:39 AM > > > > To: york sun; Zhiqiang Hou; u-boot at lists.denx.de; > > > > albert.u.boot at aribaud.net; Mingkai.hu at freescale.com; Stuart Yoder; > > > > leoli at freescale.com; prabhakar at freescale.com; > > > > bhupesh.sharma at freescale.com; Zhiqiang Hou > > > > Subject: Re: [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support > > > > > > > > On Fri, 2016-01-22 at 20:05 +0000, york sun wrote: > > > > > On 01/21/2016 01:53 AM, Zhiqiang Hou wrote: > > > > > > From: Hou Zhiqiang <Zhiqiang.Hou@freescale.com> > > > > > > > > > > > > The FSL Primary Protected Application (PPA) is a software > > > > > > component loaded during boot which runs in TrustZone and > > > > > > remains resident after boot. > > > > > > > > > > > > Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@freescale.com> > > > > > > --- > > > > > > Tested on LS1043A RDB board > > > > > > > > > > > > > > > > I presume PSCI is implemented in PPA. How does the SMP boot flow > > > > > change with PPA? U-boot has to remain functional in the absence > > > > > of PPA, > > > > right? > > > > > > > > > > Would it be possible to write a readme for PPA? > > > > > > > > Also, how does the devicetree get updated to indicate the presence > > > > of PSCI? > > > > > > > > > > One needs to add PSCI node in the DTS for the same, claiming support > > > for PSCI specification. > > > The cpu.enable_method needs to be changed from spin-table to psci as well. > > > > > > See > > > http://lxr.free-electrons.com/source/Documentation/devicetree/bindin > > > gs > > > /arm/psci.txt for details. > > > > > > > Bhupesh, > > > > Before PPA is fully adopted, u-boot has to detect the existence of PPA > > and decide to use PSCI or spin table, right? So the device tree node > > should also be fixed accordingly. > > How would U-Boot know what version of PSCI the loaded PPA supports? Is or > could there be any metadata on the PPA image to convey such information? > Thanks, Zhiqiang ^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support 2016-01-22 20:21 ` Scott Wood 2016-01-22 20:27 ` Bhupesh Sharma 2016-01-25 3:15 ` Zhiqiang Hou @ 2016-01-25 3:16 ` Zhiqiang Hou 2 siblings, 0 replies; 21+ messages in thread From: Zhiqiang Hou @ 2016-01-25 3:16 UTC (permalink / raw) To: u-boot + Rod and Chenhui > -----Original Message----- > From: Zhiqiang Hou > Sent: 2016?1?25? 11:16 > To: 'Scott Wood' <oss@buserror.net>; york sun <york.sun@nxp.com>; Bhupesh > Sharma <bhupesh.sharma@nxp.com>; Zhiqiang Hou > <Zhiqiang.Hou@freescale.com>; u-boot at lists.denx.de; > albert.u.boot at aribaud.net; Mingkai.hu at freescale.com; Stuart Yoder > <stuart.yoder@nxp.com>; leoli at freescale.com; prabhakar at freescale.com; > bhupesh.sharma at freescale.com > Subject: RE: [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support > > Hi Rod and Chenhui, > > Can you help to answer the questions about PSCI and PPA? > > > -----Original Message----- > > From: Scott Wood [mailto:oss at buserror.net] > > Sent: 2016?1?23? 4:22 > > To: york sun <york.sun@nxp.com>; Bhupesh Sharma > > <bhupesh.sharma@nxp.com>; Zhiqiang Hou <Zhiqiang.Hou@freescale.com>; > > u-boot at lists.denx.de; albert.u.boot at aribaud.net; > > Mingkai.hu at freescale.com; Stuart Yoder <stuart.yoder@nxp.com>; > > leoli at freescale.com; prabhakar at freescale.com; > > bhupesh.sharma at freescale.com; Zhiqiang Hou <zhiqiang.hou@nxp.com> > > Subject: Re: [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support > > > > On Fri, 2016-01-22 at 20:18 +0000, york sun wrote: > > > On 01/22/2016 12:14 PM, Bhupesh Sharma wrote: > > > > > > > > > > > > > -----Original Message----- > > > > > From: Scott Wood [mailto:oss at buserror.net] > > > > > Sent: Saturday, January 23, 2016 1:39 AM > > > > > To: york sun; Zhiqiang Hou; u-boot at lists.denx.de; > > > > > albert.u.boot at aribaud.net; Mingkai.hu at freescale.com; Stuart > > > > > Yoder; leoli at freescale.com; prabhakar at freescale.com; > > > > > bhupesh.sharma at freescale.com; Zhiqiang Hou > > > > > Subject: Re: [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support > > > > > > > > > > On Fri, 2016-01-22 at 20:05 +0000, york sun wrote: > > > > > > On 01/21/2016 01:53 AM, Zhiqiang Hou wrote: > > > > > > > From: Hou Zhiqiang <Zhiqiang.Hou@freescale.com> > > > > > > > > > > > > > > The FSL Primary Protected Application (PPA) is a software > > > > > > > component loaded during boot which runs in TrustZone and > > > > > > > remains resident after boot. > > > > > > > > > > > > > > Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@freescale.com> > > > > > > > --- > > > > > > > Tested on LS1043A RDB board > > > > > > > > > > > > > > > > > > > I presume PSCI is implemented in PPA. How does the SMP boot > > > > > > flow change with PPA? U-boot has to remain functional in the > > > > > > absence of PPA, > > > > > right? > > > > > > > > > > > > Would it be possible to write a readme for PPA? > > > > > > > > > > Also, how does the devicetree get updated to indicate the > > > > > presence of PSCI? > > > > > > > > > > > > > One needs to add PSCI node in the DTS for the same, claiming > > > > support for PSCI specification. > > > > The cpu.enable_method needs to be changed from spin-table to psci as well. > > > > > > > > See > > > > http://lxr.free-electrons.com/source/Documentation/devicetree/bind > > > > in > > > > gs > > > > /arm/psci.txt for details. > > > > > > > > > > Bhupesh, > > > > > > Before PPA is fully adopted, u-boot has to detect the existence of > > > PPA and decide to use PSCI or spin table, right? So the device tree > > > node should also be fixed accordingly. > > > > How would U-Boot know what version of PSCI the loaded PPA supports? > > Is or could there be any metadata on the PPA image to convey such information? > > > > Thanks, > Zhiqiang ^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support 2016-01-22 20:09 ` Scott Wood 2016-01-22 20:14 ` Bhupesh Sharma @ 2016-01-25 3:09 ` Zhiqiang Hou 1 sibling, 0 replies; 21+ messages in thread From: Zhiqiang Hou @ 2016-01-25 3:09 UTC (permalink / raw) To: u-boot Hi Rod and Chenhui, Can you help to answer the questions about PSCI? > -----Original Message----- > From: Scott Wood [mailto:oss at buserror.net] > Sent: 2016?1?23? 4:09 > To: york sun <york.sun@nxp.com>; Zhiqiang Hou <Zhiqiang.Hou@freescale.com>; > u-boot at lists.denx.de; albert.u.boot at aribaud.net; Mingkai.hu at freescale.com; > Stuart Yoder <stuart.yoder@nxp.com>; leoli at freescale.com; > prabhakar at freescale.com; bhupesh.sharma at freescale.com; Zhiqiang Hou > <zhiqiang.hou@nxp.com> > Subject: Re: [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support > > On Fri, 2016-01-22 at 20:05 +0000, york sun wrote: > > On 01/21/2016 01:53 AM, Zhiqiang Hou wrote: > > > From: Hou Zhiqiang <Zhiqiang.Hou@freescale.com> > > > > > > The FSL Primary Protected Application (PPA) is a software component > > > loaded during boot which runs in TrustZone and remains resident > > > after boot. > > > > > > Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@freescale.com> > > > --- > > > Tested on LS1043A RDB board > > > > > > > I presume PSCI is implemented in PPA. How does the SMP boot flow > > change with PPA? U-boot has to remain functional in the absence of PPA, right? > > > > Would it be possible to write a readme for PPA? > > Also, how does the devicetree get updated to indicate the presence of PSCI? > Thanks, Zhiqiang ^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support 2016-01-22 20:05 ` york sun 2016-01-22 20:09 ` Scott Wood @ 2016-01-25 3:02 ` Zhiqiang Hou 1 sibling, 0 replies; 21+ messages in thread From: Zhiqiang Hou @ 2016-01-25 3:02 UTC (permalink / raw) To: u-boot Hi York, Sorry, I didn't touch the PSCI in u-boot and what works the PPA is doing, I just work on integrating PPA to u-boot. Hi Rod and Chenhui, Can you help to answer the questions about the PSCI and PPA? > -----Original Message----- > From: york sun > Sent: 2016?1?23? 4:05 > To: Zhiqiang Hou <Zhiqiang.Hou@freescale.com>; u-boot at lists.denx.de; > albert.u.boot at aribaud.net; Mingkai.hu at freescale.com; Stuart Yoder > <stuart.yoder@nxp.com>; leoli at freescale.com; prabhakar at freescale.com; > bhupesh.sharma at freescale.com; Zhiqiang Hou <zhiqiang.hou@nxp.com>; Scott > Wood <oss@buserror.net> > Subject: Re: [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support > > On 01/21/2016 01:53 AM, Zhiqiang Hou wrote: > > From: Hou Zhiqiang <Zhiqiang.Hou@freescale.com> > > > > The FSL Primary Protected Application (PPA) is a software component > > loaded during boot which runs in TrustZone and remains resident after > > boot. > > > > Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@freescale.com> > > --- > > Tested on LS1043A RDB board > > > > I presume PSCI is implemented in PPA. How does the SMP boot flow change with > PPA? U-boot has to remain functional in the absence of PPA, right? > > Would it be possible to write a readme for PPA? > Thanks, Zhiqiang ^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [PATCHv2 3/3] ARMv8/ls1043ardb: Integrate FSL PPA 2016-01-21 9:44 [U-Boot] [PATCHv2 1/3] armv8: fsl-layerscape: add i/d-cache enable function to enable_caches Zhiqiang Hou 2016-01-21 9:44 ` [U-Boot] [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support Zhiqiang Hou @ 2016-01-21 9:44 ` Zhiqiang Hou 1 sibling, 0 replies; 21+ messages in thread From: Zhiqiang Hou @ 2016-01-21 9:44 UTC (permalink / raw) To: u-boot From: Hou Zhiqiang <Zhiqiang.Hou@freescale.com> Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@freescale.com> --- V2 - No change. board/freescale/ls1043ardb/ls1043ardb.c | 11 +++++++++++ include/configs/ls1043ardb.h | 9 +++++++++ 2 files changed, 20 insertions(+) diff --git a/board/freescale/ls1043ardb/ls1043ardb.c b/board/freescale/ls1043ardb/ls1043ardb.c index c8f723a..eff09aa 100644 --- a/board/freescale/ls1043ardb/ls1043ardb.c +++ b/board/freescale/ls1043ardb/ls1043ardb.c @@ -9,6 +9,7 @@ #include <asm/io.h> #include <asm/arch/clock.h> #include <asm/arch/fsl_serdes.h> +#include <asm/arch/ppa.h> #include <asm/arch/soc.h> #include <hwconfig.h> #include <ahci.h> @@ -94,6 +95,9 @@ int board_early_init_f(void) int board_init(void) { struct ccsr_cci400 *cci = (struct ccsr_cci400 *)CONFIG_SYS_CCI400_ADDR; +#ifdef CONFIG_FSL_LS_PPA + u64 ppa_entry; +#endif /* * Set CCI-400 control override register to enable barrier @@ -113,6 +117,13 @@ int board_init(void) enable_layerscape_ns_access(); #endif +#ifdef CONFIG_FSL_LS_PPA + ppa_init_pre(&ppa_entry); + + if (ppa_entry) + ppa_init_entry((void *)ppa_entry); +#endif + return 0; } diff --git a/include/configs/ls1043ardb.h b/include/configs/ls1043ardb.h index 585114f..fd28814 100644 --- a/include/configs/ls1043ardb.h +++ b/include/configs/ls1043ardb.h @@ -9,6 +9,15 @@ #include "ls1043a_common.h" +#if defined(CONFIG_FSL_LS_PPA) +#define CONFIG_SYS_LS_PPA_DRAM_BLOCK_MIN_SIZE (1UL * 1024 * 1024) + +#define CONFIG_SYS_LS_PPA_FW_IN_NOR +#ifdef CONFIG_SYS_LS_PPA_FW_IN_NOR +#define CONFIG_SYS_LS_PPA_FW_ADDR 0x60500000 +#endif +#endif + #define CONFIG_DISPLAY_CPUINFO #define CONFIG_DISPLAY_BOARDINFO -- 2.1.0.27.g96db324 ^ permalink raw reply related [flat|nested] 21+ messages in thread
end of thread, other threads:[~2016-03-23 3:17 UTC | newest] Thread overview: 21+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-01-21 9:44 [U-Boot] [PATCHv2 1/3] armv8: fsl-layerscape: add i/d-cache enable function to enable_caches Zhiqiang Hou 2016-01-21 9:44 ` [U-Boot] [PATCHv2 2/3] ARMv8/layerscape: Add FSL PPA support Zhiqiang Hou 2016-01-22 20:05 ` york sun 2016-01-22 20:09 ` Scott Wood 2016-01-22 20:14 ` Bhupesh Sharma 2016-01-22 20:17 ` Scott Wood 2016-01-22 20:26 ` Bhupesh Sharma 2016-01-25 3:11 ` Zhiqiang Hou 2016-01-22 20:18 ` york sun 2016-01-22 20:21 ` Scott Wood 2016-01-22 20:27 ` Bhupesh Sharma 2016-01-22 20:30 ` york sun 2016-01-25 3:22 ` Zhiqiang Hou 2016-03-17 21:09 ` york sun 2016-03-23 3:17 ` Zhiqiang Hou 2016-01-22 20:32 ` Scott Wood 2016-01-25 3:15 ` Zhiqiang Hou 2016-01-25 3:16 ` Zhiqiang Hou 2016-01-25 3:09 ` Zhiqiang Hou 2016-01-25 3:02 ` Zhiqiang Hou 2016-01-21 9:44 ` [U-Boot] [PATCHv2 3/3] ARMv8/ls1043ardb: Integrate FSL PPA Zhiqiang Hou
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox