Hello community,

here is the log from the commit of package u-boot for openSUSE:Factory checked 
in at 2019-10-24 23:04:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/u-boot (Old)
 and      /work/SRC/openSUSE:Factory/.u-boot.new.2990 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "u-boot"

Thu Oct 24 23:04:21 2019 rev:110 rq:742229 version:2019.10

Changes:
--------
--- /work/SRC/openSUSE:Factory/u-boot/u-boot.changes    2019-04-11 
08:48:53.400597172 +0200
+++ /work/SRC/openSUSE:Factory/.u-boot.new.2990/u-boot.changes  2019-10-24 
23:05:51.448290737 +0200
@@ -1,0 +2,235 @@
+Wed Oct 23 15:29:31 UTC 2019 - Matthias Brugger <mbrug...@suse.com>
+
+- include update_git.sh as source in the spec file
+
+-------------------------------------------------------------------
+Wed Oct 23 09:48:41 UTC 2019 - Matthias Brugger <mbrug...@suse.com>
+
+- Make factory-auto bot happy
+
+-------------------------------------------------------------------
+Wed Oct  9 08:08:32 UTC 2019 - Matthias Brugger <mbrug...@suse.com>
+
+- Enable RaspberryPi4 builds
+
+-------------------------------------------------------------------
+Tue Oct  8 19:19:43 UTC 2019 - Guillaume GARDET <guillaume.gar...@opensuse.org>
+
+- Patch queue updated from git://github.com/openSUSE/u-boot.git 
tumbleweed-2019.10
+* Patches added:
+  0009-libfdt-fdt_address_cells-and-fdt_si.patch
+  0010-libfdt-return-correct-value-if-size.patch
+  0011-libfdt-Allow-size-cells-of-0.patch
+  0012-dm-Fix-default-address-cells-return.patch
+
+-------------------------------------------------------------------
+Tue Oct  8 11:45:21 UTC 2019 - Guillaume GARDET <guillaume.gar...@opensuse.org>
+
+- Update to v2019.10:
+  * Platforms fixes: Amlogic, Atmel, Exynos5, Marvell, NXP,
+      Rockchip, SunXi, TI
+  * add support for RPi4
+  * RPi4: Fix amount of memory seen by the kernel
+  * RPi: Fix USB 1.1 keyboard (boo#1139351, boo#1131064)
+  * I2C fixes
+  * MMC fixes
+  * NET fixes
+  * SPI fixes
+  * UEFI fixes
+  * USB fixes
+- Patch queue updated from git://github.com/openSUSE/u-boot.git 
tumbleweed-2019.10
+* Patches dropped (upstreamed):
+  0009-ARM-exynos5-Try-to-boot-on-mmc2-bef.patch
+
+-------------------------------------------------------------------
+Wed Sep  4 21:56:21 UTC 2019 - Andreas Färber <afaer...@suse.de>
+
+- Add avnetultra96rev1
+
+-------------------------------------------------------------------
+Wed Aug 21 14:27:40 UTC 2019 - Matthias Brugger <mbrug...@suse.com>
+
+- update_git.sh: Allow GIT_LOCAL_TREE to be a soft link as well
+
+-------------------------------------------------------------------
+Sat Aug 10 19:11:07 UTC 2019 - Matwey Kornilov <matwey.korni...@gmail.com>
+
+- Add u-boot-zynqzturn
+
+-------------------------------------------------------------------
+Mon Jul 22 13:15:36 UTC 2019 - Guillaume GARDET <guillaume.gar...@opensuse.org>
+
+- Handle patch list automatically in spec file from update_git.sh
+
+-------------------------------------------------------------------
+Mon Jul 22 09:01:41 UTC 2019 - Andreas Schwab <sch...@suse.de>
+
+- Add u-boot-qemu-riscv64smode
+
+-------------------------------------------------------------------
+Thu Jul 18 08:19:51 UTC 2019 - Guillaume GARDET <guillaume.gar...@opensuse.org>
+
+- Patch queue updated from git://github.com/openSUSE/u-boot.git 
tumbleweed-2019.07
+* Patches added:
+  0009-ARM-exynos5-Try-to-boot-on-mmc2-bef.patch
+
+-------------------------------------------------------------------
+Wed Jul 10 22:57:15 UTC 2019 - Andreas Färber <afaer...@suse.de>
+
+- Fail on errors building RK3288 SD card images (tinker-rk3288 previously)
+- Add libretech-cc and libretech-ac
+
+-------------------------------------------------------------------
+Wed Jul 10 17:05:47 UTC 2019 - Matwey V. Kornilov <matwey.korni...@gmail.com>
+
+- Add u-boot-rock64-rk3328
+
+-------------------------------------------------------------------
+Wed Jul 10 16:20:42 UTC 2019 - Torsten Duwe <d...@suse.com>
+
+- reflect upstream config changes in multibuild and spec file:
+  * am335x_evm includes support for am335x_boneblack -- dropped.
+  * Sinovoip BPI M2 Plus is correctly named Bananapi M2 Plus H3
+
+-------------------------------------------------------------------
+Tue Jul  9 09:38:01 UTC 2019 - Guillaume GARDET <guillaume.gar...@opensuse.org>
+
+- Fix build of u-boot-rock960-rk3399 by adding required 
+  python-pyelftools dep
+
+-------------------------------------------------------------------
+Tue Jul  9 06:50:32 UTC 2019 - Guillaume GARDET <guillaume.gar...@opensuse.org>
+
+- Update to v2019.07:
+  * Fix booting for wandboard
+  * DWC and i.MX6 fixes
+  * usb: dwc3: fixes
+  * usb: ehci-mx6: Fix bus enumeration for DM case
+  * rockchip: make_fit_atf.py: fix loadables property set error
+  * rockchip: rk3288: enable TPL for tinker-board
+  * spl: atf: Fix uninitialized pointer to bl31_image_info
+  * poplar: increase SYS_MALLOC_F_LEN for DM_FLAG_PRE_RELOC support
+  * UEFI: The definition of an unimplemented function is corrected.
+  * ARM: uniphier: fixes
+  * rockchip: rk3399: fixes
+  * efi_loader: lots of fixes
+  * armv8: fix typo in LINUX_KERNEL_IMAGE_HEADER check
+- Patch queue updated from git://github.com/openSUSE/u-boot.git 
tumbleweed-2019.07
+* Patches upstreamed:
+  0009-armv8-fix-typo-in-LINUX_KERNEL_IMAG.patch
+  0010-poplar-increase-SYS_MALLOC_F_LEN-fo.patch
+
+-------------------------------------------------------------------
+Sun Jun 16 19:09:48 UTC 2019 - Andreas Färber <afaer...@suse.de>
+
+- Patch queue updated from git://github.com/openSUSE/u-boot.git 
tumbleweed-2019.07
+* Fix boot on Tegra platforms:
+  0009-armv8-fix-typo-in-LINUX_KERNEL_IMAG.patch
+* Fix boot on Poplar board:
+  0010-poplar-increase-SYS_MALLOC_F_LEN-fo.patch
+
+-------------------------------------------------------------------
+Sat Jun 15 18:26:14 UTC 2019 - Andreas Färber <afaer...@suse.de>
+
+- rpi3: Override the text base for compatibility with TF-A
+
+-------------------------------------------------------------------
+Thu Jun 13 07:19:36 UTC 2019 - Guillaume GARDET <guillaume.gar...@opensuse.org>
+
+- Update to v2019.07-rc4:
+  * SPI fixes
+  * Video fixes
+  * Tegra updates
+  * Support for managing the non-volatile attribute of UEFI variables
+    is added though we do not have a backend for persistence yet. 
+  * Error messages for changes of UEFI variables are provided.
+  * UEFI boottime service implementations are corrected.
+  * Error messages for the 'setenv -e' and 'bootefi bootmgr' commands are
+    added.
+  * risc-v qemu updates
+  * Enable MMC in SPL for helios4
+  * NET fixes
+  * some fix for rk3399-puma
+  * rockchip script make_fit_atf.py cleanup
+  * Enable TPL for rk3399 orangepi and nanopi4;
+  * add support for rk3399 boards: Nanopi NEO4, Rockpro64, Rock PI 4
+  * amlogic updates
+  * DaVinci updates
+  * FAT fixes
+- Update to v2019.07-rc3:
+  * sh updates
+  * SoCFPGA PL310 cleanup + A10 fix, A10 DT cleanup, DW GPIO fix
+  * Several bug fixes for the UEFI sub-system are provided.
+  * The SetTime() boottime service is implemented.
+  * mips updates
+  * stm32 updates
+  * DM fixes
+  * fsl updates
+  * MMC fixes for i.MX53
+  * sunxi fixes
+  * I2C fixes
+  * Minor patches to improve UEFI specification compliance are provided.
+  * To allow running the UEFI self compliance tests an outdated version of
+    the Unicode collation protocol has been added as a configuration option
+    (disabled by default).
+  * Allow coreboot to process unhandled tags
+  * Enable NVMe on QEMU x86_64 target
+  * arndale fixes
+  * SoCFPGA DT and reset cleanup, AE MCVEVK board support.
+
+-------------------------------------------------------------------
+Tue May 21 08:02:28 UTC 2019 - Guillaume GARDET <guillaume.gar...@opensuse.org>
+
+- Update update_git.sh
+
+-------------------------------------------------------------------
+Tue May 21 07:35:34 UTC 2019 - Guillaume GARDET <guillaume.gar...@opensuse.org>
+
+- Update to v2019.07-rc2:
+  * Net updates
+  * UEFI updates for EBBR compliance
+  * Minor fixes
+  * Rockchip improvements and new features
+  * Marvell boards updates
+  * Sunxi updates
+  * x86 fixes
+  * SPI fixes
+  * i.MX updates
++++ 38 more lines (skipped)
++++ between /work/SRC/openSUSE:Factory/u-boot/u-boot.changes
++++ and /work/SRC/openSUSE:Factory/.u-boot.new.2990/u-boot.changes

Old:
----
  pre_checkin.sh
  u-boot-2019.04.tar.bz2
  u-boot-2019.04.tar.bz2.sig
  u-boot-a10-olinuxino-lime.changes
  u-boot-a10-olinuxino-lime.spec
  u-boot-a13-olinuxino.changes
  u-boot-a13-olinuxino.spec
  u-boot-a13-olinuxinom.changes
  u-boot-a13-olinuxinom.spec
  u-boot-a20-olinuxino-lime.changes
  u-boot-a20-olinuxino-lime.spec
  u-boot-a20-olinuxino-lime2.changes
  u-boot-a20-olinuxino-lime2.spec
  u-boot-a20-olinuxinomicro.changes
  u-boot-a20-olinuxinomicro.spec
  u-boot-am335xevm.changes
  u-boot-am335xevm.spec
  u-boot-am57xxevm.changes
  u-boot-am57xxevm.spec
  u-boot-arndale.changes
  u-boot-arndale.spec
  u-boot-bananapi.changes
  u-boot-bananapi.spec
  u-boot-bananapim2plush3.changes
  u-boot-bananapim2plush3.spec
  u-boot-bananapim64.changes
  u-boot-bananapim64.spec
  u-boot-board.spec.in
  u-boot-clearfog.changes
  u-boot-clearfog.spec
  u-boot-colibrit20.changes
  u-boot-colibrit20.spec
  u-boot-cubieboard.changes
  u-boot-cubieboard.spec
  u-boot-cubieboard2.changes
  u-boot-cubieboard2.spec
  u-boot-cubietruck.changes
  u-boot-cubietruck.spec
  u-boot-dragonboard410c.changes
  u-boot-dragonboard410c.spec
  u-boot-dragonboard820c.changes
  u-boot-dragonboard820c.spec
  u-boot-evb-rk3399.changes
  u-boot-evb-rk3399.spec
  u-boot-firefly-rk3288.changes
  u-boot-firefly-rk3288.spec
  u-boot-firefly-rk3399.changes
  u-boot-firefly-rk3399.spec
  u-boot-geekbox.changes
  u-boot-geekbox.spec
  u-boot-highbank.changes
  u-boot-highbank.spec
  u-boot-hikey.changes
  u-boot-hikey.spec
  u-boot-hyundaia7hd.changes
  u-boot-hyundaia7hd.spec
  u-boot-jetson-tk1.changes
  u-boot-jetson-tk1.spec
  u-boot-khadas-vim.changes
  u-boot-khadas-vim.spec
  u-boot-khadas-vim2.changes
  u-boot-khadas-vim2.spec
  u-boot-lamobor1.changes
  u-boot-lamobor1.spec
  u-boot-ls1012afrdmqspi.changes
  u-boot-ls1012afrdmqspi.spec
  u-boot-melea1000.changes
  u-boot-melea1000.spec
  u-boot-merriia80optimus.changes
  u-boot-merriia80optimus.spec
  u-boot-mvebudb-88f3720.changes
  u-boot-mvebudb-88f3720.spec
  u-boot-mvebudbarmada8k.changes
  u-boot-mvebudbarmada8k.spec
  u-boot-mvebuespressobin-88f3720.changes
  u-boot-mvebuespressobin-88f3720.spec
  u-boot-mvebumcbin-88f8040.changes
  u-boot-mvebumcbin-88f8040.spec
  u-boot-mx53loco.changes
  u-boot-mx53loco.spec
  u-boot-mx6cuboxi.changes
  u-boot-mx6cuboxi.spec
  u-boot-mx6qsabrelite.changes
  u-boot-mx6qsabrelite.spec
  u-boot-nanopia64.changes
  u-boot-nanopia64.spec
  u-boot-nanopineo.changes
  u-boot-nanopineo.spec
  u-boot-nanopineoair.changes
  u-boot-nanopineoair.spec
  u-boot-odroid-c2.changes
  u-boot-odroid-c2.spec
  u-boot-odroid-xu3.changes
  u-boot-odroid-xu3.spec
  u-boot-odroid.changes
  u-boot-odroid.spec
  u-boot-omap3beagle.changes
  u-boot-omap3beagle.spec
  u-boot-omap4panda.changes
  u-boot-omap4panda.spec
  u-boot-orangepipc.changes
  u-boot-orangepipc.spec
  u-boot-orangepipc2.changes
  u-boot-orangepipc2.spec
  u-boot-p2371-2180.changes
  u-boot-p2371-2180.spec
  u-boot-p2771-0000-500.changes
  u-boot-p2771-0000-500.spec
  u-boot-paz00.changes
  u-boot-paz00.spec
  u-boot-pcm051rev3.changes
  u-boot-pcm051rev3.spec
  u-boot-pine64plus.changes
  u-boot-pine64plus.spec
  u-boot-pinebook.changes
  u-boot-pinebook.spec
  u-boot-pineh64.changes
  u-boot-pineh64.spec
  u-boot-poplar.changes
  u-boot-poplar.spec
  u-boot-qemu-ppce500.changes
  u-boot-qemu-ppce500.spec
  u-boot-qemu-riscv64.changes
  u-boot-qemu-riscv64.spec
  u-boot-rock960-rk3399.changes
  u-boot-rock960-rk3399.spec
  u-boot-rpi.changes
  u-boot-rpi.spec
  u-boot-rpi2.changes
  u-boot-rpi2.spec
  u-boot-rpi3.changes
  u-boot-rpi3.spec
  u-boot-sifivefu540.changes
  u-boot-sifivefu540.spec
  u-boot-snow.changes
  u-boot-snow.spec
  u-boot-socfpgade0nanosoc.changes
  u-boot-socfpgade0nanosoc.spec
  u-boot-spring.changes
  u-boot-spring.spec
  u-boot-tinker-rk3288.changes
  u-boot-tinker-rk3288.spec
  u-boot-turrisomnia.changes
  u-boot-turrisomnia.spec
  u-boot-udoo.changes
  u-boot-udoo.spec
  u-boot-udooneo.changes
  u-boot-udooneo.spec
  u-boot-xilinxzynqmpgeneric.changes
  u-boot-xilinxzynqmpgeneric.spec
  u-boot-xilinxzynqmpzcu102rev10.changes
  u-boot-xilinxzynqmpzcu102rev10.spec
  u-boot.spec.in

New:
----
  0009-libfdt-fdt_address_cells-and-fdt_si.patch
  0010-libfdt-return-correct-value-if-size.patch
  0011-libfdt-Allow-size-cells-of-0.patch
  0012-dm-Fix-default-address-cells-return.patch
  _multibuild
  u-boot-2019.10.tar.bz2
  u-boot-2019.10.tar.bz2.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ u-boot.spec ++++++
--- /var/tmp/diff_new_pack.CZS8J9/_old  2019-10-24 23:06:11.896314602 +0200
+++ /var/tmp/diff_new_pack.CZS8J9/_new  2019-10-24 23:06:11.928314639 +0200
@@ -18,18 +18,170 @@
 #
 
 
-# 'archive_version' differs from 'version' for RC version only
-%define archive_version 2019.04
+%define target @BUILD_FLAVOR@
 
+%bcond_with uboot_atf
+%bcond_with uboot_atf_pine64
+
+%define mvebu_spl 0
+%define x_loader 0
+%define rockchip_spl 0
+%define sunxi_spl 0
+%define arndale_spl 0
+%define origen_spl 0
+%define imx6_spl 0
+%define socfpga_spl 0
+
+%define binext .bin
+
+%define is_armv6 0
+%define is_armv7 0
+%define is_armv8 0
+%define is_ppc 0
+%define is_riscv64 0
+%define tools_only 0
+
+%if "%target" == "rpi" || "%target" == "rpi2" || "%target" == "rpi3" || 
"%target" == "rpi4"
+%define is_rpi 1
+%if "%target" == "rpi"
+%define is_armv6 1
+%endif
+%if "%target" == "rpi2"
+%define is_armv7 1
+%endif
+%if "%target" == "rpi3" || "%target" == "rpi4"
+%define is_armv8 1
+%endif
+%endif
+
+%if "%target" == "firefly-rk3288" || "%target" == "tinker-rk3288"
+%define is_armv7 1
+%define rockchip_spl 1
+%define soc_name "rk3288"
+%if "%target" == "firefly-rk3288"
+%define rkimages rksd rkimage
+%else
+%define rkimages rksd
+%endif
+%endif
+%if "%target" == "rock64-rk3328"
+%define is_armv8 1
+%define is_rk3328 1
+%define soc_name "rk3328"
+%define rockchip_spl 1
+%define rkimages rksd
+%endif
+%if "%target" == "evb-rk3399" || "%target" == "firefly-rk3399" || "%target" == 
"puma-rk3399" || "%target" == "rock960-rk3399"
+%define is_rk3399 1
+%define is_armv8 1
+%endif
+
+%if "%target" == "bananapim64" || "%target" == "nanopia64" || "%target" == 
"pine64plus" || "%target" == "pinebook"
+%define is_a64 1
+%define is_armv8 1
+%define sunxi_spl 1
+%define binext .itb
+%endif
+%if "%target" == "orangepipc2"
+%define is_h5 1
+%define is_armv8 1
+%define sunxi_spl 1
+%define binext .itb
+%endif
+%if "%target" == "pineh64"
+%define is_h6 1
+%define is_armv8 1
+%define sunxi_spl 1
+%define binext .itb
+%endif
+%if "%target" == "bananapi" || "%target" == "cubieboard" || "%target" == 
"cubieboard2" || "%target" == "cubietruck" || "%target" == "melea1000" || 
"%target" == "a10-olinuxino-lime" || "%target" == "a13-olinuxino" || "%target" 
== "a13-olinuxinom" || "%target" == "a20-olinuxino-lime" || "%target" == 
"a20-olinuxino-lime2" || "%target" == "a20-olinuxinomicro" || "%target" == 
"nanopineo" || "%target" == "orangepipc" || "%target" == "hyundaia7hd" || 
"%target" == "lamobor1" || "%target" == "bananapim2plush3"
+%define is_armv7 1
+%define binext .img
+%define sunxi_spl 1
+%endif
+
+%if "%target" == "clearfog" || "%target" == "turrisomnia"
+%define mvebu_spl 1
+%define is_armv7 1
+%define binext .img
+%endif
+
+%if "%target" == "mx53loco" || "%target" == "mx6qsabrelite"
+%define is_armv7 1
+%define binext .imx
+%endif
+
+%if "%target" == "mx6cuboxi" || "%target" == "udoo" || "%target" == "udooneo"
+%define imx6_spl 1
+%define is_armv7 1
+%define binext .img
+%endif
+
+%if "%target" == "omap3beagle" || "%target" == "omap4panda" || "%target" == 
"am335xevm" || "%target" == "pcm051rev3"
+%define x_loader 1
+%define is_armv7 1
+%define binext .img
+%endif
+
+%if "%target" == "colibrit20" || "%target" == "am57xxevm"
+%define is_armv7 1
+%endif
+
+%if "%target" == "arndale"
+%define is_armv7 1
+%define arndale_spl 1
+%endif
+
+%if  "%target" == "dragonboard410c" || "%target" == "dragonboard820c"
+%define is_armv8 1
+%endif
+
+%if  "%target" == "geekbox" || "%target" == "hikey" || "%target" == 
"khadas-vim" || "%target" == "khadas-vim2" || "%target" == "libretech-ac" || 
"%target" == "libretech-cc" || "%target" == "ls1012afrdmqspi" || "%target" == 
"mvebudb-88f3720" || "%target" == "mvebudbarmada8k" || "%target" == 
"mvebuespressobin-88f3720" || "%target" == "mvebumcbin-88f8040" || "%target" == 
"odroid-c2" || "%target" == "p2371-2180" || "%target" == "p2771-0000-500" || 
"%target" == "poplar"
+%define is_armv8 1
+%endif
+
+%if "%target" == "avnetultra96rev1" || "%target" == "xilinxzynqmpgeneric" || 
"%target" == "xilinxzynqmpzcu102rev10"
+%define is_armv8 1
+%define binext .elf
+%endif
+
+%if "%target" == "highbank" || "%target" == "jetson-tk1" || "%target" == 
"merriia80optimus" || "%target" == "nanopineoair" || "%target" == "odroid" || 
"%target" == "odroid-xu3" || "%target" == "paz00" || "%target" == "snow" || 
"%target" == "socfpgade0nanosoc" || "%target" == "spring"
+%define is_armv7 1
+%endif
+
+%if "%target" == "zynqzturn"
+%define is_armv7 1
+%define binext .img
+%endif
+
+%if "%target" == "qemu-riscv64" || "%target" == "qemu-riscv64smode" || 
"%target" == "sifivefu540"
+%define is_riscv64 1
+%endif
+
+%if "%target" == "qemu-ppce500"
+%define is_ppc 1
+%endif
+
+# archive_version differs from version for RC version only
+%define archive_version 2019.10
+
+%if "%target" == "tools" || "%target" == ""
 Name:           u-boot
-Version:        2019.04
+%else
+Name:           u-boot-%target
+%endif
+Version:        2019.10
 Release:        0
-Summary:        Tools for the U-Boot Firmware
+Summary:        The U-Boot firmware for the %target platform
 License:        GPL-2.0-only
 Group:          System/Boot
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source1:        
ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2.sig
+Source2:        arndale-bl1.img
+Source300:      u-boot-rpmlintrc
+Source900:      update_git.sh
+# Patches: start
 Patch0001:      0001-XXX-openSUSE-XXX-Prepend-partition-.patch
 Patch0002:      0002-Revert-Revert-omap3-Use-raw-SPL-by-.patch
 Patch0003:      0003-rpi-Use-firmware-provided-device-tr.patch
@@ -38,16 +190,109 @@
 Patch0006:      0006-tools-zynqmpbif-Add-support-for-loa.patch
 Patch0007:      0007-boo-1123170-Remove-ubifs-support-fr.patch
 Patch0008:      0008-zynqmp-generic-fix-compilation.patch
+Patch0009:      0009-libfdt-fdt_address_cells-and-fdt_si.patch
+Patch0010:      0010-libfdt-return-correct-value-if-size.patch
+Patch0011:      0011-libfdt-Allow-size-cells-of-0.patch
+Patch0012:      0012-dm-Fix-default-address-cells-return.patch
+# Patches: end
+BuildRoot:      %{_tmppath}/%{name}-%{version}-build
+BuildRequires:  pkgconfig(sdl)
+%if 0%{?is_rk3328} && %{with uboot_atf}
+BuildRequires:  arm-trusted-firmware-rk3328
+%endif
+%if 0%{?is_rk3399} && %{with uboot_atf}
+BuildRequires:  arm-trusted-firmware-rk3399
+
+%endif
+%if (0%{?is_a64} || 0%{?is_h5}) && %{with uboot_atf}
+BuildRequires:  arm-trusted-firmware-sun50ia64
+%endif
+%if 0%{?is_h6} && %{with uboot_atf}
+BuildRequires:  arm-trusted-firmware-sun50ih6
+%endif
+BuildRequires:  bc
 BuildRequires:  bison
+# Arndale board needs DTC >= 1.4
+BuildRequires:  dtc >= 1.4.0
 BuildRequires:  flex
+# u-boot-clearfog (tools/kwbimage.c) needs openssl to build
 BuildRequires:  libopenssl-devel
-BuildRoot:      %{_tmppath}/%{name}-%{version}-build
+BuildRequires:  python-devel
+%if %{with uboot_atf}
+%if "%{name}" == "u-boot-rock64-rk3328" || "%{name}" == "u-boot-evb-rk3399" || 
"%{name}" == "u-boot-firefly-rk3399" || "%{name}" == "u-boot-rock960-rk3399"
+# make_fit_atf.py
+BuildRequires:  python-pyelftools
+%endif
+%endif
+BuildRequires:  swig
+%if "%{name}" == "u-boot-qemu-ppce500"
+# Owns /usr/share/qemu directory
+BuildRequires:  qemu
+Provides:       qemu-ppc:%{_datadir}/qemu/u-boot.e500
+%endif
+%if 0%{?is_rpi}
+# Owns /boot/vc directory
+BuildRequires:  raspberrypi-firmware
+%endif
+%if "%{name}" == "u-boot-zynqmp"
+BuildRequires:  zynqmp-dts
+%endif
+%if 0%{?is_rpi}
+# For mountpoint
+Requires(post): util-linux
+%endif
+Provides:       u-boot-loader
+Conflicts:      otherproviders(u-boot-loader)
+%if %x_loader == 1
+Obsoletes:      x-loader-%target
+Provides:       x-loader-%target
+%endif
+%if "%{name}" == "u-boot-am335xevm"
+# 
http://git.denx.de/?p=u-boot.git;a=commit;h=8fa7f65dd02c176ee6021eaf40114560b8954ba2
+Obsoletes:      am335x_boneblack
+Provides:       am335x_boneblack
+%endif
+%if "%{name}" == "u-boot-bananapim2plush3"
+# 
http://git.denx.de/?p=u-boot.git;a=commit;h=268ae6548779ccd8ba38ce39d43f41be7e0bc133
+Obsoletes:      Sinovoip_BPI_M2_Plus
+Provides:       Sinovoip_BPI_M2_Plus
+%endif
+
+%if "%{target}" == ""
+ExclusiveArch:  do_not_build
+%else
+%if "%{target}" == "tools"
+%define tools_only 1
+%else
+%if %is_armv8
+ExclusiveArch:  aarch64
+%else
+%if %is_armv7
+ExclusiveArch:  armv7l armv7hl
+%else
+%if %is_armv6
+ExclusiveArch:  armv6l armv6hl
+%else
+%if %is_ppc
+ExclusiveArch:  ppc
+%else
+%if %is_riscv64
+ExclusiveArch:  riscv64
+%else
+ExclusiveArch:  do_not_build
+%endif
+%endif
+%endif
+%endif
+%endif
+%endif
+%endif
 
 %description
 Das U-Boot (or just "U-Boot" for short) is Open Source Firmware for Embedded 
PowerPC, ARM, MIPS and x86 processors.
-This package contains:
-mkimage- a tool that creates kernel bootable images for U-Boot.
+This package contains the firmware for the %target platform.
 
+%if %tools_only
 
 %package tools
 Summary:        Tools for the U-Boot Firmware
@@ -58,31 +303,198 @@
 This package contains:
 mkimage- a tool that creates kernel bootable images for U-Boot.
 
+%else
+
+%package doc
+Summary:        Documentation for the U-Boot Firmware
+Group:          Documentation/Other
+
+%description doc
+Das U-Boot (or just "U-Boot" for short) is Open Source Firmware for Embedded 
PowerPC, ARM, MIPS and x86 processors.
+This package contains documentation for U-Boot firmware.
+
+%endif
+
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch0001 -p1
-%patch0002 -p1
-%patch0003 -p1
-%patch0004 -p1
-%patch0005 -p1
-%patch0006 -p1
-%patch0007 -p1
-%patch0008 -p1
+%autopatch -p1
 
 %build
+%if %tools_only
 # needed for include/config/auto.conf
 make defconfig
 make syncconfig
 make %{?_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" tools-only
 
+%else
+export SOURCE_DATE_EPOCH=$(date -d "$(head -n 2 %{_sourcedir}/u-boot.changes | 
tail -n 1 | cut -d- -f1 )" +%s)
+%if 0%{?is_a64} || 0%{?is_h5}
+export BL31=/usr/share/arm-trusted-firmware-sun50ia64/bl31.bin
+%endif
+%if 0%{?is_h6}
+export BL31=/usr/share/arm-trusted-firmware-sun50ih6/bl31.bin
+%endif
+
+%if %{with uboot_atf}
+%if "%{name}" == "u-boot-rock64-rk3328"
+cp /usr/share/arm-trusted-firmware-rk3328/bl31.elf .
+%endif
+%if "%{name}" == "u-boot-evb-rk3399" || "%{name}" == "u-boot-firefly-rk3399"
+cp /usr/share/arm-trusted-firmware-rk3399/bl31.elf .
+%endif
+%endif
+
+confname=$(ls configs | perl -ne '$l=lc; $l=~ s,_,,g; $l eq 
"%{target}defconfig\n" && print;')
+
+make %{?_smp_mflags} CROSS_COMPILE= HOSTCFLAGS="$RPM_OPT_FLAGS" $confname
+echo "Attempting to enable fdt apply command (.dtbo) support."
+echo "CONFIG_OF_LIBFDT_OVERLAY=y" >> .config
+%if "%target" == "rpi3"
+echo "Tweaking text base for TF-A."
+echo "CONFIG_SYS_TEXT_BASE=0x11000000" >> .config
+%endif
+make %{?_smp_mflags} CROSS_COMPILE= HOSTCFLAGS="$RPM_OPT_FLAGS" \
+%if ("%{name}" == "u-boot-rock64-rk3328" || "%{name}" == "u-boot-evb-rk3399" 
|| "%{name}" == "u-boot-firefly-rk3399") && %{with uboot_atf}
+     all u-boot.itb
+%else
+     all
+%endif
+
+%ifarch aarch64
+%if %sunxi_spl == 1
+cat spl/sunxi-spl.bin u-boot.itb > u-boot-sunxi-with-spl.bin
+%endif
+%endif
+
+%if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
+# Chromebook ARM (snow) and HP Chromebook 11 (spring) need a uImage format
+export TEXT_START=$(awk '$NF == "_start" { printf "0x"$1 }' System.map)
+./tools/mkimage -A arm -O linux -T kernel -C none -a $TEXT_START -e 
$TEXT_START -n uboot -d u-boot-dtb.bin u-boot.img
+%endif
+
+%if %rockchip_spl == 1
+for t in %{rkimages}; do
+    ./tools/mkimage -n %soc_name -d spl/u-boot-spl.bin -T $t u-boot-spl.$t || 
exit 1
+done
+%endif
+%endif
+
 %install
+%if %tools_only
 install -D -m 0755 tools/mkimage %{buildroot}%{_bindir}/mkimage
 install -D -m 0644 doc/mkimage.1 %{buildroot}%{_mandir}/man1/mkimage.1
 
+%else
+export SOURCE_DATE_EPOCH=$(date -d "$(head -n 2 %{_sourcedir}/u-boot.changes | 
tail -n 1 | cut -d- -f1 )" +%s)
+export NO_BRP_STRIP_DEBUG=true
+export NO_DEBUGINFO_STRIP_DEBUG=true
+%define uboot_dir /boot
+%if 0%{?is_rpi}
+%define uboot_dir /boot/vc
+%endif
+%if "%{name}" == "u-boot-qemu-ppce500"
+%define uboot_dir %{_datadir}/qemu
+%endif
+%if "%{name}" == "u-boot-jetson-tk1"
+# tegra-uboot-flasher needs several intermediate files, under their original 
name.
+for f in u-boot u-boot.dtb u-boot-dtb-tegra.bin u-boot-nodtb-tegra.bin 
spl/u-boot-spl; do
+    install -D -m 0644 $f %{buildroot}%{uboot_dir}/$f
+done
+%else
+%if "%{name}" == "u-boot-p2371-2180"
+# Jetson TX1 Driver Pack flash.sh needs several intermediate files, under 
their original name.
+for f in u-boot u-boot.bin u-boot.dtb u-boot-dtb.bin; do
+    install -D -m 0644 $f %{buildroot}%{uboot_dir}/$f
+done
+%else
+install -D -m 0644 u-boot%{binext} %{buildroot}%{uboot_dir}/u-boot%{binext}
+%if ("%{name}" == "u-boot-rock64-rk3328" || "%{name}" == "u-boot-evb-rk3399" 
|| "%{name}" == "u-boot-firefly-rk3399") && %{with uboot_atf}
+install -D -m 0644 u-boot.itb %{buildroot}%{uboot_dir}/u-boot.itb
+%endif
+%if "%{name}" == "u-boot-qemu-ppce500"
+mv %{buildroot}%{uboot_dir}/u-boot%{binext} 
%{buildroot}%{uboot_dir}/u-boot.e500
+%endif
+%endif
+%endif
+%if %x_loader == 1
+install -D -m 0644 MLO %{buildroot}%{uboot_dir}/MLO
+%endif
+%if %origen_spl == 1
+install -D -m 0644 spl/origen-spl.bin %{buildroot}%{uboot_dir}/origen-spl.bin
+%endif
+%if %arndale_spl == 1
+install -D -m 0644 spl/arndale-spl.bin %{buildroot}%{uboot_dir}/arndale-spl.bin
+install -D -m 0644 %{SOURCE2} %{buildroot}%{uboot_dir}/arndale-bl1.img
+%endif
+%if %mvebu_spl == 1
+install -D -m 0644 u-boot-spl.kwb %{buildroot}%{uboot_dir}/u-boot-spl.kwb
+%endif
+%if %rockchip_spl == 1
+install -D -m 0644 spl/u-boot-spl.bin %{buildroot}%{uboot_dir}/u-boot-spl.bin
+for t in %{rkimages}; do
+    install -D -m 0644 u-boot-spl.$t %{buildroot}%{uboot_dir}/u-boot-spl.$t
+done
+%endif
+%if %sunxi_spl == 1
+install -D -m 0644 spl/sunxi-spl.bin %{buildroot}%{uboot_dir}/sunxi-spl.bin
+install -D -m 0644 u-boot-sunxi-with-spl.bin 
%{buildroot}%{uboot_dir}/u-boot-sunxi-with-spl.bin
+%endif
+%if %imx6_spl == 1
+install -D -m 0644 SPL %{buildroot}%{uboot_dir}/imx6-spl.bin
+%endif
+%if %socfpga_spl == 1
+install -D -m 0644 u-boot-with-spl.sfp 
%{buildroot}%{uboot_dir}/u-boot-with-spl.sfp
+%endif
+%if "%{name}" == "u-boot-zynqzturn"
+install -D -m 0644 spl/boot.bin %{buildroot}%{uboot_dir}/boot.bin
+%endif
+%if "%{name}" == "u-boot-rpi3"
+echo -e "# Boot in AArch64 mode\narm_control=0x200" > 
%{buildroot}%{uboot_dir}/ubootconfig.txt
+echo -e "\nkernel_address=0x11000000" >> 
%{buildroot}%{uboot_dir}/ubootconfig.txt
+%endif
+
+%if 0%{?is_rpi}
+%post
+# On the Raspberry Pi we chain-load u-boot.bin from bootcode.bin via 
config.txt.
+# It needs to be on the first FAT partition, wherever we mounted it.
+# a) Unmounted, then do nothing.
+# b) Mounted as /boot/vc, then they're in the right place already.
+# c) Mounted as /boot/efi, with /boot/vc as symlink, then nothing to be done.
+# d) Mounted as /boot/efi, with /boot/vc a directory, then copy files over.
+if mountpoint -q /boot/efi; then
+  if ! [[ "$(readlink -f /boot/efi)" -ef "$(readlink -f %{uboot_dir})" ]]; then
+    [ -f %{uboot_dir}/ubootconfig.txt ] && cp %{uboot_dir}/ubootconfig.txt 
/boot/efi
+    cp %{uboot_dir}/u-boot%{binext} /boot/efi/
+  fi
+fi
+%endif
+%endif
+
+%if %tools_only
 %files tools
+%else
+%files
+%endif
 %defattr(-,root,root)
 %license Licenses/gpl-2.0.txt
+%if %tools_only
 %{_bindir}/mkimage
 %{_mandir}/man1/mkimage.1.gz
+%else
+%doc README
+%{uboot_dir}/*
+
+%files doc
+%defattr(-,root,root)
+# Generic documents
+%doc doc/README.JFFS2 doc/README.JFFS2_NAND doc/README.commands
+%doc doc/README.autoboot doc/README.commands doc/README.console doc/README.dns
+%doc doc/README.hwconfig doc/README.nand doc/README.NetConsole 
doc/README.serial_multi
+%doc doc/README.SNTP doc/README.standalone doc/README.update doc/README.usb
+%doc doc/README.video doc/README.VLAN doc/README.silent doc/README.POST
+# Copy some useful kermit scripts as well
+%doc tools/kermit/dot.kermrc tools/kermit/flash_param tools/kermit/send_cmd 
tools/kermit/send_image
+# Now any h/w dependent Documentation
+%endif
 
 %changelog

++++++ 0001-XXX-openSUSE-XXX-Prepend-partition-.patch ++++++
--- /var/tmp/diff_new_pack.CZS8J9/_old  2019-10-24 23:06:12.224314985 +0200
+++ /var/tmp/diff_new_pack.CZS8J9/_new  2019-10-24 23:06:12.244315008 +0200
@@ -1,4 +1,4 @@
-From 0d6f92cbd3c73b3ea3059c3be51723c6b38c22e8 Mon Sep 17 00:00:00 2001
+From 5c52feb96a63368a7b8d7fa09e03e72dd9518474 Mon Sep 17 00:00:00 2001
 From: Guillaume GARDET <guillaume.gar...@free.fr>
 Date: Wed, 13 Apr 2016 13:44:29 +0200
 Subject: [PATCH] XXX openSUSE XXX: Prepend partition 2 (and 3 fo chromebook
@@ -10,7 +10,7 @@
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/include/config_distro_bootcmd.h b/include/config_distro_bootcmd.h
-index 4993303f4d..7a32bed91b 100644
+index 3570a32dff..a8b93ca50b 100644
 --- a/include/config_distro_bootcmd.h
 +++ b/include/config_distro_bootcmd.h
 @@ -141,7 +141,7 @@
@@ -22,7 +22,7 @@
        "scan_dev_for_efi="                                               \
                "setenv efi_fdtfile ${fdtfile}; "                         \
                BOOTENV_EFI_SET_FDTFILE_FALLBACK                          \
-@@ -438,7 +438,7 @@
+@@ -465,7 +465,7 @@
        "scan_dev_for_boot_part="                                         \
                "part list ${devtype} ${devnum} -bootable devplist; "     \
                "env exists devplist || setenv devplist 1; "              \

++++++ 0002-Revert-Revert-omap3-Use-raw-SPL-by-.patch ++++++
--- /var/tmp/diff_new_pack.CZS8J9/_old  2019-10-24 23:06:12.476315278 +0200
+++ /var/tmp/diff_new_pack.CZS8J9/_new  2019-10-24 23:06:12.480315283 +0200
@@ -1,4 +1,4 @@
-From 183d779f8fb3f706c0fe5fcb42ba6363dc4dec30 Mon Sep 17 00:00:00 2001
+From cd627d9bf2149929301bafdcea8deb097f09986a Mon Sep 17 00:00:00 2001
 From: Alexander Graf <ag...@suse.de>
 Date: Mon, 2 May 2016 23:25:07 +0200
 Subject: [PATCH] Revert "Revert "omap3: Use raw SPL by default for mmc1""
@@ -9,10 +9,10 @@
  1 file changed, 2 deletions(-)
 
 diff --git a/arch/arm/mach-omap2/boot-common.c 
b/arch/arm/mach-omap2/boot-common.c
-index c8b8ac657f..a76bf3de1f 100644
+index 734fa9d9e6..a35451f195 100644
 --- a/arch/arm/mach-omap2/boot-common.c
 +++ b/arch/arm/mach-omap2/boot-common.c
-@@ -133,8 +133,6 @@ void save_omap_boot_params(void)
+@@ -132,8 +132,6 @@ void save_omap_boot_params(void)
            (boot_device <= MMC_BOOT_DEVICES_END)) {
                switch (boot_device) {
                case BOOT_DEVICE_MMC1:

++++++ 0003-rpi-Use-firmware-provided-device-tr.patch ++++++
--- /var/tmp/diff_new_pack.CZS8J9/_old  2019-10-24 23:06:12.512315320 +0200
+++ /var/tmp/diff_new_pack.CZS8J9/_new  2019-10-24 23:06:12.516315325 +0200
@@ -1,4 +1,4 @@
-From b333967ac327cf84e0e927bc302b069a89384cb7 Mon Sep 17 00:00:00 2001
+From 79010f19df5787e201b2c9e7c6f54d70ac5c2ef6 Mon Sep 17 00:00:00 2001
 From: Alexander Graf <ag...@suse.de>
 Date: Wed, 21 Feb 2018 17:41:13 +0100
 Subject: [PATCH] rpi: Use firmware provided device tree
@@ -28,10 +28,10 @@
  5 files changed, 5 insertions(+), 5 deletions(-)
 
 diff --git a/configs/rpi_0_w_defconfig b/configs/rpi_0_w_defconfig
-index 39da54c3e7..81997056f4 100644
+index fe5a7763a6..ed7f9381e9 100644
 --- a/configs/rpi_0_w_defconfig
 +++ b/configs/rpi_0_w_defconfig
-@@ -14,7 +14,7 @@ CONFIG_CMD_GPIO=y
+@@ -17,7 +17,7 @@ CONFIG_CMD_GPIO=y
  CONFIG_CMD_MMC=y
  CONFIG_CMD_USB=y
  CONFIG_CMD_FS_UUID=y
@@ -41,10 +41,10 @@
  CONFIG_ENV_FAT_INTERFACE="mmc"
  CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
 diff --git a/configs/rpi_2_defconfig b/configs/rpi_2_defconfig
-index 5f5b40522d..06080b9347 100644
+index bf331c0ad0..52e3c3b234 100644
 --- a/configs/rpi_2_defconfig
 +++ b/configs/rpi_2_defconfig
-@@ -14,7 +14,7 @@ CONFIG_CMD_GPIO=y
+@@ -17,7 +17,7 @@ CONFIG_CMD_GPIO=y
  CONFIG_CMD_MMC=y
  CONFIG_CMD_USB=y
  CONFIG_CMD_FS_UUID=y
@@ -54,10 +54,10 @@
  CONFIG_ENV_FAT_INTERFACE="mmc"
  CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
 diff --git a/configs/rpi_3_32b_defconfig b/configs/rpi_3_32b_defconfig
-index bbf902bb91..17f672c9da 100644
+index c2417a0ec9..191962f0f7 100644
 --- a/configs/rpi_3_32b_defconfig
 +++ b/configs/rpi_3_32b_defconfig
-@@ -15,7 +15,7 @@ CONFIG_CMD_GPIO=y
+@@ -18,7 +18,7 @@ CONFIG_CMD_GPIO=y
  CONFIG_CMD_MMC=y
  CONFIG_CMD_USB=y
  CONFIG_CMD_FS_UUID=y
@@ -67,10 +67,10 @@
  CONFIG_ENV_FAT_INTERFACE="mmc"
  CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
 diff --git a/configs/rpi_3_defconfig b/configs/rpi_3_defconfig
-index ea40351dc4..e84adb5f83 100644
+index 4fa682539c..03a2356d3d 100644
 --- a/configs/rpi_3_defconfig
 +++ b/configs/rpi_3_defconfig
-@@ -15,7 +15,7 @@ CONFIG_CMD_GPIO=y
+@@ -18,7 +18,7 @@ CONFIG_CMD_GPIO=y
  CONFIG_CMD_MMC=y
  CONFIG_CMD_USB=y
  CONFIG_CMD_FS_UUID=y
@@ -80,10 +80,10 @@
  CONFIG_ENV_FAT_INTERFACE="mmc"
  CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
 diff --git a/configs/rpi_defconfig b/configs/rpi_defconfig
-index 981d17381a..8a2a5b83f8 100644
+index 2c04b3334e..bf00d8b669 100644
 --- a/configs/rpi_defconfig
 +++ b/configs/rpi_defconfig
-@@ -14,7 +14,7 @@ CONFIG_CMD_GPIO=y
+@@ -17,7 +17,7 @@ CONFIG_CMD_GPIO=y
  CONFIG_CMD_MMC=y
  CONFIG_CMD_USB=y
  CONFIG_CMD_FS_UUID=y

++++++ 0004-Temp-workaround-for-Chromebook-snow.patch ++++++
--- /var/tmp/diff_new_pack.CZS8J9/_old  2019-10-24 23:06:12.552315367 +0200
+++ /var/tmp/diff_new_pack.CZS8J9/_new  2019-10-24 23:06:12.580315400 +0200
@@ -1,4 +1,4 @@
-From ff802d34ced386f9c088bdbd67554ea33877195c Mon Sep 17 00:00:00 2001
+From 9fb72dbb5f4bb92e9ce294f91aaf1f48af92e6c0 Mon Sep 17 00:00:00 2001
 From: Guillaume GARDET <guillaume.gar...@free.fr>
 Date: Mon, 9 Apr 2018 10:28:26 +0200
 Subject: [PATCH] Temp workaround for Chromebook snow to avoid the 'unable to
@@ -9,10 +9,10 @@
  1 file changed, 2 insertions(+), 1 deletion(-)
 
 diff --git a/drivers/mmc/dw_mmc.c b/drivers/mmc/dw_mmc.c
-index 93a836eac3..d0307ff8b1 100644
+index ebe7bcdd90..de0c11852a 100644
 --- a/drivers/mmc/dw_mmc.c
 +++ b/drivers/mmc/dw_mmc.c
-@@ -558,7 +558,8 @@ void dwmci_setup_cfg(struct mmc_config *cfg, struct 
dwmci_host *host,
+@@ -599,7 +599,8 @@ void dwmci_setup_cfg(struct mmc_config *cfg, struct 
dwmci_host *host,
                cfg->host_caps |= MMC_MODE_4BIT;
                cfg->host_caps &= ~MMC_MODE_8BIT;
        }

++++++ 0005-zynqmp-Add-generic-target.patch ++++++
--- /var/tmp/diff_new_pack.CZS8J9/_old  2019-10-24 23:06:12.792315647 +0200
+++ /var/tmp/diff_new_pack.CZS8J9/_new  2019-10-24 23:06:12.812315671 +0200
@@ -1,4 +1,4 @@
-From c702a07ea5cbd1c381f3aba2228a74b9c2c4f838 Mon Sep 17 00:00:00 2001
+From 5cca414fc09b0819289d32d2994eb21daa82c068 Mon Sep 17 00:00:00 2001
 From: Alexander Graf <ag...@suse.de>
 Date: Tue, 24 Apr 2018 21:25:23 +0200
 Subject: [PATCH] zynqmp: Add generic target

++++++ 0006-tools-zynqmpbif-Add-support-for-loa.patch ++++++
--- /var/tmp/diff_new_pack.CZS8J9/_old  2019-10-24 23:06:12.968315853 +0200
+++ /var/tmp/diff_new_pack.CZS8J9/_new  2019-10-24 23:06:12.988315876 +0200
@@ -1,4 +1,4 @@
-From 02a12c0a13facb1442e40c3c1c06eb03cc1dc567 Mon Sep 17 00:00:00 2001
+From dc7797478604d41d2f002f885cd2a8cd3d22fd19 Mon Sep 17 00:00:00 2001
 From: Alexander Graf <ag...@suse.de>
 Date: Thu, 26 Apr 2018 13:30:32 +0200
 Subject: [PATCH] tools: zynqmpbif: Add support for load=after

++++++ 0007-boo-1123170-Remove-ubifs-support-fr.patch ++++++
--- /var/tmp/diff_new_pack.CZS8J9/_old  2019-10-24 23:06:13.228316156 +0200
+++ /var/tmp/diff_new_pack.CZS8J9/_new  2019-10-24 23:06:13.248316179 +0200
@@ -1,4 +1,4 @@
-From 8ada0178c1a33253f09d44d1c90ffb042c5cebc3 Mon Sep 17 00:00:00 2001
+From e9bcf78e73609a32d15699f0a6bc2e0cd9e08b0d Mon Sep 17 00:00:00 2001
 From: Guillaume GARDET <guillaume.gar...@free.fr>
 Date: Tue, 29 Jan 2019 11:38:12 +0100
 Subject: [PATCH] boo#1123170: Remove ubifs support from omap3_beagle to keep a
@@ -10,10 +10,10 @@
  2 files changed, 1 insertion(+), 2 deletions(-)
 
 diff --git a/configs/omap3_beagle_defconfig b/configs/omap3_beagle_defconfig
-index 73ffa83d0c..68317ead09 100644
+index bf49de4704..90ae0c3b90 100644
 --- a/configs/omap3_beagle_defconfig
 +++ b/configs/omap3_beagle_defconfig
-@@ -36,7 +36,6 @@ CONFIG_CMD_FS_UUID=y
+@@ -38,7 +38,6 @@ CONFIG_CMD_FS_UUID=y
  CONFIG_CMD_MTDPARTS=y
  CONFIG_MTDIDS_DEFAULT="nand0=omap2-nand.0"
  
CONFIG_MTDPARTS_DEFAULT="mtdparts=omap2-nand.0:512k(spl),1920k(u-boot),128k(u-boot-env),128k(dtb),6m(kernel),-(rootfs)"
@@ -21,7 +21,7 @@
  # CONFIG_ISO_PARTITION is not set
  # CONFIG_SPL_EFI_PARTITION is not set
  CONFIG_SPL_PARTITION_UUIDS=y
-@@ -70,6 +69,7 @@ CONFIG_SYS_NAND_BUSWIDTH_16BIT=y
+@@ -72,6 +71,7 @@ CONFIG_SYS_NAND_BUSWIDTH_16BIT=y
  CONFIG_SYS_NAND_U_BOOT_LOCATIONS=y
  CONFIG_SYS_NAND_U_BOOT_OFFS=0x80000
  CONFIG_SPL_NAND_SIMPLE=y
@@ -30,10 +30,10 @@
  CONFIG_DM_SPI=y
  CONFIG_OMAP3_SPI=y
 diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
-index 7698a90c4e..c614a6d962 100644
+index e8c60838b7..99cd59d40e 100644
 --- a/include/configs/omap3_beagle.h
 +++ b/include/configs/omap3_beagle.h
-@@ -91,7 +91,6 @@
+@@ -83,7 +83,6 @@
  #define BOOT_TARGET_DEVICES(func) \
        func(MMC, mmc, 0) \
        func(LEGACY_MMC, legacy_mmc, 0) \

++++++ 0008-zynqmp-generic-fix-compilation.patch ++++++
--- /var/tmp/diff_new_pack.CZS8J9/_old  2019-10-24 23:06:13.424316385 +0200
+++ /var/tmp/diff_new_pack.CZS8J9/_new  2019-10-24 23:06:13.456316422 +0200
@@ -1,4 +1,4 @@
-From c2880bef36aee54e5a86c9a0c1b21f9c059c7d89 Mon Sep 17 00:00:00 2001
+From c34095d98fe8d6422ea8a71e8f1df9e5a7caf2c0 Mon Sep 17 00:00:00 2001
 From: Matthias Brugger <mbrug...@suse.com>
 Date: Tue, 5 Mar 2019 18:09:04 +0100
 Subject: [PATCH] zynqmp: generic: fix compilation

++++++ 0009-libfdt-fdt_address_cells-and-fdt_si.patch ++++++
>From 082fa10793d12601ba9480c5d57a06c531505a82 Mon Sep 17 00:00:00 2001
From: Matthias Brugger <mbrug...@suse.com>
Date: Thu, 5 Sep 2019 10:48:46 +0200
Subject: [PATCH] libfdt: fdt_address_cells() and fdt_size_cells()

Add internal fdt_cells() to avoid copy and paste. Fix typo in
fdt_size_cells() documentation comment.

This is based in upstream commit:
c12b2b0 ("libfdt: fdt_address_cells() and fdt_size_cells()")
but misses the test cases, as we don't implement them in U-Boot.

Signed-off-by: Matthias Brugger <mbrug...@suse.com>
Reviewed-by: Simon Glass <s...@chromium.org>
(cherry picked from commit b3bec26ecd6ef446a9c11504d414a50453eefe62)
---
 scripts/dtc/libfdt/fdt_addresses.c | 35 +++++++++++-------------------
 scripts/dtc/libfdt/libfdt.h        |  2 +-
 2 files changed, 14 insertions(+), 23 deletions(-)

diff --git a/scripts/dtc/libfdt/fdt_addresses.c 
b/scripts/dtc/libfdt/fdt_addresses.c
index eff4dbcc72..49537b578d 100644
--- a/scripts/dtc/libfdt/fdt_addresses.c
+++ b/scripts/dtc/libfdt/fdt_addresses.c
@@ -1,6 +1,7 @@
 /*
  * libfdt - Flat Device Tree manipulation
  * Copyright (C) 2014 David Gibson <da...@gibson.dropbear.id.au>
+ * Copyright (C) 2018 embedded brains GmbH
  *
  * libfdt is dual licensed: you can use it either under the terms of
  * the GPL, or the BSD license, at your option.
@@ -55,42 +56,32 @@
 
 #include "libfdt_internal.h"
 
-int fdt_address_cells(const void *fdt, int nodeoffset)
+static int fdt_cells(const void *fdt, int nodeoffset, const char *name)
 {
-       const fdt32_t *ac;
+       const fdt32_t *c;
        int val;
        int len;
 
-       ac = fdt_getprop(fdt, nodeoffset, "#address-cells", &len);
-       if (!ac)
+       c = fdt_getprop(fdt, nodeoffset, name, &len);
+       if (!c)
                return 2;
 
-       if (len != sizeof(*ac))
+       if (len != sizeof(*c))
                return -FDT_ERR_BADNCELLS;
 
-       val = fdt32_to_cpu(*ac);
+       val = fdt32_to_cpu(*c);
        if ((val <= 0) || (val > FDT_MAX_NCELLS))
                return -FDT_ERR_BADNCELLS;
 
        return val;
 }
 
-int fdt_size_cells(const void *fdt, int nodeoffset)
+int fdt_address_cells(const void *fdt, int nodeoffset)
 {
-       const fdt32_t *sc;
-       int val;
-       int len;
-
-       sc = fdt_getprop(fdt, nodeoffset, "#size-cells", &len);
-       if (!sc)
-               return 2;
-
-       if (len != sizeof(*sc))
-               return -FDT_ERR_BADNCELLS;
-
-       val = fdt32_to_cpu(*sc);
-       if ((val < 0) || (val > FDT_MAX_NCELLS))
-               return -FDT_ERR_BADNCELLS;
+       return fdt_cells(fdt, nodeoffset, "#address-cells");
+}
 
-       return val;
+int fdt_size_cells(const void *fdt, int nodeoffset)
+{
+       return fdt_cells(fdt, nodeoffset, "#size-cells");
 }
diff --git a/scripts/dtc/libfdt/libfdt.h b/scripts/dtc/libfdt/libfdt.h
index cf86ddba88..66f01fec53 100644
--- a/scripts/dtc/libfdt/libfdt.h
+++ b/scripts/dtc/libfdt/libfdt.h
@@ -1109,7 +1109,7 @@ int fdt_address_cells(const void *fdt, int nodeoffset);
  *
  * returns:
  *     0 <= n < FDT_MAX_NCELLS, on success
- *      2, if the node has no #address-cells property
+ *      2, if the node has no #size-cells property
  *      -FDT_ERR_BADNCELLS, if the node has a badly formatted or invalid
  *             #size-cells property
  *     -FDT_ERR_BADMAGIC,
++++++ 0010-libfdt-return-correct-value-if-size.patch ++++++
>From 364d2cbad906064fa386f6170f9f1d927eb69ae8 Mon Sep 17 00:00:00 2001
From: Matthias Brugger <mbrug...@suse.com>
Date: Thu, 5 Sep 2019 10:48:47 +0200
Subject: [PATCH] libfdt: return correct value if #size-cells property is not
 present

According to the device tree specification, the default value for
was not present.

This patch also makes fdt_address_cells() and fdt_size_cells() conform
to the behaviour documented in libfdt.h. The defaults are only returned
if fdt_getprop() returns -FDT_ERR_NOTFOUND, otherwise the actual error
is returned.

This is based on upstream commit:
aa7254d ("libfdt: return correct value if #size-cells property is not present")
but misses the test case part, as we don't implement them in U-Boot.

Signed-off-by: Matthias Brugger <mbrug...@suse.com>
(cherry picked from commit 9328f2adca50bd0b90f291230894fc46bc564665)
---
 scripts/dtc/libfdt/fdt_addresses.c | 16 +++++++++++++---
 scripts/dtc/libfdt/libfdt.h        |  2 +-
 2 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/scripts/dtc/libfdt/fdt_addresses.c 
b/scripts/dtc/libfdt/fdt_addresses.c
index 49537b578d..f13a87dfa0 100644
--- a/scripts/dtc/libfdt/fdt_addresses.c
+++ b/scripts/dtc/libfdt/fdt_addresses.c
@@ -64,7 +64,7 @@ static int fdt_cells(const void *fdt, int nodeoffset, const 
char *name)
 
        c = fdt_getprop(fdt, nodeoffset, name, &len);
        if (!c)
-               return 2;
+               return len;
 
        if (len != sizeof(*c))
                return -FDT_ERR_BADNCELLS;
@@ -78,10 +78,20 @@ static int fdt_cells(const void *fdt, int nodeoffset, const 
char *name)
 
 int fdt_address_cells(const void *fdt, int nodeoffset)
 {
-       return fdt_cells(fdt, nodeoffset, "#address-cells");
+       int val;
+
+       val = fdt_cells(fdt, nodeoffset, "#address-cells");
+       if (val == -FDT_ERR_NOTFOUND)
+               return 2;
+       return val;
 }
 
 int fdt_size_cells(const void *fdt, int nodeoffset)
 {
-       return fdt_cells(fdt, nodeoffset, "#size-cells");
+       int val;
+
+       val = fdt_cells(fdt, nodeoffset, "#size-cells");
+       if (val == -FDT_ERR_NOTFOUND)
+               return 1;
+       return val;
 }
diff --git a/scripts/dtc/libfdt/libfdt.h b/scripts/dtc/libfdt/libfdt.h
index 66f01fec53..5c778b115b 100644
--- a/scripts/dtc/libfdt/libfdt.h
+++ b/scripts/dtc/libfdt/libfdt.h
@@ -1109,7 +1109,7 @@ int fdt_address_cells(const void *fdt, int nodeoffset);
  *
  * returns:
  *     0 <= n < FDT_MAX_NCELLS, on success
- *      2, if the node has no #size-cells property
+ *      1, if the node has no #size-cells property
  *      -FDT_ERR_BADNCELLS, if the node has a badly formatted or invalid
  *             #size-cells property
  *     -FDT_ERR_BADMAGIC,
++++++ 0011-libfdt-Allow-size-cells-of-0.patch ++++++
>From 4ec9166e183805f15df73ec48b5750f386828f51 Mon Sep 17 00:00:00 2001
From: Matthias Brugger <mbrug...@suse.com>
Date: Thu, 5 Sep 2019 10:48:48 +0200
Subject: [PATCH] libfdt: Allow #size-cells of 0

The commit "libfdt: fdt_address_cells() and fdt_size_cells()" introduced
a bug as it consolidated code between the helpers for getting
be 0, and is frequently found so in practice for /cpus.  IEEE1275 only
requires implementations to handle 1..4 for #address-cells, although one
could make a case for #address-cells == #size-cells == 0 being used to
represent a bridge with a single port.

While we're there, it's not totally obvious that the existing implicit
cast of a u32 to int will give the correct results according to strict C,
although it does work in practice.  Straighten that up to cast only after
we've made our range checks.

This is based on upstream commit:
b8d6eca ("libfdt: Allow #size-cells of 0")
but misses the test cases,as we don't implement them in U-Boot.

Signed-off-by: Matthias Brugger <mbrug...@suse.com>
(cherry picked from commit 28e8a01e3e92755cb9e4d57f8fa25146c5aa698c)
---
 scripts/dtc/libfdt/fdt_addresses.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/scripts/dtc/libfdt/fdt_addresses.c 
b/scripts/dtc/libfdt/fdt_addresses.c
index f13a87dfa0..788c143113 100644
--- a/scripts/dtc/libfdt/fdt_addresses.c
+++ b/scripts/dtc/libfdt/fdt_addresses.c
@@ -59,7 +59,7 @@
 static int fdt_cells(const void *fdt, int nodeoffset, const char *name)
 {
        const fdt32_t *c;
-       int val;
+       uint32_t val;
        int len;
 
        c = fdt_getprop(fdt, nodeoffset, name, &len);
@@ -70,10 +70,10 @@ static int fdt_cells(const void *fdt, int nodeoffset, const 
char *name)
                return -FDT_ERR_BADNCELLS;
 
        val = fdt32_to_cpu(*c);
-       if ((val <= 0) || (val > FDT_MAX_NCELLS))
+       if (val > FDT_MAX_NCELLS)
                return -FDT_ERR_BADNCELLS;
 
-       return val;
+       return (int)val;
 }
 
 int fdt_address_cells(const void *fdt, int nodeoffset)
@@ -81,6 +81,8 @@ int fdt_address_cells(const void *fdt, int nodeoffset)
        int val;
 
        val = fdt_cells(fdt, nodeoffset, "#address-cells");
+       if (val == 0)
+               return -FDT_ERR_BADNCELLS;
        if (val == -FDT_ERR_NOTFOUND)
                return 2;
        return val;
++++++ 0012-dm-Fix-default-address-cells-return.patch ++++++
>From 5e1c2ca428cb26dfcea48c759ae63d281ade8d49 Mon Sep 17 00:00:00 2001
From: Matthias Brugger <mbrug...@suse.com>
Date: Thu, 5 Sep 2019 10:48:49 +0200
Subject: [PATCH] dm: Fix default address cells return value

Default address cells value on the livetree access function
returns the wrong value. Fix this so that the value returned
corresponds to the device tree specification.

Signed-off-by: Matthias Brugger <mbrug...@suse.com>
(cherry picked from commit 477b4084f76f7fa16e4d8483525c6d0070b47364)
---
 include/dm/of.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/dm/of.h b/include/dm/of.h
index 461e25aa19..6bef73b441 100644
--- a/include/dm/of.h
+++ b/include/dm/of.h
@@ -111,7 +111,7 @@ static inline const char *of_node_full_name(const struct 
device_node *np)
 
 /* Default #address and #size cells */
 #if !defined(OF_ROOT_NODE_ADDR_CELLS_DEFAULT)
-#define OF_ROOT_NODE_ADDR_CELLS_DEFAULT 1
+#define OF_ROOT_NODE_ADDR_CELLS_DEFAULT 2
 #define OF_ROOT_NODE_SIZE_CELLS_DEFAULT 1
 #endif
 
++++++ _multibuild ++++++
<multibuild>
  <flavor>tools</flavor>
  <flavor>a10-olinuxino-lime</flavor>
  <flavor>a13-olinuxino</flavor>
  <flavor>a13-olinuxinom</flavor>
  <flavor>a20-olinuxino-lime</flavor>
  <flavor>a20-olinuxino-lime2</flavor>
  <flavor>a20-olinuxinomicro</flavor>
  <flavor>am335xevm</flavor>
  <flavor>am57xxevm</flavor>
  <flavor>avnetultra96rev1</flavor>
  <flavor>arndale</flavor>
  <flavor>bananapi</flavor>
  <flavor>bananapim2plush3</flavor>
  <flavor>bananapim64</flavor>
  <flavor>clearfog</flavor>
  <flavor>colibrit20</flavor>
  <flavor>cubieboard</flavor>
  <flavor>cubieboard2</flavor>
  <flavor>cubietruck</flavor>
  <flavor>dragonboard410c</flavor>
  <flavor>dragonboard820c</flavor>
  <flavor>evb-rk3399</flavor>
  <flavor>firefly-rk3288</flavor>
  <flavor>firefly-rk3399</flavor>
  <flavor>geekbox</flavor>
  <flavor>highbank</flavor>
  <flavor>hikey</flavor>
  <flavor>hyundaia7hd</flavor>
  <flavor>jetson-tk1</flavor>
  <flavor>khadas-vim</flavor>
  <flavor>khadas-vim2</flavor>
  <flavor>lamobor1</flavor>
  <flavor>libretech-ac</flavor>
  <flavor>libretech-cc</flavor>
  <flavor>ls1012afrdmqspi</flavor>
  <flavor>melea1000</flavor>
  <flavor>merriia80optimus</flavor>
  <flavor>mvebudb-88f3720</flavor>
  <flavor>mvebudbarmada8k</flavor>
  <flavor>mvebuespressobin-88f3720</flavor>
  <flavor>mvebumcbin-88f8040</flavor>
  <flavor>mx53loco</flavor>
  <flavor>mx6cuboxi</flavor>
  <flavor>mx6qsabrelite</flavor>
  <flavor>nanopia64</flavor>
  <flavor>nanopineo</flavor>
  <flavor>nanopineoair</flavor>
  <flavor>odroid</flavor>
  <flavor>odroid-c2</flavor>
  <flavor>odroid-xu3</flavor>
  <flavor>omap3beagle</flavor>
  <flavor>omap4panda</flavor>
  <flavor>orangepipc</flavor>
  <flavor>orangepipc2</flavor>
  <flavor>p2371-2180</flavor>
  <flavor>p2771-0000-500</flavor>
  <flavor>paz00</flavor>
  <flavor>pcm051rev3</flavor>
  <flavor>pine64plus</flavor>
  <flavor>pinebook</flavor>
  <flavor>pineh64</flavor>
  <flavor>poplar</flavor>
  <flavor>qemu-ppce500</flavor>
  <flavor>qemu-riscv64</flavor>
  <flavor>qemu-riscv64smode</flavor>
  <flavor>rock64-rk3328</flavor>
  <flavor>rock960-rk3399</flavor>
  <flavor>rpi</flavor>
  <flavor>rpi2</flavor>
  <flavor>rpi3</flavor>
  <flavor>rpi4</flavor>
  <flavor>sifivefu540</flavor>
  <flavor>snow</flavor>
  <flavor>socfpgade0nanosoc</flavor>
  <flavor>spring</flavor>
  <flavor>tinker-rk3288</flavor>
  <flavor>turrisomnia</flavor>
  <flavor>udoo</flavor>
  <flavor>udooneo</flavor>
  <flavor>xilinxzynqmpgeneric</flavor>
  <flavor>xilinxzynqmpzcu102rev10</flavor>
  <flavor>zynqzturn</flavor>
</multibuild>

++++++ u-boot-2019.04.tar.bz2 -> u-boot-2019.10.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/u-boot/u-boot-2019.04.tar.bz2 
/work/SRC/openSUSE:Factory/.u-boot.new.2990/u-boot-2019.10.tar.bz2 differ: char 
11, line 1

++++++ update_git.sh ++++++
--- /var/tmp/diff_new_pack.CZS8J9/_old  2019-10-24 23:06:14.676317846 +0200
+++ /var/tmp/diff_new_pack.CZS8J9/_new  2019-10-24 23:06:14.676317846 +0200
@@ -13,15 +13,15 @@
 
 GIT_TREE=git://github.com/openSUSE/u-boot.git
 GIT_LOCAL_TREE=~/git/u-boot-opensuse
-GIT_BRANCH=tumbleweed-2019.04
-GIT_UPSTREAM_TAG=v2019.04
+GIT_BRANCH=tumbleweed-2019.10
+GIT_UPSTREAM_TAG=v2019.10
 GIT_DIR=/dev/shm/u-boot-factory-git-dir
 CMP_DIR=/dev/shm/u-boot-factory-cmp-dir
 
 rm -rf $GIT_DIR
 rm -rf $CMP_DIR
 
-if [ -d "$GIT_LOCAL_TREE" ]; then
+if [ -d "$GIT_LOCAL_TREE" ] || [ -L "$GIT_LOCAL_TREE" ]; then
     echo "Processing $GIT_BRANCH branch of local git tree, using tag:" \
          "$GIT_UPSTREAM_TAG"
     if ! (cd $GIT_LOCAL_TREE && git show-branch $GIT_BRANCH &>/dev/null); then
@@ -99,28 +99,6 @@
         echo "  ${i##*/}" >> u-boot.changes.added
     done
 
-    for package in u-boot u-boot-board; do
-        while IFS= read -r line; do
-            if [ "$line" = "PATCH_FILES" ]; then
-                for i in 0???-*.patch; do
-                    NUM=${i%%-*}
-                    echo -e "Patch$NUM:      $i"
-                done
-            elif [ "$line" = "PATCH_EXEC" ]; then
-                for i in 0???-*.patch; do
-                    NUM=${i%%-*}
-                    echo "%patch$NUM -p1"
-                done
-            elif [ "$line" = "ARCHIVE_VERSION" ]; then
-                echo "%define archive_version $UBOOT_VERSION"
-            elif [ "$line" = "UBOOT_VERSION" ]; then
-                echo "Version:        $(echo $UBOOT_VERSION | sed 's/-/~/g')"
-            else
-                echo "$line"
-            fi
-        done < $package.spec.in > $package.spec.tmp
-    done
-
     # Factory requires all deleted and added patches to be mentioned
     if [ -e u-boot.changes.deleted ] || [ -e u-boot.changes.added ]; then
         echo "Patch queue updated from ${GIT_TREE} ${GIT_BRANCH}" > 
u-boot.changes.proposed
@@ -152,8 +130,18 @@
 
 rm -rf $CMP_DIR
 
-osc service localrun format_spec_file
+echo "Updating patch list"
+# Handle patch list automatically in spec file
+patch_list=`ls 0*.patch`
+# Remove current patches from spec file
+sed -i '/# Patches: start/,/# Patches: end/  {//!d}' u-boot.spec
+# Add patches to spec file
+for file in $patch_list; do
+  i=`echo $file | awk -F'[-.]' '{print $1}'`
+  sed -i "/# Patches: end/i Patch$i:      $file" u-boot.spec
+done
+
 
-/bin/sh pre_checkin.sh
+osc service localrun format_spec_file
 
-echo "Please remember to run pre_checkin.sh after modifying u-boot.changes."
+echo "Please update version in u-boot.spec, if needed"


Reply via email to