ls1088ardb-pb is another varinat of the ls1088ardb.
This board support two m.2 x2 gen 3 pcie card slot.
There is no support of sata, pcie standard slot,
miniPCIE slot and TDM in this board.

Signed-off-by: Pramod Kumar <pramod.kuma...@nxp.com>
---
 arch/arm/Kconfig                              | 14 +++
 arch/arm/cpu/armv8/Kconfig                    |  1 +
 board/freescale/ls1088a/Kconfig               | 43 +++++++++
 board/freescale/ls1088a/MAINTAINERS           | 18 ++++
 board/freescale/ls1088a/Makefile              |  1 +
 board/freescale/ls1088a/ddr.h                 |  4 +-
 board/freescale/ls1088a/ls1088a.c             | 23 ++++-
 ... ls1088ardb_pb_qspi_SECURE_BOOT_defconfig} |  2 +-
 ...defconfig => ls1088ardb_pb_qspi_defconfig} |  2 +-
 ...ardb_pb_sdcard_qspi_SECURE_BOOT_defconfig} |  2 +-
 ...ig => ls1088ardb_pb_sdcard_qspi_defconfig} |  2 +-
 include/configs/ls1088ardb_pb.h               | 87 +++++++++++++++++++
 12 files changed, 189 insertions(+), 10 deletions(-)
 copy configs/{ls1088ardb_qspi_SECURE_BOOT_defconfig => 
ls1088ardb_pb_qspi_SECURE_BOOT_defconfig} (97%)
 copy configs/{ls1088ardb_qspi_defconfig => ls1088ardb_pb_qspi_defconfig} (97%)
 copy configs/{ls1088ardb_sdcard_qspi_SECURE_BOOT_defconfig => 
ls1088ardb_pb_sdcard_qspi_SECURE_BOOT_defconfig} (98%)
 copy configs/{ls1088ardb_sdcard_qspi_defconfig => 
ls1088ardb_pb_sdcard_qspi_defconfig} (98%)
 create mode 100644 include/configs/ls1088ardb_pb.h

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 63ec02403a..fec588c817 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1120,6 +1120,20 @@ config TARGET_LS1088ARDB
          development platform that supports the QorIQ LS1088A
          Layerscape Architecture processor.
 
+config TARGET_LS1088ARDB_PB
+       bool "Support ls1088ardb_pb"
+       select ARCH_LS1088A
+       select ARM64
+       select ARMV8_MULTIENTRY
+       select ARCH_MISC_INIT
+       select BOARD_LATE_INIT
+       select SUPPORT_SPL
+       help
+         Support for NXP LS1088ARDB_PB platform.
+         The LS1088A Reference design board (RDB_PB) is a high-performance
+         development platform that supports the QorIQ LS1088A
+         Layerscape Architecture processor.
+
 config TARGET_LS1021AQDS
        bool "Support ls1021aqds"
        select ARCH_LS1021A
diff --git a/arch/arm/cpu/armv8/Kconfig b/arch/arm/cpu/armv8/Kconfig
index c8bebabdf6..8ede276b65 100644
--- a/arch/arm/cpu/armv8/Kconfig
+++ b/arch/arm/cpu/armv8/Kconfig
@@ -100,6 +100,7 @@ config PSCI_RESET
                   !TARGET_LS2080A_SIMU && !TARGET_LS2080AQDS && \
                   !TARGET_LS2080ARDB && !TARGET_LS2080A_EMU && \
                   !TARGET_LS1088ARDB && !TARGET_LS1088AQDS && \
+                  !TARGET_LS1088ARDB_PB && \
                   !TARGET_LS1012ARDB && !TARGET_LS1012AFRDM && \
                   !TARGET_LS1012A2G5RDB && !TARGET_LS1012AQDS && \
                   !TARGET_LS1012AFRWY && \
diff --git a/board/freescale/ls1088a/Kconfig b/board/freescale/ls1088a/Kconfig
index 8bb828e3fd..9f20d7247f 100644
--- a/board/freescale/ls1088a/Kconfig
+++ b/board/freescale/ls1088a/Kconfig
@@ -59,3 +59,46 @@ endif
 
 source "board/freescale/common/Kconfig"
 endif
+
+if TARGET_LS1088ARDB_PB
+
+config SYS_BOARD
+       default "ls1088a"
+
+config SYS_VENDOR
+       default "freescale"
+
+config SYS_SOC
+       default "fsl-layerscape"
+
+config SYS_CONFIG_NAME
+       default "ls1088ardb_pb"
+
+if SYS_LS_PPA_FW_IN_XIP
+
+config SYS_LS_PPA_FW_ADDR
+       hex "PPA Firmware Addr"
+       default 0x20400000
+
+if CHAIN_OF_TRUST
+config SYS_LS_PPA_ESBC_ADDR
+       hex "PPA Firmware HDR Addr"
+       default 0x20680000
+endif
+endif
+
+if (SYS_LS_PPA_FW_IN_MMC || SYS_LS_PPA_FW_IN_NAND)
+
+config SYS_LS_PPA_FW_ADDR
+       hex "PPA Firmware Addr"
+       default 0x400000
+
+if CHAIN_OF_TRUST
+config SYS_LS_PPA_ESBC_ADDR
+       hex "PPA Firmware HDR Addr"
+       default 0x680000
+endif
+endif
+
+source "board/freescale/common/Kconfig"
+endif
diff --git a/board/freescale/ls1088a/MAINTAINERS 
b/board/freescale/ls1088a/MAINTAINERS
index 4d804d9447..dbcac49a60 100644
--- a/board/freescale/ls1088a/MAINTAINERS
+++ b/board/freescale/ls1088a/MAINTAINERS
@@ -7,6 +7,14 @@ F:     include/configs/ls1088ardb.h
 F:     configs/ls1088ardb_qspi_defconfig
 F:     configs/ls1088ardb_sdcard_qspi_defconfig
 
+LS1088ARDB_PB BOARD
+M:     Pramod Kumar <pramod.ku...@nxp.com>
+S:     Maintained
+F:     board/freescale/ls1088a/
+F:     include/configs/ls1088ardb_pb.h
+F:     configs/ls1088ardb_pb_qspi_defconfig
+F:     configs/ls1088ardb_pb_sdcard_qspi_defconfig
+
 LS1088AQDS BOARD
 M:     Prabhakar Kushwaha <prabhakar.kushw...@nxp.com>
 M:     Ashish Kumar <ashish.ku...@nxp.com>
@@ -34,3 +42,13 @@ LS1088ARDB_SD_SECURE_BOOT BOARD
 M:     Sumit Garg <sumit.g...@nxp.com>
 S:     Maintained
 F:     configs/ls1088ardb_sdcard_qspi_SECURE_BOOT_defconfig
+
+LS1088ARDB_PB_QSPI_SECURE_BOOT BOARD
+M:      Udit Agarwal <udit.agar...@nxp.com>
+S:      Maintained
+F:      configs/ls1088ardb_pb_qspi_SECURE_BOOT_defconfig
+
+LS1088ARDB_PB_SD_SECURE_BOOT BOARD
+M:      Udit Agarwal <udit.agar...@nxp.com>
+S:      Maintained
+F:      configs/ls1088ardb_pb_sdcard_qspi_SECURE_BOOT_defconfig
diff --git a/board/freescale/ls1088a/Makefile b/board/freescale/ls1088a/Makefile
index c2b0e7dc0f..dd5f365378 100644
--- a/board/freescale/ls1088a/Makefile
+++ b/board/freescale/ls1088a/Makefile
@@ -6,5 +6,6 @@ obj-y += ls1088a.o
 obj-y += ddr.o
 ifndef CONFIG_SPL_BUILD
 obj-$(CONFIG_TARGET_LS1088ARDB) += eth_ls1088ardb.o
+obj-$(CONFIG_TARGET_LS1088ARDB_PB) += eth_ls1088ardb.o
 obj-$(CONFIG_TARGET_LS1088AQDS) += eth_ls1088aqds.o
 endif
diff --git a/board/freescale/ls1088a/ddr.h b/board/freescale/ls1088a/ddr.h
index b35c4ae2da..b643442152 100644
--- a/board/freescale/ls1088a/ddr.h
+++ b/board/freescale/ls1088a/ddr.h
@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0+ */
 /*
- * Copyright 2017 NXP
+ * Copyright 2017-2018 NXP
  */
 
 #ifndef __LS1088A_DDR_H__
@@ -27,7 +27,7 @@ static const struct board_specific_parameters udimm0[] = {
         *   num|  hi| rank|  clk| wrlvl |   wrlvl   |  wrlvl
         * ranks| mhz| GB  |adjst| start |   ctl2    |  ctl3
         */
-#if defined(CONFIG_TARGET_LS1088ARDB)
+#if defined(CONFIG_TARGET_LS1088ARDB) || defined(CONFIG_TARGET_LS1088ARDB_PB)
 
        {2,  1666, 0, 8,     8, 0x090A0B0E, 0x0F10110D,},
        {2,  1900, 0, 8,     9, 0x0A0B0C10, 0x1112140E,},
diff --git a/board/freescale/ls1088a/ls1088a.c 
b/board/freescale/ls1088a/ls1088a.c
index a0dab6fc2e..12c7616757 100644
--- a/board/freescale/ls1088a/ls1088a.c
+++ b/board/freescale/ls1088a/ls1088a.c
@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0+
 /*
- * Copyright 2017 NXP
+ * Copyright 2017-2018 NXP
  */
 #include <common.h>
 #include <i2c.h>
@@ -28,6 +28,15 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
+#ifdef CONFIG_TARGET_LS1088ARDB_PB
+int fixup_ls1088ardb_pb_banner(void *fdt)
+{
+       fdt_setprop_string(fdt, 0, "model", "LS1088ARDB-PB Board");
+
+       return 0;
+}
+#endif
+
 int board_early_init_f(void)
 {
 #if defined(CONFIG_SYS_I2C_EARLY_INIT) && defined(CONFIG_TARGET_LS1088AQDS)
@@ -78,6 +87,9 @@ int checkboard(void)
 
 #ifdef CONFIG_TARGET_LS1088AQDS
        printf("Board: LS1088A-QDS, ");
+
+#elif CONFIG_TARGET_LS1088ARDB_PB
+       printf("Board: LS1088ARDB-PB, ");
 #else
        printf("Board: LS1088A-RDB, ");
 #endif
@@ -327,7 +339,7 @@ void board_retimer_init(void)
 #ifdef CONFIG_MISC_INIT_R
 int misc_init_r(void)
 {
-#ifdef CONFIG_TARGET_LS1088ARDB
+#if defined(CONFIG_TARGET_LS1088ARDB) || defined(CONFIG_TARGET_LS1088ARDB_PB)
        u8 brdcfg5;
 
        if (hwconfig("esdhc-force-sd")) {
@@ -459,7 +471,7 @@ exit:
 int board_init(void)
 {
        init_final_memctl_regs();
-#if defined(CONFIG_TARGET_LS1088ARDB) && defined(CONFIG_FSL_MC_ENET)
+#if defined(CONFIG_TARGET_LS1088ARDB) || defined(CONFIG_TARGET_LS1088ARDB_PB) 
&& defined(CONFIG_FSL_MC_ENET)
        u32 __iomem *irq_ccsr = (u32 __iomem *)ISC_BASE;
 #endif
 
@@ -470,7 +482,7 @@ int board_init(void)
        gd->env_addr = (ulong)&default_environment[0];
 #endif
 
-#if defined(CONFIG_TARGET_LS1088ARDB) && defined(CONFIG_FSL_MC_ENET)
+#if defined(CONFIG_TARGET_LS1088ARDB) || defined(CONFIG_TARGET_LS1088ARDB_PB) 
&& defined(CONFIG_FSL_MC_ENET)
        /* invert AQR105 IRQ pins polarity */
        out_le32(irq_ccsr + IRQCR_OFFSET / 4, AQR105_IRQ_MASK);
 #endif
@@ -584,6 +596,9 @@ int ft_board_setup(void *blob, bd_t *bd)
                return err;
 #endif
 
+#ifdef CONFIG_TARGET_LS1088ARDB_PB
+fixup_ls1088ardb_pb_banner(blob);
+#endif
        return 0;
 }
 #endif
diff --git a/configs/ls1088ardb_qspi_SECURE_BOOT_defconfig 
b/configs/ls1088ardb_pb_qspi_SECURE_BOOT_defconfig
similarity index 97%
copy from configs/ls1088ardb_qspi_SECURE_BOOT_defconfig
copy to configs/ls1088ardb_pb_qspi_SECURE_BOOT_defconfig
index d0334a239f..d2faf25f39 100644
--- a/configs/ls1088ardb_qspi_SECURE_BOOT_defconfig
+++ b/configs/ls1088ardb_pb_qspi_SECURE_BOOT_defconfig
@@ -1,5 +1,5 @@
 CONFIG_ARM=y
-CONFIG_TARGET_LS1088ARDB=y
+CONFIG_TARGET_LS1088ARDB_PB=y
 CONFIG_SYS_TEXT_BASE=0x20100000
 CONFIG_SECURE_BOOT=y
 CONFIG_FSL_LS_PPA=y
diff --git a/configs/ls1088ardb_qspi_defconfig 
b/configs/ls1088ardb_pb_qspi_defconfig
similarity index 97%
copy from configs/ls1088ardb_qspi_defconfig
copy to configs/ls1088ardb_pb_qspi_defconfig
index d806966540..cb9eac88a9 100644
--- a/configs/ls1088ardb_qspi_defconfig
+++ b/configs/ls1088ardb_pb_qspi_defconfig
@@ -1,5 +1,5 @@
 CONFIG_ARM=y
-CONFIG_TARGET_LS1088ARDB=y
+CONFIG_TARGET_LS1088ARDB_PB=y
 CONFIG_SYS_TEXT_BASE=0x20100000
 CONFIG_FSL_LS_PPA=y
 CONFIG_QSPI_AHB_INIT=y
diff --git a/configs/ls1088ardb_sdcard_qspi_SECURE_BOOT_defconfig 
b/configs/ls1088ardb_pb_sdcard_qspi_SECURE_BOOT_defconfig
similarity index 98%
copy from configs/ls1088ardb_sdcard_qspi_SECURE_BOOT_defconfig
copy to configs/ls1088ardb_pb_sdcard_qspi_SECURE_BOOT_defconfig
index 59356095cd..75ad7c26d1 100644
--- a/configs/ls1088ardb_sdcard_qspi_SECURE_BOOT_defconfig
+++ b/configs/ls1088ardb_pb_sdcard_qspi_SECURE_BOOT_defconfig
@@ -1,5 +1,5 @@
 CONFIG_ARM=y
-CONFIG_TARGET_LS1088ARDB=y
+CONFIG_TARGET_LS1088ARDB_PB=y
 CONFIG_SYS_TEXT_BASE=0x80400000
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
 CONFIG_SPL_LIBGENERIC_SUPPORT=y
diff --git a/configs/ls1088ardb_sdcard_qspi_defconfig 
b/configs/ls1088ardb_pb_sdcard_qspi_defconfig
similarity index 98%
copy from configs/ls1088ardb_sdcard_qspi_defconfig
copy to configs/ls1088ardb_pb_sdcard_qspi_defconfig
index bf1c0a2d7b..c501795ef0 100644
--- a/configs/ls1088ardb_sdcard_qspi_defconfig
+++ b/configs/ls1088ardb_pb_sdcard_qspi_defconfig
@@ -1,5 +1,5 @@
 CONFIG_ARM=y
-CONFIG_TARGET_LS1088ARDB=y
+CONFIG_TARGET_LS1088ARDB_PB=y
 CONFIG_SYS_TEXT_BASE=0x80400000
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
 CONFIG_SPL_LIBGENERIC_SUPPORT=y
diff --git a/include/configs/ls1088ardb_pb.h b/include/configs/ls1088ardb_pb.h
new file mode 100644
index 0000000000..24eb5730d2
--- /dev/null
+++ b/include/configs/ls1088ardb_pb.h
@@ -0,0 +1,87 @@
+/*
+ * Copyright 2018 NXP
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#ifndef __LS1088A_RDB_PB_H
+#define __LS1088A_RDB_PB_H
+
+#include "ls1088a_common.h"
+#include "ls1088ardb.h"
+
+#undef CONFIG_EXTRA_ENV_SETTINGS
+#define CONFIG_EXTRA_ENV_SETTINGS              \
+       "BOARD=ls1088ardb_pb\0"                 \
+       "hwconfig=fsl_ddr:bank_intlv=auto\0"    \
+       "ramdisk_addr=0x800000\0"               \
+       "ramdisk_size=0x2000000\0"              \
+       "fdt_high=0xa0000000\0"                 \
+       "initrd_high=0xffffffffffffffff\0"      \
+       "fdt_addr=0x64f00000\0"                 \
+       "kernel_addr=0x1000000\0"               \
+       "kernel_addr_sd=0x8000\0"               \
+       "kernelhdr_addr_sd=0x4000\0"            \
+       "kernel_start=0x580100000\0"            \
+       "kernelheader_start=0x580800000\0"      \
+       "scriptaddr=0x80000000\0"               \
+       "scripthdraddr=0x80080000\0"            \
+       "fdtheader_addr_r=0x80100000\0"         \
+       "kernelheader_addr=0x800000\0"          \
+       "kernelheader_addr_r=0x80200000\0"      \
+       "kernel_addr_r=0x81000000\0"            \
+       "kernelheader_size=0x40000\0"           \
+       "fdt_addr_r=0x90000000\0"               \
+       "load_addr=0xa0000000\0"                \
+       "kernel_size=0x2800000\0"               \
+       "kernel_size_sd=0x14000\0"              \
+       "kernelhdr_size_sd=0x10\0"              \
+       MC_INIT_CMD                             \
+       BOOTENV                                 \
+       "boot_scripts=ls1088ardb_boot.scr\0"    \
+       "boot_script_hdr=hdr_ls1088ardb_bs.out\0"       \
+       "scan_dev_for_boot_part="               \
+               "part list ${devtype} ${devnum} devplist; "     \
+               "env exists devplist || setenv devplist 1; "    \
+               "for distro_bootpart in ${devplist}; do "       \
+                       "if fstype ${devtype} "                 \
+                               "${devnum}:${distro_bootpart} " \
+                               "bootfstype; then "             \
+                               "run scan_dev_for_boot; "       \
+                       "fi; "                                  \
+               "done\0"                                        \
+       "scan_dev_for_boot="                                    \
+               "echo Scanning ${devtype} "                     \
+               "${devnum}:${distro_bootpart}...; "             \
+               "for prefix in ${boot_prefixes}; do "           \
+                       "run scan_dev_for_scripts; "            \
+               "done;\0"                                       \
+       "boot_a_script="                                        \
+               "load ${devtype} ${devnum}:${distro_bootpart} " \
+               "${scriptaddr} ${prefix}${script}; "            \
+       "env exists secureboot && load ${devtype} "             \
+               "${devnum}:${distro_bootpart} "                 \
+               "${scripthdraddr} ${prefix}${boot_script_hdr} " \
+               "&& esbc_validate ${scripthdraddr};"            \
+               "source ${scriptaddr}\0"                        \
+       "installer=load mmc 0:2 $load_addr "                    \
+               "/flex_installer_arm64.itb; "                   \
+               "env exists mcinitcmd && run mcinitcmd && "     \
+               "mmc read 0x80001000 0x6800 0x800;"             \
+               "fsl_mc lazyapply dpl 0x80001000;"                      \
+               "bootm $load_addr#ls1088ardb\0"                 \
+       "qspi_bootcmd=echo Trying load from qspi..;"            \
+               "sf probe && sf read $load_addr "               \
+               "$kernel_addr $kernel_size ; env exists secureboot "    \
+               "&& sf read $kernelheader_addr_r $kernelheader_addr "   \
+               "$kernelheader_size && esbc_validate ${kernelheader_addr_r}; "\
+               "bootm $load_addr#ls1088ardb\0"                 \
+               "sd_bootcmd=echo Trying load from sd card..;"           \
+               "mmcinfo; mmc read $load_addr "                 \
+               "$kernel_addr_sd $kernel_size_sd ;"             \
+               "env exists secureboot && mmc read $kernelheader_addr_r "\
+               "$kernelhdr_addr_sd $kernelhdr_size_sd "        \
+               " && esbc_validate ${kernelheader_addr_r};"     \
+               "bootm $load_addr#ls1088ardb\0"
+
+#endif /* __LS1088A_RDB_H */
-- 
2.17.1

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to