Hi Meenakshi,

> -----Original Message-----
> From: U-Boot <u-boot-boun...@lists.denx.de> On Behalf Of
> meenakshi.aggar...@nxp.com
> Sent: Monday, September 7, 2020 6:12 PM
> To: u-boot@lists.denx.de; Priyanka Jain <priyanka.j...@nxp.com>
> Cc: Varun Sethi <v.se...@nxp.com>; Meenakshi Aggarwal
> <meenakshi.aggar...@nxp.com>
> Subject: [PATCH v3 1/2] armv8: lx2162a: Add Soc changes to support LX2162A
> 
> From: Meenakshi Aggarwal <meenakshi.aggar...@nxp.com>
> 
> LX2162 is LX2160 based SoC, it has same die as of LX2160
> with different packaging.
> 
> LX2162A support 64-bit 2.9GT/s DDR4 memory, i2c, micro-click module,
> microSD card, eMMC support, serial console, qspi nor flash, qsgmii,
> sgmii, 25g, 40g, 50g network interface, one usb 3.0 and serdes
> interface to support three PCIe gen3 interface.
> 
> Signed-off-by: Meenakshi Aggarwal <meenakshi.aggar...@nxp.com>
> ---
>  arch/arm/cpu/armv8/Kconfig                         |  2 +-
>  arch/arm/cpu/armv8/fsl-layerscape/Kconfig          | 39 +++++++++++++--
>  arch/arm/cpu/armv8/fsl-layerscape/Makefile         |  5 ++
>  arch/arm/cpu/armv8/fsl-layerscape/cpu.c            |  9 ++--
>  arch/arm/cpu/armv8/fsl-layerscape/doc/README.soc   | 58
> ++++++++++++++++++++++
>  .../cpu/armv8/fsl-layerscape/fsl_lsch3_serdes.c    |  8 +--
>  arch/arm/cpu/armv8/fsl-layerscape/lx2160a_serdes.c | 19 ++++++-
>  arch/arm/cpu/armv8/fsl-layerscape/soc.c            | 10 ++--
>  arch/arm/include/asm/arch-fsl-layerscape/config.h  |  6 +--
>  arch/arm/include/asm/arch-fsl-layerscape/cpu.h     |  4 +-
>  .../include/asm/arch-fsl-layerscape/immap_lsch3.h  | 12 ++---
>  arch/arm/include/asm/arch-fsl-layerscape/soc.h     |  7 ++-
>  .../asm/arch-fsl-layerscape/stream_id_lsch3.h      | 10 ++--
>  drivers/ddr/fsl/Kconfig                            |  1 +
>  drivers/net/fsl-mc/Kconfig                         |  4 +-
>  drivers/net/ldpaa_eth/Makefile                     |  1 +
>  drivers/pci/Kconfig                                |  4 +-
>  drivers/pci/pcie_layerscape_ep.c                   |  4 +-
>  drivers/pci/pcie_layerscape_fixup_common.c         |  7 ++-
>  19 files changed, 170 insertions(+), 40 deletions(-)
> 
> diff --git a/arch/arm/cpu/armv8/Kconfig b/arch/arm/cpu/armv8/Kconfig
> index 3655990..f247441 100644
> --- a/arch/arm/cpu/armv8/Kconfig
> +++ b/arch/arm/cpu/armv8/Kconfig
> @@ -115,7 +115,7 @@ config PSCI_RESET
>                  !TARGET_LS1046ARDB && !TARGET_LS1046AQDS && \
>                  !TARGET_LS1046AFRWY && \
>                  !TARGET_LS2081ARDB && !TARGET_LX2160ARDB && \
> -                !TARGET_LX2160AQDS && \
> +                !TARGET_LX2160AQDS && !TARGET_LX2162AQDS && \
>                  !ARCH_UNIPHIER && !TARGET_S32V234EVB
>       help
>         Most armv8 systems have PSCI support enabled in EL3, either through
> diff --git a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig
> b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig
> index be51b7d..4d46587 100644
> --- a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig
> +++ b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig
> @@ -208,6 +208,35 @@ config ARCH_LS2080A
>       imply DISTRO_DEFAULTS
>       imply PANIC_HANG
> 
> +config ARCH_LX2162A
> +     bool
> +     select ARMV8_SET_SMPEN
> +     select FSL_LSCH3
> +     select NXP_LSCH3_2
> +     select SYS_HAS_SERDES
> +     select SYS_FSL_SRDS_1
> +     select SYS_FSL_SRDS_2
> +     select SYS_FSL_DDR
> +     select SYS_FSL_DDR_LE
> +     select SYS_FSL_DDR_VER_50
> +     select SYS_FSL_EC1
> +     select SYS_FSL_EC2
> +     select SYS_FSL_ERRATUM_A050106
> +     select SYS_FSL_HAS_RGMII
> +     select SYS_FSL_HAS_SEC
> +     select SYS_FSL_HAS_CCN508
> +     select SYS_FSL_HAS_DDR4
> +     select SYS_FSL_SEC_COMPAT_5
> +     select SYS_FSL_SEC_LE
> +     select ARCH_EARLY_INIT_R
> +     select BOARD_EARLY_INIT_F
> +     select SYS_I2C_MXC
> +     select RESV_RAM if GIC_V3_ITS
> +     imply DISTRO_DEFAULTS
> +     imply PANIC_HANG
> +     imply SCSI
> +     imply SCSI_AHCI
> +
>  config ARCH_LX2160A
>       bool
>       select ARMV8_SET_SMPEN
> @@ -345,7 +374,7 @@ config SYS_FSL_ERRATUM_A050106
>       help
>         USB3.0 Receiver needs to enable fixed equalization
>         for each of PHY instances in an SOC. This is similar
> -       to erratum A-009007, but this one is for LX2160A,
> +       to erratum A-009007, but this one is for LX2160A and LX2162A,
>         and the register value is different.
> 
>  config SYS_FSL_ERRATUM_A010315
> @@ -362,6 +391,7 @@ config MAX_CPUS
>       default 16 if ARCH_LS2080A
>       default 8 if ARCH_LS1088A
>       default 16 if ARCH_LX2160A
> +     default 16 if ARCH_LX2162A
>       default 1
>       help
>         Set this number to the maximum number of possible CPUs in the SoC.
> @@ -491,6 +521,7 @@ config SYS_FSL_DUART_CLK_DIV
>       int "DUART clock divider"
>       default 1 if ARCH_LS1043A
>       default 4 if ARCH_LX2160A
> +     default 4 if ARCH_LX2162A
>       default 2
>       help
>         This is the divider that is used to derive DUART clock from Platform
> @@ -502,6 +533,7 @@ config SYS_FSL_I2C_CLK_DIV
>       default 4 if ARCH_LS1012A
>       default 4 if ARCH_LS1028A
>       default 8 if ARCH_LX2160A
> +     default 8 if ARCH_LX2162A
>       default 8 if ARCH_LS1088A
>       default 2
>       help
> @@ -514,6 +546,7 @@ config SYS_FSL_IFC_CLK_DIV
>       default 4 if ARCH_LS1012A
>       default 4 if ARCH_LS1028A
>       default 8 if ARCH_LX2160A
> +     default 8 if ARCH_LX2162A
>       default 8 if ARCH_LS1088A
>       default 2
>       help
> @@ -560,14 +593,14 @@ config SYS_FSL_EC1
>       bool
>       help
>         Ethernet controller 1, this is connected to
> -       MAC17 for LX2160A or to MAC3 for other SoCs
> +       MAC17 for LX2160A and LX2162A or to MAC3 for other SoCs
>         Provides DPAA2 capabilities
> 
>  config SYS_FSL_EC2
>       bool
>       help
>         Ethernet controller 2, this is connected to
> -       MAC18 for LX2160A or to MAC4 for other SoCs
> +       MAC18 for LX2160A and LX2162A or to MAC4 for other SoCs
>         Provides DPAA2 capabilities
> 
>  config SYS_FSL_ERRATUM_A008336
> diff --git a/arch/arm/cpu/armv8/fsl-layerscape/Makefile
> b/arch/arm/cpu/armv8/fsl-layerscape/Makefile
> index 9ecb372..598c36e 100644
> --- a/arch/arm/cpu/armv8/fsl-layerscape/Makefile
> +++ b/arch/arm/cpu/armv8/fsl-layerscape/Makefile
> @@ -27,6 +27,11 @@ obj-$(CONFIG_SYS_HAS_SERDES) += lx2160a_serdes.o
>  obj-y += icid.o lx2160_ids.o
>  endif
> 
> +ifneq ($(CONFIG_ARCH_LX2162A),)
> +obj-$(CONFIG_SYS_HAS_SERDES) += lx2160a_serdes.o
> +obj-y += icid.o lx2160_ids.o
> +endif
> +
>  ifneq ($(CONFIG_ARCH_LS2080A),)
>  obj-$(CONFIG_SYS_HAS_SERDES) += ls2080a_serdes.o
>  obj-y += icid.o ls2088_ids.o
> diff --git a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
> b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
> index 8a2f404..59d5265 100644
> --- a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
> +++ b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
> @@ -1,6 +1,6 @@
>  // SPDX-License-Identifier: GPL-2.0+
>  /*
> - * Copyright 2017-2019 NXP
> + * Copyright 2017-2020 NXP
>   * Copyright 2014-2015 Freescale Semiconductor, Inc.
>   */
> 
> @@ -79,6 +79,9 @@ static struct cpu_type cpu_type_list[] = {
>       CPU_TYPE_ENTRY(LX2160A, LX2160A, 16),
>       CPU_TYPE_ENTRY(LX2120A, LX2120A, 12),
>       CPU_TYPE_ENTRY(LX2080A, LX2080A, 8),
> +     CPU_TYPE_ENTRY(LX2162A, LX2162A, 16),
> +     CPU_TYPE_ENTRY(LX2122A, LX2122A, 12),
> +     CPU_TYPE_ENTRY(LX2082A, LX2082A, 8),
>  };
> 
>  #define EARLY_PGTABLE_SIZE 0x5000
> @@ -403,7 +406,7 @@ void cpu_name(char *name)
>       for (i = 0; i < ARRAY_SIZE(cpu_type_list); i++)
>               if ((cpu_type_list[i].soc_ver & SVR_WO_E) == ver) {
>                       strcpy(name, cpu_type_list[i].name);
> -#ifdef CONFIG_ARCH_LX2160A
> +#if defined(CONFIG_ARCH_LX2160A) || defined(CONFIG_ARCH_LX2162A)

Please make sure such change is made in all files. The below one is missed.
arch/arm/cpu/armv8/fsl-layerscape/fsl_lsch3_speed.c

>                       if (IS_C_PROCESSOR(svr))
>                               strcat(name, "C");
>  #endif

[...]

Reply via email to