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> --- Changes in v2: - Fix the compilation issue when building u-boot for SD boot. 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 | 6 +- board/freescale/ls1088a/ls1088a.c | 25 +++- ... 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 | 113 ++++++++++++++++++ 12 files changed, 219 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..a653823934 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..5d841076bc 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..7a76f6bd50 100644 --- a/board/freescale/ls1088a/ddr.h +++ b/board/freescale/ls1088a/ddr.h @@ -1,6 +1,8 @@ /* SPDX-License-Identifier: GPL-2.0+ */ /* - * Copyright 2017 NXP + * Copyright 2017-2018 NXP + * + * SPDX-License-Identifier: GPL-2.0+ */ #ifndef __LS1088A_DDR_H__ @@ -27,7 +29,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..f69d71b1dd 100644 --- a/board/freescale/ls1088a/ls1088a.c +++ b/board/freescale/ls1088a/ls1088a.c @@ -1,6 +1,8 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * Copyright 2017 NXP + * Copyright 2017-2018 NXP + * + * SPDX-License-Identifier: GPL-2.0+ */ #include <common.h> #include <i2c.h> @@ -28,6 +30,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 +89,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 +341,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 +473,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 +484,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 +598,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 08b9caeb34..0216974ca7 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..8f4612ae65 --- /dev/null +++ b/include/configs/ls1088ardb_pb.h @@ -0,0 +1,113 @@ +/* + * Copyright 2018 NXP + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#ifndef __LS1088A_RDB_PB_H +#define __LS1088A_RDB_PB_H + +#include "ls1088ardb.h" + +#ifndef SPL_NO_ENV +/* Initial environment variables */ +#if defined(CONFIG_QSPI_BOOT) +#define MC_INIT_CMD \ + "mcinitcmd=sf probe 0:0;sf read 0x80000000 0xA00000 0x100000;" \ + "sf read 0x80100000 0xE00000 0x100000;" \ + "env exists secureboot && " \ + "sf read 0x80700000 0x700000 0x40000 && " \ + "sf read 0x80740000 0x740000 0x40000 && " \ + "esbc_validate 0x80700000 && " \ + "esbc_validate 0x80740000 ;" \ + "fsl_mc start mc 0x80000000 0x80100000\0" \ + "mcmemsize=0x70000000\0" +#elif defined(CONFIG_SD_BOOT) +#define MC_INIT_CMD \ + "mcinitcmd=mmcinfo;mmc read 0x80000000 0x5000 0x800;" \ + "mmc read 0x80100000 0x7000 0x800;" \ + "env exists secureboot && " \ + "mmc read 0x80700000 0x3800 0x10 && " \ + "mmc read 0x80740000 0x3A00 0x10 && " \ + "esbc_validate 0x80700000 && " \ + "esbc_validate 0x80740000 ;" \ + "fsl_mc start mc 0x80000000 0x80100000\0" \ + "mcmemsize=0x70000000\0" +#endif + +#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 +#endif /* __LS1088A_RDB_H */ -- 2.17.1 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot