[U-Boot] [PATCH 4/5] armv8: fsl-layerscape: Add NXP LS2088A SoC support

Prabhakar Kushwaha prabhakar.kushwaha at nxp.com
Thu Oct 20 05:33:22 CEST 2016


> -----Original Message-----
> From: U-Boot [mailto:u-boot-bounces at lists.denx.de] On Behalf Of Priyanka
> Jain
> Sent: Wednesday, October 19, 2016 3:07 PM
> To: u-boot at lists.denx.de
> Cc: Priyanka Jain <priyanka.jain at nxp.com>
> Subject: [U-Boot] [PATCH 4/5] armv8: fsl-layerscape: Add NXP LS2088A SoC
> support
> 
> The QorIQ LS2088A SoC is built on layerscape architecture.
> 
> It is similar to LS2080A SoC with some differences like
> 1)Timer controller offset is different
> 2)It has A72 cores
> 3)It supports TZASC module
> 
> Signed-off-by: Priyanka Jain <priyanka.jain at nxp.com>
> ---
>  arch/arm/cpu/armv8/fsl-layerscape/doc/README.soc  |   58
> +++++++++++++++++++++
>  arch/arm/cpu/armv8/fsl-layerscape/soc.c           |    6 ++-
>  arch/arm/include/asm/arch-fsl-layerscape/config.h |    1 +
>  arch/arm/include/asm/arch-fsl-layerscape/cpu.h    |    4 ++
>  arch/arm/include/asm/arch-fsl-layerscape/soc.h    |    4 ++
>  board/freescale/ls2080a/MAINTAINERS               |    2 +-
>  board/freescale/ls2080aqds/MAINTAINERS            |    2 +-
>  board/freescale/ls2080aqds/README                 |   12 ++--
>  board/freescale/ls2080ardb/MAINTAINERS            |    2 +-
>  board/freescale/ls2080ardb/README                 |    8 ++--
>  10 files changed, 84 insertions(+), 15 deletions(-)
> 
> diff --git a/arch/arm/cpu/armv8/fsl-layerscape/doc/README.soc
> b/arch/arm/cpu/armv8/fsl-layerscape/doc/README.soc
> index f7b949a..c7496c0 100644
> --- a/arch/arm/cpu/armv8/fsl-layerscape/doc/README.soc
> +++ b/arch/arm/cpu/armv8/fsl-layerscape/doc/README.soc
> @@ -4,6 +4,7 @@ SoC overview
>  	2. LS2080A
>  	3. LS1012A
>  	4. LS1046A
> +	5. LS2088A
> 
>  LS1043A
>  ---------
> @@ -169,3 +170,60 @@ The LS1046A SoC includes the following function and
> features:
>     - Two DUARTs
>     - Integrated flash controller (IFC) supporting NAND and NOR flash
>   - QorIQ platform's trust architecture 2.1
> +
> +LS2088A
> +--------
> +The LS2088A integrated multicore processor combines eight ARM Cortex-A72
> +processor cores with high-performance data path acceleration logic and
> network
> +and peripheral bus interfaces required for networking, telecom/datacom,
> +wireless infrastructure, and mil/aerospace applications.
> +
> +The LS2088A SoC includes the following function and features:
> +
> + - Eight 64-bit ARM Cortex-A72 CPUs
> + - 1 MB platform cache with ECC
> + - Two 64-bit DDR4 SDRAM memory controllers with ECC and interleaving
> support
> + - One secondary 32-bit DDR4 SDRAM memory controller, intended for use by
> +   the AIOP
> + - Data path acceleration architecture (DPAA2) incorporating acceleration for
> +   the following functions:
> +   - Packet parsing, classification, and distribution (WRIOP)
> +   - Queue and Hardware buffer management for scheduling, packet
> sequencing, and
> +     congestion management, buffer allocation and de-allocation (QBMan)
> +   - Cryptography acceleration (SEC) at up to 10 Gbps
> +   - RegEx pattern matching acceleration (PME) at up to 10 Gbps
> +   - Decompression/compression acceleration (DCE) at up to 20 Gbps
> +   - Accelerated I/O processing (AIOP) at up to 20 Gbps
> +   - QDMA engine
> + - 16 SerDes lanes at up to 10.3125 GHz
> + - Ethernet interfaces
> +   - Up to eight 10 Gbps Ethernet MACs
> +   - Up to eight 1 / 2.5 Gbps Ethernet MACs
> + - High-speed peripheral interfaces
> +   - Four PCIe 3.0 controllers, one supporting SR-IOV
> + - Additional peripheral interfaces
> +   - Two serial ATA (SATA 3.0) controllers
> +   - Two high-speed USB 3.0 controllers with integrated PHY
> +   - Enhanced secure digital host controller (eSDXC/eMMC)
> +   - Serial peripheral interface (SPI) controller
> +   - Quad Serial Peripheral Interface (QSPI) Controller
> +   - Four I2C controllers
> +   - Two DUARTs
> +   - Integrated flash controller (IFC 2.0) supporting NAND and NOR flash
> + - Support for hardware virtualization and partitioning enforcement
> + - QorIQ platform's trust architecture 3.0
> + - Service processor (SP) provides pre-boot initialization and secure-boot
> + capabilities
> +
> +LS2088A SoC has 3 more similar SoC personalities
> +1)LS2048A, few difference w.r.t. LS2088A:
> +       a) Four 64-bit ARM v8 Cortex-A72 CPUs
> +
> +2)LS2084A, few difference w.r.t. LS2088A:
> +       a) No AIOP
> +       b) No 32-bit DDR3 SDRAM memory
> +       c) 5 * 1/10G + 5 *1G WRIOP
> +       d) No L2 switch
> +
> +3)LS2044A, few difference w.r.t. LS2084A:
> +       a) Four 64-bit ARM v8 Cortex-A72 CPUs
> diff --git a/arch/arm/cpu/armv8/fsl-layerscape/soc.c
> b/arch/arm/cpu/armv8/fsl-layerscape/soc.c
> index d68eeba..d43361f 100644
> --- a/arch/arm/cpu/armv8/fsl-layerscape/soc.c
> +++ b/arch/arm/cpu/armv8/fsl-layerscape/soc.c
> @@ -31,8 +31,10 @@ bool soc_has_dp_ddr(void)
>  	struct ccsr_gur __iomem *gur = (void
> *)(CONFIG_SYS_FSL_GUTS_ADDR);
>  	u32 svr = gur_in32(&gur->svr);
> 
> -	/* LS2085A has DP_DDR */
> -	if (SVR_SOC_VER(svr) == SVR_LS2085A)
> +	/* LS2085A, LS2088A, LS2048A has DP_DDR */
> +	if ((SVR_SOC_VER(svr) == SVR_LS2085A) ||
> +	    (SVR_SOC_VER(svr) == SVR_LS2088A) ||
> +	    (SVR_SOC_VER(svr) == SVR_LS2048A))
>  		return true;
> 
>  	return false;
> diff --git a/arch/arm/include/asm/arch-fsl-layerscape/config.h
> b/arch/arm/include/asm/arch-fsl-layerscape/config.h
> index 4201e0f..6c3ba49 100644
> --- a/arch/arm/include/asm/arch-fsl-layerscape/config.h
> +++ b/arch/arm/include/asm/arch-fsl-layerscape/config.h
> @@ -25,6 +25,7 @@
>  #ifndef L1_CACHE_BYTES
>  #define L1_CACHE_SHIFT		6
>  #define L1_CACHE_BYTES		BIT(L1_CACHE_SHIFT)
> +#define CONFIG_FSL_TZASC_400

Looks like this is getting enabled even for LS2080, LS2085A.
Will it not create any problem?

--prabhakar


More information about the U-Boot mailing list