Merge branch 'next'
authorTom Rini <trini@konsulko.com>
Mon, 9 Jan 2023 16:30:08 +0000 (11:30 -0500)
committerTom Rini <trini@konsulko.com>
Mon, 9 Jan 2023 16:30:08 +0000 (11:30 -0500)
Signed-off-by: Tom Rini <trini@konsulko.com>
38 files changed:
1  2 
.azure-pipelines.yml
Makefile
arch/powerpc/cpu/mpc85xx/Kconfig
boot/Kconfig
boot/pxe_utils.c
cmd/Kconfig
common/memsize.c
common/spl/Kconfig
configs/P1010RDB-PA_36BIT_NOR_defconfig
configs/P1010RDB-PA_NOR_defconfig
configs/P1010RDB-PB_36BIT_NOR_defconfig
configs/P1010RDB-PB_NOR_defconfig
configs/P1020RDB-PC_36BIT_defconfig
configs/P1020RDB-PC_defconfig
configs/P1020RDB-PD_defconfig
configs/P2020RDB-PC_36BIT_defconfig
configs/P2020RDB-PC_defconfig
configs/evb-rk3288_defconfig
configs/evb-rk3568_defconfig
configs/firefly-rk3288_defconfig
configs/ge_b1x5v2_defconfig
configs/ge_bx50v3_defconfig
configs/miqi-rk3288_defconfig
configs/mx53ppd_defconfig
configs/roc-pc-rk3399_defconfig
configs/rock-pi-4-rk3399_defconfig
configs/rock-pi-4c-rk3399_defconfig
configs/rock-pi-n8-rk3288_defconfig
configs/sandbox_defconfig
configs/stm32mp15_dhcom_basic_defconfig
configs/stm32mp15_dhcor_basic_defconfig
configs/tinker-rk3288_defconfig
configs/tinker-s-rk3288_defconfig
configs/vyasa-rk3288_defconfig
doc/board/ti/am335x_evm.rst
drivers/net/tsec.c
drivers/timer/orion-timer.c
include/configs/vexpress_common.h

diff --combined .azure-pipelines.yml
@@@ -2,7 -2,7 +2,7 @@@ variables
    windows_vm: windows-2019
    ubuntu_vm: ubuntu-22.04
    macos_vm: macOS-12
-   ci_runner_image: trini/u-boot-gitlab-ci-runner:jammy-20221003-17Oct2022
+   ci_runner_image: trini/u-boot-gitlab-ci-runner:jammy-20221101-22Nov2022
    # Add '-u 0' options for Azure pipelines, otherwise we get "permission
    # denied" error when it tries to "useradd -m -u 1001 vsts_azpcontainer",
    # since our $(ci_runner_image) user is not root.
@@@ -30,7 -30,7 +30,7 @@@ stages
            %CD:~0,2%\msys64\usr\bin\bash -lc "pacman --noconfirm --needed -Sy make gcc bison flex diffutils openssl-devel libgnutls-devel libutil-linux-devel"
          displayName: 'Install Toolchain'
        - script: |
-           echo make tools-only_defconfig tools-only NO_SDL=1 > build-tools.sh
+           echo make tools-only_defconfig tools-only > build-tools.sh
            %CD:~0,2%\msys64\usr\bin\bash -lc "bash build-tools.sh"
          displayName: 'Build Host Tools'
          env:
        - script: brew install make ossp-uuid
          displayName: Brew install dependencies
        - script: |
-           gmake tools-only_config tools-only NO_SDL=1 \
+           gmake tools-only_config tools-only \
              HOSTCFLAGS="-I/usr/local/opt/openssl@1.1/include" \
              HOSTLDFLAGS="-L/usr/local/opt/openssl@1.1/lib" \
              -j$(sysctl -n hw.logicalcpu)
          displayName: 'Perform tools-only build'
  
-   - job: check_for_migrated_symbols_in_board_header
-     displayName: 'Check for migrated symbols in board header'
+   - job: check_for_new_CONFIG_symbols_outside_Kconfig
+     displayName: 'Check for new CONFIG symbols outside Kconfig'
      pool:
        vmImage: $(ubuntu_vm)
      container:
        image: $(ci_runner_image)
        options: $(container_option)
      steps:
-       - script: |
-           KSYMLST=`mktemp`
-           KUSEDLST=`mktemp`
-           RET=0
-           cat `find . -name "Kconfig*"` | \
-              sed -n -e 's/^\s*config *\([A-Za-z0-9_]*\).*$/CONFIG_\1/p' \
-              -e 's/^\s*menuconfig *\([A-Za-z0-9_]*\).*$/CONFIG_\1/p' \
-              | sort -u > $KSYMLST
-           for CFG in `find include/configs -name "*.h"`; do
-              (grep '#define[[:blank:]]CONFIG_' $CFG | \
-                 sed -n 's/#define.\(CONFIG_[A-Za-z0-9_]*\).*/\1/p' ; \
-                 grep '#undef[[:blank:]]CONFIG_' $CFG | \
-                 sed -n 's/#undef.\(CONFIG_[A-Za-z0-9_]*\).*/\1/p') | \
-                 sort -u > ${KUSEDLST} || true
-              NUM=`comm -123 --total --output-delimiter=, ${KSYMLST} ${KUSEDLST} | \
-                 cut -d , -f 3`
-              if [[ $NUM -ne 0 ]]; then
-                 echo "Unmigrated symbols found in $CFG:"
-                 comm -12 ${KSYMLST} ${KUSEDLST}
-                 RET=1
-              fi
-           done
-           exit $RET
+       # If grep succeeds and finds a match the test fails as we should
+       # have no matches.
+       - script: git grep -E '^#[[:blank:]]*(define|undef)[[:blank:]]*CONFIG_'
+                   include/configs `find arch -name config.h` && exit 1 || exit 0
  
    - job: cppcheck
      displayName: 'Static code analysis with cppcheck'
        options: $(container_option)
      steps:
        - script: |
-           export PATH=/opt/gcc-11.1.0-nolibc/arm-linux-gnueabi/bin:$PATH
+           export PATH=/opt/gcc-12.2.0-nolibc/arm-linux-gnueabi/bin:$PATH
            test/nokia_rx51_test.sh
  
    - job: pylint
            TEST_PY_BD: "sandbox"
          sandbox_clang:
            TEST_PY_BD: "sandbox"
-           OVERRIDE: "-O clang-13"
+           OVERRIDE: "-O clang-14"
          sandbox_nolto:
            TEST_PY_BD: "sandbox"
            BUILD_ENV: "NO_LTO=1"
        matrix:
          arc_microblaze_xtensa:
            BUILDMAN: "arc microblaze xtensa"
 +        amlogic:
 +          BUILDMAN: "amlogic"
          arm11_arm7_arm920t_arm946es:
            BUILDMAN: "arm11 arm7 arm920t arm946es"
          arm926ejs:
          imx6:
            BUILDMAN: "mx6 -x boundary,engicam,freescale,technexion,toradex"
          imx:
 -          BUILDMAN: "mx -x mx6,freescale,technexion,toradex"
 -        imx8:
 -          BUILDMAN: "imx8"
 +          BUILDMAN: "mx -x mx6,imx8,freescale,technexion,toradex"
 +        imx8_imx9:
 +          BUILDMAN: "imx8 imx9"
          keystone2_keystone3:
            BUILDMAN: "k2 k3"
          sandbox_asan:
            OVERRIDE: "-a ASAN"
          sandbox_clang_asan:
            BUILDMAN: "sandbox"
-           OVERRIDE: "-O clang-13 -a ASAN"
+           OVERRIDE: "-O clang-14 -a ASAN"
          samsung_socfpga:
            BUILDMAN: "samsung socfpga"
          sun4i:
          uniphier:
            BUILDMAN: "uniphier"
          aarch64_catch_all:
 -          BUILDMAN: "aarch64 -x bcm,imx8,k3,tegra,ls1,ls2,lx216,mvebu,uniphier,renesas,sunxi,samsung,socfpga,rk,versal,zynq"
 -        rockchip:
 -          BUILDMAN: "rk"
 +          BUILDMAN: "aarch64 -x amlogic,bcm,imx8,imx9,k3,tegra,ls1,ls2,lx216,mvebu,uniphier,renesas,sunxi,samsung,socfpga,rk,versal,zynq"
 +        rockchip_32bit:
 +          BUILDMAN: "rk -x aarch64"
 +        rockchip_64bit:
 +          BUILDMAN: "rk&aarch64"
          renesas:
            BUILDMAN: "renesas"
          zynq:
diff --combined Makefile
+++ b/Makefile
@@@ -3,7 -3,7 +3,7 @@@
  VERSION = 2023
  PATCHLEVEL = 01
  SUBLEVEL =
 -EXTRAVERSION = -rc4
 +EXTRAVERSION =
  NAME =
  
  # *DOCUMENTATION*
@@@ -761,10 -761,10 +761,10 @@@ KBUILD_CFLAGS += $(call cc-disable-warn
  # change __FILE__ to the relative path from the srctree
  KBUILD_CFLAGS += $(call cc-option,-fmacro-prefix-map=$(srctree)/=)
  
- KBUILD_CFLAGS += -g
+ KBUILD_CFLAGS += -gdwarf-4
  # $(KBUILD_AFLAGS) sets -g, which causes gcc to pass a suitable -g<format>
  # option to the assembler.
- KBUILD_AFLAGS += -g
+ KBUILD_AFLAGS += -gdwarf-4
  
  # Report stack usage if supported
  # ARC tools based on GCC 7.1 has an issue with stack usage
@@@ -806,6 -806,8 +806,8 @@@ KBUILD_CPPFLAGS += $(KCPPFLAGS
  KBUILD_AFLAGS += $(KAFLAGS)
  KBUILD_CFLAGS += $(KCFLAGS)
  
+ KBUILD_LDFLAGS  += $(call ld-option,--no-warn-rwx-segments)
  KBUILD_HOSTCFLAGS += $(if $(CONFIG_TOOLS_DEBUG),-g)
  
  # Use UBOOTINCLUDE when you must reference the include/ directory.
@@@ -1073,10 -1075,6 +1075,6 @@@ cmd_lzma = lzma -c -z -k -9 $< > $
  
  cfg: u-boot.cfg
  
- quiet_cmd_cfgcheck = CFGCHK  $2
- cmd_cfgcheck = $(srctree)/scripts/check-config.sh $2 \
-               $(srctree)/scripts/config_whitelist.txt $(srctree)
  quiet_cmd_ofcheck = OFCHK   $2
  cmd_ofcheck = $(srctree)/scripts/check-of.sh $2 \
                $(srctree)/scripts/of_allowlist.txt
@@@ -1138,16 -1136,12 +1136,12 @@@ endi
        $(call deprecated,CONFIG_WDT,DM watchdog,v2019.10,\
                $(CONFIG_WATCHDOG)$(CONFIG_HW_WATCHDOG))
        $(call deprecated,CONFIG_DM_I2C,I2C drivers,v2022.04,$(CONFIG_SYS_I2C_LEGACY))
-       @# CONFIG_SYS_TIMER_RATE has brackets in it for some boards which
+       @# CFG_SYS_TIMER_RATE has brackets in it for some boards which
        @# confuses this rule. Use if() to send just a single character which
        @# is enable to tell 'deprecated' that one of these symbols exists
-       $(call deprecated,CONFIG_TIMER,Timer drivers,v2023.01,$(if $(strip $(CONFIG_SYS_TIMER_RATE)$(CONFIG_SYS_TIMER_COUNTER)),x))
+       $(call deprecated,CONFIG_TIMER,Timer drivers,v2023.01,$(if $(strip $(CFG_SYS_TIMER_RATE)$(CFG_SYS_TIMER_COUNTER)),x))
        $(call deprecated,CONFIG_DM_SERIAL,Serial drivers,v2023.04,$(CONFIG_SERIAL))
        $(call deprecated,CONFIG_DM_SCSI,SCSI drivers,v2023.04,$(CONFIG_SCSI))
-       @# Check that this build does not use CONFIG options that we do not
-       @# know about unless they are in Kconfig. All the existing CONFIG
-       @# options are whitelisted, so new ones should not be added.
-       $(call cmd,cfgcheck,u-boot.cfg)
        @# Check that this build does not override OF_HAS_PRIOR_STAGE by
        @# disabling OF_BOARD.
        $(call cmd,ofcheck,$(KCONFIG_CONFIG))
@@@ -1361,8 -1355,8 +1355,8 @@@ u-boot.ldr.hex u-boot.ldr.srec: u-boot.
  # U-Boot entry point, needed for booting of full-blown U-Boot
  # from the SPL U-Boot version.
  #
- ifndef CONFIG_SYS_UBOOT_START
- CONFIG_SYS_UBOOT_START := $(CONFIG_TEXT_BASE)
+ ifndef CFG_SYS_UBOOT_START
+ CFG_SYS_UBOOT_START := $(CONFIG_TEXT_BASE)
  endif
  
  # Boards with more complex image requirements can provide an .its source file
@@@ -1387,7 -1381,7 +1381,7 @@@ endi
  
  ifdef CONFIG_SPL_LOAD_FIT
  MKIMAGEFLAGS_u-boot.img = -f auto -A $(ARCH) -T firmware -C none -O u-boot \
-       -a $(CONFIG_TEXT_BASE) -e $(CONFIG_SYS_UBOOT_START) \
+       -a $(CONFIG_TEXT_BASE) -e $(CFG_SYS_UBOOT_START) \
        -p $(CONFIG_FIT_EXTERNAL_OFFSET) \
        -n "U-Boot $(UBOOTRELEASE) for $(BOARD) board" -E \
        $(patsubst %,-b arch/$(ARCH)/dts/%.dtb,$(subst ",,$(DEVICE_TREE))) \
        $(patsubst %,-b arch/$(ARCH)/dts/%.dtbo,$(subst ",,$(CONFIG_OF_OVERLAY_LIST)))
  else
  MKIMAGEFLAGS_u-boot.img = -A $(ARCH) -T firmware -C none -O u-boot \
-       -a $(CONFIG_TEXT_BASE) -e $(CONFIG_SYS_UBOOT_START) \
+       -a $(CONFIG_TEXT_BASE) -e $(CFG_SYS_UBOOT_START) \
        -n "U-Boot $(UBOOTRELEASE) for $(BOARD) board"
  MKIMAGEFLAGS_u-boot-ivt.img = -A $(ARCH) -T firmware_ivt -C none -O u-boot \
-       -a $(CONFIG_TEXT_BASE) -e $(CONFIG_SYS_UBOOT_START) \
+       -a $(CONFIG_TEXT_BASE) -e $(CFG_SYS_UBOOT_START) \
        -n "U-Boot $(UBOOTRELEASE) for $(BOARD) board"
  u-boot-ivt.img: MKIMAGEOUTPUT = u-boot-ivt.img.log
  endif
@@@ -1429,7 -1423,7 +1423,7 @@@ MKIMAGEFLAGS_u-boot.pbl = -n $(srctree)
  UBOOT_BIN := u-boot.bin
  
  MKIMAGEFLAGS_u-boot-lzma.img = -A $(ARCH) -T standalone -C lzma -O u-boot \
-       -a $(CONFIG_TEXT_BASE) -e $(CONFIG_SYS_UBOOT_START) \
+       -a $(CONFIG_TEXT_BASE) -e $(CFG_SYS_UBOOT_START) \
        -n "U-Boot $(UBOOTRELEASE) for $(BOARD) board"
  
  u-boot.bin.lzma: u-boot.bin FORCE
@@@ -2372,7 -2366,7 +2366,7 @@@ tcheck
  # Documentation targets
  # ---------------------------------------------------------------------------
  DOC_TARGETS := xmldocs latexdocs pdfdocs htmldocs epubdocs cleandocs \
 -             linkcheckdocs dochelp refcheckdocs
 +             linkcheckdocs dochelp refcheckdocs texinfodocs infodocs
  PHONY += $(DOC_TARGETS)
  $(DOC_TARGETS): scripts_basic FORCE
        $(Q)$(MAKE) $(build)=doc $@
@@@ -2439,11 -2433,13 +2433,13 @@@ endi
        $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
  
  quiet_cmd_genenv = GENENV  $@
- cmd_genenv = $(OBJCOPY) --dump-section .rodata.default_environment=$@ env/common.o; \
-       sed --in-place -e 's/\x00/\x0A/g' $@; sed --in-place -e '/^\s*$$/d' $@; \
-       sort --field-separator== -k1,1 --stable $@ -o $@
+ cmd_genenv = \
+       $(objtree)/tools/printinitialenv | \
+       sed -e '/^\s*$$/d' | \
+       sort --field-separator== -k1,1 --stable -o $@
  
- u-boot-initial-env: u-boot.bin
+ u-boot-initial-env: $(env_h) FORCE
+       $(Q)$(MAKE) $(build)=tools $(objtree)/tools/printinitialenv
        $(call if_changed,genenv)
  
  # Consistency checks
@@@ -1,6 -1,19 +1,19 @@@
  menu "mpc85xx CPU"
        depends on MPC85xx
  
+ config PPC_SPINTABLE_COMPATIBLE
+       depends on MP
+       def_bool y
+       help
+         To comply with ePAPR 1.1, the spin table has been moved to
+         cache-enabled memory. Old OS may not work with this change. A patch
+         is waiting to be accepted for Linux kernel. Other OS needs similar
+         fix to spin table.  For OSes with old spin table code, we can enable
+         this temporary fix by setting environmental variable
+         "spin_table_compat". For new OSes, set "spin_table_compat=no". After
+         Linux is fixed, we can remove this macro and related code. For now,
+         it is enabled by default.
  config SYS_CPU
        default "mpc85xx"
  
@@@ -72,7 -85,6 +85,7 @@@ choic
  config TARGET_SOCRATES
        bool "Support socrates"
        select ARCH_MPC8544
 +      select BINMAN
  
  config TARGET_P3041DS
        bool "Support P3041DS"
@@@ -188,14 -200,6 +201,6 @@@ config TARGET_T1024RD
        imply CMD_EEPROM
        imply PANIC_HANG
  
- config TARGET_T1042RDB
-       bool "Support T1042RDB"
-       select ARCH_T1042
-       select BOARD_LATE_INIT if CHAIN_OF_TRUST
-       select SUPPORT_SPL
-       select PHYS_64BIT
-       select SYS_L3_SIZE_256KB
  config TARGET_T1042D4RDB
        bool "Support T1042D4RDB"
        select ARCH_T1042
        select SYS_L3_SIZE_256KB
        imply PANIC_HANG
  
- config TARGET_T1042RDB_PI
-       bool "Support T1042RDB_PI"
-       select ARCH_T1042
-       select BOARD_LATE_INIT if CHAIN_OF_TRUST
-       select SUPPORT_SPL
-       select PHYS_64BIT
-       select SYS_L3_SIZE_256KB
-       imply PANIC_HANG
  config TARGET_T2080QDS
        bool "Support T2080QDS"
        select ARCH_T2080
@@@ -253,6 -248,8 +249,8 @@@ config TARGET_KMCENT
        bool "Support kmcent2"
        select VENDOR_KM
        select FSL_CORENET
+       select SYS_DPAA_FMAN
+       select SYS_DPAA_PME
        select SYS_L3_SIZE_256KB
  
  endchoice
@@@ -619,6 -616,9 +617,9 @@@ config ARCH_P204
        select E500MC
        select FSL_LAW
        select SYS_CACHE_SHIFT_6
+       select SYS_DPAA_FMAN
+       select SYS_DPAA_PME
+       select SYS_DPAA_RMAN
        select SYS_FSL_ERRATUM_A004510
        select SYS_FSL_ERRATUM_A004849
        select SYS_FSL_ERRATUM_A005275
@@@ -763,6 -763,7 +764,7 @@@ config ARCH_T102
        select FSL_CORENET
        select FSL_LAW
        select SYS_CACHE_SHIFT_6
+       select SYS_DPAA_FMAN
        select SYS_FSL_DDR_VER_50
        select SYS_FSL_ERRATUM_A008378
        select SYS_FSL_ERRATUM_A008109
@@@ -793,6 -794,8 +795,8 @@@ config ARCH_T104
        select FSL_CORENET
        select FSL_LAW
        select SYS_CACHE_SHIFT_6
+       select SYS_DPAA_FMAN
+       select SYS_DPAA_PME
        select SYS_FSL_DDR_VER_50
        select SYS_FSL_ERRATUM_A008044
        select SYS_FSL_ERRATUM_A008378
@@@ -823,6 -826,8 +827,8 @@@ config ARCH_T104
        select FSL_CORENET
        select FSL_LAW
        select SYS_CACHE_SHIFT_6
+       select SYS_DPAA_FMAN
+       select SYS_DPAA_PME
        select SYS_FSL_DDR_VER_50
        select SYS_FSL_ERRATUM_A008044
        select SYS_FSL_ERRATUM_A008378
@@@ -852,6 -857,10 +858,10 @@@ config ARCH_T208
        select FSL_CORENET
        select FSL_LAW
        select SYS_CACHE_SHIFT_6
+       select SYS_DPAA_DCE if !NOBQFMAN
+       select SYS_DPAA_FMAN if !NOBQFMAN
+       select SYS_DPAA_PME if !NOBQFMAN
+       select SYS_DPAA_RMAN if !NOBQFMAN
        select SYS_FSL_DDR_VER_47
        select SYS_FSL_ERRATUM_A006379
        select SYS_FSL_ERRATUM_A006593
        select SYS_FSL_SRIO_LIODN
        select SYS_FSL_QMAN_V3 if SYS_DPAA_QBMAN
        select SYS_FSL_USB_DUAL_PHY_ENABLE
+       select SYS_PMAN if !NOBQFMAN
        select SYS_PPC64
        select FSL_IFC
        imply CMD_SATA
@@@ -887,6 -897,10 +898,10 @@@ config ARCH_T424
        select FSL_CORENET
        select FSL_LAW
        select SYS_CACHE_SHIFT_6
+       select SYS_DPAA_DCE if !NOBQFMAN
+       select SYS_DPAA_FMAN if !NOBQFMAN
+       select SYS_DPAA_PME if !NOBQFMAN
+       select SYS_DPAA_RMAN if !NOBQFMAN
        select SYS_FSL_DDR_VER_47
        select SYS_FSL_ERRATUM_A004468
        select SYS_FSL_ERRATUM_A005871
        select SYS_FSL_SRIO_LIODN
        select SYS_FSL_QMAN_V3 if SYS_DPAA_QBMAN
        select SYS_FSL_USB_DUAL_PHY_ENABLE
+       select SYS_PMAN if !NOBQFMAN
        select SYS_PPC64
        select FSL_IFC
        imply CMD_SATA
        imply FSL_SATA
  
  config MPC85XX_HAVE_RESET_VECTOR
-       bool "Indicate reset vector at CONFIG_RESET_VECTOR_ADDRESS - 0xffc"
+       bool "Indicate reset vector at CFG_RESET_VECTOR_ADDRESS - 0xffc"
        depends on MPC85xx
  
  config BTB
@@@ -948,6 -963,9 +964,9 @@@ config E650
        help
                Enable PowerPC E6500 core
  
+ config NOBQFMAN
+       bool
  config FSL_LAW
        bool
        help
@@@ -1020,6 -1038,15 +1039,15 @@@ config SYS_CCSRBAR_DEFAUL
                if changed by pre-boot regime. The value here must match
                the current value in SoC. If not sure, do not change.
  
+ config SYS_DPAA_PME
+       bool
+ config SYS_DPAA_DCE
+       bool
+ config SYS_DPAA_RMAN
+       bool
  config A003399_NOR_WORKAROUND
        bool
        help
@@@ -1196,6 -1223,9 +1224,9 @@@ config FSL_PCIE_DISABLE_ASP
  config FSL_PCIE_RESET
        bool
  
+ config SYS_PMAN
+       bool
  config SYS_FSL_RAID_ENGINE
        bool
  
@@@ -1263,6 -1293,9 +1294,9 @@@ config SYS_NUM_TLBCAM
                Number of TLB CAM entries for Book-E chips. 64 for E500MC,
                16 for other E500 SoCs.
  
+ config L2_CACHE
+       bool "Enable L2 cache support"
  if HETROGENOUS_CLUSTERS
  
  config SYS_MAPLE
@@@ -1290,6 -1323,11 +1324,11 @@@ config SYS_ULB_CL
  config SYS_ETVPE_CLK
        int
        default 1
+ config MAX_DSP_CPUS
+       int
+       default 12 if ARCH_B4860
+       default 2 if ARCH_B4420
  endif
  
  config SYS_L2_SIZE_256KB
@@@ -1460,14 -1498,14 +1499,14 @@@ config SYS_FSL_USB_DUAL_PHY_ENABL
  
  config SYS_MPC85XX_NO_RESETVEC
        bool "Discard resetvec section and move bootpg section up"
 -      depends on MPC85xx
 +      depends on MPC85xx && !MPC85XX_HAVE_RESET_VECTOR
        help
          If this variable is specified, the section .resetvec is not kept and
          the section .bootpg is placed in the previous 4k of the .text section.
  
  config SPL_SYS_MPC85XX_NO_RESETVEC
        bool "Discard resetvec section and move bootpg section up, in SPL"
 -      depends on MPC85xx && SPL
 +      depends on MPC85xx && SPL && !MPC85XX_HAVE_RESET_VECTOR
        help
          If this variable is specified, the section .resetvec is not kept and
          the section .bootpg is placed in the previous 4k of the .text section,
  
  config TPL_SYS_MPC85XX_NO_RESETVEC
        bool "Discard resetvec section and move bootpg section up, in TPL"
 -      depends on MPC85xx && TPL
 +      depends on MPC85xx && TPL && !MPC85XX_HAVE_RESET_VECTOR
        help
          If this variable is specified, the section .resetvec is not kept and
          the section .bootpg is placed in the previous 4k of the .text section,
diff --combined boot/Kconfig
@@@ -36,10 -36,9 +36,9 @@@ config TIMESTAM
          loaded that does not, the message 'Wrong FIT format: no timestamp'
          is shown.
  
- if FIT
  config FIT_EXTERNAL_OFFSET
        hex "FIT external data offset"
+       depends on FIT
        default 0x0
        help
          This specifies a data offset in fit image.
@@@ -50,6 -49,7 +49,7 @@@
  
  config FIT_FULL_CHECK
        bool "Do a full check of the FIT before using it"
+       depends on FIT
        default y
        help
          Enable this do a full check of the FIT to make sure it is valid. This
@@@ -59,7 -59,7 +59,7 @@@
  
  config FIT_SIGNATURE
        bool "Enable signature verification of FIT uImages"
-       depends on DM
+       depends on DM && FIT
        select HASH
        imply RSA
        imply RSA_VERIFY
@@@ -97,7 -97,7 +97,7 @@@ config FIT_RSASSA_PS
  
  config FIT_CIPHER
        bool "Enable ciphering data in a FIT uImages"
-       depends on DM
+       depends on DM && FIT
        select AES
        help
          Enable the feature of data ciphering/unciphering in the tool mkimage
  
  config FIT_VERBOSE
        bool "Show verbose messages when FIT images fail"
+       depends on FIT
        help
          Generally a system will have valid FIT images so debug messages
          are a waste of code space. If you are debugging your images then
  
  config FIT_BEST_MATCH
        bool "Select the best match for the kernel device tree"
+       depends on FIT
        help
          When no configuration is explicitly selected, default to the
          one whose fdt's compatibility field best matches that of
  
  config FIT_IMAGE_POST_PROCESS
        bool "Enable post-processing of FIT artifacts after loading by U-Boot"
+       depends on FIT
        depends on TI_SECURE_DEVICE || SOCFPGA_SECURE_VAB_AUTH
        default y if TI_SECURE_DEVICE
        help
  
  config FIT_PRINT
          bool "Support FIT printing"
+       depends on FIT
          default y
          help
            Support printing the content of the fitImage in a verbose manner.
  
- if SPL
  config SPL_FIT
        bool "Support Flattened Image Tree within SPL"
-       depends on SPL
+       depends on SPL && FIT
        select SPL_HASH
        select SPL_OF_LIBFDT
  
@@@ -157,13 -159,13 +159,13 @@@ config SPL_FIT_PRIN
  
  config SPL_FIT_FULL_CHECK
        bool "Do a full check of the FIT before using it"
+       depends on SPL_FIT
        help
          Enable this do a full check of the FIT to make sure it is valid. This
          helps to protect against carefully crafted FITs which take advantage
          of bugs or omissions in the code. This includes a bad structure,
          multiple root nodes and the like.
  
  config SPL_FIT_SIGNATURE
        bool "Enable signature verification of FIT firmware within SPL"
        depends on SPL_DM
@@@ -196,6 -198,7 +198,7 @@@ config SPL_FIT_RSASSA_PS
  
  config SPL_LOAD_FIT
        bool "Enable SPL loading U-Boot as a FIT (basic fitImage features)"
+       depends on SPL && FIT
        select SPL_FIT
        help
          Normally with the SPL framework a legacy image is generated as part
  
  config SPL_LOAD_FIT_ADDRESS
        hex "load address of fit image"
-       depends on SPL_LOAD_FIT
+       depends on SPL_LOAD_FIT || SPL_RAM_SUPPORT || TPL_RAM_SUPPORT
        default 0x0
        help
          Specify the load address of the fit image that will be loaded
@@@ -243,6 -246,7 +246,7 @@@ config SPL_LOAD_FIT_APPLY_OVERLAY_BUF_S
  
  config SPL_LOAD_FIT_FULL
        bool "Enable SPL loading U-Boot as a FIT (full fitImage features)"
+       depends on FIT
        select SPL_FIT
        help
          Normally with the SPL framework a legacy image is generated as part
@@@ -277,7 -281,8 +281,8 @@@ config SPL_FIT_SOURC
  
  config USE_SPL_FIT_GENERATOR
        bool "Use a script to generate the .its script"
-       default y if SPL_FIT && (!ARCH_SUNXI && !RISCV)
+       depends on SPL_FIT
+       default y if !ARCH_SUNXI && !RISCV
  
  config SPL_FIT_GENERATOR
        string ".its file generator script for U-Boot FIT image"
          passed a list of supported device tree file stub names to
          include in the generated image.
  
- endif # SPL
  if VPL
  
  config VPL_FIT
@@@ -342,8 -345,6 +345,6 @@@ config VPL_FIT_SIGNATURE_MAX_SIZ
  
  endif # VPL
  
- endif # FIT
  config PXE_UTILS
        bool
        select MENU
@@@ -654,7 -655,7 +655,7 @@@ config SYS_MONITOR_BAS
        default TEXT_BASE
        help
          The physical start address of boot monitor code (which is the same as
-         CONFIG_TEXT_BASE when linking) and the same as CONFIG_SYS_FLASH_BASE
+         CONFIG_TEXT_BASE when linking) and the same as CFG_SYS_FLASH_BASE
          when booting from flash.
  
  config SPL_SYS_MONITOR_BASE
@@@ -724,19 -725,16 +725,19 @@@ config RAMBOOT_PB
          For more details refer to doc/README.pblimage
  
  choice
 -      prompt "Freescale PBL load location"
 +      prompt "Freescale PBL (or predecessor) load location"
        depends on RAMBOOT_PBL || ((TARGET_P1010RDB_PA || TARGET_P1010RDB_PB \
                || TARGET_P1020RDB_PC || TARGET_P1020RDB_PD || TARGET_P2020RDB) \
                && !CMD_NAND)
  
  config SDCARD
 -      bool "Freescale PBL is found on SD card"
 +      bool "Freescale PBL (or similar) is found on SD card"
  
  config SPIFLASH
 -      bool "Freescale PBL is found on SPI flash"
 +      bool "Freescale PBL (or similar) is found on SPI flash"
 +
 +config NO_PBL
 +      bool "Freescale PBL (or similar) is not used in this case"
  
  endchoice
  
diff --combined boot/pxe_utils.c
@@@ -258,6 -258,7 +258,7 @@@ static struct pxe_label *label_create(v
  static void label_destroy(struct pxe_label *label)
  {
        free(label->name);
+       free(label->kernel_label);
        free(label->kernel);
        free(label->config);
        free(label->append);
@@@ -521,28 -522,44 +522,44 @@@ static int label_boot(struct pxe_contex
                return 1;
        }
  
-       if (label->initrd) {
-               ulong size;
+       if (get_relfile_envaddr(ctx, label->kernel, "kernel_addr_r",
+                               NULL) < 0) {
+               printf("Skipping %s for failure retrieving kernel\n",
+                      label->name);
+               return 1;
+       }
  
+       kernel_addr = env_get("kernel_addr_r");
+       /* for FIT, append the configuration identifier */
+       if (label->config) {
+               int len = strlen(kernel_addr) + strlen(label->config) + 1;
+               fit_addr = malloc(len);
+               if (!fit_addr) {
+                       printf("malloc fail (FIT address)\n");
+                       return 1;
+               }
+               snprintf(fit_addr, len, "%s%s", kernel_addr, label->config);
+               kernel_addr = fit_addr;
+       }
+       /* For FIT, the label can be identical to kernel one */
+       if (label->initrd && !strcmp(label->kernel_label, label->initrd)) {
+               initrd_addr_str =  kernel_addr;
+       } else if (label->initrd) {
+               ulong size;
                if (get_relfile_envaddr(ctx, label->initrd, "ramdisk_addr_r",
                                        &size) < 0) {
                        printf("Skipping %s for failure retrieving initrd\n",
                               label->name);
-                       return 1;
+                       goto cleanup;
                }
  
                initrd_addr_str = env_get("ramdisk_addr_r");
                size = snprintf(initrd_str, sizeof(initrd_str), "%s:%lx",
                                initrd_addr_str, size);
                if (size >= sizeof(initrd_str))
-                       return 1;
-       }
-       if (get_relfile_envaddr(ctx, label->kernel, "kernel_addr_r",
-                               NULL) < 0) {
-               printf("Skipping %s for failure retrieving kernel\n",
-                      label->name);
-               return 1;
+                       goto cleanup;
        }
  
        if (label->ipappend & 0x1) {
                               strlen(label->append ?: ""),
                               strlen(ip_str), strlen(mac_str),
                               sizeof(bootargs));
-                       return 1;
+                       goto cleanup;
                }
  
                if (label->append)
                printf("append: %s\n", finalbootargs);
        }
  
-       kernel_addr = env_get("kernel_addr_r");
-       /* for FIT, append the configuration identifier */
-       if (label->config) {
-               int len = strlen(kernel_addr) + strlen(label->config) + 1;
-               fit_addr = malloc(len);
-               if (!fit_addr) {
-                       printf("malloc fail (FIT address)\n");
-                       return 1;
-               }
-               snprintf(fit_addr, len, "%s%s", kernel_addr, label->config);
-               kernel_addr = fit_addr;
-       }
        /*
         * fdt usage is optional:
         * It handles the following scenarios.
         * Scenario 2: If there is an fdt_addr specified, pass it along to
         * bootm, and adjust argc appropriately.
         *
 -       * Scenario 3: fdt blob is not available.
 +       * Scenario 3: If there is an fdtcontroladdr specified, pass it along to
 +       * bootm, and adjust argc appropriately, unless the image type is fitImage.
 +       *
 +       * Scenario 4: fdt blob is not available.
         */
        bootm_argv[3] = env_get("fdt_addr_r");
  
+       /* For FIT, the label can be identical to kernel one */
+       if (label->fdt && !strcmp(label->kernel_label, label->fdt)) {
+               bootm_argv[3] = kernel_addr;
        /* if fdt label is defined then get fdt from server */
-       if (bootm_argv[3]) {
+       } else if (bootm_argv[3]) {
                char *fdtfile = NULL;
                char *fdtfilefree = NULL;
  
        if (!bootm_argv[3])
                bootm_argv[3] = env_get("fdt_addr");
  
 +      kernel_addr_r = genimg_get_kernel_addr(kernel_addr);
 +      buf = map_sysmem(kernel_addr_r, 0);
 +
 +      if (!bootm_argv[3] && genimg_get_format(buf) != IMAGE_FORMAT_FIT)
 +              bootm_argv[3] = env_get("fdtcontroladdr");
 +
        if (bootm_argv[3]) {
                if (!bootm_argv[2])
                        bootm_argv[2] = "-";
                bootm_argc = 4;
        }
  
 -      kernel_addr_r = genimg_get_kernel_addr(kernel_addr);
 -      buf = map_sysmem(kernel_addr_r, 0);
        /* Try bootm for legacy and FIT format image */
        if (genimg_get_format(buf) != IMAGE_FORMAT_INVALID &&
              IS_ENABLED(CONFIG_CMD_BOOTM))
@@@ -1166,15 -1164,19 +1171,19 @@@ static int parse_label_kernel(char **c
        if (err < 0)
                return err;
  
+       /* copy the kernel label to compare with FDT / INITRD when FIT is used */
+       label->kernel_label = strdup(label->kernel);
+       if (!label->kernel_label)
+               return -ENOMEM;
        s = strstr(label->kernel, "#");
        if (!s)
                return 1;
  
-       label->config = malloc(strlen(s) + 1);
+       label->config = strdup(s);
        if (!label->config)
                return -ENOMEM;
  
-       strcpy(label->config, s);
        *s = 0;
  
        return 1;
@@@ -1360,7 -1362,10 +1369,10 @@@ static int parse_pxefile_top(struct pxe
                        break;
  
                case T_PROMPT:
-                       eol_or_eof(&p);
+                       err = parse_integer(&p, &cfg->prompt);
+                       // Do not fail if prompt configuration is undefined
+                       if (err <  0)
+                               eol_or_eof(&p);
                        break;
  
                case T_EOL:
diff --combined cmd/Kconfig
@@@ -526,6 -526,10 +526,10 @@@ config CMD_THOR_DOWNLOA
          There is no documentation about this within the U-Boot source code
          but you should be able to find something on the interwebs.
  
+ config THOR_RESET_OFF
+       bool "thor: Disable reset on completion"
+       depends on CMD_THOR_DOWNLOAD
  config CMD_ZBOOT
        bool "zboot - x86 boot command"
        help
@@@ -1814,7 -1818,7 +1818,7 @@@ config SYS_DISABLE_AUTOLOA
  
  config CMD_WGET
        bool "wget"
 -      select TCP
 +      select PROT_TCP
        help
          wget is a simple command to download kernel, or other files,
          from a http server over TCP.
diff --combined common/memsize.c
@@@ -96,7 -96,6 +96,7 @@@ phys_size_t __weak get_effective_memsiz
  {
        phys_size_t ram_size = gd->ram_size;
  
 +#ifdef CONFIG_MPC85xx
        /*
         * Check for overflow and limit ram size to some representable value.
         * It is required that ram_base + ram_size must be representable by
         */
        if (gd->ram_base + ram_size < gd->ram_base)
                ram_size = ((phys_size_t)~0xfffULL) - gd->ram_base;
 +#endif
  
- #ifndef CONFIG_MAX_MEM_MAPPED
+ #ifndef CFG_MAX_MEM_MAPPED
        return ram_size;
  #else
        /* limit stack to what we can reasonable map */
-       return ((ram_size > CONFIG_MAX_MEM_MAPPED) ?
-               CONFIG_MAX_MEM_MAPPED : ram_size);
+       return ((ram_size > CFG_MAX_MEM_MAPPED) ?
+               CFG_MAX_MEM_MAPPED : ram_size);
  #endif
  }
diff --combined common/spl/Kconfig
@@@ -1232,6 -1232,11 +1232,11 @@@ config SPL_SAT
          expense and power consumption. This enables loading from SATA
          using a configured device.
  
+ config SYS_SATA_FAT_BOOT_PARTITION
+       int "Partition on the SATA disk to load U-Boot from"
+       depends on SPL_SATA && SPL_FS_FAT
+       default 1
  config SPL_SATA_RAW_U_BOOT_USE_SECTOR
        bool "SATA raw mode: by sector"
        depends on SPL_SATA
@@@ -1342,7 -1347,7 +1347,7 @@@ config SPL_USB_HOS
  
  config SPL_USB_STORAGE
        bool "Support loading from USB"
-       depends on SPL_USB_HOST && !(BLK && !DM_USB)
+       depends on SPL_USB_HOST
        help
          Enable support for USB devices in SPL. This allows use of USB
          devices such as hard drives and flash drivers for loading U-Boot.
@@@ -1481,7 -1486,6 +1486,7 @@@ config SPL_AM33XX_ENABLE_RTC32K_OS
  config SPL_OPTEE_IMAGE
        bool "Support OP-TEE Trusted OS image in SPL"
        depends on ARM
 +      depends on SPL_LOAD_FIT || SPL_LOAD_FIT_FULL
        help
          OP-TEE is an open source Trusted OS which is loaded by SPL.
          More detail at: https://github.com/OP-TEE/optee_os
@@@ -9,7 -9,10 +9,9 @@@ CONFIG_MPC85xx=
  CONFIG_SYS_INIT_RAM_LOCK=y
  CONFIG_TARGET_P1010RDB_PA=y
  CONFIG_MPC85XX_HAVE_RESET_VECTOR=y
+ CONFIG_L2_CACHE=y
  CONFIG_ENABLE_36BIT_PHYS=y
 -CONFIG_SYS_MPC85XX_NO_RESETVEC=y
+ CONFIG_USE_UBOOTPATH=y
  CONFIG_PCIE1=y
  CONFIG_PCIE2=y
  CONFIG_PHYS_64BIT=y
@@@ -18,7 -21,7 +20,7 @@@ CONFIG_FIT=
  CONFIG_FIT_VERBOSE=y
  CONFIG_OF_BOARD_SETUP=y
  CONFIG_OF_STDOUT_VIA_ALIAS=y
 -CONFIG_FSL_FIXED_MMC_LOCATION=y
 +CONFIG_NO_PBL=y
  CONFIG_BOOTDELAY=10
  CONFIG_USE_BOOTCOMMAND=y
  CONFIG_BOOTCOMMAND="setenv bootargs root=/dev/ram rw console=$consoledev,$baudrate $othbootargs ramdisk_size=$ramdisk_size;tftp $ramdiskaddr $ramdiskfile;tftp $loadaddr $bootfile;tftp $fdtaddr $fdtfile;bootm $loadaddr $ramdiskaddr $fdtaddr"
@@@ -48,6 -51,7 +50,7 @@@ CONFIG_USE_BOOTFILE=
  CONFIG_BOOTFILE="uImage"
  CONFIG_USE_ETHPRIME=y
  CONFIG_ETHPRIME="eTSEC1"
+ CONFIG_USE_ROOTPATH=y
  CONFIG_FSL_SATA_V2=y
  CONFIG_SYS_SATA_MAX_DEVICE=2
  CONFIG_FSL_CAAM=y
@@@ -92,7 -96,8 +95,8 @@@ CONFIG_MII=
  CONFIG_TSEC_ENET=y
  CONFIG_PCIE_FSL=y
  CONFIG_DM_RTC=y
- CONFIG_SYS_NS16550=y
+ CONFIG_RTC_PT7C4338=y
+ CONFIG_SYS_NS16550_SERIAL=y
  CONFIG_SPI=y
  CONFIG_DM_SPI=y
  CONFIG_FSL_ESPI=y
@@@ -9,7 -9,10 +9,9 @@@ CONFIG_MPC85xx=
  CONFIG_SYS_INIT_RAM_LOCK=y
  CONFIG_TARGET_P1010RDB_PA=y
  CONFIG_MPC85XX_HAVE_RESET_VECTOR=y
+ CONFIG_L2_CACHE=y
  CONFIG_ENABLE_36BIT_PHYS=y
 -CONFIG_SYS_MPC85XX_NO_RESETVEC=y
+ CONFIG_USE_UBOOTPATH=y
  CONFIG_PCIE1=y
  CONFIG_PCIE2=y
  CONFIG_SYS_MONITOR_LEN=786432
@@@ -17,7 -20,7 +19,7 @@@ CONFIG_FIT=
  CONFIG_FIT_VERBOSE=y
  CONFIG_OF_BOARD_SETUP=y
  CONFIG_OF_STDOUT_VIA_ALIAS=y
 -CONFIG_FSL_FIXED_MMC_LOCATION=y
 +CONFIG_NO_PBL=y
  CONFIG_BOOTDELAY=10
  CONFIG_USE_BOOTCOMMAND=y
  CONFIG_BOOTCOMMAND="setenv bootargs root=/dev/ram rw console=$consoledev,$baudrate $othbootargs ramdisk_size=$ramdisk_size;tftp $ramdiskaddr $ramdiskfile;tftp $loadaddr $bootfile;tftp $fdtaddr $fdtfile;bootm $loadaddr $ramdiskaddr $fdtaddr"
@@@ -47,6 -50,7 +49,7 @@@ CONFIG_USE_BOOTFILE=
  CONFIG_BOOTFILE="uImage"
  CONFIG_USE_ETHPRIME=y
  CONFIG_ETHPRIME="eTSEC1"
+ CONFIG_USE_ROOTPATH=y
  CONFIG_FSL_SATA_V2=y
  CONFIG_SYS_SATA_MAX_DEVICE=2
  CONFIG_FSL_CAAM=y
@@@ -91,7 -95,8 +94,8 @@@ CONFIG_MII=
  CONFIG_TSEC_ENET=y
  CONFIG_PCIE_FSL=y
  CONFIG_DM_RTC=y
- CONFIG_SYS_NS16550=y
+ CONFIG_RTC_PT7C4338=y
+ CONFIG_SYS_NS16550_SERIAL=y
  CONFIG_SPI=y
  CONFIG_DM_SPI=y
  CONFIG_FSL_ESPI=y
@@@ -9,7 -9,10 +9,9 @@@ CONFIG_MPC85xx=
  CONFIG_SYS_INIT_RAM_LOCK=y
  CONFIG_TARGET_P1010RDB_PB=y
  CONFIG_MPC85XX_HAVE_RESET_VECTOR=y
+ CONFIG_L2_CACHE=y
  CONFIG_ENABLE_36BIT_PHYS=y
 -CONFIG_SYS_MPC85XX_NO_RESETVEC=y
+ CONFIG_USE_UBOOTPATH=y
  CONFIG_PCIE1=y
  CONFIG_PCIE2=y
  CONFIG_PHYS_64BIT=y
@@@ -18,7 -21,7 +20,7 @@@ CONFIG_FIT=
  CONFIG_FIT_VERBOSE=y
  CONFIG_OF_BOARD_SETUP=y
  CONFIG_OF_STDOUT_VIA_ALIAS=y
 -CONFIG_FSL_FIXED_MMC_LOCATION=y
 +CONFIG_NO_PBL=y
  CONFIG_BOOTDELAY=10
  CONFIG_USE_BOOTCOMMAND=y
  CONFIG_BOOTCOMMAND="setenv bootargs root=/dev/ram rw console=$consoledev,$baudrate $othbootargs ramdisk_size=$ramdisk_size;tftp $ramdiskaddr $ramdiskfile;tftp $loadaddr $bootfile;tftp $fdtaddr $fdtfile;bootm $loadaddr $ramdiskaddr $fdtaddr"
@@@ -49,6 -52,7 +51,7 @@@ CONFIG_USE_BOOTFILE=
  CONFIG_BOOTFILE="uImage"
  CONFIG_USE_ETHPRIME=y
  CONFIG_ETHPRIME="eTSEC1"
+ CONFIG_USE_ROOTPATH=y
  CONFIG_FSL_SATA_V2=y
  CONFIG_SYS_SATA_MAX_DEVICE=2
  CONFIG_FSL_CAAM=y
@@@ -94,7 -98,8 +97,8 @@@ CONFIG_MII=
  CONFIG_TSEC_ENET=y
  CONFIG_PCIE_FSL=y
  CONFIG_DM_RTC=y
- CONFIG_SYS_NS16550=y
+ CONFIG_RTC_PT7C4338=y
+ CONFIG_SYS_NS16550_SERIAL=y
  CONFIG_SPI=y
  CONFIG_DM_SPI=y
  CONFIG_FSL_ESPI=y
@@@ -9,7 -9,10 +9,9 @@@ CONFIG_MPC85xx=
  CONFIG_SYS_INIT_RAM_LOCK=y
  CONFIG_TARGET_P1010RDB_PB=y
  CONFIG_MPC85XX_HAVE_RESET_VECTOR=y
+ CONFIG_L2_CACHE=y
  CONFIG_ENABLE_36BIT_PHYS=y
 -CONFIG_SYS_MPC85XX_NO_RESETVEC=y
+ CONFIG_USE_UBOOTPATH=y
  CONFIG_PCIE1=y
  CONFIG_PCIE2=y
  CONFIG_SYS_MONITOR_LEN=786432
@@@ -17,7 -20,7 +19,7 @@@ CONFIG_FIT=
  CONFIG_FIT_VERBOSE=y
  CONFIG_OF_BOARD_SETUP=y
  CONFIG_OF_STDOUT_VIA_ALIAS=y
 -CONFIG_FSL_FIXED_MMC_LOCATION=y
 +CONFIG_NO_PBL=y
  CONFIG_BOOTDELAY=10
  CONFIG_USE_BOOTCOMMAND=y
  CONFIG_BOOTCOMMAND="setenv bootargs root=/dev/ram rw console=$consoledev,$baudrate $othbootargs ramdisk_size=$ramdisk_size;tftp $ramdiskaddr $ramdiskfile;tftp $loadaddr $bootfile;tftp $fdtaddr $fdtfile;bootm $loadaddr $ramdiskaddr $fdtaddr"
@@@ -48,6 -51,7 +50,7 @@@ CONFIG_USE_BOOTFILE=
  CONFIG_BOOTFILE="uImage"
  CONFIG_USE_ETHPRIME=y
  CONFIG_ETHPRIME="eTSEC1"
+ CONFIG_USE_ROOTPATH=y
  CONFIG_FSL_SATA_V2=y
  CONFIG_SYS_SATA_MAX_DEVICE=2
  CONFIG_FSL_CAAM=y
@@@ -93,7 -97,8 +96,8 @@@ CONFIG_MII=
  CONFIG_TSEC_ENET=y
  CONFIG_PCIE_FSL=y
  CONFIG_DM_RTC=y
- CONFIG_SYS_NS16550=y
+ CONFIG_RTC_PT7C4338=y
+ CONFIG_SYS_NS16550_SERIAL=y
  CONFIG_SPI=y
  CONFIG_DM_SPI=y
  CONFIG_FSL_ESPI=y
@@@ -10,7 -10,10 +10,9 @@@ CONFIG_SYS_INIT_RAM_LOCK=
  # CONFIG_CMD_ERRATA is not set
  CONFIG_TARGET_P1020RDB_PC=y
  CONFIG_MPC85XX_HAVE_RESET_VECTOR=y
+ CONFIG_L2_CACHE=y
  CONFIG_ENABLE_36BIT_PHYS=y
 -CONFIG_SYS_MPC85XX_NO_RESETVEC=y
+ CONFIG_USE_UBOOTPATH=y
  CONFIG_PCIE1=y
  CONFIG_PCIE2=y
  CONFIG_PHYS_64BIT=y
@@@ -20,7 -23,7 +22,7 @@@ CONFIG_FIT=
  CONFIG_FIT_VERBOSE=y
  CONFIG_OF_BOARD_SETUP=y
  CONFIG_OF_STDOUT_VIA_ALIAS=y
 -CONFIG_FSL_FIXED_MMC_LOCATION=y
 +CONFIG_NO_PBL=y
  CONFIG_BOOTDELAY=10
  CONFIG_USE_BOOTCOMMAND=y
  CONFIG_BOOTCOMMAND="setenv bootargs root=/dev/$bdev rw rootdelay=30 console=$consoledev,$baudrate $othbootargs;usb start;ext2load usb 0:1 $loadaddr /boot/$bootfile;ext2load usb 0:1 $fdtaddr /boot/$fdtfile;bootm $loadaddr - $fdtaddr"
@@@ -50,6 -53,8 +52,8 @@@ CONFIG_USE_BOOTFILE=
  CONFIG_BOOTFILE="uImage"
  CONFIG_USE_ETHPRIME=y
  CONFIG_ETHPRIME="eTSEC1"
+ CONFIG_USE_HOSTNAME=y
+ CONFIG_USE_ROOTPATH=y
  CONFIG_LBA48=y
  CONFIG_DDR_CLK_FREQ=66666666
  CONFIG_SYS_SPD_BUS_NUM=1
@@@ -100,10 -105,12 +104,12 @@@ CONFIG_DM_MDIO=
  CONFIG_PHY_GIGE=y
  CONFIG_E1000=y
  CONFIG_MII=y
+ CONFIG_VSC7385_ENET=y
  CONFIG_TSEC_ENET=y
  CONFIG_PCIE_FSL=y
  CONFIG_DM_RTC=y
- CONFIG_SYS_NS16550=y
+ CONFIG_RTC_PT7C4338=y
+ CONFIG_SYS_NS16550_SERIAL=y
  CONFIG_SPI=y
  CONFIG_DM_SPI=y
  CONFIG_FSL_ESPI=y
@@@ -10,7 -10,10 +10,9 @@@ CONFIG_SYS_INIT_RAM_LOCK=
  # CONFIG_CMD_ERRATA is not set
  CONFIG_TARGET_P1020RDB_PC=y
  CONFIG_MPC85XX_HAVE_RESET_VECTOR=y
+ CONFIG_L2_CACHE=y
  CONFIG_ENABLE_36BIT_PHYS=y
 -CONFIG_SYS_MPC85XX_NO_RESETVEC=y
+ CONFIG_USE_UBOOTPATH=y
  CONFIG_PCIE1=y
  CONFIG_PCIE2=y
  CONFIG_SYS_MONITOR_LEN=786432
@@@ -19,7 -22,7 +21,7 @@@ CONFIG_FIT=
  CONFIG_FIT_VERBOSE=y
  CONFIG_OF_BOARD_SETUP=y
  CONFIG_OF_STDOUT_VIA_ALIAS=y
 -CONFIG_FSL_FIXED_MMC_LOCATION=y
 +CONFIG_NO_PBL=y
  CONFIG_BOOTDELAY=10
  CONFIG_USE_BOOTCOMMAND=y
  CONFIG_BOOTCOMMAND="setenv bootargs root=/dev/$bdev rw rootdelay=30 console=$consoledev,$baudrate $othbootargs;usb start;ext2load usb 0:1 $loadaddr /boot/$bootfile;ext2load usb 0:1 $fdtaddr /boot/$fdtfile;bootm $loadaddr - $fdtaddr"
@@@ -49,6 -52,8 +51,8 @@@ CONFIG_USE_BOOTFILE=
  CONFIG_BOOTFILE="uImage"
  CONFIG_USE_ETHPRIME=y
  CONFIG_ETHPRIME="eTSEC1"
+ CONFIG_USE_HOSTNAME=y
+ CONFIG_USE_ROOTPATH=y
  CONFIG_LBA48=y
  CONFIG_DDR_CLK_FREQ=66666666
  CONFIG_SYS_SPD_BUS_NUM=1
@@@ -99,10 -104,12 +103,12 @@@ CONFIG_DM_MDIO=
  CONFIG_PHY_GIGE=y
  CONFIG_E1000=y
  CONFIG_MII=y
+ CONFIG_VSC7385_ENET=y
  CONFIG_TSEC_ENET=y
  CONFIG_PCIE_FSL=y
  CONFIG_DM_RTC=y
- CONFIG_SYS_NS16550=y
+ CONFIG_RTC_PT7C4338=y
+ CONFIG_SYS_NS16550_SERIAL=y
  CONFIG_SPI=y
  CONFIG_DM_SPI=y
  CONFIG_FSL_ESPI=y
@@@ -10,7 -10,10 +10,9 @@@ CONFIG_SYS_INIT_RAM_LOCK=
  # CONFIG_CMD_ERRATA is not set
  CONFIG_TARGET_P1020RDB_PD=y
  CONFIG_MPC85XX_HAVE_RESET_VECTOR=y
+ CONFIG_L2_CACHE=y
  CONFIG_ENABLE_36BIT_PHYS=y
 -CONFIG_SYS_MPC85XX_NO_RESETVEC=y
+ CONFIG_USE_UBOOTPATH=y
  CONFIG_PCIE1=y
  CONFIG_PCIE2=y
  CONFIG_SYS_MONITOR_LEN=786432
@@@ -19,7 -22,7 +21,7 @@@ CONFIG_FIT=
  CONFIG_FIT_VERBOSE=y
  CONFIG_OF_BOARD_SETUP=y
  CONFIG_OF_STDOUT_VIA_ALIAS=y
 -CONFIG_FSL_FIXED_MMC_LOCATION=y
 +CONFIG_NO_PBL=y
  CONFIG_BOOTDELAY=10
  CONFIG_USE_BOOTCOMMAND=y
  CONFIG_BOOTCOMMAND="setenv bootargs root=/dev/$bdev rw rootdelay=30 console=$consoledev,$baudrate $othbootargs;usb start;ext2load usb 0:1 $loadaddr /boot/$bootfile;ext2load usb 0:1 $fdtaddr /boot/$fdtfile;bootm $loadaddr - $fdtaddr"
@@@ -52,6 -55,8 +54,8 @@@ CONFIG_USE_BOOTFILE=
  CONFIG_BOOTFILE="uImage"
  CONFIG_USE_ETHPRIME=y
  CONFIG_ETHPRIME="eTSEC1"
+ CONFIG_USE_HOSTNAME=y
+ CONFIG_USE_ROOTPATH=y
  CONFIG_LBA48=y
  CONFIG_DDR_CLK_FREQ=66666666
  CONFIG_SYS_SPD_BUS_NUM=1
@@@ -102,10 -107,12 +106,12 @@@ CONFIG_DM_MDIO=
  CONFIG_PHY_GIGE=y
  CONFIG_E1000=y
  CONFIG_MII=y
+ CONFIG_VSC7385_ENET=y
  CONFIG_TSEC_ENET=y
  CONFIG_PCIE_FSL=y
  CONFIG_DM_RTC=y
- CONFIG_SYS_NS16550=y
+ CONFIG_RTC_PT7C4338=y
+ CONFIG_SYS_NS16550_SERIAL=y
  CONFIG_SPI=y
  CONFIG_DM_SPI=y
  CONFIG_FSL_ESPI=y
@@@ -10,7 -10,10 +10,9 @@@ CONFIG_SYS_INIT_RAM_LOCK=
  # CONFIG_CMD_ERRATA is not set
  CONFIG_TARGET_P2020RDB=y
  CONFIG_MPC85XX_HAVE_RESET_VECTOR=y
+ CONFIG_L2_CACHE=y
  CONFIG_ENABLE_36BIT_PHYS=y
 -CONFIG_SYS_MPC85XX_NO_RESETVEC=y
+ CONFIG_USE_UBOOTPATH=y
  CONFIG_PCIE1=y
  CONFIG_PCIE2=y
  CONFIG_PHYS_64BIT=y
@@@ -20,7 -23,7 +22,7 @@@ CONFIG_FIT=
  CONFIG_FIT_VERBOSE=y
  CONFIG_OF_BOARD_SETUP=y
  CONFIG_OF_STDOUT_VIA_ALIAS=y
 -CONFIG_FSL_FIXED_MMC_LOCATION=y
 +CONFIG_NO_PBL=y
  CONFIG_BOOTDELAY=10
  CONFIG_USE_BOOTCOMMAND=y
  CONFIG_BOOTCOMMAND="setenv bootargs root=/dev/$bdev rw rootdelay=30 console=$consoledev,$baudrate $othbootargs;usb start;ext2load usb 0:1 $loadaddr /boot/$bootfile;ext2load usb 0:1 $fdtaddr /boot/$fdtfile;bootm $loadaddr - $fdtaddr"
@@@ -54,6 -57,8 +56,8 @@@ CONFIG_USE_BOOTFILE=
  CONFIG_BOOTFILE="uImage"
  CONFIG_USE_ETHPRIME=y
  CONFIG_ETHPRIME="eTSEC1"
+ CONFIG_USE_HOSTNAME=y
+ CONFIG_USE_ROOTPATH=y
  CONFIG_LBA48=y
  CONFIG_DDR_CLK_FREQ=66666666
  CONFIG_SYS_SPD_BUS_NUM=1
@@@ -105,10 -110,12 +109,12 @@@ CONFIG_DM_MDIO=
  CONFIG_PHY_GIGE=y
  CONFIG_E1000=y
  CONFIG_MII=y
+ CONFIG_VSC7385_ENET=y
  CONFIG_TSEC_ENET=y
  CONFIG_PCIE_FSL=y
  CONFIG_DM_RTC=y
- CONFIG_SYS_NS16550=y
+ CONFIG_RTC_PT7C4338=y
+ CONFIG_SYS_NS16550_SERIAL=y
  CONFIG_SPI=y
  CONFIG_DM_SPI=y
  CONFIG_FSL_ESPI=y
@@@ -10,7 -10,10 +10,9 @@@ CONFIG_SYS_INIT_RAM_LOCK=
  # CONFIG_CMD_ERRATA is not set
  CONFIG_TARGET_P2020RDB=y
  CONFIG_MPC85XX_HAVE_RESET_VECTOR=y
+ CONFIG_L2_CACHE=y
  CONFIG_ENABLE_36BIT_PHYS=y
 -CONFIG_SYS_MPC85XX_NO_RESETVEC=y
+ CONFIG_USE_UBOOTPATH=y
  CONFIG_PCIE1=y
  CONFIG_PCIE2=y
  CONFIG_SYS_MONITOR_LEN=786432
@@@ -19,7 -22,7 +21,7 @@@ CONFIG_FIT=
  CONFIG_FIT_VERBOSE=y
  CONFIG_OF_BOARD_SETUP=y
  CONFIG_OF_STDOUT_VIA_ALIAS=y
 -CONFIG_FSL_FIXED_MMC_LOCATION=y
 +CONFIG_NO_PBL=y
  CONFIG_BOOTDELAY=10
  CONFIG_USE_BOOTCOMMAND=y
  CONFIG_BOOTCOMMAND="setenv bootargs root=/dev/$bdev rw rootdelay=30 console=$consoledev,$baudrate $othbootargs;usb start;ext2load usb 0:1 $loadaddr /boot/$bootfile;ext2load usb 0:1 $fdtaddr /boot/$fdtfile;bootm $loadaddr - $fdtaddr"
@@@ -53,6 -56,8 +55,8 @@@ CONFIG_USE_BOOTFILE=
  CONFIG_BOOTFILE="uImage"
  CONFIG_USE_ETHPRIME=y
  CONFIG_ETHPRIME="eTSEC1"
+ CONFIG_USE_HOSTNAME=y
+ CONFIG_USE_ROOTPATH=y
  CONFIG_LBA48=y
  CONFIG_DDR_CLK_FREQ=66666666
  CONFIG_SYS_SPD_BUS_NUM=1
@@@ -104,10 -109,12 +108,12 @@@ CONFIG_DM_MDIO=
  CONFIG_PHY_GIGE=y
  CONFIG_E1000=y
  CONFIG_MII=y
+ CONFIG_VSC7385_ENET=y
  CONFIG_TSEC_ENET=y
  CONFIG_PCIE_FSL=y
  CONFIG_DM_RTC=y
- CONFIG_SYS_NS16550=y
+ CONFIG_RTC_PT7C4338=y
+ CONFIG_SYS_NS16550_SERIAL=y
  CONFIG_SPI=y
  CONFIG_DM_SPI=y
  CONFIG_FSL_ESPI=y
@@@ -80,8 -80,8 +80,9 @@@ CONFIG_DM_REGULATOR_FIXED=
  CONFIG_PWM_ROCKCHIP=y
  CONFIG_RAM=y
  CONFIG_SPL_RAM=y
 +CONFIG_DM_RESET=y
  CONFIG_DEBUG_UART_SHIFT=2
+ CONFIG_SYS_NS16550_MEM32=y
  CONFIG_SYSRESET=y
  CONFIG_USB=y
  CONFIG_USB_DWC2=y
@@@ -63,6 -63,6 +63,7 @@@ CONFIG_SPL_RAM=
  CONFIG_DM_RESET=y
  CONFIG_BAUDRATE=1500000
  CONFIG_DEBUG_UART_SHIFT=2
+ CONFIG_SYS_NS16550_MEM32=y
  CONFIG_SYSRESET=y
 +# CONFIG_BINMAN_FDT is not set
  CONFIG_ERRNO_STR=y
@@@ -77,8 -77,8 +77,9 @@@ CONFIG_DM_REGULATOR_FIXED=
  CONFIG_PWM_ROCKCHIP=y
  CONFIG_RAM=y
  CONFIG_SPL_RAM=y
 +CONFIG_DM_RESET=y
  CONFIG_DEBUG_UART_SHIFT=2
+ CONFIG_SYS_NS16550_MEM32=y
  CONFIG_SYSRESET=y
  CONFIG_USB=y
  CONFIG_USB_DWC2=y
@@@ -65,6 -65,7 +65,6 @@@ CONFIG_CMD_DNS=
  CONFIG_CMD_BMP=y
  CONFIG_CMD_BOOTCOUNT=y
  CONFIG_CMD_CACHE=y
 -CONFIG_CMD_CLS=y
  CONFIG_CMD_TIME=y
  CONFIG_CMD_PMIC=y
  CONFIG_CMD_REGULATOR=y
@@@ -132,6 -133,7 +132,7 @@@ CONFIG_CI_UDC=
  CONFIG_USB_GADGET_DOWNLOAD=y
  CONFIG_VIDEO=y
  CONFIG_VIDEO_IPUV3=y
+ CONFIG_IMX_VIDEO_SKIP=y
  CONFIG_WATCHDOG_TIMEOUT_MSECS=30000
  CONFIG_IMX_WATCHDOG=y
  CONFIG_BCH=y
@@@ -36,6 -36,7 +36,6 @@@ CONFIG_CMD_PCI=
  CONFIG_CMD_BMP=y
  CONFIG_CMD_BOOTCOUNT=y
  CONFIG_CMD_CACHE=y
 -CONFIG_CMD_CLS=y
  CONFIG_CMD_EXT2=y
  CONFIG_CMD_EXT4=y
  CONFIG_CMD_EXT4_WRITE=y
@@@ -97,6 -98,8 +97,8 @@@ CONFIG_VIDEO=
  # CONFIG_VIDEO_BPP32 is not set
  CONFIG_SYS_WHITE_ON_BLACK=y
  CONFIG_VIDEO_IPUV3=y
+ CONFIG_IMX_VIDEO_SKIP=y
+ CONFIG_IMX_HDMI=y
  CONFIG_WATCHDOG_TIMEOUT_MSECS=8000
  CONFIG_IMX_WATCHDOG=y
  CONFIG_BCH=y
@@@ -74,8 -74,8 +74,9 @@@ CONFIG_DM_REGULATOR_FIXED=
  CONFIG_PWM_ROCKCHIP=y
  CONFIG_RAM=y
  CONFIG_SPL_RAM=y
 +CONFIG_DM_RESET=y
  CONFIG_DEBUG_UART_SHIFT=2
+ CONFIG_SYS_NS16550_MEM32=y
  CONFIG_SYSRESET=y
  CONFIG_USB=y
  CONFIG_USB_DWC2=y
@@@ -34,6 -34,7 +34,6 @@@ CONFIG_CMD_DHCP=
  CONFIG_CMD_MII=y
  CONFIG_CMD_PING=y
  CONFIG_CMD_BOOTCOUNT=y
 -CONFIG_CMD_CLS=y
  CONFIG_CMD_EXT2=y
  CONFIG_CMD_EXT4=y
  CONFIG_CMD_EXT4_WRITE=y
@@@ -51,6 -52,7 +51,7 @@@ CONFIG_SYS_I2C_MXC=
  CONFIG_I2C_MUX=y
  CONFIG_I2C_MUX_PCA954x=y
  CONFIG_MISC=y
+ CONFIG_FSL_IIM=y
  CONFIG_I2C_EEPROM=y
  CONFIG_FSL_ESDHC_IMX=y
  CONFIG_MTD=y
@@@ -79,6 -81,7 +80,7 @@@ CONFIG_USB_ETHER_SMSC95XX=
  CONFIG_VIDEO=y
  CONFIG_SYS_WHITE_ON_BLACK=y
  CONFIG_VIDEO_IPUV3=y
+ CONFIG_IMX_VIDEO_SKIP=y
  CONFIG_WATCHDOG_TIMEOUT_MSECS=8000
  CONFIG_IMX_WATCHDOG=y
  CONFIG_BCH=y
@@@ -45,6 -45,7 +45,6 @@@ CONFIG_CMD_TIME=
  CONFIG_SPL_OF_CONTROL=y
  CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
  CONFIG_ENV_IS_IN_SPI_FLASH=y
 -CONFIG_ENV_SPI_MAX_HZ=30000000
  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
  CONFIG_SPL_DM_SEQ_ALIAS=y
  CONFIG_ROCKCHIP_GPIO=y
@@@ -72,6 -73,7 +72,7 @@@ CONFIG_DM_RNG=
  CONFIG_RNG_ROCKCHIP=y
  CONFIG_BAUDRATE=1500000
  CONFIG_DEBUG_UART_SHIFT=2
+ CONFIG_SYS_NS16550_MEM32=y
  CONFIG_ROCKCHIP_SPI=y
  CONFIG_SYSRESET=y
  CONFIG_USB=y
@@@ -81,6 -83,7 +82,6 @@@ CONFIG_USB_EHCI_HCD=
  CONFIG_USB_EHCI_GENERIC=y
  CONFIG_USB_OHCI_HCD=y
  CONFIG_USB_OHCI_GENERIC=y
 -CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS=2
  CONFIG_USB_DWC3=y
  CONFIG_USB_DWC3_GENERIC=y
  CONFIG_USB_KEYBOARD=y
@@@ -30,7 -30,6 +30,7 @@@ CONFIG_SPL_STACK_R=
  CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000
  CONFIG_TPL=y
  CONFIG_CMD_BOOTZ=y
 +CONFIG_CMD_NVEDIT_EFI=y
  CONFIG_CMD_DFU=y
  CONFIG_CMD_GPT=y
  CONFIG_CMD_MMC=y
@@@ -39,7 -38,6 +39,7 @@@ CONFIG_CMD_USB=
  CONFIG_CMD_ROCKUSB=y
  CONFIG_CMD_USB_MASS_STORAGE=y
  # CONFIG_CMD_SETEXPR is not set
 +CONFIG_CMD_EFIDEBUG=y
  CONFIG_CMD_TIME=y
  CONFIG_SPL_OF_CONTROL=y
  CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
@@@ -68,6 -66,7 +68,7 @@@ CONFIG_RAM_RK3399_LPDDR4=
  CONFIG_DM_RESET=y
  CONFIG_BAUDRATE=1500000
  CONFIG_DEBUG_UART_SHIFT=2
+ CONFIG_SYS_NS16550_MEM32=y
  CONFIG_SYSRESET=y
  CONFIG_USB=y
  CONFIG_USB_XHCI_HCD=y
@@@ -92,5 -91,9 +93,5 @@@ CONFIG_DISPLAY_ROCKCHIP_HDMI=
  CONFIG_SPL_TINY_MEMSET=y
  CONFIG_ERRNO_STR=y
  CONFIG_OF_LIBFDT_OVERLAY=y
 -CONFIG_CMD_NVEDIT_EFI=y
 -CONFIG_CMD_EFIDEBUG=y
 -CONFIG_TOOLS_MKEFICAPSULE=y
 -CONFIG_HEXDUMP=y
  CONFIG_EFI_CAPSULE_ON_DISK=y
  CONFIG_EFI_CAPSULE_FIRMWARE_RAW=y
@@@ -30,7 -30,6 +30,7 @@@ CONFIG_SPL_STACK_R=
  CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000
  CONFIG_TPL=y
  CONFIG_CMD_BOOTZ=y
 +CONFIG_CMD_NVEDIT_EFI=y
  CONFIG_CMD_DFU=y
  CONFIG_CMD_GPT=y
  CONFIG_CMD_MMC=y
@@@ -39,7 -38,6 +39,7 @@@ CONFIG_CMD_USB=
  CONFIG_CMD_ROCKUSB=y
  CONFIG_CMD_USB_MASS_STORAGE=y
  # CONFIG_CMD_SETEXPR is not set
 +CONFIG_CMD_EFIDEBUG=y
  CONFIG_CMD_TIME=y
  CONFIG_SPL_OF_CONTROL=y
  CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
@@@ -68,6 -66,7 +68,7 @@@ CONFIG_RAM_RK3399_LPDDR4=
  CONFIG_DM_RESET=y
  CONFIG_BAUDRATE=1500000
  CONFIG_DEBUG_UART_SHIFT=2
+ CONFIG_SYS_NS16550_MEM32=y
  CONFIG_SYSRESET=y
  CONFIG_USB=y
  CONFIG_USB_XHCI_HCD=y
@@@ -92,5 -91,9 +93,5 @@@ CONFIG_DISPLAY_ROCKCHIP_HDMI=
  CONFIG_SPL_TINY_MEMSET=y
  CONFIG_ERRNO_STR=y
  CONFIG_OF_LIBFDT_OVERLAY=y
 -CONFIG_CMD_NVEDIT_EFI=y
 -CONFIG_CMD_EFIDEBUG=y
 -CONFIG_TOOLS_MKEFICAPSULE=y
 -CONFIG_HEXDUMP=y
  CONFIG_EFI_CAPSULE_ON_DISK=y
  CONFIG_EFI_CAPSULE_FIRMWARE_RAW=y
@@@ -73,8 -73,8 +73,9 @@@ CONFIG_PWM_ROCKCHIP=
  CONFIG_RAM=y
  CONFIG_SPL_RAM=y
  # CONFIG_RAM_ROCKCHIP_DEBUG is not set
 +CONFIG_DM_RESET=y
  CONFIG_DEBUG_UART_SHIFT=2
+ CONFIG_SYS_NS16550_MEM32=y
  CONFIG_SYSRESET=y
  CONFIG_USB=y
  CONFIG_USB_EHCI_HCD=y
@@@ -135,7 -135,6 +135,7 @@@ CONFIG_BOOTP_SEND_HOSTNAME=
  CONFIG_NETCONSOLE=y
  CONFIG_IP_DEFRAG=y
  CONFIG_BOOTP_SERVERIP=y
 +CONFIG_IPV6=y
  CONFIG_DM_DMA=y
  CONFIG_DEVRES=y
  CONFIG_DEBUG_DEVRES=y
@@@ -267,6 -266,6 +267,7 @@@ CONFIG_RESET_SYSCON=
  CONFIG_RESET_SCMI=y
  CONFIG_DM_RTC=y
  CONFIG_RTC_RV8803=y
++CONFIG_RTC_HT1380=y
  CONFIG_SCSI=y
  CONFIG_DM_SCSI=y
  CONFIG_SANDBOX_SERIAL=y
@@@ -334,3 -333,5 +335,3 @@@ CONFIG_TEST_FDTDEC=
  CONFIG_UNIT_TEST=y
  CONFIG_UT_TIME=y
  CONFIG_UT_DM=y
 -CONFIG_IPV6=y
 -CONFIG_RTC_HT1380=y
@@@ -72,8 -72,10 +72,8 @@@ CONFIG_CMD_CLK=
  CONFIG_CMD_DFU=y
  CONFIG_CMD_FUSE=y
  CONFIG_CMD_GPIO=y
 -CONFIG_CMD_GPT=y
  CONFIG_CMD_I2C=y
  CONFIG_CMD_MMC=y
 -CONFIG_CMD_MTD=y
  CONFIG_CMD_REMOTEPROC=y
  CONFIG_CMD_SPI=y
  CONFIG_CMD_USB=y
@@@ -104,10 -106,15 +104,12 @@@ CONFIG_VERSION_VARIABLE=
  CONFIG_NET_RANDOM_ETHADDR=y
  CONFIG_IP_DEFRAG=y
  CONFIG_TFTP_TSIZE=y
+ CONFIG_USE_SERVERIP=y
+ CONFIG_SERVERIP="192.168.1.1"
  CONFIG_STM32_ADC=y
  CONFIG_SPL_BLOCK_CACHE=y
  CONFIG_BOOTCOUNT_LIMIT=y
  CONFIG_SYS_BOOTCOUNT_MAGIC=0xB0C40000
 -CONFIG_DFU_MMC=y
 -CONFIG_DFU_MTD=y
 -CONFIG_DFU_RAM=y
  CONFIG_GPIO_HOG=y
  CONFIG_DM_HWSPINLOCK=y
  CONFIG_HWSPINLOCK_STM32=y
@@@ -70,8 -70,10 +70,8 @@@ CONFIG_CMD_CLK=
  CONFIG_CMD_DFU=y
  CONFIG_CMD_FUSE=y
  CONFIG_CMD_GPIO=y
 -CONFIG_CMD_GPT=y
  CONFIG_CMD_I2C=y
  CONFIG_CMD_MMC=y
 -CONFIG_CMD_MTD=y
  CONFIG_CMD_REMOTEPROC=y
  CONFIG_CMD_SPI=y
  CONFIG_CMD_USB=y
@@@ -101,10 -103,15 +101,12 @@@ CONFIG_VERSION_VARIABLE=
  CONFIG_NET_RANDOM_ETHADDR=y
  CONFIG_IP_DEFRAG=y
  CONFIG_TFTP_TSIZE=y
+ CONFIG_USE_SERVERIP=y
+ CONFIG_SERVERIP="192.168.1.1"
  CONFIG_STM32_ADC=y
  CONFIG_SPL_BLOCK_CACHE=y
  CONFIG_BOOTCOUNT_LIMIT=y
  CONFIG_SYS_BOOTCOUNT_MAGIC=0xB0C40000
 -CONFIG_DFU_MMC=y
 -CONFIG_DFU_MTD=y
 -CONFIG_DFU_RAM=y
  CONFIG_GPIO_HOG=y
  CONFIG_DM_HWSPINLOCK=y
  CONFIG_HWSPINLOCK_STM32=y
@@@ -82,8 -82,8 +82,9 @@@ CONFIG_REGULATOR_RK8XX=
  CONFIG_PWM_ROCKCHIP=y
  CONFIG_RAM=y
  CONFIG_SPL_RAM=y
 +CONFIG_DM_RESET=y
  CONFIG_DEBUG_UART_SHIFT=2
+ CONFIG_SYS_NS16550_MEM32=y
  CONFIG_SYSRESET=y
  CONFIG_USB=y
  CONFIG_USB_DWC2=y
@@@ -82,8 -82,8 +82,9 @@@ CONFIG_REGULATOR_RK8XX=
  CONFIG_PWM_ROCKCHIP=y
  CONFIG_RAM=y
  CONFIG_SPL_RAM=y
 +CONFIG_DM_RESET=y
  CONFIG_DEBUG_UART_SHIFT=2
+ CONFIG_SYS_NS16550_MEM32=y
  CONFIG_SYSRESET=y
  CONFIG_USB=y
  CONFIG_USB_DWC2=y
@@@ -82,8 -82,8 +82,9 @@@ CONFIG_REGULATOR_RK8XX=
  CONFIG_PWM_ROCKCHIP=y
  CONFIG_RAM=y
  CONFIG_SPL_RAM=y
 +CONFIG_DM_RESET=y
  CONFIG_DEBUG_UART_SHIFT=2
+ CONFIG_SYS_NS16550_MEM32=y
  CONFIG_SYSRESET=y
  CONFIG_USB=y
  CONFIG_USB_DWC2=y
@@@ -1,11 -1,8 +1,11 @@@
  .. SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
  .. sectionauthor:: Tom Rini <trini@konsulko.com>
  
 +AM335x Generation
 +=================
 +
  Summary
 -=======
 +-------
  
  This document covers various features of the `am335x_evm` default
  configuration, some of the related defconfigs, and how to enable hardware
@@@ -57,7 -54,7 +57,7 @@@ Step-1: Building u-boot for NAND boo
        CONFIG_SYS_NAND_PAGE_SIZE       number of main bytes in NAND page
        CONFIG_SYS_NAND_OOBSIZE         number of OOB bytes in NAND page
        CONFIG_SYS_NAND_BLOCK_SIZE      number of bytes in NAND erase-block
-       CONFIG_SYS_NAND_ECCPOS          ECC map for NAND page
+       CFG_SYS_NAND_ECCPOS             ECC map for NAND page
        CONFIG_NAND_OMAP_ECCSCHEME      (refer doc/README.nand)
  
  Step-2: Flashing NAND via MMC/SD
diff --combined drivers/net/tsec.c
  #include <asm/processor.h>
  #include <asm/io.h>
  
- #ifndef CONFIG_DM_ETH
- /* Default initializations for TSEC controllers. */
- static struct tsec_info_struct tsec_info[] = {
- #ifdef CONFIG_TSEC1
-       STD_TSEC_INFO(1),       /* TSEC1 */
- #endif
- #ifdef CONFIG_TSEC2
-       STD_TSEC_INFO(2),       /* TSEC2 */
- #endif
- #ifdef CONFIG_MPC85XX_FEC
-       {
-               .regs = TSEC_GET_REGS(2, 0x2000),
-               .devname = CONFIG_MPC85XX_FEC_NAME,
-               .phyaddr = FEC_PHY_ADDR,
-               .flags = FEC_FLAGS,
-               .mii_devname = DEFAULT_MII_NAME
-       },                      /* FEC */
- #endif
- #ifdef CONFIG_TSEC3
-       STD_TSEC_INFO(3),       /* TSEC3 */
- #endif
- #ifdef CONFIG_TSEC4
-       STD_TSEC_INFO(4),       /* TSEC4 */
- #endif
- };
- #endif /* CONFIG_DM_ETH */
  #define TBIANA_SETTINGS ( \
                TBIANA_ASYMMETRIC_PAUSE \
                | TBIANA_SYMMETRIC_PAUSE \
                )
  
  /* By default force the TBI PHY into 1000Mbps full duplex when in SGMII mode */
- #ifndef CONFIG_TSEC_TBICR_SETTINGS
- #define CONFIG_TSEC_TBICR_SETTINGS ( \
+ #ifndef CFG_TSEC_TBICR_SETTINGS
+ #define CFG_TSEC_TBICR_SETTINGS ( \
                TBICR_PHY_RESET \
                | TBICR_ANEG_ENABLE \
                | TBICR_FULL_DUPLEX \
                | TBICR_SPEED1_SET \
                )
- #endif /* CONFIG_TSEC_TBICR_SETTINGS */
+ #endif /* CFG_TSEC_TBICR_SETTINGS */
  
  /* Configure the TBI for SGMII operation */
  static void tsec_configure_serdes(struct tsec_private *priv)
@@@ -78,7 -50,7 +50,7 @@@
        tsec_local_mdio_write(priv->phyregs_sgmii, in_be32(&priv->regs->tbipa),
                              0, TBI_TBICON, TBICON_CLK_SELECT);
        tsec_local_mdio_write(priv->phyregs_sgmii, in_be32(&priv->regs->tbipa),
-                             0, TBI_CR, CONFIG_TSEC_TBICR_SETTINGS);
+                             0, TBI_CR, CFG_TSEC_TBICR_SETTINGS);
  }
  
  /* the 'way' for ethernet-CRC-32. Spliced in from Linux lib/crc32.c
@@@ -124,23 -96,14 +96,14 @@@ static u32 ether_crc(size_t len, unsign
   * for PowerPC (tm) is usually the case) in the register holds
   * the entry.
   */
- #ifndef CONFIG_DM_ETH
- static int tsec_mcast_addr(struct eth_device *dev, const u8 *mcast_mac,
-                          int join)
- #else
  static int tsec_mcast_addr(struct udevice *dev, const u8 *mcast_mac, int join)
- #endif
  {
        struct tsec_private *priv;
        struct tsec __iomem *regs;
        u32 result, value;
        u8 whichbit, whichreg;
  
- #ifndef CONFIG_DM_ETH
-       priv = (struct tsec_private *)dev->priv;
- #else
        priv = dev_get_priv(dev);
- #endif
        regs = priv->regs;
        result = ether_crc(MAC_ADDR_LEN, mcast_mac);
        whichbit = (result >> 24) & 0x1f; /* the 5 LSB = which bit to set */
        return 0;
  }
  
 -static int tsec_set_promisc(struct udevice *dev, bool enable)
 +static int __maybe_unused tsec_set_promisc(struct udevice *dev, bool enable)
  {
        struct tsec_private *priv = dev_get_priv(dev);
        struct tsec __iomem *regs = priv->regs;
@@@ -271,11 -234,7 +234,7 @@@ static void adjust_link(struct tsec_pri
   * do the same. Presumably, this would be zero if there were no
   * errors
   */
- #ifndef CONFIG_DM_ETH
- static int tsec_send(struct eth_device *dev, void *packet, int length)
- #else
  static int tsec_send(struct udevice *dev, void *packet, int length)
- #endif
  {
        struct tsec_private *priv;
        struct tsec __iomem *regs;
        u16 status;
        int i;
  
- #ifndef CONFIG_DM_ETH
-       priv = (struct tsec_private *)dev->priv;
- #else
        priv = dev_get_priv(dev);
- #endif
        regs = priv->regs;
        /* Find an empty buffer descriptor */
        for (i = 0;
        return result;
  }
  
- #ifndef CONFIG_DM_ETH
- static int tsec_recv(struct eth_device *dev)
- {
-       struct tsec_private *priv = (struct tsec_private *)dev->priv;
-       struct tsec __iomem *regs = priv->regs;
-       while (!(in_be16(&priv->rxbd[priv->rx_idx].status) & RXBD_EMPTY)) {
-               int length = in_be16(&priv->rxbd[priv->rx_idx].length);
-               u16 status = in_be16(&priv->rxbd[priv->rx_idx].status);
-               uchar *packet = net_rx_packets[priv->rx_idx];
-               /* Send the packet up if there were no errors */
-               if (!(status & RXBD_STATS))
-                       net_process_received_packet(packet, length - 4);
-               else
-                       printf("Got error %x\n", (status & RXBD_STATS));
-               out_be16(&priv->rxbd[priv->rx_idx].length, 0);
-               status = RXBD_EMPTY;
-               /* Set the wrap bit if this is the last element in the list */
-               if ((priv->rx_idx + 1) == PKTBUFSRX)
-                       status |= RXBD_WRAP;
-               out_be16(&priv->rxbd[priv->rx_idx].status, status);
-               priv->rx_idx = (priv->rx_idx + 1) % PKTBUFSRX;
-       }
-       if (in_be32(&regs->ievent) & IEVENT_BSY) {
-               out_be32(&regs->ievent, IEVENT_BSY);
-               out_be32(&regs->rstat, RSTAT_CLEAR_RHALT);
-       }
-       return -1;
- }
- #else
  static int tsec_recv(struct udevice *dev, int flags, uchar **packetp)
  {
        struct tsec_private *priv = (struct tsec_private *)dev_get_priv(dev);
@@@ -406,22 -325,12 +325,12 @@@ static int tsec_free_pkt(struct udevic
  
        return 0;
  }
- #endif
  
- /* Stop the interface */
- #ifndef CONFIG_DM_ETH
- static void tsec_halt(struct eth_device *dev)
- #else
  static void tsec_halt(struct udevice *dev)
- #endif
  {
        struct tsec_private *priv;
        struct tsec __iomem *regs;
- #ifndef CONFIG_DM_ETH
-       priv = (struct tsec_private *)dev->priv;
- #else
        priv = dev_get_priv(dev);
- #endif
        regs = priv->regs;
  
        clrbits_be32(&regs->dmactrl, DMACTRL_GRS | DMACTRL_GTS);
@@@ -583,27 -492,15 +492,15 @@@ static void startup_tsec(struct tsec_pr
   * that it returns success if the link is up, failure otherwise.
   * This allows U-Boot to find the first active controller.
   */
- #ifndef CONFIG_DM_ETH
- static int tsec_init(struct eth_device *dev, struct bd_info *bd)
- #else
  static int tsec_init(struct udevice *dev)
- #endif
  {
        struct tsec_private *priv;
        struct tsec __iomem *regs;
- #ifdef CONFIG_DM_ETH
        struct eth_pdata *pdata = dev_get_plat(dev);
- #else
-       struct eth_device *pdata = dev;
- #endif
        u32 tempval;
        int ret;
  
- #ifndef CONFIG_DM_ETH
-       priv = (struct tsec_private *)dev->priv;
- #else
        priv = dev_get_priv(dev);
- #endif
        regs = priv->regs;
        /* Make sure the controller is stopped */
        tsec_halt(dev);
@@@ -715,7 -612,7 +612,7 @@@ static int init_phy(struct tsec_privat
        if (priv->interface == PHY_INTERFACE_MODE_SGMII)
                tsec_configure_serdes(priv);
  
- #if defined(CONFIG_DM_ETH) && defined(CONFIG_DM_MDIO)
+ #if defined(CONFIG_DM_MDIO)
        phydev = dm_eth_phy_connect(priv->dev);
  #else
        phydev = phy_connect(priv->bus, priv->phyaddr, priv->dev,
        return 1;
  }
  
- #ifndef CONFIG_DM_ETH
- /*
-  * Initialize device structure. Returns success if PHY
-  * initialization succeeded (i.e. if it recognizes the PHY)
-  */
- static int tsec_initialize(struct bd_info *bis,
-                          struct tsec_info_struct *tsec_info)
- {
-       struct tsec_private *priv;
-       struct eth_device *dev;
-       int i;
-       dev = (struct eth_device *)malloc(sizeof(*dev));
-       if (!dev)
-               return 0;
-       memset(dev, 0, sizeof(*dev));
-       priv = (struct tsec_private *)malloc(sizeof(*priv));
-       if (!priv) {
-               free(dev);
-               return 0;
-       }
-       priv->regs = tsec_info->regs;
-       priv->phyregs_sgmii = tsec_info->miiregs_sgmii;
-       priv->phyaddr = tsec_info->phyaddr;
-       priv->tbiaddr = CONFIG_SYS_TBIPA_VALUE;
-       priv->flags = tsec_info->flags;
-       strcpy(dev->name, tsec_info->devname);
-       priv->interface = tsec_info->interface;
-       priv->bus = miiphy_get_dev_by_name(tsec_info->mii_devname);
-       priv->dev = dev;
-       dev->iobase = 0;
-       dev->priv = priv;
-       dev->init = tsec_init;
-       dev->halt = tsec_halt;
-       dev->send = tsec_send;
-       dev->recv = tsec_recv;
-       dev->mcast = tsec_mcast_addr;
-       /* Tell U-Boot to get the addr from the env */
-       for (i = 0; i < 6; i++)
-               dev->enetaddr[i] = 0;
-       eth_register(dev);
-       /* Reset the MAC */
-       setbits_be32(&priv->regs->maccfg1, MACCFG1_SOFT_RESET);
-       udelay(2);  /* Soft Reset must be asserted for 3 TX clocks */
-       clrbits_be32(&priv->regs->maccfg1, MACCFG1_SOFT_RESET);
-       /* Try to initialize PHY here, and return */
-       return init_phy(priv);
- }
- /*
-  * Initialize all the TSEC devices
-  *
-  * Returns the number of TSEC devices that were initialized
-  */
- int tsec_eth_init(struct bd_info *bis, struct tsec_info_struct *tsecs,
-                 int num)
- {
-       int i;
-       int count = 0;
-       for (i = 0; i < num; i++) {
-               int ret = tsec_initialize(bis, &tsecs[i]);
-               if (ret > 0)
-                       count += ret;
-       }
-       return count;
- }
- int tsec_standard_init(struct bd_info *bis)
- {
-       struct fsl_pq_mdio_info info;
-       info.regs = TSEC_GET_MDIO_REGS_BASE(1);
-       info.name = DEFAULT_MII_NAME;
-       fsl_pq_mdio_init(bis, &info);
-       return tsec_eth_init(bis, tsec_info, ARRAY_SIZE(tsec_info));
- }
- #else /* CONFIG_DM_ETH */
  int tsec_probe(struct udevice *dev)
  {
        struct eth_pdata *pdata = dev_get_plat(dev);
        struct tsec_private *priv = dev_get_priv(dev);
        struct ofnode_phandle_args phandle_args;
-       u32 tbiaddr = CONFIG_SYS_TBIPA_VALUE;
+       u32 tbiaddr = CFG_SYS_TBIPA_VALUE;
        struct tsec_data *data;
        ofnode parent, child;
        fdt_addr_t reg;
@@@ -966,4 -770,3 +770,3 @@@ U_BOOT_DRIVER(eth_tsec) = 
        .plat_auto      = sizeof(struct eth_pdata),
        .flags = DM_FLAG_ALLOC_PRIV_DMA,
  };
- #endif /* CONFIG_DM_ETH */
@@@ -23,19 -23,15 +23,19 @@@ struct orion_timer_priv 
  
  #define MVEBU_TIMER_FIXED_RATE_25MHZ  25000000
  
 -static bool early_init_done __section(".data") = false;
 +static bool early_init_done(void *base)
 +{
 +      if (readl(base + TIMER_CTRL) & TIMER0_EN)
 +              return true;
 +      return false;
 +}
  
  /* Common functions for early (boot) and DM based timer */
  static void orion_timer_init(void *base, enum input_clock_type type)
  {
        /* Only init the timer once */
 -      if (early_init_done)
 +      if (early_init_done(base))
                return;
 -      early_init_done = true;
  
        writel(~0, base + TIMER0_VAL);
        writel(~0, base + TIMER0_RELOAD);
@@@ -76,7 -72,7 +76,7 @@@ unsigned long notrace timer_early_get_r
        if (IS_ENABLED(CONFIG_ARCH_MVEBU))
                return MVEBU_TIMER_FIXED_RATE_25MHZ;
        else
-               return CONFIG_SYS_TCLK;
+               return CFG_SYS_TCLK;
  }
  
  /**
@@@ -121,7 -117,7 +121,7 @@@ static int orion_timer_probe(struct ude
        if (type == INPUT_CLOCK_25MHZ)
                uc_priv->clock_rate = MVEBU_TIMER_FIXED_RATE_25MHZ;
        else
-               uc_priv->clock_rate = CONFIG_SYS_TCLK;
+               uc_priv->clock_rate = CFG_SYS_TCLK;
        orion_timer_init(priv->base, type);
  
        return 0;
  #define SCTL_BASE                     V2M_SYSCTL
  #define VEXPRESS_FLASHPROG_FLVPPEN    (1 << 0)
  
- #define CONFIG_SYS_TIMER_RATE         1000000
- #define CONFIG_SYS_TIMER_COUNTER      (V2M_TIMER01 + 0x4)
- #define CONFIG_SYS_TIMER_COUNTS_DOWN
+ #define CFG_SYS_TIMER_RATE            1000000
+ #define CFG_SYS_TIMER_COUNTER (V2M_TIMER01 + 0x4)
  
  /* PL011 Serial Configuration */
- #define CONFIG_PL011_CLOCK            24000000
- #define CONFIG_PL01x_PORTS            {(void *)CONFIG_SYS_SERIAL0, \
-                                        (void *)CONFIG_SYS_SERIAL1}
+ #define CFG_PL011_CLOCK               24000000
+ #define CFG_PL01x_PORTS               {(void *)CFG_SYS_SERIAL0, \
+                                        (void *)CFG_SYS_SERIAL1}
  
- #define CONFIG_SYS_SERIAL0            V2M_UART0
- #define CONFIG_SYS_SERIAL1            V2M_UART1
+ #define CFG_SYS_SERIAL0               V2M_UART0
+ #define CFG_SYS_SERIAL1               V2M_UART1
  
  /* Miscellaneous configurable options */
  #define LINUX_BOOT_PARAM_ADDR         (V2M_BASE + 0x2000)
  #define PHYS_SDRAM_2_SIZE             0x20000000      /* 512 MB */
  
  /* additions for new relocation code */
- #define CONFIG_SYS_SDRAM_BASE         PHYS_SDRAM_1
- #define CONFIG_SYS_INIT_RAM_SIZE              0x1000
+ #define CFG_SYS_SDRAM_BASE            PHYS_SDRAM_1
+ #define CFG_SYS_INIT_RAM_SIZE         0x1000
  
  /* Basic environment settings */
  #define BOOT_TARGET_DEVICES(func) \
          func(DHCP, dhcp, na)
  #include <config_distro_bootcmd.h>
  
- #define CONFIG_EXTRA_ENV_SETTINGS \
+ #define CFG_EXTRA_ENV_SETTINGS \
 +                "loadaddr=0x60100000\0" \
                  "kernel_addr_r=0x60100000\0" \
                  "fdt_addr_r=0x60000000\0" \
                  "bootargs=console=tty0 console=ttyAMA0,38400n8\0" \
                "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0"
  
  /* FLASH and environment organization */
- #define CONFIG_SYS_FLASH_SIZE         0x04000000
+ #define CFG_SYS_FLASH_SIZE            0x04000000
  
  /* Timeout values in ticks */
  
   */
  
  /* Store environment at top of flash */
- #define CONFIG_SYS_FLASH_BANKS_LIST   { V2M_NOR0, V2M_NOR1 }
+ #define CFG_SYS_FLASH_BANKS_LIST      { V2M_NOR0, V2M_NOR1 }
  
  #endif /* VEXPRESS_COMMON_H */