]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-fsl-qoriq
authorTom Rini <trini@konsulko.com>
Mon, 30 Mar 2020 11:46:05 +0000 (07:46 -0400)
committerTom Rini <trini@konsulko.com>
Mon, 30 Mar 2020 18:14:07 +0000 (14:14 -0400)
- Fixes env variable for layerscape platforms, disable hs200.
- Fixes board fixup, mux setting, enable gic, fspi on lx2160a, Fixes I2C
  DM Warning on ls1043a, ls1046a
- Fixes RGMII port on ls1046ardb, ls1046ardb and DM_USB Warning on
  ls1012afrdm, ls1021aiot

80 files changed:
arch/arm/Kconfig
arch/arm/cpu/armv8/fsl-layerscape/Kconfig
arch/arm/dts/fsl-ls1028a-qds.dts
arch/arm/dts/fsl-ls1028a-rdb.dts
arch/arm/dts/fsl-ls1046a-frwy.dts
arch/arm/dts/fsl-ls1046a-qds.dtsi
arch/arm/dts/fsl-ls1046a-rdb.dts
arch/arm/dts/fsl-lx2160a-qds.dts
arch/arm/dts/fsl-lx2160a-rdb.dts
arch/arm/include/asm/gpio.h
board/freescale/ls1012ardb/Kconfig
board/freescale/ls1043aqds/ls1043aqds.c
board/freescale/ls1046afrwy/ls1046afrwy.c
board/freescale/ls1046aqds/ls1046aqds.c
board/freescale/lx2160a/lx2160a.c
configs/ls1012afrdm_qspi_defconfig
configs/ls1012afrdm_tfa_defconfig
configs/ls1012ardb_tfa_SECURE_BOOT_defconfig
configs/ls1012ardb_tfa_defconfig
configs/ls1021aiot_qspi_defconfig
configs/ls1028ardb_tfa_defconfig
configs/ls1043aqds_defconfig
configs/ls1043aqds_lpuart_defconfig
configs/ls1043aqds_nand_defconfig
configs/ls1043aqds_nor_ddr3_defconfig
configs/ls1043aqds_qspi_defconfig
configs/ls1043aqds_sdcard_ifc_defconfig
configs/ls1043aqds_sdcard_qspi_defconfig
configs/ls1043aqds_tfa_SECURE_BOOT_defconfig
configs/ls1043aqds_tfa_defconfig
configs/ls1043ardb_SECURE_BOOT_defconfig
configs/ls1043ardb_defconfig
configs/ls1043ardb_nand_SECURE_BOOT_defconfig
configs/ls1043ardb_nand_defconfig
configs/ls1043ardb_sdcard_SECURE_BOOT_defconfig
configs/ls1043ardb_sdcard_defconfig
configs/ls1043ardb_tfa_SECURE_BOOT_defconfig
configs/ls1043ardb_tfa_defconfig
configs/ls1046afrwy_tfa_defconfig
configs/ls1046aqds_SECURE_BOOT_defconfig
configs/ls1046aqds_defconfig
configs/ls1046aqds_lpuart_defconfig
configs/ls1046aqds_nand_defconfig
configs/ls1046aqds_qspi_defconfig
configs/ls1046aqds_sdcard_ifc_defconfig
configs/ls1046aqds_sdcard_qspi_defconfig
configs/ls1046aqds_tfa_SECURE_BOOT_defconfig
configs/ls1046aqds_tfa_defconfig
configs/ls1046ardb_emmc_defconfig
configs/ls1046ardb_qspi_SECURE_BOOT_defconfig
configs/ls1046ardb_qspi_defconfig
configs/ls1046ardb_qspi_spl_defconfig
configs/ls1046ardb_sdcard_SECURE_BOOT_defconfig
configs/ls1046ardb_sdcard_defconfig
configs/ls1046ardb_tfa_SECURE_BOOT_defconfig
configs/ls1046ardb_tfa_defconfig
configs/lx2160aqds_tfa_SECURE_BOOT_defconfig
configs/lx2160aqds_tfa_defconfig
configs/lx2160ardb_tfa_SECURE_BOOT_defconfig
configs/lx2160ardb_tfa_defconfig
drivers/net/fm/ls1043.c
drivers/net/fm/ls1046.c
drivers/net/fm/memac.c
drivers/pci/pcie_ecam_generic.c
drivers/power/power_i2c.c
include/configs/ls1012afrwy.h
include/configs/ls1021aiot.h
include/configs/ls1021aqds.h
include/configs/ls1021atsn.h
include/configs/ls1021atwr.h
include/configs/ls1028a_common.h
include/configs/ls1028aqds.h
include/configs/ls1028ardb.h
include/configs/ls1043a_common.h
include/configs/ls1046a_common.h
include/configs/ls1088aqds.h
include/configs/ls2080aqds.h
include/configs/lx2160a_common.h
include/configs/lx2160aqds.h
include/configs/lx2160ardb.h

index 1cf134624a95135937906bff2714d5ebdb0526fd..bbb1e2738bfe76a48ff0371ed2d80d638ffae243 100644 (file)
@@ -1368,6 +1368,7 @@ config TARGET_LS1028ARDB
        select ARM64
        select ARMV8_MULTIENTRY
        select ARCH_SUPPORT_TFABOOT
+       select BOARD_LATE_INIT
        help
          Support for Freescale LS1028ARDB platform
          The LS1028A Development System (RDB) is a high-performance
index 275c66d99291686798405a464fb0e62ebb5e718f..b25639183f807fb42d6c0e54eecefc3b0faf0776 100644 (file)
@@ -74,11 +74,11 @@ config ARCH_LS1043A
        select SYS_FSL_HAS_DDR4
        select ARCH_EARLY_INIT_R
        select BOARD_EARLY_INIT_F
-       select SYS_I2C_MXC
-       select SYS_I2C_MXC_I2C1
-       select SYS_I2C_MXC_I2C2
-       select SYS_I2C_MXC_I2C3
-       select SYS_I2C_MXC_I2C4
+       select SYS_I2C_MXC if !DM_I2C
+       select SYS_I2C_MXC_I2C1 if !DM_I2C
+       select SYS_I2C_MXC_I2C2 if !DM_I2C
+       select SYS_I2C_MXC_I2C3 if !DM_I2C
+       select SYS_I2C_MXC_I2C4 if !DM_I2C
        imply CMD_PCI
 
 config ARCH_LS1046A
@@ -107,11 +107,11 @@ config ARCH_LS1046A
        select SYS_FSL_SRDS_2
        select ARCH_EARLY_INIT_R
        select BOARD_EARLY_INIT_F
-       select SYS_I2C_MXC
-       select SYS_I2C_MXC_I2C1
-       select SYS_I2C_MXC_I2C2
-       select SYS_I2C_MXC_I2C3
-       select SYS_I2C_MXC_I2C4
+       select SYS_I2C_MXC if !DM_I2C
+       select SYS_I2C_MXC_I2C1 if !DM_I2C
+       select SYS_I2C_MXC_I2C2 if !DM_I2C
+       select SYS_I2C_MXC_I2C3 if !DM_I2C
+       select SYS_I2C_MXC_I2C4 if !DM_I2C
        imply SCSI
        imply SCSI_AHCI
 
index 3fd37beedf4f834e479d6deb73f992ee8f11b90c..029a8e386b1d93c8f590dde0e4cadd5793fe16b2 100644 (file)
@@ -49,6 +49,8 @@
                compatible = "jedec,spi-nor";
                spi-max-frequency = <50000000>;
                reg = <0>;
+               spi-rx-bus-width = <8>;
+               spi-tx-bus-width = <1>;
        };
 };
 
index a8f40855b65d2e6e8260cb64752ece2f1f953bfa..85b4815b2ed722728c8fcbbd4fd92dbb69475f80 100644 (file)
@@ -48,6 +48,8 @@
                compatible = "jedec,spi-nor";
                spi-max-frequency = <50000000>;
                reg = <0>;
+               spi-rx-bus-width = <8>;
+               spi-tx-bus-width = <1>;
        };
 };
 
index 3d41e3bd44f16b041c736e52f528ed0ff2a41cb8..d39159322a5ba88baf19e8e95bda5129fd9479c7 100644 (file)
@@ -32,3 +32,6 @@
 
 };
 
+&i2c0 {
+       status = "okay";
+};
index c95f44fc36166b9f847c5919191d842f28dc4a2f..76dc397328a198df6aa31596b1f8b1a404d19ec6 100644 (file)
@@ -80,3 +80,7 @@
 &sata {
        status = "okay";
 };
+
+&i2c0 {
+       status = "okay";
+};
index a05c9e9b9ea0ee33e4f89a7445514037c92ad261..83e34ab02ad191d430f5210424567bd18281cba9 100644 (file)
 &sata {
        status = "okay";
 };
+
+&i2c0 {
+       status = "okay";
+};
+
+&i2c3 {
+       status = "okay";
+};
index 34df0f51060e7b66543f7f19322bf9d8f9cc16f7..592fd5977e27f389cddc787f72a88dfc7e8ff550 100644 (file)
@@ -13,6 +13,9 @@
 / {
        model = "NXP Layerscape LX2160AQDS Board";
        compatible = "fsl,lx2160aqds", "fsl,lx2160a";
+       aliases {
+               spi0 = &fspi;
+       };
 };
 
 &esdhc0 {
        };
 };
 
+&fspi {
+       status = "okay";
+
+       mt35xu512aba0: flash@0 {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               compatible = "jedec,spi-nor";
+               spi-max-frequency = <50000000>;
+               reg = <0>;
+               spi-rx-bus-width = <8>;
+               spi-tx-bus-width = <1>;
+       };
+};
+
 &sata0 {
        status = "okay";
 };
index e542c6992ab87c59aeb575d8299d264bdfb71ec6..87617ca51f6a67dcd65354d37884de3e597e7b83 100644 (file)
@@ -39,6 +39,8 @@
                compatible = "jedec,spi-nor";
                spi-max-frequency = <50000000>;
                reg = <0>;
+               spi-rx-bus-width = <8>;
+               spi-tx-bus-width = <1>;
        };
 
        mt35xu512aba1: flash@1 {
@@ -47,6 +49,8 @@
                compatible = "jedec,spi-nor";
                spi-max-frequency = <50000000>;
                reg = <1>;
+               spi-rx-bus-width = <8>;
+               spi-tx-bus-width = <1>;
        };
 };
 
index 84e5cb46e5a9de9079859f4163e74300878d46b4..333e407b6667ffcf490cc007b77eb758b2b1066e 100644 (file)
@@ -4,7 +4,8 @@
        !defined(CONFIG_ARCH_ROCKCHIP) && !defined(CONFIG_ARCH_LX2160A) && \
        !defined(CONFIG_ARCH_LS1028A) && !defined(CONFIG_ARCH_LS2080A) && \
        !defined(CONFIG_ARCH_LS1088A) && !defined(CONFIG_ARCH_ASPEED) && \
-       !defined(CONFIG_ARCH_LS1012A) && !defined(CONFIG_ARCH_U8500) && \
+       !defined(CONFIG_ARCH_LS1012A) && !defined(CONFIG_ARCH_LS1043A) && \
+       !defined(CONFIG_ARCH_LS1046A) && !defined(CONFIG_ARCH_U8500) && \
        !defined(CONFIG_CORTINA_PLATFORM)
 #include <asm/arch/gpio.h>
 #endif
index 639353a94bb1c5f9cd16591aa627e0733196f8e7..5a2fa91f6bed909f8f8b421f13cdf0c6edfd89a4 100644 (file)
@@ -35,7 +35,7 @@ config SYS_LS_PFE_FW_ADDR
 
 config SYS_LS_PFE_ESBC_ADDR
        hex "PFE Firmware HDR Addr"
-       default 0x40700000
+       default 0x40640000
 
 config DDR_PFE_PHYS_BASEADDR
        hex "PFE DDR physical base address"
index 8c96b962b7883279793cb66e1d0167e883a5e74f..2d4b18cdbcb56a9e8f35bcaa50bc13b5c578e422 100644 (file)
@@ -1,6 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0+
 /*
  * Copyright 2015 Freescale Semiconductor, Inc.
+ * Copyright 2019 NXP
  */
 
 #include <common.h>
@@ -271,11 +272,24 @@ unsigned long get_board_ddr_clk(void)
        return 66666666;
 }
 
-int select_i2c_ch_pca9547(u8 ch)
+int select_i2c_ch_pca9547(u8 ch, int bus_num)
 {
        int ret;
 
+#ifdef CONFIG_DM_I2C
+       struct udevice *dev;
+
+       ret = i2c_get_chip_for_busnum(bus_num, I2C_MUX_PCA_ADDR_PRI,
+                                     1, &dev);
+       if (ret) {
+               printf("%s: Cannot find udev for a bus %d\n", __func__,
+                      bus_num);
+               return ret;
+       }
+       ret = dm_i2c_write(dev, 0, &ch, 1);
+#else
        ret = i2c_write(I2C_MUX_PCA_ADDR_PRI, 0, 1, &ch, 1);
+#endif
        if (ret) {
                puts("PCA: failed to select proper channel\n");
                return ret;
@@ -290,8 +304,10 @@ int dram_init(void)
         * When resuming from deep sleep, the I2C channel may not be
         * in the default channel. So, switch to the default channel
         * before accessing DDR SPD.
+        *
+        * PCA9547 mount on I2C1 bus
         */
-       select_i2c_ch_pca9547(I2C_MUX_CH_DEFAULT);
+       select_i2c_ch_pca9547(I2C_MUX_CH_DEFAULT, 0);
        fsl_initdram();
 #if (!defined(CONFIG_SPL) && !defined(CONFIG_TFABOOT)) || \
        defined(CONFIG_SPL_BUILD)
@@ -304,16 +320,83 @@ int dram_init(void)
 
 int i2c_multiplexer_select_vid_channel(u8 channel)
 {
-       return select_i2c_ch_pca9547(channel);
+       return select_i2c_ch_pca9547(channel, 0);
 }
 
 void board_retimer_init(void)
 {
        u8 reg;
+       int bus_num = 0;
 
        /* Retimer is connected to I2C1_CH7_CH5 */
-       select_i2c_ch_pca9547(I2C_MUX_CH7);
+       select_i2c_ch_pca9547(I2C_MUX_CH7, bus_num);
        reg = I2C_MUX_CH5;
+#ifdef CONFIG_DM_I2C
+       struct udevice *dev;
+       int ret;
+
+       ret = i2c_get_chip_for_busnum(bus_num, I2C_MUX_PCA_ADDR_SEC,
+                                     1, &dev);
+       if (ret) {
+               printf("%s: Cannot find udev for a bus %d\n", __func__,
+                      bus_num);
+               return;
+       }
+       dm_i2c_write(dev, 0, &reg, 1);
+
+       /* Access to Control/Shared register */
+       ret = i2c_get_chip_for_busnum(bus_num, I2C_RETIMER_ADDR,
+                                     1, &dev);
+       if (ret) {
+               printf("%s: Cannot find udev for a bus %d\n", __func__,
+                      bus_num);
+               return;
+       }
+
+       reg = 0x0;
+       dm_i2c_write(dev, 0xff, &reg, 1);
+
+       /* Read device revision and ID */
+       dm_i2c_read(dev, 1, &reg, 1);
+       debug("Retimer version id = 0x%x\n", reg);
+
+       /* Enable Broadcast. All writes target all channel register sets */
+       reg = 0x0c;
+       dm_i2c_write(dev, 0xff, &reg, 1);
+
+       /* Reset Channel Registers */
+       dm_i2c_read(dev, 0, &reg, 1);
+       reg |= 0x4;
+       dm_i2c_write(dev, 0, &reg, 1);
+
+       /* Enable override divider select and Enable Override Output Mux */
+       dm_i2c_read(dev, 9, &reg, 1);
+       reg |= 0x24;
+       dm_i2c_write(dev, 9, &reg, 1);
+
+       /* Select VCO Divider to full rate (000) */
+       dm_i2c_read(dev, 0x18, &reg, 1);
+       reg &= 0x8f;
+       dm_i2c_write(dev, 0x18, &reg, 1);
+
+       /* Selects active PFD MUX Input as Re-timed Data (001) */
+       dm_i2c_read(dev, 0x1e, &reg, 1);
+       reg &= 0x3f;
+       reg |= 0x20;
+       dm_i2c_write(dev, 0x1e, &reg, 1);
+
+       /* Set data rate as 10.3125 Gbps */
+       reg = 0x0;
+       dm_i2c_write(dev, 0x60, &reg, 1);
+       reg = 0xb2;
+       dm_i2c_write(dev, 0x61, &reg, 1);
+       reg = 0x90;
+       dm_i2c_write(dev, 0x62, &reg, 1);
+       reg = 0xb3;
+       dm_i2c_write(dev, 0x63, &reg, 1);
+       reg = 0xcd;
+       dm_i2c_write(dev, 0x64, &reg, 1);
+#else
        i2c_write(I2C_MUX_PCA_ADDR_SEC, 0, 1, &reg, 1);
 
        /* Access to Control/Shared register */
@@ -360,9 +443,10 @@ void board_retimer_init(void)
        i2c_write(I2C_RETIMER_ADDR, 0x63, 1, &reg, 1);
        reg = 0xcd;
        i2c_write(I2C_RETIMER_ADDR, 0x64, 1, &reg, 1);
+#endif
 
        /* Return the default channel */
-       select_i2c_ch_pca9547(I2C_MUX_CH_DEFAULT);
+       select_i2c_ch_pca9547(I2C_MUX_CH_DEFAULT, bus_num);
 }
 
 int board_early_init_f(void)
@@ -375,8 +459,10 @@ int board_early_init_f(void)
        u8 uart;
 #endif
 
+#ifdef CONFIG_SYS_I2C
 #ifdef CONFIG_SYS_I2C_EARLY_INIT
        i2c_early_init_f();
+#endif
 #endif
        fsl_lsch2_early_init_f();
 
@@ -457,7 +543,7 @@ int board_init(void)
        erratum_a010315();
 #endif
 
-       select_i2c_ch_pca9547(I2C_MUX_CH_DEFAULT);
+       select_i2c_ch_pca9547(I2C_MUX_CH_DEFAULT, 0);
        board_retimer_init();
 
 #ifdef CONFIG_SYS_FSL_SERDES
index db8b3a5b921e04c40a56140d75e62b75eaf74548..8c0abb63a9d8100e5862f0f13b10fd711aa8b208 100644 (file)
 
 DECLARE_GLOBAL_DATA_PTR;
 
-int select_i2c_ch_pca9547(u8 ch)
+int select_i2c_ch_pca9547(u8 ch, int bus_num)
 {
        int ret;
 
+#ifdef CONFIG_DM_I2C
+       struct udevice *dev;
+
+       ret = i2c_get_chip_for_busnum(bus_num, I2C_MUX_PCA_ADDR_PRI,
+                                     1, &dev);
+       if (ret) {
+               printf("%s: Cannot find udev for a bus %d\n", __func__,
+                      bus_num);
+               return ret;
+       }
+       ret = dm_i2c_write(dev, 0, &ch, 1);
+#else
        ret = i2c_write(I2C_MUX_PCA_ADDR_PRI, 0, 1, &ch, 1);
+#endif
        if (ret) {
                puts("PCA: failed to select proper channel\n");
                return ret;
@@ -149,7 +162,7 @@ val = (in_le32(SMMU_SCR0) | SCR0_CLIENTPD_MASK) & ~(SCR0_USFCFG_MASK);
        sec_init();
 #endif
 
-       select_i2c_ch_pca9547(I2C_MUX_CH_DEFAULT);
+       select_i2c_ch_pca9547(I2C_MUX_CH_DEFAULT, 0);
        return 0;
 }
 
index aac5d9aa848fe31e72f73dc8b63b0c9df8795e5c..cabd7ee648cd05fdf92f6ab051616b601fbce043 100644 (file)
@@ -1,6 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0+
 /*
  * Copyright 2016 Freescale Semiconductor, Inc.
+ * Copyright 2019 NXP
  */
 
 #include <common.h>
@@ -269,11 +270,23 @@ u32 get_lpuart_clk(void)
 }
 #endif
 
-int select_i2c_ch_pca9547(u8 ch)
+int select_i2c_ch_pca9547(u8 ch, int bus_num)
 {
        int ret;
+#ifdef CONFIG_DM_I2C
+       struct udevice *dev;
 
+       ret = i2c_get_chip_for_busnum(bus_num, I2C_MUX_PCA_ADDR_PRI,
+                                     1, &dev);
+       if (ret) {
+               printf("%s: Cannot find udev for a bus %d\n", __func__,
+                      bus_num);
+               return ret;
+       }
+       ret = dm_i2c_write(dev, 0, &ch, 1);
+#else
        ret = i2c_write(I2C_MUX_PCA_ADDR_PRI, 0, 1, &ch, 1);
+#endif
        if (ret) {
                puts("PCA: failed to select proper channel\n");
                return ret;
@@ -288,8 +301,10 @@ int dram_init(void)
         * When resuming from deep sleep, the I2C channel may not be
         * in the default channel. So, switch to the default channel
         * before accessing DDR SPD.
+        *
+        * PCA9547 mount on I2C1 bus
         */
-       select_i2c_ch_pca9547(I2C_MUX_CH_DEFAULT);
+       select_i2c_ch_pca9547(I2C_MUX_CH_DEFAULT, 0);
        fsl_initdram();
 #if (!defined(CONFIG_SPL) && !defined(CONFIG_TFABOOT)) || \
        defined(CONFIG_SPL_BUILD)
@@ -302,7 +317,7 @@ int dram_init(void)
 
 int i2c_multiplexer_select_vid_channel(u8 channel)
 {
-       return select_i2c_ch_pca9547(channel);
+       return select_i2c_ch_pca9547(channel, 0);
 }
 
 int board_early_init_f(void)
@@ -315,8 +330,10 @@ int board_early_init_f(void)
        u8 uart;
 #endif
 
+#ifdef CONFIG_SYS_I2C
 #ifdef CONFIG_SYS_I2C_EARLY_INIT
        i2c_early_init_f();
+#endif
 #endif
        fsl_lsch2_early_init_f();
 
@@ -394,7 +411,7 @@ int misc_init_r(void)
 
 int board_init(void)
 {
-       select_i2c_ch_pca9547(I2C_MUX_CH_DEFAULT);
+       select_i2c_ch_pca9547(I2C_MUX_CH_DEFAULT, 0);
 
 #ifdef CONFIG_SYS_FSL_SERDES
        config_serdes_mux();
index 103b0cc65916e7a9003bedef3f42c45d69197d75..4b20bb440f724eaef11e79618da200aa2d2879b7 100644 (file)
 #include "../common/vid.h"
 #include <fsl_immap.h>
 #include <asm/arch-fsl-layerscape/fsl_icid.h>
+#include <asm/gic-v3.h>
+#include <cpu_func.h>
 
 #ifdef CONFIG_EMC2305
 #include "../common/emc2305.h"
 #endif
 
+#define GIC_LPI_SIZE                             0x200000
 #ifdef CONFIG_TARGET_LX2160AQDS
 #define CFG_MUX_I2C_SDHC(reg, value)           ((reg & 0x3f) | value)
 #define SET_CFG_MUX1_SDHC1_SDHC(reg)           (reg & 0x3f)
@@ -149,6 +152,7 @@ int board_fix_fdt(void *fdt)
 
                reg_name = reg_names;
                remaining_names_len = names_len - (reg_name - reg_names);
+               i = 0;
                while ((i < ARRAY_SIZE(reg_names_map)) && remaining_names_len) {
                        old_name_len = strlen(reg_names_map[i].old_str);
                        new_name_len = strlen(reg_names_map[i].new_str);
@@ -274,7 +278,14 @@ int i2c_multiplexer_select_vid_channel(u8 channel)
 
 int init_func_vid(void)
 {
-       if (adjust_vdd(0) < 0)
+       int set_vid;
+
+       if (IS_SVR_REV(get_svr(), 1, 0))
+               set_vid = adjust_vdd(800);
+       else
+               set_vid = adjust_vdd(0);
+
+       if (set_vid < 0)
                printf("core voltage not adjusted\n");
 
        return 0;
@@ -469,10 +480,16 @@ int config_board_mux(void)
                reg11 = SET_CFG_MUX3_SDHC1_SPI(reg11, 0x01);
                QIXIS_WRITE(brdcfg[11], reg11);
        } else {
-               /*  Routes {SDHC1_DAT4} to SDHC1 adapter slot */
+               /*
+                * If {SDHC1_DAT4} has been configured to route to SDHC1_VS,
+                * do not change it.
+                * Otherwise route {SDHC1_DAT4} to SDHC1 adapter slot.
+                */
                reg11 = QIXIS_READ(brdcfg[11]);
-               reg11 = SET_CFG_MUX2_SDHC1_SPI(reg11, 0x00);
-               QIXIS_WRITE(brdcfg[11], reg11);
+               if ((reg11 & 0x30) != 0x30) {
+                       reg11 = SET_CFG_MUX2_SDHC1_SPI(reg11, 0x00);
+                       QIXIS_WRITE(brdcfg[11], reg11);
+               }
 
                /* - Routes {SDHC1_DAT5, SDHC1_DAT6} to SDHC1 adapter slot.
                 * {SDHC1_DAT7, SDHC1_DS } to SDHC1 adapter slot.
@@ -627,8 +644,22 @@ void board_quiesce_devices(void)
 }
 #endif
 
-#ifdef CONFIG_OF_BOARD_SETUP
+#ifdef CONFIG_GIC_V3_ITS
+void fdt_fixup_gic_lpi_memory(void *blob, u64 gic_lpi_base)
+{
+       u32 phandle;
+       int err;
+       struct fdt_memory gic_lpi;
+
+       gic_lpi.start = gic_lpi_base;
+       gic_lpi.end = gic_lpi_base + GIC_LPI_SIZE - 1;
+       err = fdtdec_add_reserved_memory(blob, "gic-lpi", &gic_lpi, &phandle);
+       if (err < 0)
+               debug("failed to add reserved memory: %d\n", err);
+}
+#endif
 
+#ifdef CONFIG_OF_BOARD_SETUP
 int ft_board_setup(void *blob, bd_t *bd)
 {
        int i;
@@ -639,6 +670,7 @@ int ft_board_setup(void *blob, bd_t *bd)
        u64 mc_memory_base = 0;
        u64 mc_memory_size = 0;
        u16 total_memory_banks;
+       u64 gic_lpi_base;
 
        ft_cpu_setup(blob, bd);
 
@@ -658,6 +690,12 @@ int ft_board_setup(void *blob, bd_t *bd)
                size[i] = gd->bd->bi_dram[i].size;
        }
 
+#ifdef CONFIG_GIC_V3_ITS
+       gic_lpi_base = gd->arch.resv_ram - GIC_LPI_SIZE;
+       gic_lpi_tables_init(gic_lpi_base, cpu_numcores());
+       fdt_fixup_gic_lpi_memory(blob, gic_lpi_base);
+#endif
+
 #ifdef CONFIG_RESV_RAM
        /* reduce size if reserved memory is within this bank */
        if (gd->arch.resv_ram >= base[0] &&
index 11d0cee39a34a7ed6e6c35454a7cdc4cb9c17625..1e601484eee3e1ca6e1a87e25d1ccea8764630ca 100644 (file)
@@ -5,6 +5,7 @@ CONFIG_ENV_SIZE=0x40000
 CONFIG_ENV_SECT_SIZE=0x40000
 CONFIG_ENV_OFFSET=0x300000
 CONFIG_DM_GPIO=y
+CONFIG_BLK=y
 CONFIG_FSL_LS_PPA=y
 CONFIG_QSPI_AHB_INIT=y
 CONFIG_NR_DRAM_BANKS=2
index 2818bdf0d211aa5263f117992e3fba1283fb1ae5..420a2f416cbd4d8b95ce10a6781027a073b5ac40 100644 (file)
@@ -6,6 +6,7 @@ CONFIG_ENV_SIZE=0x40000
 CONFIG_ENV_SECT_SIZE=0x40000
 CONFIG_ENV_OFFSET=0x500000
 CONFIG_DM_GPIO=y
+CONFIG_BLK=y
 CONFIG_QSPI_AHB_INIT=y
 CONFIG_NR_DRAM_BANKS=2
 CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT=y
index 2f48da82e4d316047243b579d988d780009d708d..4e937e53eefac741892e432696b0e41e2e326c3e 100644 (file)
@@ -60,3 +60,5 @@ CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_RSA=y
 CONFIG_RSA_SOFTWARE_EXP=y
+CONFIG_FSL_PFE=y
+CONFIG_DM_ETH=y
index 4dec4181b71897e4756d6277ae120aa26344233c..fdf2324a6318e1e7a9542e20c630f79137e51d9d 100644 (file)
@@ -40,7 +40,6 @@ CONFIG_DM=y
 CONFIG_SATA_CEVA=y
 CONFIG_DM_I2C=y
 CONFIG_DM_MMC=y
-CONFIG_MMC_HS200_SUPPORT=y
 CONFIG_FSL_ESDHC=y
 CONFIG_MTD=y
 CONFIG_DM_SPI_FLASH=y
index 7ba0c47a5bbb7a4b3c334b83bbf48bed01f5ac02..512f77530315817a51fb16bb1c9718db9d8d9ff5 100644 (file)
@@ -45,5 +45,6 @@ CONFIG_DM_SPI=y
 CONFIG_FSL_DSPI=y
 CONFIG_FSL_QSPI=y
 CONFIG_USB=y
+CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
index 3ef5520969f425e16d9fece8c238c1fd202e9ed5..7ffd1c3bc6e49e18831c5cd10efb1fbdbb20ca06 100644 (file)
@@ -45,7 +45,6 @@ CONFIG_I2C_DEFAULT_BUS_NUMBER=0
 CONFIG_I2C_MUX=y
 CONFIG_I2C_MUX_PCA954x=y
 CONFIG_DM_MMC=y
-CONFIG_MMC_HS200_SUPPORT=y
 CONFIG_FSL_ESDHC=y
 CONFIG_MTD=y
 CONFIG_DM_SPI_FLASH=y
index 2885552ef34fec40eedcdf42337ee6f99ad3559b..93b86af6074e330a20560c85fed20257fa4d1cb1 100644 (file)
@@ -62,3 +62,5 @@ CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_DM_I2C=y
+CONFIG_DM_GPIO=y
index 9d9229ac03a9d9097449a169f4c0573e1d57e733..f89c2ee3a4fb4c1878677bf28cd633e5f0f88308 100644 (file)
@@ -64,3 +64,5 @@ CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_DM_I2C=y
+CONFIG_DM_GPIO=y
index c45eaea02a50dbfca0eaeb4d2ae3539f81ef29f0..a169bfef8f646c4fbf65fa89f6178f0b0a602c2a 100644 (file)
@@ -78,3 +78,5 @@ CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_DM_I2C=y
+CONFIG_DM_GPIO=y
index 8d28fe1baff692f7225cd9de1dadd5c99f0f53da..01d0af30b1774c60fa435e085c49c252d794a063 100644 (file)
@@ -63,3 +63,5 @@ CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_DM_I2C=y
+CONFIG_DM_GPIO=y
index 86b2eb56b84bfb115c5242c0da300a3cfed383f5..65eff7c40b839d0dfa757a8626f056654f35ceb5 100644 (file)
@@ -58,3 +58,5 @@ CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_DM_I2C=y
+CONFIG_DM_GPIO=y
index bf3f0d09909dedf350e5ec52839a7be5aaea56f5..c5042a345d7da93190b7f342ab29d420b9903138 100644 (file)
@@ -79,3 +79,5 @@ CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_DM_I2C=y
+CONFIG_DM_GPIO=y
index 0449469b895148861f592119397746cb1e9fadd1..12706a48dc88926d24286124fe4657fb3320f68b 100644 (file)
@@ -72,3 +72,5 @@ CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_DM_I2C=y
+CONFIG_DM_GPIO=y
index 0ece698350d02c522d7e0afb648282df7e017707..b7335bcd3352cf0ca0e3ea335ca814629e235f16 100644 (file)
@@ -63,3 +63,5 @@ CONFIG_RSA=y
 CONFIG_SPL_RSA=y
 CONFIG_RSA_SOFTWARE_EXP=y
 CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_DM_I2C=y
+CONFIG_DM_GPIO=y
index 24db72a39d2b715b1ba14f5d1d549667a88a3364..6e594ed07c6721344f1ee40b03bd6e63cd46c760 100644 (file)
@@ -71,3 +71,5 @@ CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_DM_I2C=y
+CONFIG_DM_GPIO=y
index 5e030e2586dbc99eb7d95550179f68309977ccb9..153a62866ffe9fe6f8fd33af5f4b2cbc93ec6c68 100644 (file)
@@ -55,3 +55,5 @@ CONFIG_RSA=y
 CONFIG_SPL_RSA=y
 CONFIG_RSA_SOFTWARE_EXP=y
 CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_DM_I2C=y
+CONFIG_DM_GPIO=y
index 0676cbccdd6bad811f055c514d1389ce13b3d44f..d1e534388b9dc4e423465d7da4eebcf35fc1a99f 100644 (file)
@@ -55,3 +55,5 @@ CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_DM_I2C=y
+CONFIG_DM_GPIO=y
index 1f4c5705d58be4c43a828770a986236b6cc193a5..252c7c8313af7ef13c97aea1549054c12fc8da99 100644 (file)
@@ -75,3 +75,5 @@ CONFIG_USB_XHCI_DWC3=y
 CONFIG_RSA=y
 CONFIG_SPL_RSA=y
 CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_DM_I2C=y
+CONFIG_DM_GPIO=y
index e7fe2de309f663e578d68c9dffca0150d1e6b0d9..de18aaa0635c84d617093bbabaa9f6105f33ef8f 100644 (file)
@@ -74,3 +74,5 @@ CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 # CONFIG_SPL_USE_TINY_PRINTF is not set
 CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_DM_I2C=y
+CONFIG_DM_GPIO=y
index 6529c7334c1cc0af83b5845be1897a97326ca892..149b25ffe5291b0a619251843fa1781e7d762bfe 100644 (file)
@@ -74,3 +74,5 @@ CONFIG_USB_XHCI_DWC3=y
 CONFIG_RSA=y
 CONFIG_SPL_RSA=y
 CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_DM_I2C=y
+CONFIG_DM_GPIO=y
index 228262477cd74567c434f864b85d6b0bfce0dc53..b386fc668ccfd1bf072d80475bd27cd3a5fb75b8 100644 (file)
@@ -73,3 +73,5 @@ CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 # CONFIG_SPL_USE_TINY_PRINTF is not set
 CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_DM_I2C=y
+CONFIG_DM_GPIO=y
index 94ca502f3b5721438f60f7b7e8e544b1a560800a..36eb0fcff72dda2ea0f01961eb00a9fe514e5dce 100644 (file)
@@ -56,3 +56,5 @@ CONFIG_RSA=y
 CONFIG_SPL_RSA=y
 CONFIG_RSA_SOFTWARE_EXP=y
 CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_DM_I2C=y
+CONFIG_DM_GPIO=y
index 4154075986cba903f6908f2c895f30f34a8bea12..eaddbca79f8bd4f860635147a26a35f2404f6dbe 100644 (file)
@@ -59,3 +59,5 @@ CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_DM_I2C=y
+CONFIG_DM_GPIO=y
index 2c258785d1ee1a4aac79ebd6bdaeeea569a72e84..616984f7d75cb515a1cfe30e02377c655e02b0dc 100644 (file)
@@ -62,3 +62,5 @@ CONFIG_USB_HOST_ETHER=y
 CONFIG_USB_ETHER_ASIX=y
 CONFIG_USB_ETHER_ASIX88179=y
 CONFIG_USB_ETHER_RTL8152=y
+CONFIG_DM_I2C=y
+CONFIG_DM_GPIO=y
index 6ea27c7ba42acec7b3d1c8559eeacd2ece53f379..ed25b7a680b78eb51094d077f36d3ffd0b72829d 100644 (file)
@@ -60,3 +60,5 @@ CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_RSA=y
 CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_DM_I2C=y
+CONFIG_DM_GPIO=y
index 04c1176d858ac48d21b5dabcba19c085c68f5978..0a50bb14c02c6b9ff2c545f37738d26b67b81f85 100644 (file)
@@ -62,3 +62,5 @@ CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_DM_I2C=y
+CONFIG_DM_GPIO=y
index b0a24f297eeb440e995658cb150d322e1490bfef..17d1685081fee64be73a88aed116dbecd60600ad 100644 (file)
@@ -64,3 +64,5 @@ CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_DM_I2C=y
+CONFIG_DM_GPIO=y
index 3ffe6a6ef9c7903d548f070e6d3d97ec570976b6..0bafcbe168d77332b88271e06ab1fe21a83ede56 100644 (file)
@@ -70,3 +70,5 @@ CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_DM_I2C=y
+CONFIG_DM_GPIO=y
index d6253c790a517b157f5bc5a3959577b69d48f471..ff0fd45c9ec4bf1b4afb89a25f954d8c6bf08b30 100644 (file)
@@ -58,3 +58,5 @@ CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_DM_I2C=y
+CONFIG_DM_GPIO=y
index fad33163b6bf3478389e936580d8120ff80ff729..78edb456b84620a9eb48c2c5c3b130ebc5490b8a 100644 (file)
@@ -80,3 +80,5 @@ CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_DM_I2C=y
+CONFIG_DM_GPIO=y
index 3571a6f9e961cdb8e7e46af48d69c7a1398170b5..d085daf384c1a7c5ace929295f1e5cea143b561a 100644 (file)
@@ -74,3 +74,5 @@ CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_DM_I2C=y
+CONFIG_DM_GPIO=y
index e17374792312e64606426866d99a99633e342502..6a9391478b435192753302ab8f93c3edb4d36822 100644 (file)
@@ -61,3 +61,5 @@ CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_RSA=y
 CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_DM_I2C=y
+CONFIG_DM_GPIO=y
index 824fc518ca7bc0be05142a612f0ac9ab2640c299..04e6b2392c21751b6c9e3a031389fe1508715d51 100644 (file)
@@ -71,3 +71,5 @@ CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_DM_I2C=y
+CONFIG_DM_GPIO=y
index 768ce7a821b92713f47e5cc0ed6ed26a8a814af9..bbb352db316d82beb97cecfb6f96fff7b6f0e1b2 100644 (file)
@@ -73,3 +73,5 @@ CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_DM_I2C=y
+CONFIG_DM_GPIO=y
index aff9bf81fcd90ae33d1f476df7b4934537aa232f..b9c8a8822cf73d1247061436a8c5d64862b08bd1 100644 (file)
@@ -55,3 +55,5 @@ CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_RSA=y
 CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_DM_I2C=y
+CONFIG_DM_GPIO=y
index b482e73bef674b7f796de0b6cc28dbf5711cf225..51edada3f86ad4fa364c0556139c472173fb076f 100644 (file)
@@ -57,3 +57,5 @@ CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_DM_I2C=y
+CONFIG_DM_GPIO=y
index 1e2770a9c083593fa60695dbae67deb779e766f7..84e059671c2f7b1810b915862ebac0567af0df1a 100644 (file)
@@ -77,3 +77,5 @@ CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_SPL_GZIP=y
 CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_DM_I2C=y
+CONFIG_DM_GPIO=y
index 1f5fa8ff0375b40f8d768aa8ef6ff7692e37aaa8..9954e894dacfca363805f47b662e436485781e5f 100644 (file)
@@ -70,3 +70,5 @@ CONFIG_USB_XHCI_DWC3=y
 CONFIG_RSA=y
 CONFIG_SPL_RSA=y
 CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_DM_I2C=y
+CONFIG_DM_GPIO=y
index 197090474bc2c8f0589bde66ee2ed7ce1489747b..35028097564aae300044d618f83a614cf8d0627c 100644 (file)
@@ -72,3 +72,5 @@ CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_DM_I2C=y
+CONFIG_DM_GPIO=y
index 1dde0ae73b3b8c13d9144f02a463268c4dccb238..9e3042b797e11ca20ff77e6534286e849f54d6e3 100644 (file)
@@ -54,3 +54,5 @@ CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_RSA=y
 CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_DM_I2C=y
+CONFIG_DM_GPIO=y
index 280ca83d424d7a59603bac38d641bcf744ca25fa..2f7686bafd18b7e8bedd8f5f1a9f96c669963458 100644 (file)
@@ -58,3 +58,5 @@ CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_DM_I2C=y
+CONFIG_DM_GPIO=y
index 7c3b82700da400b238ae59b80e39719036394680..319f7103829ef91b01ee8f98d725ff648c349175 100644 (file)
@@ -65,6 +65,7 @@ CONFIG_DM_SERIAL=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_FSL_DSPI=y
+CONFIG_NXP_FSPI=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
@@ -73,3 +74,4 @@ CONFIG_RSA=y
 CONFIG_SPL_RSA=y
 CONFIG_RSA_SOFTWARE_EXP=y
 CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_GIC_V3_ITS=y
index 449b3cbcf1c4cd1d7091941b8fb4e7d49befdf5a..0161dba9a723fff31947e66e96fda365f971adee 100644 (file)
@@ -4,6 +4,7 @@ CONFIG_TFABOOT=y
 CONFIG_SYS_TEXT_BASE=0x82000000
 CONFIG_SYS_MALLOC_F_LEN=0x6000
 CONFIG_ENV_SIZE=0x2000
+CONFIG_ENV_SECT_SIZE=0x20000
 CONFIG_ENV_OFFSET=0x500000
 CONFIG_DM_GPIO=y
 CONFIG_FSPI_AHB_EN_4BYTE=y
@@ -32,6 +33,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_OF_BOARD_FIXUP=y
 CONFIG_DEFAULT_DEVICE_TREE="fsl-lx2160a-qds"
 CONFIG_ENV_IS_IN_MMC=y
+CONFIG_ENV_IS_IN_SPI_FLASH=y
+CONFIG_ENV_ADDR=0x20500000
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_SATA_CEVA=y
@@ -65,8 +68,10 @@ CONFIG_DM_SCSI=y
 CONFIG_DM_SERIAL=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
+CONFIG_NXP_FSPI=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_GIC_V3_ITS=y
index d1fffb399e9985f19354a67ef5792b92dd192c7b..10098ab5a9d2027098d47777693a6424e22c7a36 100644 (file)
@@ -60,6 +60,7 @@ CONFIG_DM_SCSI=y
 CONFIG_DM_SERIAL=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
+CONFIG_NXP_FSPI=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
@@ -68,3 +69,4 @@ CONFIG_RSA=y
 CONFIG_SPL_RSA=y
 CONFIG_RSA_SOFTWARE_EXP=y
 CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_GIC_V3_ITS=y
index 93f3e200c0365bb2704cf3fd8f256ff38566acc0..c8582aa40d6c5a85199e52bab286905dd1f0c471 100644 (file)
@@ -4,6 +4,7 @@ CONFIG_TFABOOT=y
 CONFIG_SYS_TEXT_BASE=0x82000000
 CONFIG_SYS_MALLOC_F_LEN=0x6000
 CONFIG_ENV_SIZE=0x2000
+CONFIG_ENV_SECT_SIZE=0x20000
 CONFIG_ENV_OFFSET=0x500000
 CONFIG_DM_GPIO=y
 CONFIG_EMC2305=y
@@ -33,6 +34,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_OF_BOARD_FIXUP=y
 CONFIG_DEFAULT_DEVICE_TREE="fsl-lx2160a-rdb"
 CONFIG_ENV_IS_IN_MMC=y
+CONFIG_ENV_IS_IN_SPI_FLASH=y
+CONFIG_ENV_ADDR=0x20500000
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_SATA_CEVA=y
@@ -41,7 +44,6 @@ CONFIG_DM_I2C=y
 CONFIG_I2C_SET_DEFAULT_BUS_NUM=y
 CONFIG_I2C_DEFAULT_BUS_NUMBER=0
 CONFIG_DM_MMC=y
-CONFIG_MMC_HS200_SUPPORT=y
 CONFIG_FSL_ESDHC=y
 CONFIG_MTD=y
 CONFIG_DM_SPI_FLASH=y
@@ -64,8 +66,10 @@ CONFIG_DM_SCSI=y
 CONFIG_DM_SERIAL=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
+CONFIG_NXP_FSPI=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_GIC_V3_ITS=y
index cd510f295594300168845f515fae405feea60360..ba4da69423aa29db85123a9c0319dc816f6e759e 100644 (file)
@@ -65,12 +65,12 @@ phy_interface_t fman_port_enet_if(enum fm_port port)
        if (port == FM1_DTSEC3)
                if ((rcwsr13 & FSL_CHASSIS2_RCWSR13_EC1) ==
                                FSL_CHASSIS2_RCWSR13_EC1_DTSEC3_RGMII) {
-                       return PHY_INTERFACE_MODE_RGMII_TXID;
+                       return PHY_INTERFACE_MODE_RGMII_ID;
                }
        if (port == FM1_DTSEC4)
                if ((rcwsr13 & FSL_CHASSIS2_RCWSR13_EC2) ==
                                FSL_CHASSIS2_RCWSR13_EC2_DTSEC4_RGMII) {
-                       return PHY_INTERFACE_MODE_RGMII_TXID;
+                       return PHY_INTERFACE_MODE_RGMII_ID;
                }
 
        /* handle SGMII */
index 3617ad93e4a033e614566ceea8f5fe287928b371..49b540bd30b08ebbb35bdbbb0ccf9b538a12f02c 100644 (file)
@@ -71,12 +71,12 @@ phy_interface_t fman_port_enet_if(enum fm_port port)
        if (port == FM1_DTSEC3)
                if ((rcwsr13 & FSL_CHASSIS2_RCWSR13_EC1) ==
                                FSL_CHASSIS2_RCWSR13_EC1_DTSEC3_RGMII)
-                       return PHY_INTERFACE_MODE_RGMII_TXID;
+                       return PHY_INTERFACE_MODE_RGMII_ID;
 
        if (port == FM1_DTSEC4)
                if ((rcwsr13 & FSL_CHASSIS2_RCWSR13_EC2) ==
                                FSL_CHASSIS2_RCWSR13_EC2_DTSEC4_RGMII)
-                       return PHY_INTERFACE_MODE_RGMII_TXID;
+                       return PHY_INTERFACE_MODE_RGMII_ID;
 
        /* handle SGMII, only MAC 2/5/6/9/10 available */
        switch (port) {
index 2c499513f992b3d94eacb9be328c25194400ae54..bed8f14aeeccb994e56d1658d1837cf405c96304 100644 (file)
@@ -83,6 +83,8 @@ static void memac_set_interface_mode(struct fsl_enet_mac *mac,
                if_mode |= IF_MODE_GMII;
                break;
        case PHY_INTERFACE_MODE_RGMII:
+       case PHY_INTERFACE_MODE_RGMII_ID:
+       case PHY_INTERFACE_MODE_RGMII_RXID:
        case PHY_INTERFACE_MODE_RGMII_TXID:
                if_mode |= (IF_MODE_GMII | IF_MODE_RG);
                break;
@@ -107,6 +109,8 @@ static void memac_set_interface_mode(struct fsl_enet_mac *mac,
                if_mode |= IF_MODE_EN_AUTO;
 
        if (type == PHY_INTERFACE_MODE_RGMII ||
+           type == PHY_INTERFACE_MODE_RGMII_ID ||
+           type == PHY_INTERFACE_MODE_RGMII_RXID ||
            type == PHY_INTERFACE_MODE_RGMII_TXID) {
                if_mode &= ~IF_MODE_EN_AUTO;
                if_mode &= ~IF_MODE_SETSP_MASK;
index c875f3a5b7d2f5378d16420c04d21fc55a5a9c4a..890b6a8fb69a45d1188debbd764dcfd5c19f4c68 100644 (file)
@@ -19,6 +19,8 @@
  */
 struct generic_ecam_pcie {
        void *cfg_base;
+       pci_size_t size;
+       int first_busno;
 };
 
 /**
@@ -43,7 +45,7 @@ static int pci_generic_ecam_conf_address(const struct udevice *bus,
        void *addr;
 
        addr = pcie->cfg_base;
-       addr += PCI_BUS(bdf) << 20;
+       addr += (PCI_BUS(bdf) - pcie->first_busno) << 20;
        addr += PCI_DEV(bdf) << 15;
        addr += PCI_FUNC(bdf) << 12;
        addr += offset;
@@ -52,6 +54,16 @@ static int pci_generic_ecam_conf_address(const struct udevice *bus,
        return 0;
 }
 
+static bool pci_generic_ecam_addr_valid(const struct udevice *bus,
+                                       pci_dev_t bdf)
+{
+       struct generic_ecam_pcie *pcie = dev_get_priv(bus);
+       int num_buses = DIV_ROUND_UP(pcie->size, 1 << 16);
+
+       return (PCI_BUS(bdf) >= pcie->first_busno &&
+               PCI_BUS(bdf) < pcie->first_busno + num_buses);
+}
+
 /**
  * pci_generic_ecam_read_config() - Read from configuration space
  * @bus: Pointer to the PCI bus
@@ -68,6 +80,11 @@ static int pci_generic_ecam_read_config(const struct udevice *bus,
                                        pci_dev_t bdf, uint offset,
                                        ulong *valuep, enum pci_size_t size)
 {
+       if (!pci_generic_ecam_addr_valid(bus, bdf)) {
+               *valuep = pci_get_ff(size);
+               return 0;
+       }
+
        return pci_generic_mmap_read_config(bus, pci_generic_ecam_conf_address,
                                            bdf, offset, valuep, size);
 }
@@ -88,6 +105,9 @@ static int pci_generic_ecam_write_config(struct udevice *bus, pci_dev_t bdf,
                                    uint offset, ulong value,
                                    enum pci_size_t size)
 {
+       if (!pci_generic_ecam_addr_valid(bus, bdf))
+               return 0;
+
        return pci_generic_mmap_write_config(bus, pci_generic_ecam_conf_address,
                                             bdf, offset, value, size);
 }
@@ -116,9 +136,17 @@ static int pci_generic_ecam_ofdata_to_platdata(struct udevice *dev)
                return err;
        }
 
-       pcie->cfg_base = map_physmem(reg_res.start,
-                                    fdt_resource_size(&reg_res),
-                                    MAP_NOCACHE);
+       pcie->size = fdt_resource_size(&reg_res);
+       pcie->cfg_base = map_physmem(reg_res.start, pcie->size, MAP_NOCACHE);
+
+       return 0;
+}
+
+static int pci_generic_ecam_probe(struct udevice *dev)
+{
+       struct generic_ecam_pcie *pcie = dev_get_priv(dev);
+
+       pcie->first_busno = dev->seq;
 
        return 0;
 }
@@ -138,6 +166,7 @@ U_BOOT_DRIVER(pci_generic_ecam) = {
        .id                     = UCLASS_PCI,
        .of_match               = pci_generic_ecam_ids,
        .ops                    = &pci_generic_ecam_ops,
+       .probe                  = pci_generic_ecam_probe,
        .ofdata_to_platdata     = pci_generic_ecam_ofdata_to_platdata,
        .priv_auto_alloc_size   = sizeof(struct generic_ecam_pcie),
 };
index bcddff2d7a05aa0653d192749abdf480f512a8a1..b30f223a5c208e467382a2d2c695870f65c613a1 100644 (file)
@@ -7,6 +7,7 @@
  * Stefano Babic, DENX Software Engineering, sbabic@denx.de
  *
  * (C) Copyright 2008-2009 Freescale Semiconductor, Inc.
+ * (C) Copyright 2019 NXP
  */
 
 #include <common.h>
@@ -21,8 +22,20 @@ int pmic_reg_write(struct pmic *p, u32 reg, u32 val)
 
        if (check_reg(p, reg))
                return -EINVAL;
+#if defined(CONFIG_DM_I2C)
+       struct udevice *dev;
+       int ret;
 
+       ret = i2c_get_chip_for_busnum(p->bus, pmic_i2c_addr,
+                                     1, &dev);
+       if (ret) {
+               printf("%s: Cannot find udev for a bus %d\n", __func__,
+                      p->bus);
+               return -ENXIO;
+       }
+#else /* Non DM I2C support - will be removed */
        I2C_SET_BUS(p->bus);
+#endif
 
        switch (pmic_i2c_tx_num) {
        case 3:
@@ -53,7 +66,11 @@ int pmic_reg_write(struct pmic *p, u32 reg, u32 val)
                return -EINVAL;
        }
 
+#if defined(CONFIG_DM_I2C)
+       return dm_i2c_write(dev, reg, buf, pmic_i2c_tx_num);
+#else
        return i2c_write(pmic_i2c_addr, reg, 1, buf, pmic_i2c_tx_num);
+#endif
 }
 
 int pmic_reg_read(struct pmic *p, u32 reg, u32 *val)
@@ -65,9 +82,21 @@ int pmic_reg_read(struct pmic *p, u32 reg, u32 *val)
        if (check_reg(p, reg))
                return -EINVAL;
 
-       I2C_SET_BUS(p->bus);
+#if defined(CONFIG_DM_I2C)
+       struct udevice *dev;
 
+       ret = i2c_get_chip_for_busnum(p->bus, pmic_i2c_addr,
+                                     1, &dev);
+       if (ret) {
+               printf("%s: Cannot find udev for a bus %d\n", __func__,
+                      p->bus);
+               return -ENXIO;
+       }
+       ret = dm_i2c_read(dev, reg, buf, pmic_i2c_tx_num);
+#else /* Non DM I2C support - will be removed */
+       I2C_SET_BUS(p->bus);
        ret = i2c_read(pmic_i2c_addr, reg, 1, buf, pmic_i2c_tx_num);
+#endif
        if (ret)
                return ret;
 
@@ -100,12 +129,25 @@ int pmic_reg_read(struct pmic *p, u32 reg, u32 *val)
 
 int pmic_probe(struct pmic *p)
 {
-       i2c_set_bus_num(p->bus);
        debug("Bus: %d PMIC:%s probed!\n", p->bus, p->name);
+#if defined(CONFIG_DM_I2C)
+       struct udevice *dev;
+       int ret;
+
+       ret = i2c_get_chip_for_busnum(p->bus, pmic_i2c_addr,
+                                     1, &dev);
+       if (ret) {
+               printf("%s: Cannot find udev for a bus %d\n", __func__,
+                      p->bus);
+               return -ENXIO;
+       }
+#else /* Non DM I2C support - will be removed */
+       i2c_set_bus_num(p->bus);
        if (i2c_probe(pmic_i2c_addr)) {
                printf("Can't find PMIC:%s\n", p->name);
                return -ENODEV;
        }
+#endif
 
        return 0;
 }
index dde4369c97ce73c483da4c0577b092af63e38c4e..899dfdbdf1f18f2848ea6905f54b0ea1d16b88a9 100644 (file)
@@ -8,6 +8,9 @@
 
 #include "ls1012a_common.h"
 
+#undef CONFIG_SYS_BOARD
+#define CONFIG_SYS_BOARD "ls1012afrwy"
+
 /* Board Rev*/
 #define BOARD_REV_A_B                  0x0
 #define BOARD_REV_C                    0x00080000
@@ -63,9 +66,9 @@
        "fdtheader_addr_r=0x80100000\0"         \
        "kernelheader_addr_r=0x80200000\0"      \
        "kernelheader_size=0x40000\0"           \
-       "kernel_addr_r=0x96000000\0"            \
+       "kernel_addr_r=0x92000000\0"            \
        "fdt_addr_r=0x90000000\0"               \
-       "load_addr=0x96000000\0"                \
+       "load_addr=0x92000000\0"                \
        "kernel_size=0x2800000\0"               \
        "kernelheader_size=0x40000\0"           \
        "console=ttyS0,115200\0"                \
index 1d218aa703d71393c2e958b65eb1382fbea8b725..7821e98a270e2785a27875815a278cb7dd9694a9 100644 (file)
 
 #define CONFIG_EXTRA_ENV_SETTINGS      \
        "bootargs=root=/dev/ram0 rw console=ttyS0,115200\0" \
-"initrd_high=0xffffffff\0"     \
-"fdt_high=0xffffffff\0"
+"initrd_high=0xffffffff\0"
 
 /*
  * Miscellaneous configurable options
  */
+#define CONFIG_SYS_BOOTMAPSZ           (256 << 20)
+
 #define CONFIG_CMD_GREPENV
 #define CONFIG_CMD_MEMINFO
 
index 8bac2d25612c978e4251721304327865df19578d..5a2bd754c4fff130e8b8eda71d7ca3ac0d871ebe 100644 (file)
@@ -460,13 +460,11 @@ unsigned long get_board_ddr_clk(void);
 #ifdef CONFIG_LPUART
 #define CONFIG_EXTRA_ENV_SETTINGS       \
        "bootargs=root=/dev/ram0 rw console=ttyLP0,115200\0" \
-       "fdt_high=0xffffffff\0"         \
        "initrd_high=0xffffffff\0"      \
        "hwconfig=fsl_ddr:ctlr_intlv=null,bank_intlv=null\0"
 #else
 #define CONFIG_EXTRA_ENV_SETTINGS      \
        "bootargs=root=/dev/ram0 rw console=ttyS0,115200\0" \
-       "fdt_high=0xffffffff\0"         \
        "initrd_high=0xffffffff\0"      \
        "hwconfig=fsl_ddr:ctlr_intlv=null,bank_intlv=null\0"
 #endif
@@ -474,6 +472,7 @@ unsigned long get_board_ddr_clk(void);
 /*
  * Miscellaneous configurable options
  */
+#define CONFIG_SYS_BOOTMAPSZ           (256 << 20)
 
 #define CONFIG_SYS_MEMTEST_START       0x80000000
 #define CONFIG_SYS_MEMTEST_END         0x9fffffff
index 984df6249f95b1a09ba9407284869d4f8645d405..46c60aaf5cbc3e8bb38307787ae80605b7c359f0 100644 (file)
 #define CONFIG_EXTRA_ENV_SETTINGS                                      \
        "bootargs=root=/dev/ram0 rw console=ttyS0,115200\0"             \
        "initrd_high=0xffffffff\0"                                      \
-       "fdt_high=0xffffffff\0"                                         \
        "fdt_addr=0x64f00000\0"                                         \
        "kernel_addr=0x61000000\0"                                      \
        "kernelheader_addr=0x60800000\0"                                \
                "bootm $load_addr#$board\0"
 
 /* Miscellaneous configurable options */
+#define CONFIG_SYS_BOOTMAPSZ           (256 << 20)
+
 #define CONFIG_SYS_CBSIZE              256     /* Console I/O Buffer Size */
 #define CONFIG_SYS_PBSIZE              \
                (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
index 8e2784b14bf6ee4fd0027bd5418320cb58493a64..a6289850ca1a1abbc50da03571ca3c5667fa9897 100644 (file)
 
 #ifdef CONFIG_LPUART
 #define CONFIG_EXTRA_ENV_SETTINGS       \
-       "bootargs=root=/dev/ram0 rw console=ttyLP0,115200\0" \
+       "bootargs=root=/dev/ram0 rw console=ttyLP0,115200 $othbootargs\0" \
        "initrd_high=0xffffffff\0"      \
-       "fdt_high=0xffffffff\0"         \
        "fdt_addr=0x64f00000\0"         \
        "kernel_addr=0x65000000\0"      \
        "scriptaddr=0x80000000\0"       \
        "kernel_size=0x2800000\0"       \
        "kernel_addr_sd=0x8000\0"       \
        "kernel_size_sd=0x14000\0"      \
-       "$othbootargs\0"                \
        "othbootargs=cma=64M@0x0-0xb0000000\0"  \
        BOOTENV                         \
        "boot_scripts=ls1021atwr_boot.scr\0"    \
                "$kernel_size && bootm $load_addr#$board\0"
 #else
 #define CONFIG_EXTRA_ENV_SETTINGS      \
-       "bootargs=root=/dev/ram0 rw console=ttyS0,115200\0" \
+       "bootargs=root=/dev/ram0 rw console=ttyS0,115200 $othbootargs\0" \
        "initrd_high=0xffffffff\0"      \
-       "fdt_high=0xffffffff\0"         \
        "fdt_addr=0x64f00000\0"         \
        "kernel_addr=0x61000000\0"      \
        "kernelheader_addr=0x60800000\0"        \
        "kernel_size_sd=0x14000\0"      \
        "kernelhdr_addr_sd=0x4000\0"            \
        "kernelhdr_size_sd=0x10\0"              \
-       "$othbootargs\0"                        \
        "othbootargs=cma=64M@0x0-0xb0000000\0"  \
        BOOTENV                         \
        "boot_scripts=ls1021atwr_boot.scr\0"    \
 /*
  * Miscellaneous configurable options
  */
+#define CONFIG_SYS_BOOTMAPSZ           (256 << 20)
 
 #define CONFIG_SYS_MEMTEST_START       0x80000000
 #define CONFIG_SYS_MEMTEST_END         0x9fffffff
index 05b8cf00ee1f7eb7fb33c6b3835183be9c9e2768..6905694d102cce79b589305aa5c323342a9aea05 100644 (file)
@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0+ */
 /*
- * Copyright 2019 NXP
+ * Copyright 2019-2020 NXP
  */
 
 #ifndef __L1028A_COMMON_H
 #define BOOT_TARGET_DEVICES(func) \
        func(MMC, mmc, 0) \
        func(MMC, mmc, 1) \
-       func(USB, usb, 0)
+       func(USB, usb, 0) \
+       func(DHCP, dhcp, na)
 #include <config_distro_bootcmd.h>
 
-/* Initial environment variables */
-#define CONFIG_EXTRA_ENV_SETTINGS              \
-       "board=ls1028ardb\0"                    \
-       "hwconfig=fsl_ddr:bank_intlv=auto\0"    \
-       "ramdisk_addr=0x800000\0"               \
-       "ramdisk_size=0x2000000\0"              \
-       "fdt_high=0xffffffffffffffff\0"         \
-       "initrd_high=0xffffffffffffffff\0"      \
-       "fdt_addr=0x00f00000\0"                 \
-       "kernel_addr=0x01000000\0"              \
-       "scriptaddr=0x80000000\0"               \
-       "scripthdraddr=0x80080000\0"            \
-       "fdtheader_addr_r=0x80100000\0"         \
-       "kernelheader_addr_r=0x80200000\0"      \
-       "load_addr=0xa0000000\0"            \
-       "kernel_addr_r=0x81000000\0"            \
-       "fdt_addr_r=0x90000000\0"               \
-       "ramdisk_addr_r=0xa0000000\0"           \
-       "kernel_start=0x1000000\0"              \
-       "kernelheader_start=0x800000\0"         \
-       "kernel_load=0xa0000000\0"              \
-       "kernel_size=0x2800000\0"               \
-       "kernelheader_size=0x40000\0"           \
-       "kernel_addr_sd=0x8000\0"               \
-       "kernel_size_sd=0x14000\0"              \
-       "kernelhdr_addr_sd=0x4000\0"            \
-       "kernelhdr_size_sd=0x10\0"              \
-       "console=ttyS0,115200\0"                \
-       "mtdparts=" CONFIG_MTDPARTS_DEFAULT "\0"        \
-       BOOTENV                                 \
-       "boot_scripts=ls1028ardb_boot.scr\0"    \
-       "boot_script_hdr=hdr_ls1028ardb_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"          \
-       "xspi_bootcmd=echo Trying load from FlexSPI flash ...;" \
-               "sf probe 0:0 && 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" \
-       "xspi_hdploadcmd=echo Trying load HDP firmware from FlexSPI...;" \
-               "sf probe 0:0 && sf read $load_addr 0x940000 0x30000 " \
-               "&& hdp load $load_addr 0x2000\0"                       \
-       "sd_bootcmd=echo Trying load from SD ...;" \
-               "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#$board\0"             \
-       "sd_hdploadcmd=echo Trying load HDP firmware from SD..;"        \
-               "mmcinfo;mmc read $load_addr 0x4a00 0x200 "             \
-               "&& hdp load $load_addr 0x2000\0"       \
-       "emmc_bootcmd=echo Trying load from EMMC ..;"   \
-               "mmcinfo; mmc dev 1; 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#$board\0"                     \
-       "emmc_hdploadcmd=echo Trying load HDP firmware from EMMC..;"      \
-               "mmc dev 1;mmcinfo;mmc read $load_addr 0x4a00 0x200 "   \
-               "&& hdp load $load_addr 0x2000\0"
-
 #undef CONFIG_BOOTCOMMAND
 
 #define XSPI_NOR_BOOTCOMMAND   \
index 982df07bb01365b162fcaac49d0e75350c657a40..818b994b907cd36d46d6de117538fda08a7d92be 100644 (file)
@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0+ */
 /*
- * Copyright 2019 NXP
+ * Copyright 2019-2020 NXP
  */
 
 #ifndef __LS1028A_QDS_H
@@ -90,8 +90,6 @@
        "hwconfig=fsl_ddr:bank_intlv=auto\0" \
        "ramdisk_addr=0x800000\0" \
        "ramdisk_size=0x2000000\0" \
-       "fdt_high=0xffffffffffffffff\0" \
-       "initrd_high=0xffffffffffffffff\0" \
        "fdt_addr=0x00f00000\0" \
        "kernel_addr=0x01000000\0" \
        "scriptaddr=0x80000000\0" \
        "load_addr=0xa0000000\0" \
        "kernel_addr_r=0x81000000\0" \
        "fdt_addr_r=0x90000000\0" \
+       "fdt2_addr_r=0x90010000\0" \
        "ramdisk_addr_r=0xa0000000\0" \
        "kernel_start=0x1000000\0" \
-       "kernelheader_start=0x800000\0" \
+       "kernelheader_start=0x600000\0" \
        "kernel_load=0xa0000000\0" \
        "kernel_size=0x2800000\0" \
        "kernelheader_size=0x40000\0" \
        "kernel_addr_sd=0x8000\0" \
        "kernel_size_sd=0x14000\0" \
-       "kernelhdr_addr_sd=0x4000\0" \
+       "kernelhdr_addr_sd=0x3000\0" \
        "kernelhdr_size_sd=0x10\0" \
        "console=ttyS0,115200\0" \
        "mtdparts=" CONFIG_MTDPARTS_DEFAULT "\0" \
                        "${scripthdraddr} ${prefix}${boot_script_hdr} " \
                        "&& esbc_validate ${scripthdraddr};" \
                "source ${scriptaddr}\0" \
-       "sd_bootcmd=echo Trying load from SD ..;" \
-               "mmcinfo; mmc read $load_addr " \
-               "$kernel_addr_sd $kernel_size_sd && " \
+       "xspi_bootcmd=echo Trying load from FlexSPI flash ...;" \
+               "sf probe 0:0 && 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" \
+       "xspi_hdploadcmd=echo Trying load HDP firmware from FlexSPI...;" \
+               "sf probe 0:0 && sf read $load_addr 0x940000 0x30000 " \
+               "&& hdp load $load_addr 0x2000\0"                       \
+       "sd_bootcmd=echo Trying load from SD ...;" \
+               "mmc dev 0; 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#$board\0" \
-       "emmc_bootcmd=echo Trying load from EMMC ..;" \
-               "mmcinfo; mmc dev 1; mmc read $load_addr " \
-               "$kernel_addr_sd $kernel_size_sd && " \
+               "$kernelhdr_addr_sd $kernelhdr_size_sd "                \
+               " && esbc_validate ${kernelheader_addr_r};"     \
+               "bootm $load_addr#$board\0"             \
+       "sd_hdploadcmd=echo Trying load HDP firmware from SD..;"        \
+               "mmc dev 0;mmcinfo; mmc read $load_addr 0x4a00 0x200 "  \
+               "&& hdp load $load_addr 0x2000\0"       \
+       "emmc_bootcmd=echo Trying load from EMMC ..;"   \
+               "mmc dev 1; 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 " \
+               "$kernelhdr_addr_sd $kernelhdr_size_sd "                \
                " && esbc_validate ${kernelheader_addr_r};"     \
-               "bootm $load_addr#$board\0"
+               "bootm $load_addr#$board\0"                     \
+       "emmc_hdploadcmd=echo Trying load HDP firmware from EMMC..;"      \
+               "mmc dev 1;mmcinfo;mmc read $load_addr 0x4a00 0x200 "   \
+               "&& hdp load $load_addr 0x2000\0"
+
 #endif
 #endif /* __LS1028A_QDS_H */
index a4c3d73d2a13ff8e78680f26f278e50d000d216c..0f289cb0780d9aa57b1509b68b3df6d884ca4894 100644 (file)
 #define CONFIG_SCSI_AHCI_PLAT
 #define CONFIG_SYS_SATA1                        AHCI_BASE_ADDR1
 
+/* Initial environment variables */
+#ifndef SPL_NO_ENV
+#undef CONFIG_EXTRA_ENV_SETTINGS
+#define CONFIG_EXTRA_ENV_SETTINGS              \
+       "board=ls1028ardb\0"                    \
+       "hwconfig=fsl_ddr:bank_intlv=auto\0"    \
+       "ramdisk_addr=0x800000\0"               \
+       "ramdisk_size=0x2000000\0"              \
+       "bootm_size=0x10000000\0"               \
+       "fdt_addr=0x00f00000\0"                 \
+       "kernel_addr=0x01000000\0"              \
+       "scriptaddr=0x80000000\0"               \
+       "scripthdraddr=0x80080000\0"            \
+       "fdtheader_addr_r=0x80100000\0"         \
+       "kernelheader_addr_r=0x80200000\0"      \
+       "load_addr=0xa0000000\0"            \
+       "kernel_addr_r=0x81000000\0"            \
+       "fdt_addr_r=0x90000000\0"               \
+       "ramdisk_addr_r=0xa0000000\0"           \
+       "kernel_start=0x1000000\0"              \
+       "kernelheader_start=0x600000\0"         \
+       "kernel_load=0xa0000000\0"              \
+       "kernel_size=0x2800000\0"               \
+       "kernelheader_size=0x40000\0"           \
+       "kernel_addr_sd=0x8000\0"               \
+       "kernel_size_sd=0x14000\0"              \
+       "kernelhdr_addr_sd=0x3000\0"            \
+       "kernelhdr_size_sd=0x20\0"              \
+       "console=ttyS0,115200\0"                \
+       "mtdparts=" CONFIG_MTDPARTS_DEFAULT "\0"        \
+       BOOTENV                                 \
+       "boot_scripts=ls1028ardb_boot.scr\0"    \
+       "boot_script_hdr=hdr_ls1028ardb_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"          \
+       "xspi_bootcmd=echo Trying load from FlexSPI flash ...;" \
+               "sf probe 0:0 && 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" \
+       "xspi_hdploadcmd=echo Trying load HDP firmware from FlexSPI...;" \
+               "sf probe 0:0 && sf read $load_addr 0x940000 0x30000 " \
+               "&& hdp load $load_addr 0x2000\0"                       \
+       "sd_bootcmd=echo Trying load from SD ...;" \
+               "mmc dev 0;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#$board\0"             \
+       "sd_hdploadcmd=echo Trying load HDP firmware from SD..;"        \
+               "mmc dev 0;mmcinfo;mmc read $load_addr 0x4a00 0x200 "   \
+               "&& hdp load $load_addr 0x2000\0"       \
+       "emmc_bootcmd=echo Trying load from EMMC ..;"   \
+               "mmc dev 1;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#$board\0"                     \
+       "emmc_hdploadcmd=echo Trying load HDP firmware from EMMC..;"      \
+               "mmc dev 1;mmcinfo;mmc read $load_addr 0x4a00 0x200 "   \
+               "&& hdp load $load_addr 0x2000\0"
+#endif
 #endif /* __LS1028A_RDB_H */
index bf24d4036d2a0b809cc226b5491ce3b2df2f9b3e..985f40412c679d5c54a1390a46ce4c5ed1a66138 100644 (file)
@@ -1,6 +1,7 @@
 /* SPDX-License-Identifier: GPL-2.0+ */
 /*
  * Copyright (C) 2015 Freescale Semiconductor
+ * Copyright (C) 2019 NXP
  */
 
 #ifndef __LS1043A_COMMON_H
 #endif
 
 /* I2C */
+#ifndef CONFIG_DM_I2C
 #define CONFIG_SYS_I2C
+#define CONFIG_SYS_I2C_MXC
+#define CONFIG_SYS_I2C_MXC_I2C1                /* enable I2C bus 1 */
+#define CONFIG_SYS_I2C_MXC_I2C2                /* enable I2C bus 2 */
+#define CONFIG_SYS_I2C_MXC_I2C3                /* enable I2C bus 3 */
+#define CONFIG_SYS_I2C_MXC_I2C4                /* enable I2C bus 4 */
+#else
+#define CONFIG_I2C_SET_DEFAULT_BUS_NUM
+#define CONFIG_I2C_DEFAULT_BUS_NUMBER 0
+#endif
 
 /* PCIe */
 #ifndef SPL_NO_PCIE
index 3944f877942bdb788a672380fa46023c446545b5..e80c2996ef9647e21e2dad0a4fd06eb57d68047f 100644 (file)
@@ -16,6 +16,7 @@
 #define SPL_NO_QSPI
 #define SPL_NO_USB
 #define SPL_NO_SATA
+#undef CONFIG_DM_I2C
 #endif
 #if defined(CONFIG_SPL_BUILD) && \
        (defined(CONFIG_NAND_BOOT) || defined(CONFIG_QSPI_BOOT))
 #endif
 
 /* I2C */
+#ifndef CONFIG_DM_I2C
 #define CONFIG_SYS_I2C
+#define CONFIG_SYS_I2C_MXC
+#define CONFIG_SYS_I2C_MXC_I2C1                /* enable I2C bus 1 */
+#define CONFIG_SYS_I2C_MXC_I2C2                /* enable I2C bus 2 */
+#define CONFIG_SYS_I2C_MXC_I2C3                /* enable I2C bus 3 */
+#define CONFIG_SYS_I2C_MXC_I2C4                /* enable I2C bus 4 */
+#else
+#define CONFIG_I2C_SET_DEFAULT_BUS_NUM
+#define CONFIG_I2C_DEFAULT_BUS_NUMBER 0
+#endif
 
 /* PCIe */
 #define CONFIG_PCIE1           /* PCIE controller 1 */
        "hwconfig=fsl_ddr:bank_intlv=auto\0"    \
        "ramdisk_addr=0x800000\0"               \
        "ramdisk_size=0x2000000\0"              \
-       "fdt_high=0xffffffffffffffff\0"         \
-       "initrd_high=0xffffffffffffffff\0"      \
+       "bootm_size=0x10000000\0"               \
        "fdt_addr=0x64f00000\0"                 \
        "kernel_addr=0x65000000\0"              \
        "scriptaddr=0x80000000\0"               \
index 361c72fc8c96fd78130e56221e07c21884579c5f..4ac4a8d85686655e8069ceef185331e7247fcd55 100644 (file)
@@ -443,19 +443,47 @@ unsigned long get_board_ddr_clk(void);
        "mcinitcmd=sf probe 0:0;sf read 0x80000000 0xA00000 0x100000;"  \
        "sf read 0x80100000 0xE00000 0x100000;" \
        "fsl_mc start mc 0x80000000 0x80100000\0"       \
-       "mcmemsize=0x70000000 \0"
-#define QSPI_NOR_BOOTCOMMAND   "sf probe 0:0;" \
-                               "sf read 0x80001000 0xd00000 0x100000;"\
-                               " fsl_mc lazyapply dpl 0x80001000 &&" \
-                               " sf read $kernel_load $kernel_start" \
-                               " $kernel_size && bootm $kernel_load"
-#define SD_BOOTCOMMAND         "mmcinfo;mmc read 0x80001000 0x6800 0x800;"\
-                               " fsl_mc lazyapply dpl 0x80001000 &&" \
-                               " mmc read $kernel_load $kernel_start_sd" \
-                               " $kernel_size_sd && bootm $kernel_load"
-#define IFC_NOR_BOOTCOMMAND    "fsl_mc lazyapply dpl 0x580d00000 &&" \
-                               " cp.b $kernel_start $kernel_load" \
-                               " $kernel_size && bootm $kernel_load"
+       "mcmemsize=0x70000000 \0"               \
+       "BOARD=ls1088aqds\0" \
+       "scriptaddr=0x80000000\0"               \
+       "scripthdraddr=0x80080000\0"            \
+       BOOTENV                                 \
+       "boot_scripts=ls1088aqds_boot.scr\0"    \
+       "boot_script_hdr=hdr_ls1088aqds_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"                                        \
+       "boot_a_script="                                        \
+               "load ${devtype} ${devnum}:${distro_bootpart} " \
+               "${scriptaddr} ${prefix}${script}; "            \
+       "env exists secureboot && load ${devtype} "             \
+               "${devnum}:${distro_bootpart} "                 \
+               "${scripthdraddr} ${prefix}${boot_script_hdr}; "\
+               "env exists secureboot "                        \
+               "&& esbc_validate ${scripthdraddr};"            \
+               "source ${scriptaddr}\0"                        \
+       "qspi_bootcmd=echo Trying load from qspi..; " \
+               "sf probe 0:0; " \
+               "sf read 0x80001000 0xd00000 0x100000; " \
+               "fsl_mc lazyapply dpl 0x80001000 && " \
+               "sf read $kernel_load $kernel_start " \
+               "$kernel_size && bootm $kernel_load#$BOARD\0" \
+       "sd_bootcmd=echo Trying load from sd card..; " \
+               "mmcinfo;mmc read 0x80001000 0x6800 0x800; "\
+               "fsl_mc lazyapply dpl 0x80001000 && " \
+               "mmc read $kernel_load $kernel_start_sd " \
+               "$kernel_size_sd && bootm $kernel_load#$BOARD\0" \
+       "nor_bootcmd=echo Trying load from nor..; " \
+               "fsl_mc lazyapply dpl 0x580d00000 && " \
+               "cp.b $kernel_start $kernel_load " \
+               "$kernel_size && bootm $kernel_load#$BOARD\0"
 #else
 #if defined(CONFIG_QSPI_BOOT)
 #undef CONFIG_EXTRA_ENV_SETTINGS
@@ -510,6 +538,15 @@ unsigned long get_board_ddr_clk(void);
 #endif /* CONFIG_TFABOOT */
 #endif /* CONFIG_NXP_ESBC */
 
+#ifdef CONFIG_TFABOOT
+#define QSPI_NOR_BOOTCOMMAND "run distro_bootcmd; run qspi_bootcmd; "  \
+                          "env exists secureboot && esbc_halt;;"
+#define IFC_NOR_BOOTCOMMAND "run distro_bootcmd; run nor_bootcmd; "    \
+                          "env exists secureboot && esbc_halt;;"
+#define SD_BOOTCOMMAND "run distro_bootcmd; run sd_bootcmd; "  \
+                          "env exists secureboot && esbc_halt;;"
+#endif
+
 #ifdef CONFIG_FSL_MC_ENET
 #define CONFIG_FSL_MEMAC
 #define        CONFIG_PHYLIB
index 88da69f36f0da9fe108be461ddddcb173e8517bb..e93faab9a4634d162c53647c89d4ccbfdc4dc5c9 100644 (file)
@@ -383,7 +383,30 @@ unsigned long get_board_ddr_clk(void);
        "kernelheader_size=0x40000\0"           \
        "BOARD=ls2088aqds\0" \
        "mcmemsize=0x70000000 \0" \
+       "scriptaddr=0x80000000\0"               \
+       "scripthdraddr=0x80080000\0"            \
        IFC_MC_INIT_CMD                         \
+       BOOTENV                                 \
+       "boot_scripts=ls2088aqds_boot.scr\0"    \
+       "boot_script_hdr=hdr_ls2088aqds_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"                                        \
+       "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"                        \
        "nor_bootcmd=echo Trying load from nor..;"              \
                "cp.b $kernel_addr $load_addr "                 \
                "$kernel_size ; env exists secureboot && "      \
@@ -429,6 +452,13 @@ unsigned long get_board_ddr_clk(void);
 #endif /* CONFIG_NXP_ESBC */
 
 #ifdef CONFIG_TFABOOT
+#define BOOT_TARGET_DEVICES(func) \
+       func(USB, usb, 0) \
+       func(MMC, mmc, 0) \
+       func(SCSI, scsi, 0) \
+       func(DHCP, dhcp, na)
+#include <config_distro_bootcmd.h>
+
 #define SD_BOOTCOMMAND                                         \
                        "env exists mcinitcmd && env exists secureboot "\
                        "&& mmcinfo && mmc read $load_addr 0x3600 0x800 " \
@@ -436,14 +466,14 @@ unsigned long get_board_ddr_clk(void);
                        "env exists mcinitcmd && run mcinitcmd "        \
                        "&& mmc read 0x80d00000 0x6800 0x800 "          \
                        "&& fsl_mc lazyapply dpl 0x80d00000; "          \
-                       "run sd_bootcmd; "              \
+                       "run distro_bootcmd;run sd_bootcmd; "           \
                        "env exists secureboot && esbc_halt;"
 
 #define IFC_NOR_BOOTCOMMAND                                            \
                        "env exists mcinitcmd && env exists secureboot "\
                        "&& esbc_validate 0x5806C0000; env exists mcinitcmd "\
                        "&& fsl_mc lazyapply dpl 0x580d00000;"          \
-                       "run nor_bootcmd; "             \
+                       "run distro_bootcmd;run nor_bootcmd; "          \
                        "env exists secureboot && esbc_halt;"
 #endif
 
index 373daebfbc467a6327d7fd7fc5afd68241e858df..d47abf6e65799ddd32fcfb90ee58fe75974b7e45 100644 (file)
@@ -187,11 +187,15 @@ unsigned long get_board_ddr_clk(void);
 #define CONFIG_SYS_BOOTM_LEN   (64 << 20)      /* Increase max gunzip size */
 
 /* Initial environment variables */
-#define XSPI_MC_INIT_CMD                       \
-       "env exists secureboot && "             \
-       "esbc_validate 0x20640000 && "          \
-       "esbc_validate 0x20680000 ;"            \
-       "fsl_mc start mc 0x20a00000 0x20e00000\0"
+#define XSPI_MC_INIT_CMD                               \
+       "sf probe 0:0 && "                              \
+       "sf read 0x80640000 0x640000 0x80000 && "       \
+       "env exists secureboot && "                     \
+       "esbc_validate 0x80640000 && "                  \
+       "esbc_validate 0x80680000; "                    \
+       "sf read 0x80a00000 0xa00000 0x300000 && "      \
+       "sf read 0x80e00000 0xe00000 0x100000; "        \
+       "fsl_mc start mc 0x80a00000 0x80e00000\0"
 
 #define SD_MC_INIT_CMD                         \
        "mmc read 0x80a00000 0x5000 0x1200;"    \
@@ -249,10 +253,13 @@ unsigned long get_board_ddr_clk(void);
                "source ${scriptaddr}\0"
 
 #define XSPI_NOR_BOOTCOMMAND                                           \
-                       "env exists mcinitcmd && env exists secureboot "\
-                       "&& esbc_validate 0x206C0000; "                 \
+                       "sf probe 0:0; "                                \
+                       "sf read 0x806c0000 0x6c0000 0x40000; "         \
+                       "env exists mcinitcmd && env exists secureboot" \
+                       " && esbc_validate 0x806c0000; "                \
+                       "sf read 0x80d00000 0xd00000 0x100000; "        \
                        "env exists mcinitcmd && "                      \
-                       "fsl_mc lazyapply dpl 0x20d00000; "             \
+                       "fsl_mc lazyapply dpl 0x80d00000; "             \
                        "run distro_bootcmd;run xspi_bootcmd; "         \
                        "env exists secureboot && esbc_halt;"
 
@@ -266,10 +273,22 @@ unsigned long get_board_ddr_clk(void);
                "run distro_bootcmd;run sd_bootcmd;"            \
                "env exists secureboot && esbc_halt;"
 
+#define SD2_BOOTCOMMAND                                                \
+               "env exists mcinitcmd && mmcinfo; "             \
+               "mmc read 0x80d00000 0x6800 0x800; "            \
+               "env exists mcinitcmd && env exists secureboot "        \
+               " && mmc read 0x80780000 0x3C00 0x20 "          \
+               "&& esbc_validate 0x80780000;env exists mcinitcmd "     \
+               "&& fsl_mc lazyapply dpl 0x80d00000;"           \
+               "run distro_bootcmd;run sd2_bootcmd;"           \
+               "env exists secureboot && esbc_halt;"
+
 #define BOOT_TARGET_DEVICES(func) \
        func(USB, usb, 0) \
        func(MMC, mmc, 0) \
-       func(SCSI, scsi, 0)
+       func(MMC, mmc, 1) \
+       func(SCSI, scsi, 0) \
+       func(DHCP, dhcp, na)
 #include <config_distro_bootcmd.h>
 
 #endif /* __LX2_COMMON_H */
index 1eb63d826f9752fab7f1a9f0c0f1934e1e31af7d..3dd071fa25aaafbf2d894ed8291aeb3e61cc4798 100644 (file)
@@ -121,7 +121,6 @@ u8 qixis_esdhc_detect_quirk(void);
 /* Initial environment variables */
 #define CONFIG_EXTRA_ENV_SETTINGS              \
        EXTRA_ENV_SETTINGS                      \
-       "lx2160aqds_vdd_mv=800\0"               \
        "boot_scripts=lx2160aqds_boot.scr\0"    \
        "boot_script_hdr=hdr_lx2160aqds_bs.out\0"       \
        "BOARD=lx2160aqds\0"                    \
@@ -137,6 +136,13 @@ u8 qixis_esdhc_detect_quirk(void);
                "env exists secureboot && mmc read $kernelheader_addr_r "\
                "$kernelhdr_addr_sd $kernelhdr_size_sd "        \
                " && esbc_validate ${kernelheader_addr_r};"     \
+               "bootm $load_addr#$BOARD\0"                     \
+       "sd2_bootcmd=echo Trying load from emmc card..;"        \
+               "mmc dev 1; 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#$BOARD\0"
 
 #include <asm/fsl_secure_boot.h>
index 82d49e53abdd399e73360d52814c71daa59e89d7..f54edf356a2271ac4b7fd4a12ed92d3caa22019b 100644 (file)
@@ -93,7 +93,6 @@
        EXTRA_ENV_SETTINGS                      \
        "boot_scripts=lx2160ardb_boot.scr\0"    \
        "boot_script_hdr=hdr_lx2160ardb_bs.out\0"       \
-       "lx2160ardb_vdd_mv=800\0"               \
        "BOARD=lx2160ardb\0"                    \
        "xspi_bootcmd=echo Trying load from flexspi..;"         \
                "sf probe 0:0 && sf read $load_addr "           \
                "env exists secureboot && mmc read $kernelheader_addr_r "\
                "$kernelhdr_addr_sd $kernelhdr_size_sd "        \
                " && esbc_validate ${kernelheader_addr_r};"     \
+               "bootm $load_addr#$BOARD\0"                     \
+       "sd2_bootcmd=echo Trying load from emmc card..;"        \
+               "mmc dev 1; 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#$BOARD\0"
 
 #include <asm/fsl_secure_boot.h>