]> git.ipfire.org Git - people/ms/u-boot.git/commitdiff
Merge git://git.denx.de/u-boot-fsl-qoriq
authorTom Rini <trini@konsulko.com>
Wed, 2 Aug 2017 14:52:26 +0000 (10:52 -0400)
committerTom Rini <trini@konsulko.com>
Wed, 2 Aug 2017 14:52:26 +0000 (10:52 -0400)
Signed-off-by: Tom Rini <trini@konsulko.com>
Conflicts:
include/configs/ls1046aqds.h
include/configs/ls1046ardb.h

20 files changed:
1  2 
configs/ls1043ardb_SECURE_BOOT_defconfig
configs/ls1043ardb_defconfig
configs/ls1043ardb_sdcard_SECURE_BOOT_defconfig
configs/ls1043ardb_sdcard_defconfig
configs/ls1046aqds_SECURE_BOOT_defconfig
configs/ls1046aqds_defconfig
configs/ls1046aqds_lpuart_defconfig
configs/ls1046aqds_nand_defconfig
configs/ls1046aqds_sdcard_ifc_defconfig
configs/ls1046ardb_emmc_defconfig
configs/ls1046ardb_qspi_SECURE_BOOT_defconfig
configs/ls1046ardb_qspi_defconfig
configs/ls1046ardb_sdcard_SECURE_BOOT_defconfig
configs/ls1046ardb_sdcard_defconfig
configs/ls2080ardb_defconfig
include/configs/ls1021atwr.h
include/configs/ls1046aqds.h
include/configs/ls1046ardb.h
include/configs/ls2080aqds.h
include/configs/ls2080ardb.h

index ada88c765edc63a4c118ade267a8aec376e49a93,0fd0298db5ce2cea196e82a71a67e74314574506..c7077fc809c21c920ce1ecfb335b258580a94fe4
@@@ -9,7 -9,6 +9,7 @@@ CONFIG_BOOTDELAY=1
  CONFIG_HUSH_PARSER=y
  CONFIG_CMD_GPT=y
  CONFIG_CMD_MMC=y
 +CONFIG_CMD_NAND=y
  CONFIG_CMD_SF=y
  CONFIG_CMD_I2C=y
  CONFIG_CMD_USB=y
@@@ -40,3 -39,4 +40,4 @@@ CONFIG_USB_STORAGE=
  CONFIG_RSA=y
  CONFIG_SPL_RSA=y
  CONFIG_RSA_SOFTWARE_EXP=y
+ CONFIG_DISTRO_DEFAULTS=y
index 03e7adf84708b04d5dba2bb01d85402cd5a0f355,d76c51658a453c56aac9db862e4cf3f4b90f7e12..a551867ef2a2409b6130ed0c52e133dc5ff97698
@@@ -9,7 -9,6 +9,7 @@@ CONFIG_BOOTDELAY=1
  CONFIG_HUSH_PARSER=y
  CONFIG_CMD_GPT=y
  CONFIG_CMD_MMC=y
 +CONFIG_CMD_NAND=y
  CONFIG_CMD_SF=y
  CONFIG_CMD_I2C=y
  CONFIG_CMD_USB=y
@@@ -38,3 -37,4 +38,4 @@@ CONFIG_DM_USB=
  CONFIG_USB_XHCI_HCD=y
  CONFIG_USB_XHCI_DWC3=y
  CONFIG_USB_STORAGE=y
+ CONFIG_DISTRO_DEFAULTS=y
index 61c0d38c92ed75fd734c8d0ecb41416b2911889a,fce1542a003b9479ca6031743ff096fbdfa15f47..a96cc568326c3af30e45a6bd7e5a819d4c0d65fc
@@@ -24,7 -24,6 +24,7 @@@ CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT=
  CONFIG_HUSH_PARSER=y
  CONFIG_CMD_GPT=y
  CONFIG_CMD_MMC=y
 +CONFIG_CMD_NAND=y
  CONFIG_CMD_SF=y
  CONFIG_CMD_I2C=y
  CONFIG_CMD_USB=y
@@@ -56,3 -55,4 +56,4 @@@ CONFIG_USB_XHCI_DWC3=
  CONFIG_USB_STORAGE=y
  CONFIG_RSA=y
  CONFIG_SPL_RSA=y
+ CONFIG_DISTRO_DEFAULTS=y
index d1298328220a526f6ae98e63b104dd7609e495e6,06cfb15ab69fb1a9b254007c1cb2c78f1f2d9526..1b18179d43855be518265fabe64d8d1cf0616c45
@@@ -23,7 -23,6 +23,7 @@@ CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT=
  CONFIG_HUSH_PARSER=y
  CONFIG_CMD_GPT=y
  CONFIG_CMD_MMC=y
 +CONFIG_CMD_NAND=y
  CONFIG_CMD_SF=y
  CONFIG_CMD_I2C=y
  CONFIG_CMD_USB=y
@@@ -53,3 -52,4 +53,4 @@@ CONFIG_DM_USB=
  CONFIG_USB_XHCI_HCD=y
  CONFIG_USB_XHCI_DWC3=y
  CONFIG_USB_STORAGE=y
+ CONFIG_DISTRO_DEFAULTS=y
index a5cfd094747b67569df469384da48c436a78e2f4,cd69f790892826e08d9d62affa888e9b4f407cfc..08637e236fdd982c82a4cef71b5cdc391aac01d9
@@@ -13,7 -13,6 +13,7 @@@ CONFIG_CMD_MEMTEST=
  CONFIG_CMD_MEMINFO=y
  CONFIG_CMD_GPT=y
  CONFIG_CMD_MMC=y
 +CONFIG_CMD_NAND=y
  CONFIG_CMD_SF=y
  CONFIG_CMD_I2C=y
  CONFIG_CMD_DHCP=y
@@@ -22,6 -21,7 +22,7 @@@ CONFIG_CMD_PING=
  CONFIG_CMD_CACHE=y
  CONFIG_CMD_EXT2=y
  CONFIG_CMD_FAT=y
+ CONFIG_CMD_USB=y
  CONFIG_OF_CONTROL=y
  CONFIG_DM=y
  CONFIG_MTD_NOR_FLASH=y
index 20e5737063093904571361f19a4fa5209745a1f9,679852cd19ea4c61473f5c49f3360a072f7a110b..94d0ea90aeaf5e222fed533b62a941066ed47fee
@@@ -13,7 -13,6 +13,7 @@@ CONFIG_CMD_MEMTEST=
  CONFIG_CMD_MEMINFO=y
  CONFIG_CMD_GPT=y
  CONFIG_CMD_MMC=y
 +CONFIG_CMD_NAND=y
  CONFIG_CMD_SF=y
  CONFIG_CMD_I2C=y
  CONFIG_CMD_DHCP=y
@@@ -22,6 -21,7 +22,7 @@@ CONFIG_CMD_PING=
  CONFIG_CMD_CACHE=y
  CONFIG_CMD_EXT2=y
  CONFIG_CMD_FAT=y
+ CONFIG_CMD_USB=y
  CONFIG_OF_CONTROL=y
  CONFIG_DM=y
  CONFIG_FSL_CAAM=y
index fd45148db0e55c1ee1b8a501caa87da812571a36,e782d022fdfc8655938caea1dd42850484c3e492..6fc5d6edb8d30ffdc4a0021697cdcc0f5e115267
@@@ -14,7 -14,6 +14,7 @@@ CONFIG_CMD_MEMTEST=
  CONFIG_CMD_MEMINFO=y
  CONFIG_CMD_GPT=y
  CONFIG_CMD_MMC=y
 +CONFIG_CMD_NAND=y
  CONFIG_CMD_SF=y
  CONFIG_CMD_I2C=y
  CONFIG_CMD_DHCP=y
@@@ -23,6 -22,7 +23,7 @@@ CONFIG_CMD_PING=
  CONFIG_CMD_CACHE=y
  CONFIG_CMD_EXT2=y
  CONFIG_CMD_FAT=y
+ CONFIG_CMD_USB=y
  CONFIG_OF_CONTROL=y
  CONFIG_DM=y
  CONFIG_FSL_CAAM=y
index da550fc6f2d6b9cbf8e249d9ba036c2586e07a0c,a003b3491f266c3c39c55136f5ed68335f52fef6..802c69c0adc95f1901e27257b3b1c2484a915732
@@@ -19,7 -19,6 +19,7 @@@ CONFIG_CMD_MEMTEST=
  CONFIG_CMD_MEMINFO=y
  CONFIG_CMD_GPT=y
  CONFIG_CMD_MMC=y
 +CONFIG_CMD_NAND=y
  CONFIG_CMD_SF=y
  CONFIG_CMD_I2C=y
  CONFIG_CMD_DHCP=y
@@@ -28,6 -27,7 +28,7 @@@ CONFIG_CMD_PING=
  CONFIG_CMD_CACHE=y
  CONFIG_CMD_EXT2=y
  CONFIG_CMD_FAT=y
+ CONFIG_CMD_USB=y
  CONFIG_OF_CONTROL=y
  CONFIG_DM=y
  CONFIG_FSL_CAAM=y
index 6d4bd7452b9ea5bc62dfab17cc6c182ff57fc8fa,f9b400b752768f165c7fbc0261b809e4f9abca70..f93854ac8feb831bceee016967706d61e137068a
@@@ -19,7 -19,6 +19,7 @@@ CONFIG_CMD_MEMTEST=
  CONFIG_CMD_MEMINFO=y
  CONFIG_CMD_GPT=y
  CONFIG_CMD_MMC=y
 +CONFIG_CMD_NAND=y
  CONFIG_CMD_SF=y
  CONFIG_CMD_I2C=y
  CONFIG_CMD_DHCP=y
@@@ -28,6 -27,7 +28,7 @@@ CONFIG_CMD_PING=
  CONFIG_CMD_CACHE=y
  CONFIG_CMD_EXT2=y
  CONFIG_CMD_FAT=y
+ CONFIG_CMD_USB=y
  # CONFIG_SPL_EFI_PARTITION is not set
  CONFIG_OF_CONTROL=y
  CONFIG_DM=y
index 17e3be8083402063b7a80f4ea0395a971dc2f97f,e0fd2624546a866d651afcf86c8c9c39ea526a9a..a315ac1b24c1b3bded0c55facaf84dd713d1c806
@@@ -16,7 -16,6 +16,7 @@@ CONFIG_HUSH_PARSER=
  # CONFIG_CMD_IMLS is not set
  CONFIG_CMD_GPT=y
  CONFIG_CMD_MMC=y
 +CONFIG_CMD_NAND=y
  CONFIG_CMD_SF=y
  CONFIG_CMD_I2C=y
  CONFIG_CMD_DHCP=y
@@@ -25,6 -24,7 +25,7 @@@ CONFIG_CMD_PING=
  CONFIG_CMD_CACHE=y
  CONFIG_CMD_EXT2=y
  CONFIG_CMD_FAT=y
+ CONFIG_CMD_USB=y
  # CONFIG_SPL_EFI_PARTITION is not set
  CONFIG_OF_CONTROL=y
  CONFIG_DM=y
index 13a73dc906af0d6df97070867a9a85e58e61a1c7,8467015af3a20ba2adaf1c2e36643f7409aab99a..6d40587eeef3d93b7f3db726dca90e20f7808516
@@@ -12,7 -12,6 +12,7 @@@ CONFIG_HUSH_PARSER=
  # CONFIG_CMD_IMLS is not set
  CONFIG_CMD_GPT=y
  CONFIG_CMD_MMC=y
 +CONFIG_CMD_NAND=y
  CONFIG_CMD_SF=y
  CONFIG_CMD_I2C=y
  CONFIG_CMD_DHCP=y
@@@ -21,6 -20,7 +21,7 @@@ CONFIG_CMD_PING=
  CONFIG_CMD_CACHE=y
  CONFIG_CMD_EXT2=y
  CONFIG_CMD_FAT=y
+ CONFIG_CMD_USB=y
  CONFIG_OF_CONTROL=y
  CONFIG_DM=y
  CONFIG_SPI_FLASH=y
@@@ -36,3 -36,4 +37,4 @@@ CONFIG_FSL_QSPI=
  CONFIG_USB=y
  CONFIG_DM_USB=y
  CONFIG_RSA=y
+ CONFIG_DISTRO_DEFAULTS=y
index a87c1b7b8b2b5e2dd3abf676de9f3b67a78a3a42,12a0e92ab6d11ecd9568b519b27fd3afaf44dd07..1dc74debe72482d1902a939a342c7886ca7406b6
@@@ -12,7 -12,6 +12,7 @@@ CONFIG_HUSH_PARSER=
  # CONFIG_CMD_IMLS is not set
  CONFIG_CMD_GPT=y
  CONFIG_CMD_MMC=y
 +CONFIG_CMD_NAND=y
  CONFIG_CMD_SF=y
  CONFIG_CMD_I2C=y
  CONFIG_CMD_DHCP=y
@@@ -21,6 -20,7 +21,7 @@@ CONFIG_CMD_PING=
  CONFIG_CMD_CACHE=y
  CONFIG_CMD_EXT2=y
  CONFIG_CMD_FAT=y
+ CONFIG_CMD_USB=y
  CONFIG_OF_CONTROL=y
  CONFIG_DM=y
  CONFIG_FSL_CAAM=y
@@@ -36,3 -36,4 +37,4 @@@ CONFIG_DM_SPI=
  CONFIG_FSL_QSPI=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+ CONFIG_DISTRO_DEFAULTS=y
index 3256893c2f3f97433a438531a855a3f637dbb2bd,a0b334a974199b9f1a61207e521d795f84120e56..9fdc4379ccc73c95357f43ed4e248b9561967dc5
@@@ -17,7 -17,6 +17,7 @@@ CONFIG_HUSH_PARSER=
  # CONFIG_CMD_IMLS is not set
  CONFIG_CMD_GPT=y
  CONFIG_CMD_MMC=y
 +CONFIG_CMD_NAND=y
  CONFIG_CMD_SF=y
  CONFIG_CMD_I2C=y
  CONFIG_CMD_DHCP=y
@@@ -26,6 -25,7 +26,7 @@@ CONFIG_CMD_PING=
  CONFIG_CMD_CACHE=y
  CONFIG_CMD_EXT2=y
  CONFIG_CMD_FAT=y
+ CONFIG_CMD_USB=y
  # CONFIG_SPL_EFI_PARTITION is not set
  CONFIG_OF_CONTROL=y
  CONFIG_DM=y
@@@ -44,3 -44,4 +45,4 @@@ CONFIG_USB=
  CONFIG_DM_USB=y
  CONFIG_RSA=y
  CONFIG_SPL_RSA=y
+ CONFIG_DISTRO_DEFAULTS=y
index a15b28d358303e7e4da75ca96679cdc9aeb645f6,06fc94dc50b87f058f0756041ed285516aa57bf1..16cb8f1f006d3062dd99a33c5e1513e3e174dad5
@@@ -17,7 -17,6 +17,7 @@@ CONFIG_HUSH_PARSER=
  # CONFIG_CMD_IMLS is not set
  CONFIG_CMD_GPT=y
  CONFIG_CMD_MMC=y
 +CONFIG_CMD_NAND=y
  CONFIG_CMD_SF=y
  CONFIG_CMD_I2C=y
  CONFIG_CMD_DHCP=y
@@@ -26,6 -25,7 +26,7 @@@ CONFIG_CMD_PING=
  CONFIG_CMD_CACHE=y
  CONFIG_CMD_EXT2=y
  CONFIG_CMD_FAT=y
+ CONFIG_CMD_USB=y
  # CONFIG_SPL_EFI_PARTITION is not set
  CONFIG_OF_CONTROL=y
  CONFIG_DM=y
@@@ -42,3 -42,4 +43,4 @@@ CONFIG_DM_SPI=
  CONFIG_FSL_QSPI=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+ CONFIG_DISTRO_DEFAULTS=y
index da77d60f52d69c4feffaecd16a4094badf36f61a,ffc80bdba9220e38b41e0ca1d9ee706e9bae1088..fe4bb27992351cb4a23000e5941f0b529140acc9
@@@ -12,7 -12,6 +12,7 @@@ CONFIG_CMD_GREPENV=
  CONFIG_CMD_EEPROM=y
  CONFIG_CMD_GPT=y
  CONFIG_CMD_MMC=y
 +CONFIG_CMD_NAND=y
  CONFIG_CMD_SF=y
  CONFIG_CMD_I2C=y
  CONFIG_CMD_USB=y
@@@ -40,3 -39,4 +40,4 @@@ CONFIG_USB_XHCI_HCD=
  CONFIG_USB_XHCI_DWC3=y
  CONFIG_USB_STORAGE=y
  CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+ CONFIG_DISTRO_DEFAULTS=y
index 0aa6fdd09ab499095823b3812382c350b0cd5676,12413d054090ab2743849d47887f919b436aeb74..98e902e0c61703a4f4097011dd4dc9b6102ccaeb
@@@ -50,6 -50,7 +50,6 @@@
  #ifdef CONFIG_HAS_FSL_XHCI_USB
  #define CONFIG_USB_XHCI_FSL
  #define CONFIG_USB_MAX_CONTROLLER_COUNT        1
 -#define CONFIG_SYS_USB_XHCI_MAX_ROOT_PORTS     2
  #endif
  
  #define CONFIG_SYS_CLK_FREQ           100000000
  #endif
  
  #define CONFIG_CMDLINE_TAG
- #define CONFIG_CMDLINE_EDITING
  
  #define CONFIG_PEN_ADDR_BIG_ENDIAN
  #define CONFIG_LAYERSCAPE_NS_ACCESS
  
  #define CONFIG_FSL_DEVICE_DISABLE
  
+ #include <config_distro_defaults.h>
+ #define BOOT_TARGET_DEVICES(func) \
+       func(MMC, mmc, 0) \
+       func(USB, usb, 0)
+ #include <config_distro_bootcmd.h>
  
  #ifdef CONFIG_LPUART
  #define CONFIG_EXTRA_ENV_SETTINGS       \
        "bootargs=root=/dev/ram0 rw console=ttyLP0,115200\0" \
        "initrd_high=0xffffffff\0"      \
-       "fdt_high=0xffffffff\0"
+       "fdt_high=0xffffffff\0"         \
+       "fdt_addr=0x64f00000\0"         \
+       "kernel_addr=0x65000000\0"      \
+       "scriptaddr=0x80000000\0"       \
+       "scripthdraddr=0x80080000\0"    \
+       "fdtheader_addr_r=0x80100000\0" \
+       "kernelheader_addr_r=0x80200000\0"      \
+       "kernel_addr_r=0x81000000\0"    \
+       "fdt_addr_r=0x90000000\0"       \
+       "ramdisk_addr_r=0xa0000000\0"   \
+       "load_addr=0xa0000000\0"        \
+       "kernel_size=0x2800000\0"       \
+       BOOTENV                         \
+       "boot_scripts=ls1021atwr_boot.scr\0"    \
+       "boot_script_hdr=hdr_ls1021atwr_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_arm32.itb; "           \
+               "bootm $load_addr#ls1021atwr\0" \
+       "qspi_bootcmd=echo Trying load from qspi..;"    \
+               "sf probe && sf read $load_addr "       \
+               "$kernel_addr $kernel_size && bootm $load_addr#$board\0"        \
+       "nor_bootcmd=echo Trying load from nor..;"      \
+               "cp.b $kernel_addr $load_addr "         \
+               "$kernel_size && bootm $load_addr#$board\0"
  #else
  #define CONFIG_EXTRA_ENV_SETTINGS     \
        "bootargs=root=/dev/ram0 rw console=ttyS0,115200\0" \
        "initrd_high=0xffffffff\0"      \
-       "fdt_high=0xffffffff\0"
+       "fdt_high=0xffffffff\0"         \
+       "fdt_addr=0x64f00000\0"         \
+       "kernel_addr=0x65000000\0"      \
+       "scriptaddr=0x80000000\0"       \
+       "scripthdraddr=0x80080000\0"    \
+       "fdtheader_addr_r=0x80100000\0" \
+       "kernelheader_addr_r=0x80200000\0"      \
+       "kernel_addr_r=0x81000000\0"    \
+       "fdt_addr_r=0x90000000\0"       \
+       "ramdisk_addr_r=0xa0000000\0"   \
+       "load_addr=0xa0000000\0"        \
+       "kernel_size=0x2800000\0"       \
+       BOOTENV                         \
+       "boot_scripts=ls1021atwr_boot.scr\0"    \
+       "boot_script_hdr=hdr_ls1021atwr_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_arm32.itb; "           \
+               "bootm $load_addr#ls1021atwr\0" \
+       "qspi_bootcmd=echo Trying load from qspi..;"    \
+               "sf probe && sf read $load_addr "       \
+               "$kernel_addr $kernel_size && bootm $load_addr#$board\0"        \
+       "nor_bootcmd=echo Trying load from nor..;"      \
+               "cp.b $kernel_addr $load_addr "         \
+               "$kernel_size && bootm $load_addr#$board\0"
  #endif
  
+ #undef CONFIG_BOOTCOMMAND
+ #if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI)
+ #define CONFIG_BOOTCOMMAND "run distro_bootcmd; env exists secureboot"        \
+                          "&& esbc_halt; run qspi_bootcmd;"
+ #else
+ #define CONFIG_BOOTCOMMAND "run distro_bootcmd; env exists secureboot"        \
+                          "&& esbc_halt; run nor_bootcmd;"
+ #endif
+ #define CONFIG_BOOTARGS                       "console=ttyS0,115200 root=/dev/ram0"
  /*
   * Miscellaneous configurable options
   */
index 53cdcf2caf0ca82590ec2c8da5a48963997997fb,891f2a35753ef69167af0d29b108c93e259a314e..9dc74b4f095eea88d7257cca8a29139997b20d81
@@@ -144,7 -144,7 +144,6 @@@ unsigned long get_board_ddr_clk(void)
  #define CONFIG_USB_XHCI_FSL
  #define CONFIG_USB_XHCI_DWC3
  #define CONFIG_USB_MAX_CONTROLLER_COUNT         3
- #define CONFIG_CMD_USB
 -#define CONFIG_SYS_USB_XHCI_MAX_ROOT_PORTS      2
  #define CONFIG_USB_STORAGE
  #endif
  
  #define CONFIG_SYS_NAND_BASE_LIST     { CONFIG_SYS_NAND_BASE }
  #define CONFIG_SYS_MAX_NAND_DEVICE    1
  #define CONFIG_MTD_NAND_VERIFY_WRITE
 -#define CONFIG_CMD_NAND
  
  #define CONFIG_SYS_NAND_BLOCK_SIZE    (256 * 1024)
  #endif
  
  #define CONFIG_CMDLINE_TAG
  
+ #undef CONFIG_BOOTCOMMAND
  #if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI)
  #define CONFIG_BOOTCOMMAND            "sf probe && sf read $kernel_load "    \
                                        "e0000 f00000 && bootm $kernel_load"
index 10af410136658a111a41debfb56b13c95b317c53,e6bd6779f1d0a430e1c041497d836431998ade83..3d3dfb1f8f70ae1a4531d13f82fca81cc9279981
@@@ -95,6 -95,7 +95,6 @@@
  #define CONFIG_SYS_NAND_BASE_LIST     { CONFIG_SYS_NAND_BASE }
  #define CONFIG_SYS_MAX_NAND_DEVICE    1
  #define CONFIG_MTD_NAND_VERIFY_WRITE
 -#define CONFIG_CMD_NAND
  
  #define CONFIG_SYS_NAND_BLOCK_SIZE    (128 * 1024)
  
  #define CONFIG_USB_XHCI_FSL
  #define CONFIG_USB_XHCI_DWC3
  #define CONFIG_USB_MAX_CONTROLLER_COUNT         3
- #define CONFIG_CMD_USB
 -#define CONFIG_SYS_USB_XHCI_MAX_ROOT_PORTS      2
  #define CONFIG_USB_STORAGE
  #endif
  #endif
  #endif
  
  #ifndef SPL_NO_MISC
- #define CONFIG_BOOTCOMMAND            "sf probe 0:0;sf read $kernel_load" \
-                                       "$kernel_start $kernel_size;" \
-                                       "bootm $kernel_load"
+ #undef CONFIG_BOOTCOMMAND
+ #define CONFIG_BOOTCOMMAND "run distro_bootcmd; env exists secureboot"        \
+                          "&& esbc_halt; run qspi_bootcmd;"
  #define MTDPARTS_DEFAULT "mtdparts=1550000.quadspi:1m(rcw)," \
                        "15m(u-boot),48m(kernel.itb);" \
                        "7e800000.flash:16m(nand_uboot)," \
index 6ce177e77e69f77bf4b4c8a241412375ad6403ee,e3bc68b5e6c4c85a0ab13fb46d4ddcf07a0fd3fa..6b943cdb321ecda82bbc6ee2c554ee67965fe2e7
@@@ -154,6 -154,7 +154,6 @@@ unsigned long get_board_ddr_clk(void)
  #define CONFIG_SYS_NAND_BASE_LIST     { CONFIG_SYS_NAND_BASE }
  #define CONFIG_SYS_MAX_NAND_DEVICE    1
  #define CONFIG_MTD_NAND_VERIFY_WRITE
 -#define CONFIG_CMD_NAND
  
  #define CONFIG_SYS_NAND_BLOCK_SIZE    (128 * 1024)
  
  #define CONFIG_SYS_NAND_U_BOOT_OFFS   (256 * 1024)
  #define CONFIG_SYS_NAND_U_BOOT_SIZE   (640 * 1024)
  #elif defined(CONFIG_SD_BOOT)
- #define CONFIG_ENV_OFFSET             0x200000
+ #define CONFIG_ENV_OFFSET             0x300000
  #define CONFIG_SYS_MMC_ENV_DEV                0
  #define CONFIG_ENV_SIZE                       0x20000
  #endif
  #define CONFIG_HAS_FSL_XHCI_USB
  #define CONFIG_USB_XHCI_FSL
  #define CONFIG_USB_MAX_CONTROLLER_COUNT               2
 -#define CONFIG_SYS_USB_XHCI_MAX_ROOT_PORTS    2
  
  #include <asm/fsl_secure_boot.h>
  
index 2a6aa8e20bdeb59cb86432117a18e390e60d1f45,620ccbead17621d5b628e2294d15919d07a861c5..b86726fc0e357bfc3f0f627194530b9948af06e0
@@@ -163,6 -163,7 +163,6 @@@ unsigned long get_board_sys_clk(void)
  #define CONFIG_SYS_NAND_BASE_LIST     { CONFIG_SYS_NAND_BASE }
  #define CONFIG_SYS_MAX_NAND_DEVICE    1
  #define CONFIG_MTD_NAND_VERIFY_WRITE
 -#define CONFIG_CMD_NAND
  
  #define CONFIG_SYS_NAND_BLOCK_SIZE    (512 * 1024)
  #define CONFIG_FSL_QIXIS      /* use common QIXIS code */
  #define CONFIG_HAS_FSL_XHCI_USB
  #define CONFIG_USB_XHCI_FSL
  #define CONFIG_USB_MAX_CONTROLLER_COUNT         2
 -#define CONFIG_SYS_USB_XHCI_MAX_ROOT_PORTS      2
  
  #undef CONFIG_CMDLINE_EDITING
  #include <config_distro_defaults.h>
        func(DHCP, dhcp, na)
  #include <config_distro_bootcmd.h>
  
+ #ifdef CONFIG_QSPI_BOOT
+ #define MC_INIT_CMD                           \
+       "mcinitcmd=env exists secureboot && "   \
+       "esbc_validate 0x20700000 && "          \
+       "esbc_validate 0x20740000;"             \
+       "fsl_mc start mc 0x20a00000 0x20e00000 \0"
+ #else
+ #define MC_INIT_CMD                           \
+       "mcinitcmd=env exists secureboot && "   \
+       "esbc_validate 0x580700000 && "         \
+       "esbc_validate 0x580740000; "           \
+       "fsl_mc start mc 0x580a00000 0x580e00000 \0"
+ #endif
  /* Initial environment variables */
  #undef CONFIG_EXTRA_ENV_SETTINGS
- #ifdef CONFIG_SECURE_BOOT
  #define CONFIG_EXTRA_ENV_SETTINGS             \
        "hwconfig=fsl_ddr:bank_intlv=auto\0"    \
-       "scriptaddr=0x80800000\0"               \
-       "kernel_addr_r=0x81000000\0"            \
-       "pxefile_addr_r=0x81000000\0"           \
-       "fdt_addr_r=0x88000000\0"               \
-       "ramdisk_addr_r=0x89000000\0"           \
-       "loadaddr=0x80100000\0"                 \
-       "kernel_addr=0x100000\0"                \
        "ramdisk_addr=0x800000\0"               \
        "ramdisk_size=0x2000000\0"              \
        "fdt_high=0xa0000000\0"                 \
        "initrd_high=0xffffffffffffffff\0"      \
-       "kernel_start=0x581000000\0"            \
-       "kernel_load=0xa0000000\0"              \
+       "fdt_addr=0x64f00000\0"                 \
+       "kernel_addr=0x65000000\0"              \
+       "kernel_start=0x1000000\0"              \
+       "kernelheader_start=0x800000\0"         \
+       "scriptaddr=0x80000000\0"               \
+       "scripthdraddr=0x80080000\0"            \
+       "fdtheader_addr_r=0x80100000\0"         \
+       "kernelheader_addr_r=0x80200000\0"      \
+       "kernelheader_addr=0x580800000\0"       \
+       "kernel_addr_r=0x81000000\0"            \
+       "kernelheader_size=0x40000\0"           \
+       "fdt_addr_r=0x90000000\0"               \
+       "load_addr=0xa0000000\0"                \
        "kernel_size=0x2800000\0"               \
-       "mcmemsize=0x40000000\0"                \
-       "fdtfile=fsl-ls2080a-rdb.dtb\0"         \
-       "mcinitcmd=esbc_validate 0x580700000;"  \
-       "esbc_validate 0x580740000;"            \
-       "fsl_mc start mc 0x580a00000"           \
-       " 0x580e00000 \0"                       \
-       BOOTENV
- #else
+       "console=ttyAMA0,38400n8\0"             \
+       MC_INIT_CMD                             \
+       BOOTENV                                 \
+       "boot_scripts=ls2088ardb_boot.scr\0"    \
+       "boot_script_hdr=hdr_ls2088ardb_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; "                   \
+               "bootm $load_addr#ls2088ardb\0"                 \
+       "qspi_bootcmd=echo Trying load from qspi..;"            \
+               "sf probe && sf read $load_addr "               \
+               "$kernel_start $kernel_size ; env exists secureboot &&" \
+               "sf read $kernelheader_addr_r $kernelheader_start "     \
+               "$kernelheader_size && esbc_validate ${kernelheader_addr_r}; "\
+               " bootm $load_addr#$board\0"                    \
+       "nor_bootcmd=echo Trying load from nor..;"              \
+               "cp.b $kernel_addr $load_addr "                 \
+               "$kernel_size ; env exists secureboot && "      \
+               "cp.b $kernelheader_addr $kernelheader_addr_r " \
+               "$kernelheader_size && esbc_validate ${kernelheader_addr_r}; "\
+               "bootm $load_addr#$board\0"
+ #undef CONFIG_BOOTCOMMAND
  #ifdef CONFIG_QSPI_BOOT
- #define CONFIG_EXTRA_ENV_SETTINGS             \
-       "hwconfig=fsl_ddr:bank_intlv=auto\0"    \
-       "scriptaddr=0x80800000\0"               \
-       "kernel_addr_r=0x81000000\0"            \
-       "pxefile_addr_r=0x81000000\0"           \
-       "fdt_addr_r=0x88000000\0"               \
-       "ramdisk_addr_r=0x89000000\0"           \
-       "loadaddr=0x80100000\0"                 \
-       "kernel_addr=0x100000\0"                \
-       "ramdisk_size=0x2000000\0"              \
-       "fdt_high=0xa0000000\0"                 \
-       "initrd_high=0xffffffffffffffff\0"      \
-       "kernel_start=0x21000000\0"             \
-       "mcmemsize=0x40000000\0"                \
-       "mcinitcmd=fsl_mc start mc 0x20a00000" \
-       " 0x20e00000 \0"                       \
-       BOOTENV
+ /* Try to boot an on-QSPI kernel first, then do normal distro boot */
+ #define CONFIG_BOOTCOMMAND                                            \
+                       "env exists mcinitcmd && env exists secureboot "\
+                       "&& esbc_validate 0x20780000; "                 \
+                       "env exists mcinitcmd && "                      \
+                       "fsl_mc lazyapply dpl 0x20d00000; "             \
+                       "run distro_bootcmd;run qspi_bootcmd; "         \
+                       "env exists secureboot && esbc_halt; "
  #else
- #define CONFIG_EXTRA_ENV_SETTINGS             \
-       "hwconfig=fsl_ddr:bank_intlv=auto\0"    \
-       "scriptaddr=0x80800000\0"               \
-       "kernel_addr_r=0x81000000\0"            \
-       "pxefile_addr_r=0x81000000\0"           \
-       "fdt_addr_r=0x88000000\0"               \
-       "ramdisk_addr_r=0x89000000\0"           \
-       "loadaddr=0x80100000\0"                 \
-       "kernel_addr=0x100000\0"                \
-       "ramdisk_addr=0x800000\0"               \
-       "ramdisk_size=0x2000000\0"              \
-       "fdt_high=0xa0000000\0"                 \
-       "initrd_high=0xffffffffffffffff\0"      \
-       "kernel_start=0x581000000\0"            \
-       "kernel_load=0xa0000000\0"              \
-       "kernel_size=0x2800000\0"               \
-       "mcmemsize=0x40000000\0"                \
-       "fdtfile=fsl-ls2080a-rdb.dtb\0"         \
-       "mcinitcmd=fsl_mc start mc 0x580a00000" \
-       " 0x580e00000 \0"                       \
-       BOOTENV
- #endif
+ /* Try to boot an on-NOR kernel first, then do normal distro boot */
+ #define CONFIG_BOOTCOMMAND                                            \
+                       "env exists mcinitcmd && env exists secureboot "\
+                       "&& esbc_validate 0x580780000; env exists mcinitcmd "\
+                       "&& fsl_mc lazyapply dpl 0x580d00000;"          \
+                       "run distro_bootcmd;run nor_bootcmd; "          \
+                       "env exists secureboot && esbc_halt; "
  #endif
  
  #undef CONFIG_BOOTARGS
  #define CONFIG_BOOTARGS               "console=ttyS1,115200 root=/dev/ram0 " \
                                "earlycon=uart8250,mmio,0x21c0600 " \
                                "ramdisk_size=0x2000000 default_hugepagesz=2m" \
                                " hugepagesz=2m hugepages=256"
  
- #undef CONFIG_BOOTCOMMAND
- #ifdef CONFIG_QSPI_BOOT
- /* Try to boot an on-QSPI kernel first, then do normal distro boot */
- #define CONFIG_BOOTCOMMAND "run mcinitcmd && fsl_mc lazyapply dpl 0x20d00000" \
-                          " && bootm $kernel_start" \
-                          " || run distro_bootcmd"
- #else
- /* Try to boot an on-NOR kernel first, then do normal distro boot */
- #define CONFIG_BOOTCOMMAND "run mcinitcmd && fsl_mc lazyapply dpl 0x580d00000" \
-                          " && cp.b $kernel_start $kernel_load $kernel_size" \
-                          " && bootm $kernel_load" \
-                          " || run distro_bootcmd"
- #endif
  /* MAC/PHY configuration */
  #ifdef CONFIG_FSL_MC_ENET
  #define CONFIG_PHYLIB_10G