meta-xilinx: subtree update:757bac706c..bef2bf9b15

Alejandro Enedino Hernandez Samaniego (76):
      libmali-xlnx: Use update-alternatives to switch between GL backends
      libmali-xlnx: modify REQUIRED_DISTRO_FEATURES
      libmali-xlnx: only use and install dependencies that the DISTRO supports
      libmali-xlnx: fix x11 headers
      libmali-xlnx: Dont provide KHR headers
      libmali-xlnx: Change version on gbm.pc to be compatible with mesa
      libmali-xlnx: modify version on egl.pc for compatibility
      run-postinsts: Pass the output of the scripts run to kmsg
      zynqmp-pmu.conf: Upgrade tune to use Microblaze v10.0
      zynqmp-pmu.conf: Update to Microblaze v11.0
      newlib: export CC_FOR_TARGET as CC
      gcc-cross: Dont override EXTRA_OECONF unless DISTRO is xilinx-standalone
      Adds MACHINE.conf containing default tune for Cortex R5
      Adds MACHINE.conf containing default tune for Cortex A53
      toolchain: Provide specific configuration for cross(-canadian) gcc and binutils
      Adds MACHINE.conf containing default tune for Cortex A72
      xilinx-standalone: switch override and append
      xilinx-standalone: Add staticdev packages for newlib and libgloss to dependencies
      xilinx-standalone: Reorganize toolchain configure options
      toolchain: add cortex-A9 options for gcc and binutils
      gcc-cross-microblazeel: disable multilib
      gcc: Separate binutils options
      gcc: Add multilib-list=aprofile configure option for cortex A9
      gcc-runtime: Enable bulding libsdtc++ for baremetal applications
      gcc-runtime: Set correct overrides now that the build has been fixed in oe-core
      gcc-xilinx-standalone: Enable multilib builds for baremetal microblaze
      gcc-microblaze: Remove multilib builds that arent working (m64)
      meta-xilinx-standalone: Restructure layer properly, gcc and binutils belong on recipes-devtools
      newlib: Keep version numbers on bbappends
      meta-xilinx-standalone: Restructure layer properly, newlib belongs to recipes-bsp
      gcc-runtime: Move gcc-runtime to GCCs directory
      layer.conf: Include recipe files from a pattern with no directory required
      Create machines that use SOC_FAMILY
      Microblaze-pmu: Change overrides to reflect machine name changes from zynqmp-pmu to microblaze-pmu
      cortexr5: Change overrides to reflect machine name changes from cortexr5 to zynqmp and versal variants
      cortexa72: To keep up with a standard rename cortexa72 to add its SOC_FAMILY to its name
      meta-xilinx-bsp: Unify machine confs
      cortexr5-versal.conf: Include the tune inc file from the correct path
      cortexr5-zynqmp.conf: Include the tune inc file from the correct path
      tune-cortexrm: Include PACKAGE_EXTRA_ARCHS to avoid parsing errors
      esw: first step to move everything into an embeddedsw class
      pmufw: Install and hence package and strip the pmufw elf file
      fix license and compatible host for now
      pmufw: fix filename on elf file and fix task order to get stripped elf file deployed
      libxil: add flow for a53 using dtg
      device-tree.bbappend: add appent to support cortexa53 MACHINE
      device-tree: switch to AUTOREV to keep up with the repo changes for now
      zynqmp-fsbl: Sync flow with pmufw
      libxil: fix device tree flags for a53
      libxil: Fix DTB and DTG flow to make it more transparent for the user
      Fix XILINX_RELEASE_VERSION
      Increase layer priority
      device-tree: the Flags used from device tree have to be set on the device tree recipe, not in the libxil one
      esw.bbclass: Fix devtool and externalsrc flow
      esw.bbclass: Install artifacts from the build directory vs WORKDIR
      pmufw: Install artifacts from the build directory vs WORKDIR
      esw.bbclass: Make it possible for packages to use the cmake ncurses gui
      libxil: Unify flow and get DTB using the device-tree recipe instead of creating it manually
      SOC_FAMILY: Change overrides
      Microblaze-pmu: Change overrides to reflect machine name chanches from zynqmp-pmu to microblaze-pmu
      device-tree: Install psu_init files as well
      fsbl: avoid using underscore in the directory filename
      meta-xilinx-standalone: Restructure layer properly, pmufw and fsbl belong on recipes-applications
      meta-xilinx-standalone: device-tree belongs on recipes-bsp
      meta-xilinx-standalone: Restructure layer properly, move existing libraries from decoupling to recipes-libraries
      zynqmp-fsbl: Fix race condition on copy_psu_init
      device-tree: Fix install directory
      meta-xilinx-standalone: clean up layer
      libraries: Add inherit on python3native on libraries that were invoking nativepython3
      meta-xilinx: Include templates for local.conf and bblayers.conf
      esw: fix machines that have been renamed
      libgloss: Dont install libgloss as libxil since we actually have libxil
      esw: Switch release version to 2020.1
      xilinx-standalone: Add buildhistory to the DISTRO to avoid cooker errors
      device-tree: Override repo for supported machines
      system-zcu102: Create heterogeneous machine configuration for ZCU102 evaluation board.

Anirudha Sarangi (4):
      meta-xilinx-standalone: conf: distro: Add new distro for freertos
      meta-xilinx-standalone: classes: Update CMAKE_SYSTEM_NAME for Freertos
      meta-xilinx-standalone: recipes-libraries: Add recipe for freertos
      meta-xilinx-standalone: recipes-applications: freertos-hello-world: Add recipe for freertos hello world

Appana Durga Kedareswara rao (82):
      libxil: Add recipes for libxil and xilstandalone
      pmufw: recipes for pmufw app generation in decoupled flow
      Add recipes for xilffs and xilpm libraries
      Add recipes for building zynqmp fsbl application
      meta-xilinx-standalone: Add support for PLM and dependent library recipes
      zynqmp-fsbl: Copy psu_init files to source code
      meta-xilinx: meta-xilinx-standalone: Update source url path
      meta-xilinx: meta-xilinx-standalone: comment flto flags by default
      meta-xilinx-standalone: Using S instead of WORKDIR
      meta-xilinx-standalone: classes: Add bbclass for building esw examples
      meta-xilinx-standalone: recipes-drivers: Add recipe for compiling csudma driver examples
      meta-xilinx-standalone: recipes-drivers: Add recipe for compiling emacps driver examples
      meta-xilinx-standalone: recipes-drivers: Add recipe for compiling axiethernet driver examples
      meta-xilinx-standalone: recipes-drivers: Add recipe for compiling axicdma driver examples
      meta-xilinx-standalone: recipes-drivers: Add recipe for compiling axidma driver examples
      meta-xilinx-standalone: recipes-drivers: Add recipe for compiling llfifo driver examples
      meta-xilinx-standalone: recipe-drivers: Add recipe for compiling mcdma driver examples
      meta-xilinx-standalone: recipe-drivers: Add recipe for compiling zdma driver examples
      meta-xilinx-standalone: recipes-applications: Add recipe for compiling hello world application
      meta-xilinx-standalone: classes: Update md5 checksum as per latest license
      meta-xilinx-standalone: Add support for cortexa72 processor
      meta-xilinx-standalone: recipes-libraries: xilstandalone: Cleanup the recipe
      meta-xilinx-standalone: recipes-libraries: libxil: Cleanup the recipe
      meta-xilinx-standalone: classes: cleanup the class
      meta-xilinx-standalone: recipes-applications: hello-world: Remove dependency on esw_examples class
      meta-xilinx-standalone: recipes-libraries: Add recipe for xilmailbox
      cortexa72: Update cortexa72 machine variable naming
      meta-xilinx: Add support for cortexr5 processor
      meta-xilinx-standalone: Add dependencies on python3-dtc-native
      meta-xilinx-standalone: recipes-libraries: xiltimer: Add task for generating cmake meta-data
      meta-xilinx-standalone: recipes-libraries: lwip: Add recipe for lwip
      meta-xilinx-standalone: recipes-applications: lwip-echo-server: Add recipe for compiling lwip echo server application
      meta-xilinx-standalone: Add support for versal cortexr5 processor
      meta-xilinx-standalone: recipes-applications: lwip-tcp-perf-client: Add recipe for compiling lwip tcp perf client application
      meta-xilinx-standalone: recipes-applications: lwip-tcp-perf-server: Add recipe for compiling lwip tcp perf server application
      meta-xilinx-standalone: recipes-applications: lwip-udp-perf-server: Add recipe for compiling lwip udp perf server application
      meta-xilinx-standalone: recipes-applications: lwip-udp-perf-client: Add recipe for compiling lwip udp perf client application
      meta-xilinx-standalone: recipes-applications: freertos-lwip-echo-server: Add recipe for compiling freertos lwip echo server application
      meta-xilinx-standalone: recipes-applications: freertos-lwip-tcp-perf-client: Add recipe for compiling freertos lwip tcp perf client application
      meta-xilinx-standalone: recipes-applications: freertos-lwip-tcp-perf-server: Add recipe for compiling freertos lwip tcp perf server application
      meta-xilinx-standalone: recipes-applications: freertos-lwip-udp-perf-client: Add recipe for compiling freertos lwip udp perf client application
      meta-xilinx-standalone: recipes-applications: freertos-lwip-udp-perf-server: Add recipe for compiling freertos lwip udp perf server application
      meta-xilinx-standalone: recipes-libraries: Update depends list for socket mode
      meta-xilinx-standalone: recipes-libraries: Add recipe for xilpuf
      meta-xilinx-standalone: recipes-libraries: Fix workarounds
      meta-xilinx-standalone: recipes-libraries: xilloader: Update depends list
      meta-xilinx-standalone: recipes-applications: freertos-hello-world: Fix do_deploy elf variable name
      meta-xilinx-standalone: classes: esw: Remove unneeded DISTRO check
      meta-xilinx-standalone: recipe-drivers: Add recipe for compiling dmaps driver examples
      meta-xilinx-standalone: recipe-drivers: Add recipe for compiling usbpsu driver examples
      meta-xilinx-standalone: recipe-drivers: Add recipe for compiling axivdma driver examples
      meta-xilinx-standalone: recipe-drivers: Add recipe for compiling emaclite driver examples
      meta-xilinx-standalone: recipe-drivers: Add recipe for compiling xxvethernet driver examples
      meta-xilinx-standalone: recipe-drivers: Add recipe for compiling scugic driver examples
      meta-xilinx-standalone: recipe-drivers: Add recipe for compiling ttcps driver examples
      meta-xilinx-standalone: recipe-drivers: Add recipe for compiling tmrctr driver examples
      meta-xilinx-standalone: recipe-drivers: Add recipe for compiling qspipsu driver examples
      meta-xilinx-standalone: recipe-drivers: Add recipe for compiling ospipsv driver examples
      meta-xilinx-standalone: recipe-drivers: Add recipe for compiling resetps driver examples
      meta-xilinx-standalone: recipe-drivers: Add recipe for compiling clockps driver examples
      meta-xilinx-standalone: recipe-drivers: Add recipe for compiling canfd driver examples
      meta-xilinx-standalone: recipe-drivers: Add recipe for compiling canps driver examples
      meta-xilinx-standalone: recipe-drivers: Add recipe for compiling can driver examples
      meta-xilinx-standalone: recipe-drivers: Add recipe for compiling wdtps driver examples
      meta-xilinx-standalone: recipe-drivers: Add recipe for compiling rtcpsu driver examples
      meta-xilinx-standalone: recipe-drivers: Add recipe for compiling gpiops driver examples
      meta-xilinx-standalone: recipe-drivers: Add recipe for compiling sdps driver examples
      meta-xilinx-standalone: recipe-drivers: Add recipe for compiling ipipsu driver examples
      meta-xilinx-standalone: recipe-drivers: Add recipe for compiling nandpsu driver examples
      meta-xilinx-standalone: recipe-drivers: Add recipe for compiling devcfg driver examples
      meta-xilinx-standalone: recipe-drivers: Add recipe for compiling mbox driver examples
      meta-xilinx-standalone: recipe-drivers: Add recipe for compiling mutex driver examples
      meta-xilinx-standalone: recipe-drivers: Add recipe for compiling uartlite driver examples
      meta-xilinx-standalone: recipe-drivers: Add recipe for compiling uartps driver examples
      meta-xilinx-standalone: recipe-drivers: Add recipe for compiling gpio driver examples
      meta-xilinx-standalone: recipe-drivers: Add recipe for compiling spips driver examples
      meta-xilinx-standalone: recipe-drivers: Add recipe for compiling qspips driver examples
      meta-xilinx-standalone: recipe-drivers: Add recipe for compiling xadcps driver examples
      meta-xilinx-standalone: recipe-drivers: Add recipe for compiling sysmon driver examples
      device-tree: Install psu_init files as well for zynqmp machines
      meta-xilinx-standalone: recipes-applications: zynqmp-fsbl: Correct cflags based on the machine type
      meta-xilinx-standalone: recipes-bsp: device-tree: Install psu_init* files only for standalone configuration

Bruce Ashfield (1):
      linux-xlnx: cleanup and make yocto-kernel-cache available

Himanshu Choudhary (8):
      xrt_git:zocl_git: added package_class for generating rpm
      zocl_git: added post install script
      xrt_git: added veral flags and dependencies
      xrt_git:zocl_git: license and PV update from meta-xilinx-internal
      xrt,zocl:Update commit id for 2020.1 release
      xrt_git:zocl_git: updated commitid > CR-1063204
      xrt_git:zocl_git: update commitid for 2020.1 release
      xrt_git:zocl_git: update commitid for 2020.1 release

Jaewon Lee (28):
      Update recipes for 2019.2 release
      u-boot-zynq-scr: reworking boot.scr recipe to work for zynq and zynqmp
      u-boot-zynq-scr: Setting sd as default bootmode for versal
      zynq/zynqmp confs: Adding boot.scr to IMAGE_BOOT_FILES
      bootgen_1.0.bb: Adding initial bootgen recipe to build bootgen
      flashstrip utility: Build and ship flash strip utility needed for qemu
      machine-xilinx-default.inc: Adding required dependencies to image_wic
      **TEMPORARY**: Removing preferred provider overrides for mali backend
      meson: Adding patch to add microblaze as supported CPU
      glibc-locale_%.bbappend: Fix directory installed but not shipped issue
      Revert "**TEMPORARY**: Removing preferred provider overrides for mali backend"
      arm-trusted-firmware.inc: Changing generic DEBUG to DEBUG_ATF
      gcc-cross-canadian_%.bbappend:temporary hack to build gcc cross canadian
      gcc-source: Adding microblaze patch to fix compiler crash with -freg-struct-return
      newlib: Adding xilinx specific patches on top of newlib/libgloss 3.1.0
      cortexa*.conf: Change arch-armv8.inc to arch-armv8a.inc
      gdb: Switching microblaze to use upstream gdb version 8.3.1
      microblaze gdb/binutils: Adding necessary patches for microblaze
      Using tune-cortexa72-cortexa53.inc for versal and zynqmp tunes
      qemu-system-aarch64-multiarch: Adding comment for future fix
      xilinx-standalone.conf: Adding qemu to TOOLCHAIN_HOST_TASK
      arm-trusted-firmware.inc: installing elf with standard name
      u-boot-xlnx:Updating defconfig for all zynq machines
      Correcting ':' placement for appending file paths
      Add older version of OpenCV 3.4.3
      opencv_3.4.3.bb: Removing tiny-dnn from SRC_URI
      versal confs: Upping RAM in runqemu command to 8G for versal boards
      versal confs: cleaning up unnecessary file loading in runqemu command

Jean-Francois Dagenais (3):
      libmali-xlnx: clean and fix FILESXTRAPATHS
      libmali-xlnx: make version recognizable
      kernel-module-mali: add patch to check dma_map_page error

Jeegar Patel (1):
      kernel-module-vcu.bb : Autoload dmaproxy module on boot

Madhurkiran Harikrishnan (14):
      libmali-xlnx: MALI will not provide wayland-egl
      libmali-xlnx.bb: ABIs are made consistent for all backends
      libmali-xlnx: Squash all monolithic library name into a variable
      libmali-xlnx: Upgrade the userspace driver to r9p0
      kernel-module-mali: Upgrade the kernel space driver to r9p0
      weston: Migrate ZynqMP specific patches for weston to meta-xilinx
      weston: Remove opaque substitute for ARGB8888 as ZynqMP DP does not support
      kernel-module-mali: Make the driver compatible with kernel 5.4
      Revert "libmali-xlnx: Dont provide KHR headers"
      mesa: Do not provide KHR headers
      cairo: For ZynqMP enable glesv2 packageconfig
      libglu: Add build time dependency on glesv2 for zynqmp
      xf86-video-armsoc: Bypass the exa layer to free the root pixmap
      libmali: Fetch mali binaries from rel-v2020.1 branch

Manjukumar Matha (17):
      libmali-xlnx: upgrade MALI recipe for 2019.2
      xrt_git.bb: Fix xrt recipe for externalsrc
      zocl_git.bb: Update the S path for zocl
      kernel-module-hdmi_git.bb: New Yocto recipe for Xilinx HDMI drivers
      machine-xilinx-default.inc: Add qemu-xilinx-helper-native as preferred provider
      zynq-generic.conf: Add qemu wiring to generic conf
      meta-xilinx-pynq: Add layer to support PYNQ
      image-types-xilinx-qemu.bbclass: Add sector size as 512K
      ultra96-zynqmp.conf: Add support for Ultra96 evaluation board
      linux-firmware_git.bbappend: Add hook for wl18xx and bts file
      vc-p-a2197-00-versal.conf:Add versal Tenzing +SE1 board configuration
      kc705-microblaze: Update u-boot patch for kc705
      layer.conf: Update XILINX_RELEASE_VERSION to v2020.1
      libgpg-error: Add microblaze platform specific gpg-error.h file
      qemu-xilinx-native: Enable packageconfig option for libgcrypt
      qemu-xilinx.inc: Remove stale packageconfig options
      qemu-xilinx.inc: Configure qemu-xilinx with gcrypt

Mark Hatle (82):
      binutils/gcc: Refactor the oeconf
      Revert "binutils/gcc: Refactor the oeconf"
      gcc-runtime: Make the baremetal changes specific to class-target
      binutils/gcc: Refactor the oeconf
      gcc: Remove cortexa53 errata fixes
      binutils: Merge latest binutils work
      Revert "gcc-microblaze: Remove multilib builds that arent working (m64)"
      gcc-cross-canadian: Fix issue being unable to find stdio.h
      Enable multilib baremetal toolchains
      gcc-runtime: Fix C++ multilib headers
      Limit multilib toolchains to symlinks to the main toolchain
      Create new baremetal toolchain machines
      Fix arm cortex r/m profiles
      microblaze-tc: Minor update and corrections
      Adjust the microblaze standalone toolchain to match vitis expectations.
      newlib: Adjust configuration for standalone to allow BSP library
      qemu-xilinx: Point to master branch by default
      distro/xilinx-standalone: Make LTO optional
      distr/xilinx-standalone: Switch default optimization from ESW to Distro
      cortex-r5: Add cortexr5f configuration
      xilinx-standalone: When building for cortexr5, add -DARMR5 for CCARGS
      newlib: Move microblaze support
      newlib: Cleanup and merge the two newlib bbappends into a single append
      python3-dtc: Add python3 dtc module
      Ensure that bbappends do not affect task hashes
      xlnx-compatible-os.bbclass: Class to allow recipes to list OS compatibility
      Remove hardcoded XILINX_RELEASE_VERSION in recipes
      meta-xilinx-standalone: Add dependencies on python3-dtc
      meta-xilinx-standalone/device-tree: remove duplicate internal references
      lopper: Add lopper utility
      xilinx-standalone: sync distros
      xilinx-standalone.inc: Replace qemu dependency with mingw32 specific recipe
      lopper: Add runtime dependency of python3-dtc
      cortexa53-zynqmp/cortexa72-versal: Fix cortex based BSPs
      README.md: revise README.md based
      README.md: Add information about the new embeddedsw support
      microblaze_dtb.py: Convert a dtb to one or more microblaze TUNE_FEATURES
      linux-xlnx: Use new default defconfigs
      meta-xilinx-bsp: Rename soc configuration masquerading as a tune file
      meta-xilinx-bsp: Remove default values
      machine-xilinx-overrides: Make this generic
      meta-xilinx-bsp: Update recipes to use SOC_FAMILY_ARCH and SOC_VARIANT_ARCH
      meta-xilinx-bsp: rename machine-xilinx-override to xilinx-soc-family.inc
      meta-xilinx-standalone: Move soc overrides from meta-xilinx-default
      meta-xilinx-bsp: Adjust soc to permit multiple CPU/TUNES
      libmali-xlnx: Remove virtual provides
      meta-xilinx-bsp: remove redundant PREFERRED_PROVIDER
      Revert "libmali-xlnx: Remove virtual provides"
      meta-xilinx-bsp: machine-xilinx-default.inc allow empty WIC_DEPENDS
      microblaze_dtb.py: Move to scripts subdir
      zc706-zynq7: Add qemu wiring for zc706 machine
      qemu-zynq7: Add qemu wiring for zc706 machine
      meta-xilinx-bsp: cleanup qemu references
      xilinx-qemu: Move -multiarch extension to the machine-xilinx-qemu
      *-generic.conf: Add QEMU support to each of the generic BSPs
      versal-generic: Move from vck190 to vc-p-a2197-00-versal
      esw.bbclass: Adjust get_xlnx_cmake_process to use both tune and machine
      Revise COMPATIBLE_MACHINE settings
      esw.bbclass: Move DTBFILE to a single definition
      xilinx-standalone.conf: Add workaround for microblaze -Os bug
      Revert "linux-xlnx: Use new default defconfigs"
      qemu-xilinx.inc: Move the URL to 'gitsm' and disable compile time submodules
      esw.bbclass: Only work with xilinx-standalone distro
      Rename plm_git.bb to plm-standalong_git.bb
      meta-xilinx-standalone esw.bbclass: Allow SRCREV and SRC_URI to be overwritten
      esw.bbclass: Change 'or' to 'and' to verify EXTERNALSRC is defined
      Revert "xlnx-compatible-os.bbclass: Class to allow recipes to list OS compatibility"
      Define COMPATIBLE_HOST to prevent mix of Linux and Baremetal recipes
      device-tree.bbappend: Move to COMPATIBLE_HOST
      machines: Move from SERIAL_CONSOLE (deprecated) to SERIAL_CONSOLES
      machines: Move from SERIAL_CONSOLE (deprecated) to SERIAL_CONSOLES
      machines: Allow the user to override SERIAL_CONSOLES
      machines: Remove default SERIAL_CONSOLES_CHECK
      machines: Allow user to override SERIAL_CONSOLE
      microblaze machines: Set LINKER_HASH_STYLE defaults
      kernel-module-mali: WIP
      libcma: Fix SRC_URI definition
      binutils: Microblaze integrate fix from upstream
      init-ifupdown: Fix BSPs that were setting partial overrides
      zynq-generic.conf: Remove the qemu overrides, not needed
      meta-xilinx-standalone gcc: Fix microblaze crtend.o
      lopper: Fix python3 reference in lopper_sanity.py

Min Ma (1):
      xrt_git.bb: update XRT dependency

Mubin Usman Sayyed (3):
      meta-xilinx-bsp: conf: machine: Add standalone based machine for zynq
      meta-xilinx-standalone: Add support for zynq
      meta-xilinx-standalone: classes: esw: Update ESW_CFLAGS with spec file

Mukund PVVN (3):
      zcu1275-zynqmp.conf: Rename zc1275 to zcu1275
      zcu1285-zynqmp.conf: Update UBOOT_MACHINE
      v350-versal.conf:Add versal board configuration

Peter Ogden (1):
      python3-pynq.bb: Update PYNQ to 2.5.1

Sai Hari Chandana Kalluri (54):
      u-boot-xlnx_2019.2.bb: Rename zc1275 to zcu1275 board name
      ultra96-zynqmp.conf: Include mipi as MACHINE_FEATURE
      linux-xlnx.inc: Add MIPI kernel configuration for Ultra96
      pynq-ultra96-*: Add Ultra96 specific pynq example demo:
      vck-sc-zynqmp: Machine configuration for vck190 system controller
      v350-versal.conf: Enforce system.dtb name when using virtual/dtb
      vmk180-versal.conf: Add machine configuration for vmk180-versal
      tune-versal.inc: Set default SOC_VARIANT = s80
      arm-trusted-firmware_2019.2.bbappend: Update compilation flag
      u-boot-xlnx: Add the platform init file for zcu216-zynqmp
      plm_2019.2.bb: recipe to build plm standalone
      psm-firmware_2019.2.bb: Create psm-firmware recipe for standalone build
      versal-mb.conf: Add machine configuration to support standalone build for versal components like plm, psm-firmware
      vck190-versal.conf: Add deploy dir for psm and plm firmware
      tune-versal.inc: Rename include file from arch-armv8 to arch-armv8a
      Move recipes to use _%.bb instead of version
      qemu-*: Upgrade QEMU version 2.11 -> 4.1.5
      Upgrade recipes to 2020.1
      libmali-xlnx: Provide single shlib provider for libMali.so.9
      "**TEMPORARY**" linux-xlnx.inc: Trim PV variable expansion
      Revert "Revert "**TEMPORARY**: Removing preferred provider overrides for mali backend""
      versal-generic: Add versal-generic machine configuration
      Revert  "**TEMPORARY**: Removing preferred provider overrides for mali backend"""
      qemu-xilinx*: Enable qemu-xilinx-native as PROVIDER for qemu-native
      u-boot-zyqn-scr.bb: Update DEVICETREE and KERNEL LOAD ADDRESS for zynqmp machines
      u-boot-xlnx:Update UBOOT-MACHINE to xilinx_zynqmp_virt_defconfig for all zynqmp machines
      qemu-xilinx: Enable qemu-xilinx to provide nativesdk-qemu
      zedboard-zynq7.conf:update u-boot binary name
      qemu-system-aarch64-multiarch: Update the binpath for qemu targets
      zcu102-zynqmp.conf: Modify PMU_FIRMWARE_DEPLOY_DIR and PMU_FIRMWARE_IMAGE_NAME
      Update KERNEL_VERSION to 5.4
      zcu102-zynqmp.conf: Pass dtb and dtb load address as QB_OPT args for qemuboot
      Enable kernel configurations for viruatlization distro feature
      zc702-zynq7: Add qemu wiring for zc702 machine
      qemu-xilinx-multiarch-helper-native_1.0.bb: Move multiarch wrapper script to bindir
      qemuboot-xilinx.bbclass: Remove the subdir added to the qemu target path
      external-hdf.bbappend: move to meta-xilinx-tools layer
      xrt: Remove references to PACKAGE_CLASSES from xrt recipes
      kernel-module-hdmi: Update LICENSE_CHECKSUM for kenrel-module-hdmi
      xilinx-kmeta: Upstream xen and ocicontainer configs to YP kernel-cache
      Update commit ids for 2020.1 release
      arm-trusted-firmware.inc: Update package version
      Update commit ids for 2020.1 release
      lopper: Update commit id for 2020.1 release
      layer.conf: Set layer compat to dunfell & gatesgarth
      qemu-xilinx-native.inc: Fix the patch file names for dunfell Fix patch file names for dunfell
      libmali-xlnx: Inherit features_check instead of distro_features_check
      gcc-9*: Upgrade gcc from 9.2->10.1
      libgloss, newlib: Upgrade version from 3.1 -> 3.3
      meson_%.bbappend: Remove bbappend from layer
      qemu-xilinx.inc: Add patch to enable/disbable libudev in qemu configure
      python3-dtc_1.5.1.bb: Explicitly set the path to run make during configure
      qemu-devicetrees: Use python3 instead of python
      u-boot-xlnx.inc: Explicitly set builddir path

Sandeep Gundlupet Raju (2):
      conf/machine/kc705-microbalzeel.conf: Fix U-boot defconfig
      local.conf.sample: Updating XILINX_VER_MAIN

Swagath Gadde (4):
      u-boot-zynq-scr: Add pxeboot support in u-boot-scr
      zcu216-zynqmp: Add support for zcu216 board
      u-boot-zynq-scr:Add initrd label to pxe config
      zcu208-zynqmp: Add support for zcu208 board

Varalaxmi Bingi (4):
      Update XILINX_RELEASE_VERSION to v2020.1
      zcu1285-zynqmp.conf:using common u-boot defconfig
      u-boot-xlnx.inc:u-boot-xlnx_2020.1.bb: kc705 patch
      removing kc705 patch

Vishal Sagar (3):
      kernel-module-hdmi_git.bb: Add versal support
      kernel-module-hdmi: Update for 2020.1 release
      kernel-module-hdmi: Update commit id and license md5sum for 2020.1

ch vamshi krishna (1):
      xrt_git.bb: Add icd support for edge platforms

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I71ace4a7992c023b84c864abd45e634b5e48f751
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware.inc b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware.inc
index 785f915..40a3d75 100644
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware.inc
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware.inc
@@ -1,7 +1,7 @@
 DESCRIPTION = "ARM Trusted Firmware"
 
 LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://license.rst;md5=e927e02bca647e14efd87e9e914b2443"
+LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031"
 
 PROVIDES = "virtual/arm-trusted-firmware"
 
@@ -12,8 +12,10 @@
 S = "${WORKDIR}/git"
 B = "${WORKDIR}/build"
 
+SYSROOT_DIRS += "/boot"
+
 XILINX_RELEASE_VERSION ?= ""
-ATF_VERSION ?= "2.0"
+ATF_VERSION ?= "2.2"
 ATF_VERSION_EXTENSION ?= "-xilinx-${XILINX_RELEASE_VERSION}"
 PV = "${ATF_VERSION}${ATF_VERSION_EXTENSION}+git${SRCPV}"
 
@@ -45,14 +47,14 @@
 ATF_CONSOLE_zynqmp = "cadence"
 ATF_CONSOLE_versal ?= "pl011"
 
-DEBUG ?= ""
-DEBUG_versal ?= "1"
+DEBUG_ATF ?= ""
+DEBUG_ATF_versal ?= "1"
 
 EXTRA_OEMAKE_zynqmp_append = "${@' ZYNQMP_CONSOLE=${ATF_CONSOLE}' if d.getVar('ATF_CONSOLE', True) != '' else ''}"
 EXTRA_OEMAKE_append_versal = "${@' VERSAL_CONSOLE=${ATF_CONSOLE}' if d.getVar('ATF_CONSOLE', True) != '' else ''}"
-EXTRA_OEMAKE_append = " ${@bb.utils.contains('DEBUG', '1', ' DEBUG=${DEBUG}', '', d)}"
+EXTRA_OEMAKE_append = " ${@bb.utils.contains('DEBUG_ATF', '1', ' DEBUG=${DEBUG_ATF}', '', d)}"
 
-OUTPUT_DIR = "${@bb.utils.contains('DEBUG', '1', '${B}/${PLATFORM}/debug', '${B}/${PLATFORM}/release', d)}"
+OUTPUT_DIR = "${@bb.utils.contains('DEBUG_ATF', '1', '${B}/${PLATFORM}/debug', '${B}/${PLATFORM}/release', d)}"
 
 ATF_MEM_BASE ?= ""
 ATF_MEM_SIZE ?= ""
@@ -62,6 +64,7 @@
 
 EXTRA_OEMAKE_append_versal = "${@' VERSAL_ATF_MEM_BASE=${ATF_MEM_BASE}' if d.getVar('ATF_MEM_BASE', True) != '' else ''}"
 EXTRA_OEMAKE_append_versal = "${@' VERSAL_ATF_MEM_SIZE=${ATF_MEM_SIZE}' if d.getVar('ATF_MEM_SIZE', True) != '' else ''}"
+EXTRA_OEMAKE_append_vc-p-a2197-00-versal =" VERSAL_PLATFORM=silicon"
 
 do_configure() {
 	oe_runmake clean -C ${S} BUILD_BASE=${B} PLAT=${PLATFORM}
@@ -72,7 +75,8 @@
 }
 
 do_install() {
-	:
+	install -d ${D}/boot
+	install -Dm 0644 ${OUTPUT_DIR}/bl31/bl31.elf ${D}/boot/${PN}-${SRCPV}.elf
 }
 
 do_deploy() {
@@ -91,3 +95,4 @@
 	ln -sf ${ATF_BASE_NAME}.ub ${DEPLOYDIR}/atf-uboot.ub
 }
 addtask deploy before do_build after do_compile
+FILES_${PN} += "/boot/${PN}-${SRCPV}.elf"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2019.1.bb b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2019.1.bb
deleted file mode 100644
index 64cbddc..0000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2019.1.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-ATF_VERSION = "2.0"
-XILINX_RELEASE_VERSION = "v2019.1"
-BRANCH ?= "master"
-SRCREV ?= "80d1c79007fda42d4cc0be31b185a1da5799cd4d"
-
-include arm-trusted-firmware.inc
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2020.1.bb b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2020.1.bb
new file mode 100644
index 0000000..1d94c51
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2020.1.bb
@@ -0,0 +1,6 @@
+ATF_VERSION = "2.0"
+BRANCH ?= "xlnx_rebase_v2.2"
+SRCREV ?= "5918e656ef29dbdf234a6324ec85bc8a68eca113"
+
+include arm-trusted-firmware.inc
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/bootgen/bootgen_1.0.bb b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/bootgen/bootgen_1.0.bb
new file mode 100644
index 0000000..4904a8e
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/bootgen/bootgen_1.0.bb
@@ -0,0 +1,31 @@
+SUMMARY = "Building and installing bootgen"
+DESCRIPTION = "Building and installing bootgen, a Xilinx tool that lets you stitch binary files together and generate device boot images"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=be5410bcde8eb6481a6e5d3b22e0740b"
+
+S = "${WORKDIR}/git"
+
+DEPENDS += "openssl"
+RDEPENDS_${PN} += "openssl"
+
+REPO ?= "git://github.com/Xilinx/bootgen.git;protocol=https"
+BRANCH ?= "master"
+SRCREV ?= "bb38995468d8c830cbbfc5062e903961444c0a3c"
+
+BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
+SRC_URI = "${REPO};${BRANCHARG}"
+
+EXTRA_OEMAKE += 'CROSS_COMPILER="${CXX}" -C ${S}'
+CXXFLAGS_append = " -std=c++0x"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+do_install() {
+    install -d ${D}${bindir}
+    install -Dm 0755 ${S}/bootgen ${D}${bindir}
+}
+
+FILES_${PN} = "${bindir}/bootgen"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bb b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bb
index 81965c1..0ecb3aa 100644
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bb
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bb
@@ -11,6 +11,8 @@
 
 inherit devicetree
 
+DEPENDS += "python3-dtc-native"
+
 PROVIDES = "virtual/dtb"
 
 # common zynq include
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/reference-design/kc705-bitstream_2019.1.bb b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/reference-design/kc705-bitstream_2020.1.bb
similarity index 100%
rename from meta-xilinx/meta-xilinx-bsp/recipes-bsp/reference-design/kc705-bitstream_2019.1.bb
rename to meta-xilinx/meta-xilinx-bsp/recipes-bsp/reference-design/kc705-bitstream_2020.1.bb
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx.inc b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx.inc
index 737f5f9..4b8c4ef 100644
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx.inc
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx.inc
@@ -13,8 +13,8 @@
 SRC_URI = "${UBOOTURI};${UBRANCHARG}"
 
 S = "${WORKDIR}/git"
+B = "${WORKDIR}/build"
 
 FILESEXTRAPATHS_prepend := "${THISDIR}/u-boot:"
-FILESEXTRAPATHS_prepend := "${THISDIR}/u-boot-xlnx:"
-FILESEXTRAPATHS_prepend := "${@'${THISDIR}/u-boot-xlnx/${XILINX_RELEASE_VERSION}:' if d.getVar('XILINX_RELEASE_VERSION') else ''}"
 
+SYSROOT_DIRS += "/boot"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx/v2019.1/microblaze-kc705-Convert-microblaze-generic-to-k.patch b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx/v2019.1/microblaze-kc705-Convert-microblaze-generic-to-k.patch
deleted file mode 100644
index 7e25f87..0000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx/v2019.1/microblaze-kc705-Convert-microblaze-generic-to-k.patch
+++ /dev/null
@@ -1,1133 +0,0 @@
-From afe880f500cff7a9486379c5ad7a4f3379015a62 Mon Sep 17 00:00:00 2001
-From: Jaewon Lee <jaewon.lee@xilinx.com>
-Date: Mon, 14 Jan 2019 11:30:56 -0800
-Subject: [PATCH] kc705-microblazeel: Convert microblaze-generic to
- kc705-microblazeel
-
-This is an update to earlier kc705-trd patch done by Nathan Rossi.
-
-Change the microblaze-generic board to match the kc705-microblazeel.
-This patch is not intended for upstream and serves as an intermediate
-solution until OF support in upstream u-boot allows for easy support for
-custom microblaze boards.
-
-Signed-off-by: Jaewon Lee <jaewon.lee@xilinx.com>
-Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-Upstream-Status: Not-Upstreamable [meta-xilinx/kc705 specific]
----
- arch/microblaze/dts/microblaze-generic.dts | 590 ++++++++++++++++++++++++++++-
- board/xilinx/microblaze-generic/config.mk  |  28 +-
- configs/microblaze-generic_defconfig       |  75 ++--
- include/configs/microblaze-generic.h       | 348 ++++++++---------
- 4 files changed, 782 insertions(+), 259 deletions(-)
-
-diff --git a/arch/microblaze/dts/microblaze-generic.dts b/arch/microblaze/dts/microblaze-generic.dts
-index 08a1396..f8e616b 100644
---- a/arch/microblaze/dts/microblaze-generic.dts
-+++ b/arch/microblaze/dts/microblaze-generic.dts
-@@ -1,9 +1,587 @@
- /dts-v1/;
-+
- / {
--	#address-cells = <1>;
--	#size-cells = <1>;
--	aliases {
--	} ;
-+	#address-cells = <0x1>;
-+	#size-cells = <0x1>;
-+	compatible = "xlnx,microblaze";
-+	model = "Xilinx MicroBlaze";
-+	hard-reset-gpios = <0x1 0x0 0x1>;
-+
-+	cpus {
-+		#address-cells = <0x1>;
-+		#cpus = <0x1>;
-+		#size-cells = <0x0>;
-+
-+		cpu@0 {
-+			bus-handle = <0x2>;
-+			clock-frequency = <0xbebc200>;
-+			clocks = <0x3>;
-+			compatible = "xlnx,microblaze-10.0";
-+			d-cache-baseaddr = <0x80000000>;
-+			d-cache-highaddr = <0xbfffffff>;
-+			d-cache-line-size = <0x20>;
-+			d-cache-size = <0x4000>;
-+			device_type = "cpu";
-+			i-cache-baseaddr = <0x80000000>;
-+			i-cache-highaddr = <0xbfffffff>;
-+			i-cache-line-size = <0x10>;
-+			i-cache-size = <0x4000>;
-+			interrupt-handle = <0x4>;
-+			model = "microblaze,10.0";
-+			timebase-frequency = <0xbebc200>;
-+			xlnx,addr-size = <0x20>;
-+			xlnx,addr-tag-bits = <0x10>;
-+			xlnx,allow-dcache-wr = <0x1>;
-+			xlnx,allow-icache-wr = <0x1>;
-+			xlnx,area-optimized = <0x0>;
-+			xlnx,async-interrupt = <0x1>;
-+			xlnx,async-wakeup = <0x3>;
-+			xlnx,avoid-primitives = <0x0>;
-+			xlnx,base-vectors = <0x0>;
-+			xlnx,branch-target-cache-size = <0x0>;
-+			xlnx,cache-byte-size = <0x4000>;
-+			xlnx,d-axi = <0x1>;
-+			xlnx,d-lmb = <0x1>;
-+			xlnx,d-lmb-mon = <0x0>;
-+			xlnx,daddr-size = <0x20>;
-+			xlnx,data-size = <0x20>;
-+			xlnx,dc-axi-mon = <0x0>;
-+			xlnx,dcache-addr-tag = <0x10>;
-+			xlnx,dcache-always-used = <0x1>;
-+			xlnx,dcache-byte-size = <0x4000>;
-+			xlnx,dcache-data-width = <0x0>;
-+			xlnx,dcache-force-tag-lutram = <0x0>;
-+			xlnx,dcache-line-len = <0x8>;
-+			xlnx,dcache-use-writeback = <0x0>;
-+			xlnx,dcache-victims = <0x0>;
-+			xlnx,debug-counter-width = <0x20>;
-+			xlnx,debug-enabled = <0x1>;
-+			xlnx,debug-event-counters = <0x5>;
-+			xlnx,debug-external-trace = <0x0>;
-+			xlnx,debug-interface = <0x0>;
-+			xlnx,debug-latency-counters = <0x1>;
-+			xlnx,debug-profile-size = <0x0>;
-+			xlnx,debug-trace-async-reset = <0x0>;
-+			xlnx,debug-trace-size = <0x2000>;
-+			xlnx,div-zero-exception = <0x1>;
-+			xlnx,dp-axi-mon = <0x0>;
-+			xlnx,dynamic-bus-sizing = <0x0>;
-+			xlnx,ecc-use-ce-exception = <0x0>;
-+			xlnx,edge-is-positive = <0x1>;
-+			xlnx,enable-discrete-ports = <0x0>;
-+			xlnx,endianness = <0x1>;
-+			xlnx,fault-tolerant = <0x0>;
-+			xlnx,fpu-exception = <0x0>;
-+			xlnx,freq = <0xbebc200>;
-+			xlnx,fsl-exception = <0x0>;
-+			xlnx,fsl-links = <0x0>;
-+			xlnx,i-axi = <0x0>;
-+			xlnx,i-lmb = <0x1>;
-+			xlnx,i-lmb-mon = <0x0>;
-+			xlnx,iaddr-size = <0x20>;
-+			xlnx,ic-axi-mon = <0x0>;
-+			xlnx,icache-always-used = <0x1>;
-+			xlnx,icache-data-width = <0x0>;
-+			xlnx,icache-force-tag-lutram = <0x0>;
-+			xlnx,icache-line-len = <0x4>;
-+			xlnx,icache-streams = <0x1>;
-+			xlnx,icache-victims = <0x8>;
-+			xlnx,ill-opcode-exception = <0x1>;
-+			xlnx,imprecise-exceptions = <0x0>;
-+			xlnx,instr-size = <0x20>;
-+			xlnx,interconnect = <0x2>;
-+			xlnx,interrupt-is-edge = <0x0>;
-+			xlnx,interrupt-mon = <0x0>;
-+			xlnx,ip-axi-mon = <0x0>;
-+			xlnx,lockstep-master = <0x0>;
-+			xlnx,lockstep-select = <0x0>;
-+			xlnx,lockstep-slave = <0x0>;
-+			xlnx,mmu-dtlb-size = <0x4>;
-+			xlnx,mmu-itlb-size = <0x2>;
-+			xlnx,mmu-privileged-instr = <0x0>;
-+			xlnx,mmu-tlb-access = <0x3>;
-+			xlnx,mmu-zones = <0x2>;
-+			xlnx,num-sync-ff-clk = <0x2>;
-+			xlnx,num-sync-ff-clk-debug = <0x2>;
-+			xlnx,num-sync-ff-clk-irq = <0x1>;
-+			xlnx,num-sync-ff-dbg-clk = <0x1>;
-+			xlnx,num-sync-ff-dbg-trace-clk = <0x2>;
-+			xlnx,number-of-pc-brk = <0x1>;
-+			xlnx,number-of-rd-addr-brk = <0x0>;
-+			xlnx,number-of-wr-addr-brk = <0x0>;
-+			xlnx,opcode-0x0-illegal = <0x1>;
-+			xlnx,optimization = <0x0>;
-+			xlnx,pc-width = <0x20>;
-+			xlnx,piaddr-size = <0x20>;
-+			xlnx,pvr = <0x2>;
-+			xlnx,pvr-user1 = <0x0>;
-+			xlnx,pvr-user2 = <0x0>;
-+			xlnx,reset-msr = <0x0>;
-+			xlnx,reset-msr-bip = <0x0>;
-+			xlnx,reset-msr-dce = <0x0>;
-+			xlnx,reset-msr-ee = <0x0>;
-+			xlnx,reset-msr-eip = <0x0>;
-+			xlnx,reset-msr-ice = <0x0>;
-+			xlnx,reset-msr-ie = <0x0>;
-+			xlnx,sco = <0x0>;
-+			xlnx,trace = <0x0>;
-+			xlnx,unaligned-exceptions = <0x1>;
-+			xlnx,use-barrel = <0x1>;
-+			xlnx,use-branch-target-cache = <0x0>;
-+			xlnx,use-config-reset = <0x0>;
-+			xlnx,use-dcache = <0x1>;
-+			xlnx,use-div = <0x1>;
-+			xlnx,use-ext-brk = <0x0>;
-+			xlnx,use-ext-nm-brk = <0x0>;
-+			xlnx,use-extended-fsl-instr = <0x0>;
-+			xlnx,use-fpu = <0x0>;
-+			xlnx,use-hw-mul = <0x2>;
-+			xlnx,use-icache = <0x1>;
-+			xlnx,use-interrupt = <0x2>;
-+			xlnx,use-mmu = <0x3>;
-+			xlnx,use-msr-instr = <0x1>;
-+			xlnx,use-non-secure = <0x0>;
-+			xlnx,use-pcmp-instr = <0x1>;
-+			xlnx,use-reorder-instr = <0x1>;
-+			xlnx,use-stack-protection = <0x0>;
-+		};
-+	};
-+
-+	clocks {
-+		#address-cells = <0x1>;
-+		#size-cells = <0x0>;
-+
-+		clk_cpu@0 {
-+			#clock-cells = <0x0>;
-+			clock-frequency = <0xbebc200>;
-+			clock-output-names = "clk_cpu";
-+			compatible = "fixed-clock";
-+			reg = <0x0>;
-+			linux,phandle = <0x3>;
-+			phandle = <0x3>;
-+		};
-+
-+		clk_bus_0@1 {
-+			#clock-cells = <0x0>;
-+			clock-frequency = <0xbebc200>;
-+			clock-output-names = "clk_bus_0";
-+			compatible = "fixed-clock";
-+			reg = <0x1>;
-+			linux,phandle = <0x8>;
-+			phandle = <0x8>;
-+		};
-+	};
-+
-+	amba_pl {
-+		#address-cells = <0x1>;
-+		#size-cells = <0x1>;
-+		compatible = "simple-bus";
-+		ranges;
-+		linux,phandle = <0x2>;
-+		phandle = <0x2>;
-+
-+		ethernet@40c00000 {
-+			axistream-connected = <0x5>;
-+			axistream-control-connected = <0x5>;
-+			clock-frequency = <0x5f5e100>;
-+			compatible = "xlnx,axi-ethernet-1.00.a";
-+			device_type = "network";
-+			interrupt-names = "interrupt";
-+			interrupt-parent = <0x4>;
-+			interrupts = <0x4 0x2>;
-+			phy-mode = "gmii";
-+			reg = <0x40c00000 0x40000>;
-+			xlnx = <0x0>;
-+			xlnx,axiliteclkrate = <0x0>;
-+			xlnx,axisclkrate = <0x0>;
-+			xlnx,clockselection = <0x0>;
-+			xlnx,enableasyncsgmii = <0x0>;
-+			xlnx,gt-type = <0x0>;
-+			xlnx,gtinex = <0x0>;
-+			xlnx,gtlocation = <0x0>;
-+			xlnx,gtrefclksrc = <0x0>;
-+			xlnx,include-dre;
-+			xlnx,instantiatebitslice0 = <0x0>;
-+			xlnx,phy-type = <0x1>;
-+			xlnx,phyaddr = <0x1>;
-+			xlnx,rable = <0x0>;
-+			xlnx,rxcsum = <0x0>;
-+			xlnx,rxlane0-placement = <0x0>;
-+			xlnx,rxlane1-placement = <0x0>;
-+			xlnx,rxmem = <0x1000>;
-+			xlnx,rxnibblebitslice0used = <0x0>;
-+			xlnx,tx-in-upper-nibble = <0x1>;
-+			xlnx,txcsum = <0x0>;
-+			xlnx,txlane0-placement = <0x0>;
-+			xlnx,txlane1-placement = <0x0>;
-+			phy-handle = <0x6>;
-+			local-mac-address = [00 0a 35 00 22 01];
-+			linux,phandle = <0x7>;
-+			phandle = <0x7>;
-+
-+			mdio {
-+				#address-cells = <0x1>;
-+				#size-cells = <0x0>;
-+
-+				phy@7 {
-+					device_type = "ethernet-phy";
-+					reg = <0x7>;
-+					linux,phandle = <0x6>;
-+					phandle = <0x6>;
-+				};
-+			};
-+		};
-+
-+		dma@41e00000 {
-+			#dma-cells = <0x1>;
-+			axistream-connected = <0x7>;
-+			axistream-control-connected = <0x7>;
-+			clock-frequency = <0xbebc200>;
-+			clock-names = "s_axi_lite_aclk";
-+			clocks = <0x8>;
-+			compatible = "xlnx,eth-dma";
-+			interrupt-names = "mm2s_introut", "s2mm_introut";
-+			interrupt-parent = <0x4>;
-+			interrupts = <0x3 0x2 0x2 0x2>;
-+			reg = <0x41e00000 0x10000>;
-+			xlnx,include-dre;
-+			linux,phandle = <0x5>;
-+			phandle = <0x5>;
-+		};
-+
-+		timer@41c00000 {
-+			clock-frequency = <0xbebc200>;
-+			clocks = <0x8>;
-+			compatible = "xlnx,xps-timer-1.00.a";
-+			interrupt-names = "interrupt";
-+			interrupt-parent = <0x4>;
-+			interrupts = <0x5 0x2>;
-+			reg = <0x41c00000 0x10000>;
-+			xlnx,count-width = <0x20>;
-+			xlnx,gen0-assert = <0x1>;
-+			xlnx,gen1-assert = <0x1>;
-+			xlnx,one-timer-only = <0x0>;
-+			xlnx,trig0-assert = <0x1>;
-+			xlnx,trig1-assert = <0x1>;
-+		};
-+
-+		gpio@40010000 {
-+			#gpio-cells = <0x2>;
-+			clock-frequency = <0xbebc200>;
-+			clock-names = "s_axi_aclk";
-+			clocks = <0x8>;
-+			compatible = "xlnx,xps-gpio-1.00.a";
-+			gpio-controller;
-+			reg = <0x40010000 0x10000>;
-+			xlnx,all-inputs = <0x1>;
-+			xlnx,all-inputs-2 = <0x0>;
-+			xlnx,all-outputs = <0x0>;
-+			xlnx,all-outputs-2 = <0x0>;
-+			xlnx,dout-default = <0x0>;
-+			xlnx,dout-default-2 = <0x0>;
-+			xlnx,gpio-width = <0x1>;
-+			xlnx,gpio2-width = <0x20>;
-+			xlnx,interrupt-present = <0x0>;
-+			xlnx,is-dual = <0x0>;
-+			xlnx,tri-default = <0xffffffff>;
-+			xlnx,tri-default-2 = <0xffffffff>;
-+		};
-+
-+		gpio@40020000 {
-+			#gpio-cells = <0x2>;
-+			clock-frequency = <0xbebc200>;
-+			clock-names = "s_axi_aclk";
-+			clocks = <0x8>;
-+			compatible = "xlnx,xps-gpio-1.00.a";
-+			gpio-controller;
-+			reg = <0x40020000 0x10000>;
-+			xlnx,all-inputs = <0x1>;
-+			xlnx,all-inputs-2 = <0x0>;
-+			xlnx,all-outputs = <0x0>;
-+			xlnx,all-outputs-2 = <0x0>;
-+			xlnx,dout-default = <0x0>;
-+			xlnx,dout-default-2 = <0x0>;
-+			xlnx,gpio-width = <0x4>;
-+			xlnx,gpio2-width = <0x20>;
-+			xlnx,interrupt-present = <0x0>;
-+			xlnx,is-dual = <0x0>;
-+			xlnx,tri-default = <0xffffffff>;
-+			xlnx,tri-default-2 = <0xffffffff>;
-+		};
-+
-+		i2c@40800000 {
-+			#address-cells = <0x1>;
-+			#size-cells = <0x0>;
-+			clock-frequency = <0xbebc200>;
-+			clocks = <0x8>;
-+			compatible = "xlnx,xps-iic-2.00.a";
-+			interrupt-names = "iic2intc_irpt";
-+			interrupt-parent = <0x4>;
-+			interrupts = <0x1 0x2>;
-+			reg = <0x40800000 0x10000>;
-+
-+			i2cswitch@74 {
-+				compatible = "nxp,pca9548";
-+				#address-cells = <0x1>;
-+				#size-cells = <0x0>;
-+				reg = <0x74>;
-+
-+				i2c@0 {
-+					#address-cells = <0x1>;
-+					#size-cells = <0x0>;
-+					reg = <0x0>;
-+
-+					clock-generator@5d {
-+						#clock-cells = <0x0>;
-+						compatible = "silabs,si570";
-+						temperature-stability = <0x32>;
-+						reg = <0x5d>;
-+						factory-fout = <0x9502f90>;
-+						clock-frequency = <0x8d9ee20>;
-+					};
-+				};
-+
-+				i2c@3 {
-+					#address-cells = <0x1>;
-+					#size-cells = <0x0>;
-+					reg = <0x3>;
-+
-+					eeprom@54 {
-+						compatible = "at,24c08";
-+						reg = <0x54>;
-+					};
-+				};
-+			};
-+		};
-+
-+		gpio@40030000 {
-+			#gpio-cells = <0x2>;
-+			clock-frequency = <0xbebc200>;
-+			clock-names = "s_axi_aclk";
-+			clocks = <0x8>;
-+			compatible = "xlnx,xps-gpio-1.00.a";
-+			gpio-controller;
-+			reg = <0x40030000 0x10000>;
-+			xlnx,all-inputs = <0x0>;
-+			xlnx,all-inputs-2 = <0x0>;
-+			xlnx,all-outputs = <0x1>;
-+			xlnx,all-outputs-2 = <0x0>;
-+			xlnx,dout-default = <0x0>;
-+			xlnx,dout-default-2 = <0x0>;
-+			xlnx,gpio-width = <0x8>;
-+			xlnx,gpio2-width = <0x20>;
-+			xlnx,interrupt-present = <0x0>;
-+			xlnx,is-dual = <0x0>;
-+			xlnx,tri-default = <0xffffffff>;
-+			xlnx,tri-default-2 = <0xffffffff>;
-+		};
-+
-+		flash@60000000 {
-+			bank-width = <0x2>;
-+			compatible = "cfi-flash";
-+			reg = <0x60000000 0x8000000>;
-+			xlnx,axi-clk-period-ps = <0x1388>;
-+			xlnx,include-datawidth-matching-0 = <0x1>;
-+			xlnx,include-datawidth-matching-1 = <0x1>;
-+			xlnx,include-datawidth-matching-2 = <0x1>;
-+			xlnx,include-datawidth-matching-3 = <0x1>;
-+			xlnx,include-negedge-ioregs = <0x0>;
-+			xlnx,lflash-period-ps = <0x1388>;
-+			xlnx,linear-flash-sync-burst = <0x0>;
-+			xlnx,max-mem-width = <0x10>;
-+			xlnx,mem-a-lsb = <0x0>;
-+			xlnx,mem-a-msb = <0x1f>;
-+			xlnx,mem0-type = <0x2>;
-+			xlnx,mem0-width = <0x10>;
-+			xlnx,mem1-type = <0x0>;
-+			xlnx,mem1-width = <0x10>;
-+			xlnx,mem2-type = <0x0>;
-+			xlnx,mem2-width = <0x10>;
-+			xlnx,mem3-type = <0x0>;
-+			xlnx,mem3-width = <0x10>;
-+			xlnx,num-banks-mem = <0x1>;
-+			xlnx,page-size = <0x10>;
-+			xlnx,parity-type-mem-0 = <0x0>;
-+			xlnx,parity-type-mem-1 = <0x0>;
-+			xlnx,parity-type-mem-2 = <0x0>;
-+			xlnx,parity-type-mem-3 = <0x0>;
-+			xlnx,port-diff = <0x0>;
-+			xlnx,s-axi-en-reg = <0x0>;
-+			xlnx,s-axi-mem-addr-width = <0x20>;
-+			xlnx,s-axi-mem-data-width = <0x20>;
-+			xlnx,s-axi-mem-id-width = <0x1>;
-+			xlnx,s-axi-reg-addr-width = <0x5>;
-+			xlnx,s-axi-reg-data-width = <0x20>;
-+			xlnx,synch-pipedelay-0 = <0x1>;
-+			xlnx,synch-pipedelay-1 = <0x1>;
-+			xlnx,synch-pipedelay-2 = <0x1>;
-+			xlnx,synch-pipedelay-3 = <0x1>;
-+			xlnx,tavdv-ps-mem-0 = <0x1fbd0>;
-+			xlnx,tavdv-ps-mem-1 = <0x3a98>;
-+			xlnx,tavdv-ps-mem-2 = <0x3a98>;
-+			xlnx,tavdv-ps-mem-3 = <0x3a98>;
-+			xlnx,tcedv-ps-mem-0 = <0x1fbd0>;
-+			xlnx,tcedv-ps-mem-1 = <0x3a98>;
-+			xlnx,tcedv-ps-mem-2 = <0x3a98>;
-+			xlnx,tcedv-ps-mem-3 = <0x3a98>;
-+			xlnx,thzce-ps-mem-0 = <0x88b8>;
-+			xlnx,thzce-ps-mem-1 = <0x1b58>;
-+			xlnx,thzce-ps-mem-2 = <0x1b58>;
-+			xlnx,thzce-ps-mem-3 = <0x1b58>;
-+			xlnx,thzoe-ps-mem-0 = <0x1b58>;
-+			xlnx,thzoe-ps-mem-1 = <0x1b58>;
-+			xlnx,thzoe-ps-mem-2 = <0x1b58>;
-+			xlnx,thzoe-ps-mem-3 = <0x1b58>;
-+			xlnx,tlzwe-ps-mem-0 = <0xc350>;
-+			xlnx,tlzwe-ps-mem-1 = <0x0>;
-+			xlnx,tlzwe-ps-mem-2 = <0x0>;
-+			xlnx,tlzwe-ps-mem-3 = <0x0>;
-+			xlnx,tpacc-ps-flash-0 = <0x61a8>;
-+			xlnx,tpacc-ps-flash-1 = <0x61a8>;
-+			xlnx,tpacc-ps-flash-2 = <0x61a8>;
-+			xlnx,tpacc-ps-flash-3 = <0x61a8>;
-+			xlnx,twc-ps-mem-0 = <0x11170>;
-+			xlnx,twc-ps-mem-1 = <0x3a98>;
-+			xlnx,twc-ps-mem-2 = <0x3a98>;
-+			xlnx,twc-ps-mem-3 = <0x3a98>;
-+			xlnx,twp-ps-mem-0 = <0x13880>;
-+			xlnx,twp-ps-mem-1 = <0x2ee0>;
-+			xlnx,twp-ps-mem-2 = <0x2ee0>;
-+			xlnx,twp-ps-mem-3 = <0x2ee0>;
-+			xlnx,twph-ps-mem-0 = <0x13880>;
-+			xlnx,twph-ps-mem-1 = <0x2ee0>;
-+			xlnx,twph-ps-mem-2 = <0x2ee0>;
-+			xlnx,twph-ps-mem-3 = <0x2ee0>;
-+			xlnx,use-startup = <0x0>;
-+			xlnx,use-startup-int = <0x0>;
-+			xlnx,wr-rec-time-mem-0 = <0x186a0>;
-+			xlnx,wr-rec-time-mem-1 = <0x6978>;
-+			xlnx,wr-rec-time-mem-2 = <0x6978>;
-+			xlnx,wr-rec-time-mem-3 = <0x6978>;
-+			#address-cells = <0x1>;
-+			#size-cells = <0x1>;
-+
-+			partition@0x00000000 {
-+				label = "fpga";
-+				reg = <0x0 0xb00000>;
-+			};
-+
-+			partition@0x00b00000 {
-+				label = "boot";
-+				reg = <0xb00000 0x80000>;
-+			};
-+
-+			partition@0x00b80000 {
-+				label = "bootenv";
-+				reg = <0xb80000 0x20000>;
-+			};
-+
-+			partition@0x00ba0000 {
-+				label = "kernel";
-+				reg = <0xba0000 0xc00000>;
-+			};
-+
-+			partition@0x017a0000 {
-+				label = "spare";
-+				reg = <0x17a0000 0x0>;
-+			};
-+		};
-+
-+		interrupt-controller@41200000 {
-+			#interrupt-cells = <0x2>;
-+			compatible = "xlnx,xps-intc-1.00.a";
-+			interrupt-controller;
-+			reg = <0x41200000 0x10000>;
-+			xlnx,kind-of-intr = <0x0>;
-+			xlnx,num-intr-inputs = <0x6>;
-+			linux,phandle = <0x4>;
-+			phandle = <0x4>;
-+		};
-+
-+		gpio@40040000 {
-+			#gpio-cells = <0x2>;
-+			clock-frequency = <0xbebc200>;
-+			clock-names = "s_axi_aclk";
-+			clocks = <0x8>;
-+			compatible = "xlnx,xps-gpio-1.00.a";
-+			gpio-controller;
-+			reg = <0x40040000 0x10000>;
-+			xlnx,all-inputs = <0x1>;
-+			xlnx,all-inputs-2 = <0x0>;
-+			xlnx,all-outputs = <0x0>;
-+			xlnx,all-outputs-2 = <0x0>;
-+			xlnx,dout-default = <0x0>;
-+			xlnx,dout-default-2 = <0x0>;
-+			xlnx,gpio-width = <0x5>;
-+			xlnx,gpio2-width = <0x20>;
-+			xlnx,interrupt-present = <0x0>;
-+			xlnx,is-dual = <0x0>;
-+			xlnx,tri-default = <0xffffffff>;
-+			xlnx,tri-default-2 = <0xffffffff>;
-+		};
-+
-+		gpio@40000000 {
-+			#gpio-cells = <0x2>;
-+			clock-frequency = <0xbebc200>;
-+			clock-names = "s_axi_aclk";
-+			clocks = <0x8>;
-+			compatible = "xlnx,xps-gpio-1.00.a";
-+			gpio-controller;
-+			reg = <0x40000000 0x10000>;
-+			xlnx,all-inputs = <0x0>;
-+			xlnx,all-inputs-2 = <0x0>;
-+			xlnx,all-outputs = <0x1>;
-+			xlnx,all-outputs-2 = <0x0>;
-+			xlnx,dout-default = <0x0>;
-+			xlnx,dout-default-2 = <0x0>;
-+			xlnx,gpio-width = <0x1>;
-+			xlnx,gpio2-width = <0x20>;
-+			xlnx,interrupt-present = <0x0>;
-+			xlnx,is-dual = <0x0>;
-+			xlnx,tri-default = <0xffffffff>;
-+			xlnx,tri-default-2 = <0xffffffff>;
-+			linux,phandle = <0x1>;
-+			phandle = <0x1>;
-+		};
-+
-+		serial@44a00000 {
-+			clock-frequency = <0xbebc200>;
-+			clocks = <0x8>;
-+			compatible = "xlnx,xps-uart16550-2.00.a", "ns16550a";
-+			current-speed = <0x1c200>;
-+			device_type = "serial";
-+			interrupt-names = "ip2intc_irpt";
-+			interrupt-parent = <0x4>;
-+			interrupts = <0x0 0x2>;
-+			port-number = <0x0>;
-+			reg = <0x44a00000 0x10000>;
-+			reg-offset = <0x1000>;
-+			reg-shift = <0x2>;
-+			xlnx,external-xin-clk-hz = <0x17d7840>;
-+			xlnx,external-xin-clk-hz-d = <0x19>;
-+			xlnx,has-external-rclk = <0x0>;
-+			xlnx,has-external-xin = <0x0>;
-+			xlnx,is-a-16550 = <0x1>;
-+			xlnx,s-axi-aclk-freq-hz-d = "200.0";
-+			xlnx,use-modem-ports = <0x1>;
-+			xlnx,use-user-ports = <0x1>;
-+		};
-+	};
-+
- 	chosen {
--	} ;
--} ;
-+		bootargs = "console=ttyS0,115200 earlyprintk";
-+		stdout-path = "serial0:115200n8";
-+	};
-+
-+	aliases {
-+		ethernet0 = "/amba_pl/ethernet@40c00000";
-+		i2c0 = "/amba_pl/i2c@40800000";
-+		serial0 = "/amba_pl/serial@44a00000";
-+	};
-+
-+	memory {
-+		device_type = "memory";
-+		reg = <0x80000000 0x40000000>;
-+	};
-+};
-+
-diff --git a/board/xilinx/microblaze-generic/config.mk b/board/xilinx/microblaze-generic/config.mk
-index a953977..cb75fde 100644
---- a/board/xilinx/microblaze-generic/config.mk
-+++ b/board/xilinx/microblaze-generic/config.mk
-@@ -1,18 +1,10 @@
--# SPDX-License-Identifier: GPL-2.0+
--#
--# (C) Copyright 2007 - 2016 Michal Simek
--#
--# Michal SIMEK <monstr@monstr.eu>
--
--CPU_VER := $(shell echo $(CONFIG_XILINX_MICROBLAZE0_HW_VER))
--
--# USE_HW_MUL can be 0, 1, or 2, defining a hierarchy of HW Mul support.
--CPUFLAGS-$(subst 1,,$(CONFIG_XILINX_MICROBLAZE0_USE_HW_MUL)) += -mxl-multiply-high
--CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_HW_MUL) += -mno-xl-soft-mul
--CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_DIV) += -mno-xl-soft-div
--CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_BARREL) += -mxl-barrel-shift
--CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_PCMP_INSTR) += -mxl-pattern-compare
--
--CPUFLAGS-1 += $(call cc-option,-mcpu=v$(CPU_VER))
--
--PLATFORM_CPPFLAGS += $(CPUFLAGS-1) $(CPUFLAGS-2)
-+TEXT_BASE = 0x80400000
-+CONFIG_SYS_TEXT_BASE = 0x80400000
-+
-+PLATFORM_CPPFLAGS += -mxl-barrel-shift
-+PLATFORM_CPPFLAGS += -mno-xl-soft-div
-+PLATFORM_CPPFLAGS += -mxl-pattern-compare
-+PLATFORM_CPPFLAGS += -mxl-multiply-high
-+PLATFORM_CPPFLAGS += -mno-xl-soft-mul
-+PLATFORM_CPPFLAGS += -mcpu=v11.0
-+PLATFORM_CPPFLAGS += -fgnu89-inline
-diff --git a/configs/microblaze-generic_defconfig b/configs/microblaze-generic_defconfig
-index 02e62e2..8d64be4 100644
---- a/configs/microblaze-generic_defconfig
-+++ b/configs/microblaze-generic_defconfig
-@@ -1,73 +1,58 @@
- CONFIG_MICROBLAZE=y
--CONFIG_SYS_TEXT_BASE=0x29000000
- CONFIG_SPL_LIBCOMMON_SUPPORT=y
- CONFIG_SPL_LIBGENERIC_SUPPORT=y
- CONFIG_SPL_SERIAL_SUPPORT=y
--CONFIG_SPL=y
- CONFIG_TARGET_MICROBLAZE_GENERIC=y
- CONFIG_XILINX_MICROBLAZE0_USE_MSR_INSTR=1
- CONFIG_XILINX_MICROBLAZE0_USE_BARREL=1
- CONFIG_XILINX_MICROBLAZE0_USE_DIV=1
- CONFIG_XILINX_MICROBLAZE0_USE_HW_MUL=1
--CONFIG_NR_DRAM_BANKS=1
-+CONFIG_SYS_TEXT_BASE=0x80400000
-+CONFIG_DEFAULT_DEVICE_TREE="microblaze-generic"
- CONFIG_FIT=y
- CONFIG_FIT_VERBOSE=y
--CONFIG_BOOTDELAY=-1
--CONFIG_USE_BOOTARGS=y
--CONFIG_BOOTARGS="root=romfs"
-+CONFIG_BOOTDELAY=4
- CONFIG_SYS_CONSOLE_IS_IN_ENV=y
--CONFIG_DISPLAY_BOARDINFO=y
--CONFIG_SPL_BOARD_INIT=y
--CONFIG_SPL_SYS_MALLOC_SIMPLE=y
- CONFIG_SPL_NOR_SUPPORT=y
- CONFIG_SPL_OS_BOOT=y
- CONFIG_SYS_OS_BASE=0x2c060000
- CONFIG_HUSH_PARSER=y
--# CONFIG_AUTO_COMPLETE is not set
--CONFIG_SYS_PROMPT="U-Boot-mONStR> "
--CONFIG_CMD_IMLS=y
--CONFIG_CMD_SPL=y
-+CONFIG_SYS_PROMPT="U-Boot> "
- CONFIG_CMD_ASKENV=y
--CONFIG_CMD_GPIO=y
- CONFIG_CMD_SAVES=y
- # CONFIG_CMD_SETEXPR is not set
-+CONFIG_SYS_ENET=y
-+CONFIG_NET=y
-+CONFIG_NETDEVICES=y
-+CONFIG_CMD_NET=y
- CONFIG_CMD_DHCP=y
--CONFIG_CMD_TFTPPUT=y
-+CONFIG_CMD_NFS=y
- CONFIG_CMD_MII=y
- CONFIG_CMD_PING=y
- CONFIG_CMD_JFFS2=y
--CONFIG_SPL_OF_CONTROL=y
- CONFIG_OF_EMBED=y
--CONFIG_DEFAULT_DEVICE_TREE="microblaze-generic"
--CONFIG_NETCONSOLE=y
--CONFIG_SPL_DM=y
-+CONFIG_DM_ETH=y
-+CONFIG_SYS_MALLOC_F=y
-+CONFIG_SYS_GENERIC_BOARD=y
-+CONFIG_XILINX_AXIEMAC=y
-+CONFIG_SYS_NS16550=y
-+CONFIG_CMD_FLASH=y
-+CONFIG_MTD_NOR_FLASH=y
-+CONFIG_CMD_IMLS=y
-+CONFIG_CMD_GPIO=y
- CONFIG_DM_GPIO=y
- CONFIG_XILINX_GPIO=y
--CONFIG_LED=y
--CONFIG_LED_GPIO=y
--CONFIG_MTD_NOR_FLASH=y
--CONFIG_MTD_DEVICE=y
--CONFIG_FLASH_CFI_DRIVER=y
--CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
--CONFIG_FLASH_CFI_MTD=y
--CONFIG_SYS_FLASH_PROTECTION=y
--CONFIG_SYS_FLASH_CFI=y
--CONFIG_PHY_ATHEROS=y
--CONFIG_PHY_BROADCOM=y
--CONFIG_PHY_DAVICOM=y
--CONFIG_PHY_LXT=y
--CONFIG_PHY_MARVELL=y
-+CONFIG_CMD_TFTPPUT=y
-+CONFIG_NETCONSOLE=y
-+CONFIG_XILINX_FSL_LINKS=0
-+CONFIG_PHY_GIGE=y
-+CONFIG_ENV_IS_IN_FLASH=y
- CONFIG_PHY_MICREL=y
- CONFIG_PHY_MICREL_KSZ90X1=y
--CONFIG_PHY_NATSEMI=y
--CONFIG_PHY_REALTEK=y
--CONFIG_PHY_VITESSE=y
--CONFIG_DM_ETH=y
--CONFIG_XILINX_AXIEMAC=y
--CONFIG_XILINX_EMACLITE=y
--CONFIG_SYS_NS16550=y
--CONFIG_XILINX_UARTLITE=y
--CONFIG_SYSRESET_GPIO=y
--CONFIG_SYSRESET_MICROBLAZE=y
--CONFIG_WDT=y
--CONFIG_XILINX_TB_WATCHDOG=y
-+CONFIG_SPL_DM_SERIAL=y
-+CONFIG_SPL_OF_LIBFDT=y
-+CONFIG_PHY_XILINX=y
-+# CONFIG_SPL is not set
-+# CONFIG_CMD_EEPROM is not set
-+# CONFIG_BOOTARGS is not set
-+# CONFIG_USE_BOOTARGS is not set
-diff --git a/include/configs/microblaze-generic.h b/include/configs/microblaze-generic.h
-index ba0952c..fd1da2b 100644
---- a/include/configs/microblaze-generic.h
-+++ b/include/configs/microblaze-generic.h
-@@ -1,205 +1,173 @@
--/* SPDX-License-Identifier: GPL-2.0+ */
--/*
-- * (C) Copyright 2007-2010 Michal Simek
-- *
-- * Michal SIMEK <monstr@monstr.eu>
-- */
--
- #ifndef __CONFIG_H
- #define __CONFIG_H
- 
--#include "../board/xilinx/microblaze-generic/xparameters.h"
--
--/* MicroBlaze CPU */
--#define	MICROBLAZE_V5		1
--
--/* linear and spi flash memory */
--#ifdef XILINX_FLASH_START
--#define	FLASH
--#undef	SPIFLASH
--#undef	RAMENV	/* hold environment in flash */
--#else
--#undef	FLASH
--#undef	SPIFLASH
--#define	RAMENV	/* hold environment in RAM */
--#endif
-+#define CONFIG_SYS_BAUDRATE_TABLE  { 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400 }
-+
-+/* processor - microblaze_0 */
-+#define XILINX_USE_MSR_INSTR	1
-+#define XILINX_USE_ICACHE	1
-+#define XILINX_USE_DCACHE	1
-+#define XILINX_DCACHE_BYTE_SIZE	16384
-+#define XILINX_PVR	2
-+#define MICROBLAZE_V5
-+#define CONFIG_CMD_IRQ
-+#define CONFIG_DCACHE
-+#define CONFIG_ICACHE
-+
-+/* main_memory - ddr3_sdram */
-+
-+
-+/* uart - rs232_uart */
-+#define CONFIG_SYS_NS16550_COM1	((XILINX_UART16550_BASEADDR & ~0xF) + 0x1000)
-+#define CONFIG_SYS_NS16550_REG_SIZE	-4
-+#define CONSOLE_ARG	"console=console=ttyS0,115200\0"
-+#define CONFIG_SYS_NS16550_SERIAL
-+#define CONFIG_CONS_INDEX	1
-+#define ESERIAL0	"eserial0=setenv stdout eserial0;setenv stdin eserial0\0"
-+#define SERIAL_MULTI  "serial=setenv stdout serial;setenv stdin serial\0"
-+#define CONFIG_SYS_NS16550_CLK	200000000
-+#define CONFIG_BAUDRATE	115200
-+
-+/* ethernet - axi_ethernet */
-+#define CONFIG_PHY_XILINX
-+#define CONFIG_MII
-+#define CONFIG_PHY_MARVELL
-+#define CONFIG_PHY_NATSEMI
-+#define CONFIG_NET_MULTI
-+#define CONFIG_PHY_REALTEK
-+#define CONFIG_NETCONSOLE	1
-+#define CONFIG_SERVERIP	172.25.229.115
-+#define CONFIG_IPADDR
-+
-+/* nor_flash - linear_flash */
-+#define CONFIG_SYS_FLASH_BASE	0x60000000
-+#define CONFIG_FLASH_END	0x68000000
-+#define CONFIG_SYS_MAX_FLASH_SECT	2048
-+#define CONFIG_SYS_FLASH_PROTECTION
-+#define CONFIG_SYS_FLASH_EMPTY_INFO
-+#define CONFIG_SYS_FLASH_CFI
-+#define CONFIG_FLASH_CFI_DRIVER
-+#define CONFIG_SYS_FLASH_USE_BUFFER_WRITE
-+#define CONFIG_SYS_MAX_FLASH_BANKS	1
-+
-+/* timer - axi_timer_0 */
-+
-+/* intc - microblaze_0_axi_intc */
-+
-+/* FPGA */
-+
-+/* Memory testing handling */
-+#define CONFIG_SYS_MEMTEST_START	0x80000000
-+#define CONFIG_SYS_MEMTEST_END	(0x80000000 + 0x1000)
-+#define CONFIG_SYS_LOAD_ADDR	0x80000000 /* default load address */
-+
-+/* global pointer options */
-+#define CONFIG_SYS_GBL_DATA_OFFSET	(0x40000000 - GENERATED_GBL_DATA_SIZE)
-+
-+/* Size of malloc() pool */
-+#define SIZE	0x100000
-+#define CONFIG_SYS_MALLOC_LEN	SIZE
-+#define CONFIG_SYS_MONITOR_LEN	SIZE
-+#define CONFIG_SYS_MONITOR_BASE	(0x80000000 + CONFIG_SYS_GBL_DATA_OFFSET - CONFIG_SYS_MONITOR_LEN - GENERATED_BD_INFO_SIZE)
-+#define CONFIG_SYS_MALLOC_BASE	(CONFIG_SYS_MONITOR_BASE - CONFIG_SYS_MALLOC_LEN)
-+
-+/* stack */
-+#define CONFIG_SYS_INIT_SP_OFFSET	(CONFIG_SYS_TEXT_BASE - CONFIG_SYS_MALLOC_F_LEN)
-+
-+/* No of_control support yet*/
-+
-+/* BOOTP options */
-+#define CONFIG_BOOTP_SERVERIP
-+#define CONFIG_BOOTP_BOOTFILESIZE
-+#define CONFIG_BOOTP_BOOTPATH
-+#define CONFIG_BOOTP_GATEWAY
-+#define CONFIG_BOOTP_HOSTNAME
-+#define CONFIG_BOOTP_MAY_FAIL
-+#define CONFIG_BOOTP_DNS
-+#define CONFIG_BOOTP_SUBNETMASK
-+#define CONFIG_BOOTP_PXE
- 
--/* uart */
--/* The following table includes the supported baudrates */
--# define CONFIG_SYS_BAUDRATE_TABLE \
--	{300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400}
--
--/* setting reset address */
--/*#define	CONFIG_SYS_RESET_ADDRESS	CONFIG_SYS_TEXT_BASE*/
--
--#define CONFIG_SYS_MALLOC_LEN	0xC0000
--
--/* Stack location before relocation */
--#define CONFIG_SYS_INIT_SP_OFFSET	(CONFIG_SYS_TEXT_BASE - \
--					 CONFIG_SYS_MALLOC_F_LEN)
--
--/*
-- * CFI flash memory layout - Example
-- * CONFIG_SYS_FLASH_BASE = 0x2200_0000;
-- * CONFIG_SYS_FLASH_SIZE = 0x0080_0000;	  8MB
-- *
-- * SECT_SIZE = 0x20000;			128kB is one sector
-- * CONFIG_ENV_SIZE = SECT_SIZE;		128kB environment store
-- *
-- * 0x2200_0000	CONFIG_SYS_FLASH_BASE
-- *					FREE		256kB
-- * 0x2204_0000	CONFIG_ENV_ADDR
-- *					ENV_AREA	128kB
-- * 0x2206_0000
-- *					FREE
-- * 0x2280_0000	CONFIG_SYS_FLASH_BASE + CONFIG_SYS_FLASH_SIZE
-- *
-- */
--
--#ifdef FLASH
--# define CONFIG_SYS_FLASH_BASE		XILINX_FLASH_START
--# define CONFIG_SYS_FLASH_SIZE		XILINX_FLASH_SIZE
--/* ?empty sector */
--# define CONFIG_SYS_FLASH_EMPTY_INFO	1
--/* max number of memory banks */
--# define CONFIG_SYS_MAX_FLASH_BANKS	1
--/* max number of sectors on one chip */
--# define CONFIG_SYS_MAX_FLASH_SECT	512
--/* hardware flash protection */
--/* use buffered writes (20x faster) */
--# ifdef	RAMENV
--#  define CONFIG_ENV_SIZE	0x1000
--#  define CONFIG_ENV_ADDR	(CONFIG_SYS_MONITOR_BASE - CONFIG_ENV_SIZE)
--
--# else	/* FLASH && !RAMENV */
--/* 128K(one sector) for env */
--#  define CONFIG_ENV_SECT_SIZE	0x20000
--#  define CONFIG_ENV_ADDR \
--			(CONFIG_SYS_FLASH_BASE + (2 * CONFIG_ENV_SECT_SIZE))
--#  define CONFIG_ENV_SIZE	0x20000
--# endif /* FLASH && !RAMBOOT */
--#else /* !FLASH */
--
--#ifdef SPIFLASH
--# define CONFIG_SF_DEFAULT_MODE		SPI_MODE_3
--# define CONFIG_SF_DEFAULT_SPEED	XILINX_SPI_FLASH_MAX_FREQ
--# define CONFIG_SF_DEFAULT_CS		XILINX_SPI_FLASH_CS
--
--# ifdef	RAMENV
--#  define CONFIG_ENV_SIZE	0x1000
--#  define CONFIG_ENV_ADDR	(CONFIG_SYS_MONITOR_BASE - CONFIG_ENV_SIZE)
--
--# else	/* SPIFLASH && !RAMENV */
--#  define CONFIG_ENV_SPI_MODE		SPI_MODE_3
--#  define CONFIG_ENV_SPI_MAX_HZ		CONFIG_SF_DEFAULT_SPEED
--#  define CONFIG_ENV_SPI_CS		CONFIG_SF_DEFAULT_CS
--/* 128K(two sectors) for env */
--#  define CONFIG_ENV_SECT_SIZE	0x10000
--#  define CONFIG_ENV_SIZE	(2 * CONFIG_ENV_SECT_SIZE)
--/* Warning: adjust the offset in respect of other flash content and size */
--#  define CONFIG_ENV_OFFSET	(128 * CONFIG_ENV_SECT_SIZE) /* at 8MB */
--# endif /* SPIFLASH && !RAMBOOT */
--#else /* !SPIFLASH */
--
--/* ENV in RAM */
--# define CONFIG_ENV_SIZE	0x1000
--# define CONFIG_ENV_ADDR	(CONFIG_SYS_MONITOR_BASE - CONFIG_ENV_SIZE)
--#endif /* !SPIFLASH */
--#endif /* !FLASH */
--
--#if defined(XILINX_USE_ICACHE)
--# define CONFIG_ICACHE
--#else
--# undef CONFIG_ICACHE
--#endif
-+/*Command line configuration.*/
-+#define CONFIG_CMDLINE_EDITING
-+#define CONFIG_AUTO_COMPLETE
- 
--#if defined(XILINX_USE_DCACHE)
--# define CONFIG_DCACHE
--#else
--# undef CONFIG_DCACHE
--#endif
-+/* Miscellaneous configurable options */
-+#define CONFIG_SYS_CBSIZE	2048/* Console I/O Buffer Size      */
-+#define CONFIG_SYS_PBSIZE	(CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
-+#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE
- 
--#ifndef XILINX_DCACHE_BYTE_SIZE
--#define XILINX_DCACHE_BYTE_SIZE	32768
--#endif
- 
--/*
-- * BOOTP options
-- */
--#define CONFIG_BOOTP_BOOTFILESIZE
-+/* Use the HUSH parser */
-+#define CONFIG_SYS_PROMPT_HUSH_PS2 "> "
- 
--#if defined(CONFIG_MTD_PARTITIONS)
--/* MTD partitions */
-+#define CONFIG_ENV_VARS_UBOOT_CONFIG
-+#define CONFIG_ENV_OVERWRITE	/* Allow to overwrite the u-boot environment variables */
- 
--/* default mtd partition table */
--#endif
-+#define CONFIG_LMB
- 
--/* size of console buffer */
--#define	CONFIG_SYS_CBSIZE	512
--/* max number of command args */
--#define	CONFIG_SYS_MAXARGS	15
--/* default load address */
--#define	CONFIG_SYS_LOAD_ADDR	0
-+/* FDT support */
-+#define CONFIG_DISPLAY_BOARDINFO_LATE
- 
--#define	CONFIG_HOSTNAME		"microblaze-generic"
--#define	CONFIG_BOOTCOMMAND	"base 0;tftp 11000000 image.img;bootm"
- 
- /* architecture dependent code */
--#define	CONFIG_SYS_USR_EXCEP	/* user exception */
--
--#define	CONFIG_PREBOOT	"echo U-BOOT for ${hostname};setenv preboot;echo"
--
--#ifndef CONFIG_EXTRA_ENV_SETTINGS
--#define	CONFIG_EXTRA_ENV_SETTINGS	"unlock=yes\0" \
--					"nor0=flash-0\0"\
--					"mtdparts=mtdparts=flash-0:"\
--					"256k(u-boot),256k(env),3m(kernel),"\
--					"1m(romfs),1m(cramfs),-(jffs2)\0"\
--					"nc=setenv stdout nc;"\
--					"setenv stdin nc\0" \
--					"serial=setenv stdout serial;"\
--					"setenv stdin serial\0"
--#endif
--
--/* Enable flat device tree support */
--#define CONFIG_LMB		1
-+#define CONFIG_SYS_USR_EXCEP    /* user exception */
-+#define CONFIG_SYS_HZ   1000
-+
-+/* Boot Argument Buffer Size */
-+#define CONFIG_SYS_MAXARGS     32      /* max number of command args */
-+#define CONFIG_SYS_LONGHELP
-+/* Initial memory map for Linux */
-+#define CONFIG_SYS_BOOTMAPSZ 0x8000000
-+
-+/* Environment settings*/
-+#define CONFIG_ENV_ADDR	0x60b80000
-+#define CONFIG_ENV_SIZE	0x20000
-+#define CONFIG_ENV_SECT_SIZE	0x20000
-+/* PREBOOT */
-+#define CONFIG_PREBOOT	"echo U-BOOT for ${hostname};setenv preboot; echo; dhcp"
-+
-+/* Extra U-Boot Env settings */
-+#define CONFIG_EXTRA_ENV_SETTINGS \
-+	SERIAL_MULTI \ 
-+	CONSOLE_ARG \ 
-+	ESERIAL0 \ 
-+	"nc=setenv stdout nc;setenv stdin nc;\0" \ 
-+	"ethaddr=00:0a:35:00:22:01\0" \
-+	"autoload=no\0" \ 
-+	"sdbootdev=0\0" \ 
-+	"clobstart=0x81000000\0" \ 
-+	"netstart=0x81000000\0" \ 
-+	"dtbnetstart=0x82800000\0" \ 
-+	"loadaddr=0x81000000\0" \ 
-+	"bootsize=0x80000\0" \ 
-+	"bootstart=0x60b00000\0" \ 
-+	"boot_img=u-boot-s.bin\0" \ 
-+	"load_boot=tftpboot ${clobstart} ${boot_img}\0" \ 
-+	"update_boot=setenv img boot; setenv psize ${bootsize}; setenv installcmd \"install_boot\"; run load_boot test_img; setenv img; setenv psize; setenv installcmd\0" \ 
-+	"install_boot=protect off ${bootstart} +${bootsize} && erase ${bootstart} +${bootsize} && "  "cp.b ${clobstart} ${bootstart} ${filesize}\0" \ 
-+	"bootenvsize=0x20000\0" \ 
-+	"bootenvstart=0x60b80000\0" \ 
-+	"eraseenv=protect off ${bootenvstart} +${bootenvsize} && erase ${bootenvstart} +${bootenvsize}\0" \ 
-+	"kernelsize=0xc00000\0" \ 
-+	"kernelstart=0x60ba0000\0" \ 
-+	"kernel_img=image.ub\0" \ 
-+	"load_kernel=tftpboot ${clobstart} ${kernel_img}\0" \ 
-+	"update_kernel=setenv img kernel; setenv psize ${kernelsize}; setenv installcmd \"install_kernel\"; run load_kernel test_crc; setenv img; setenv psize; setenv installcmd\0" \ 
-+	"install_kernel=protect off ${kernelstart} +${kernelsize} && erase ${kernelstart} +${kernelsize} && "  "cp.b ${clobstart} ${kernelstart} ${filesize}\0" \ 
-+	"cp_kernel2ram=cp.b ${kernelstart} ${netstart} ${kernelsize}\0" \ 
-+	"fpgasize=0xb00000\0" \ 
-+	"fpgastart=0x60000000\0" \ 
-+	"fpga_img=system.bit.bin\0" \ 
-+	"load_fpga=tftpboot ${clobstart} ${fpga_img}\0" \ 
-+	"update_fpga=setenv img fpga; setenv psize ${fpgasize}; setenv installcmd \"install_fpga\"; run load_fpga test_img; setenv img; setenv psize; setenv installcmd\0" \ 
-+	"install_fpga=protect off ${fpgastart} +${fpgasize} && erase ${fpgastart} +${fpgasize} && "  "cp.b ${clobstart} ${fpgastart} ${filesize}\0" \ 
-+	"fault=echo ${img} image size is greater than allocated place - partition ${img} is NOT UPDATED\0" \ 
-+	"test_crc=if imi ${clobstart}; then run test_img; else echo ${img} Bad CRC - ${img} is NOT UPDATED; fi\0" \ 
-+	"test_img=setenv var \"if test ${filesize} -gt ${psize}\\; then run fault\\; else run ${installcmd}\\; fi\"; run var; setenv var\0" \ 
-+	"netboot=tftpboot ${netstart} ${kernel_img} && bootm\0" \ 
-+	"default_bootcmd=run cp_kernel2ram && bootm ${netstart}\0" \ 
-+""
-+/* BOOTCOMMAND */
-+#define CONFIG_BOOTCOMMAND	"run default_bootcmd"
- 
--#if defined(CONFIG_XILINX_AXIEMAC)
--# define CONFIG_SYS_FAULT_ECHO_LINK_DOWN	1
- #endif
--
--/* SPL part */
--
--#ifdef CONFIG_SYS_FLASH_BASE
--# define CONFIG_SYS_UBOOT_BASE		CONFIG_SYS_FLASH_BASE
--#endif
--
--/* for booting directly linux */
--
--#define CONFIG_SYS_FDT_BASE		(CONFIG_SYS_FLASH_BASE + \
--					 0x40000)
--#define CONFIG_SYS_FDT_SIZE		(16 << 10)
--#define CONFIG_SYS_SPL_ARGS_ADDR	(CONFIG_SYS_TEXT_BASE + \
--					 0x1000000)
--
--/* SP location before relocation, must use scratch RAM */
--/* BRAM start */
--#define CONFIG_SYS_INIT_RAM_ADDR	0x0
--/* BRAM size - will be generated */
--#define CONFIG_SYS_INIT_RAM_SIZE	0x100000
--
--# define CONFIG_SPL_STACK_ADDR		(CONFIG_SYS_INIT_RAM_ADDR + \
--					 CONFIG_SYS_INIT_RAM_SIZE - \
--					 CONFIG_SYS_MALLOC_F_LEN)
--
--/* Just for sure that there is a space for stack */
--#define CONFIG_SPL_STACK_SIZE		0x100
--
--#define CONFIG_SYS_UBOOT_START		CONFIG_SYS_TEXT_BASE
--
--#define CONFIG_SPL_MAX_FOOTPRINT	(CONFIG_SYS_INIT_RAM_SIZE - \
--					 CONFIG_SYS_INIT_RAM_ADDR - \
--					 CONFIG_SYS_MALLOC_F_LEN - \
--					 CONFIG_SPL_STACK_SIZE)
--
--#endif	/* __CONFIG_H */
--- 
-2.7.5
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx_2019.1.bb b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx_2019.1.bb
deleted file mode 100644
index 3377635..0000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx_2019.1.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-UBOOT_VERSION = "v2019.01"
-XILINX_RELEASE_VERSION = "v2019.1"
-
-UBRANCH ?= "master"
-
-SRCREV ?= "d895ac5e94815d4b45dcf09d4752c5c2334a51db"
-
-include u-boot-xlnx.inc
-include u-boot-spl-zynq-init.inc
-
-SRC_URI_append_kc705-microblazeel = " file://microblaze-kc705-Convert-microblaze-generic-to-k.patch"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897"
-
-# u-boot-xlnx has support for these
-HAS_PLATFORM_INIT ?= " \
-		zynq_microzed_config \
-		zynq_zed_config \
-		zynq_zc702_config \
-		zynq_zc706_config \
-		zynq_zybo_config \
-		xilinx_zynqmp_zcu102_rev1_0_config \
-		xilinx_zynqmp_zcu106_revA_config \
-		xilinx_zynqmp_zcu104_revC_config \
-		xilinx_zynqmp_zcu100_revC_config \
-		xilinx_zynqmp_zcu111_revA_config \
-		xilinx_zynqmp_zc1275_revA_config \
-		xilinx_zynqmp_zc1275_revB_config \
-		xilinx_zynqmp_zc1254_revA_config \
-		"
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx_2020.1.bb b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx_2020.1.bb
new file mode 100644
index 0000000..0eb66c8
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx_2020.1.bb
@@ -0,0 +1,19 @@
+UBOOT_VERSION = "v2020.01"
+
+UBRANCH ?= "xlnx_rebase_v2020.01"
+
+SRCREV ?= "86c84c0d0f916ec00d5d76a32dc9372a25429ca9"
+
+include u-boot-xlnx.inc
+include u-boot-spl-zynq-init.inc
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897"
+
+# u-boot-xlnx has support for these
+HAS_PLATFORM_INIT ?= " \
+		xilinx_zynqmp_virt_config \
+		xilinx_zynq_virt_defconfig \
+		xilinx_versal_vc_p_a2197_revA_x_prc_01_revA \
+		"
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr.bb b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr.bb
index d2eedd5..a4f4068 100644
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr.bb
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr.bb
@@ -24,11 +24,11 @@
 KERNEL_BOOTCMD_versal ?= "booti"
 
 BOOTMODE ?= "sd"
-BOOTMODE_versal ?= "qspi"
 
 SRC_URI = " \
             file://boot.cmd.sd.zynq \
             file://boot.cmd.sd.zynqmp \
+            file://boot.cmd.sd.versal \
             file://boot.cmd.qspi.versal \
             file://pxeboot.pxe \
             "
@@ -40,10 +40,10 @@
 UBOOTPXE_CONFIG_NAME = "${UBOOTPXE_CONFIG}-${DATETIME}"
 UBOOTPXE_CONFIG_NAME[vardepsexclude] = "DATETIME"
 
-DEVICETREE_ADDRESS_zynqmp ?= "0x4000000"
+DEVICETREE_ADDRESS_zynqmp ?= "0x100000"
 DEVICETREE_ADDRESS_zynq ?= "0x2000000"
 DEVICETREE_ADDRESS_versal ?= "0x1000"
-KERNEL_LOAD_ADDRESS_zynqmp ?= "0x80000"
+KERNEL_LOAD_ADDRESS_zynqmp ?= "0x200000"
 KERNEL_LOAD_ADDRESS_zynq ?= "0x2080000"
 KERNEL_LOAD_ADDRESS_versal ?= "0x80000"
 
@@ -65,6 +65,7 @@
     mkimage -A arm -T script -C none -n "Boot script" -d "${WORKDIR}/boot.cmd" boot.scr
     sed -e 's/@@KERNEL_IMAGETYPE@@/${KERNEL_IMAGETYPE}/' \
         -e 's/@@DEVICE_TREE_NAME@@/${DEVICE_TREE_NAME}/' \
+	-e 's/@@RAMDISK_IMAGE@@/${RAMDISK_IMAGE}/' \
 	"${WORKDIR}/pxeboot.pxe" > "pxeboot.pxe"
 }
 
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.qspi b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.qspi
deleted file mode 100644
index 84a25d2..0000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.qspi
+++ /dev/null
@@ -1 +0,0 @@
-booti 0x80000 0x6000000 0x1000
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd
deleted file mode 100644
index 67a8057..0000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd
+++ /dev/null
@@ -1,6 +0,0 @@
-setenv bootargs $bootargs root=/dev/mmcblk0p2 rw rootwait earlycon clk_ignore_unused
-devicetree_image=@@DEVICE_TREE_NAME@@
-fatload mmc 0 ${fdt_addr_r} ${devicetree_image}
-fatload mmc $sdbootdev:$partid  ${kernel_addr_r} @@KERNEL_IMAGETYPE@@
-booti ${kernel_addr_r} - ${fdt_addr_r}
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd.versal b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd.versal
new file mode 100644
index 0000000..10e83cd
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd.versal
@@ -0,0 +1,3 @@
+setenv bootargs $bootargs root=/dev/mmcblk0p2 rw rootwait clk_ignore_unused
+fatload mmc $sdbootdev:$partid @@KERNEL_LOAD_ADDRESS@@ @@KERNEL_IMAGETYPE@@
+@@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ - @@DEVICETREE_ADDRESS@@
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd.zynqmp b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd.zynqmp
index 18f82d7..9d4c6b9 100644
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd.zynqmp
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd.zynqmp
@@ -1,4 +1,3 @@
 setenv bootargs $bootargs root=/dev/mmcblk0p2 rw rootwait earlycon clk_ignore_unused
-fatload mmc 0 @@DEVICETREE_ADDRESS@@ @@DEVICE_TREE_NAME@@
 fatload mmc $sdbootdev:$partid @@KERNEL_LOAD_ADDRESS@@ @@KERNEL_IMAGETYPE@@
 @@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ - @@DEVICETREE_ADDRESS@@
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/pxeboot.pxe b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/pxeboot.pxe
index 6d7a0a9..4079654 100644
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/pxeboot.pxe
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/pxeboot.pxe
@@ -1,3 +1,4 @@
 LABEL Linux
 KERNEL @@KERNEL_IMAGETYPE@@
 FDT @@DEVICE_TREE_NAME@@
+INITRD @@RAMDISK_IMAGE@@