Hello community,

here is the log from the commit of package u-boot for openSUSE:Factory checked 
in at 2016-08-17 12:06:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/u-boot (Old)
 and      /work/SRC/openSUSE:Factory/.u-boot.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "u-boot"

Changes:
--------
--- /work/SRC/openSUSE:Factory/u-boot/u-boot-a10-olinuxino-lime.changes 
2016-07-30 00:26:44.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.u-boot.new/u-boot-a10-olinuxino-lime.changes    
2016-08-17 12:06:09.000000000 +0200
@@ -1,0 +2,32 @@
+Fri Aug 12 14:07:49 UTC 2016 - [email protected]
+
+- Patch queue updated from git://github.com/openSUSE/u-boot.git tumbleweed
+- Update to v3 of the serial detect code (bsc#989511)
+* Patches added:
+  0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+* Patches rebased:
+  0010-serial-bcm283x_mu-Detect-disabled-s.patch -> 
0011-serial-bcm283x_mu-Detect-disabled-s.patch
+- Add SMBIOS table on ARM (bsc#989509)
+* Patches added:
+  0012-x86-Move-table-csum-into-separate-h.patch
+  0013-x86-Move-smbios-generation-into-arc.patch
+  0014-efi_loader-Expose-efi_install_confi.patch
+  0015-smbios-Allow-compilation-on-64bit-s.patch
+  0016-smbios-Expose-in-efi_loader-as-tabl.patch
+  0017-efi_loader-Fix-efi_install_configur.patch
+  0018-smbios-Provide-serial-number.patch
+
+-------------------------------------------------------------------
+Mon Aug  1 18:42:36 UTC 2016 - [email protected]
+
+- Use deterministic build date by setting DATE_SOURCE_EPOCH
+
+-------------------------------------------------------------------
+Fri Jul 29 21:52:37 UTC 2016 - [email protected]
+
+- Add dynamic detection of rpi3 uart (bsc#989511)
+- Patch queue updated from git://github.com/openSUSE/u-boot.git tumbleweed
+* Patches added:
+  0010-serial-bcm283x_mu-Detect-disabled-s.patch
+
+-------------------------------------------------------------------
u-boot-a13-olinuxino.changes: same change
u-boot-a13-olinuxinom.changes: same change
u-boot-a20-olinuxino-lime.changes: same change
u-boot-a20-olinuxino-lime2.changes: same change
u-boot-a20-olinuxinomicro.changes: same change
u-boot-am335xboneblack.changes: same change
u-boot-am335xevm.changes: same change
u-boot-am57xxevm.changes: same change
u-boot-am57xxevmnodt.changes: same change
u-boot-arndale.changes: same change
u-boot-bananapi.changes: same change
u-boot-clearfog.changes: same change
u-boot-colibrit20.changes: same change
u-boot-cubieboard.changes: same change
u-boot-cubieboard2.changes: same change
u-boot-cubietruck.changes: same change
u-boot-dragonboard410c.changes: same change
u-boot-firefly-rk3288.changes: same change
u-boot-highbank.changes: same change
u-boot-hyundaia7hd.changes: same change
u-boot-jetson-tk1.changes: same change
u-boot-melea1000.changes: same change
u-boot-merriia80optimus.changes: same change
u-boot-mx53loco.changes: same change
u-boot-mx6cuboxi.changes: same change
u-boot-mx6qsabrelite.changes: same change
u-boot-odroid-c2.changes: same change
u-boot-odroid-xu3.changes: same change
u-boot-odroid.changes: same change
u-boot-omap3beagle.changes: same change
u-boot-omap4panda.changes: same change
u-boot-orangepipc.changes: same change
u-boot-p2371-2180.changes: same change
u-boot-paz00.changes: same change
u-boot-pcm051rev3.changes: same change
u-boot-pine64plus.changes: same change
u-boot-qemu-ppce500.changes: same change
u-boot-rpi.changes: same change
u-boot-rpi2.changes: same change
u-boot-rpi3.changes: same change
u-boot-snow.changes: same change
u-boot-spring.changes: same change
u-boot-udoo.changes: same change
u-boot.changes: same change

New:
----
  0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
  0011-serial-bcm283x_mu-Detect-disabled-s.patch
  0012-x86-Move-table-csum-into-separate-h.patch
  0013-x86-Move-smbios-generation-into-arc.patch
  0014-efi_loader-Expose-efi_install_confi.patch
  0015-smbios-Allow-compilation-on-64bit-s.patch
  0016-smbios-Expose-in-efi_loader-as-tabl.patch
  0017-efi_loader-Fix-efi_install_configur.patch
  0018-smbios-Provide-serial-number.patch

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

Other differences:
------------------
++++++ u-boot-a10-olinuxino-lime.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:19.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:19.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
A10-OLinuXino-Lime_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-a13-olinuxino.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:19.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:19.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
A13-OLinuXino_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-a13-olinuxinom.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:19.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:19.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
A13-OLinuXinoM_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-a20-olinuxino-lime.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:19.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:19.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
A20-OLinuXino-Lime_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-a20-olinuxino-lime2.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:19.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:19.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
A20-OLinuXino-Lime2_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-a20-olinuxinomicro.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:19.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:19.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
A20-OLinuXino_MICRO_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-am335xboneblack.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:19.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:19.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
am335x_boneblack_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-am335xevm.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:19.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:19.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
am335x_evm_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-am57xxevm.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:19.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:19.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
am57xx_evm_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-am57xxevmnodt.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:19.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:19.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
am57xx_evm_nodt_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-arndale.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:19.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:19.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" arndale_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-bananapi.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:19.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:19.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
Bananapi_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-clearfog.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:20.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:20.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
clearfog_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-colibrit20.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:20.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:20.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
colibri_t20_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-cubieboard.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:20.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:20.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
Cubieboard_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-cubieboard2.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:20.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:20.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
Cubieboard2_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-cubietruck.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:20.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:20.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
Cubietruck_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-dragonboard410c.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:20.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:20.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
dragonboard410c_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-firefly-rk3288.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:20.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:20.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
firefly-rk3288_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-highbank.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:20.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:20.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
highbank_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-hyundaia7hd.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:20.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:20.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
Hyundai_A7HD_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-jetson-tk1.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:20.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:20.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
jetson-tk1_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-melea1000.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:20.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:20.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
Mele_A1000_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-merriia80optimus.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:20.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:20.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
Merrii_A80_Optimus_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-mx53loco.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:20.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:20.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
mx53loco_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-mx6cuboxi.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:20.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:20.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
mx6cuboxi_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-mx6qsabrelite.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:20.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:20.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
mx6qsabrelite_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-odroid-c2.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:20.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:20.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
odroid-c2_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-odroid-xu3.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:20.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:20.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
odroid-xu3_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-odroid.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:20.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:20.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" odroid_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-omap3beagle.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:20.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:20.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
omap3_beagle_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-omap4panda.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:20.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:20.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
omap4_panda_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-orangepipc.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:20.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:20.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
orangepi_pc_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-p2371-2180.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:20.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:20.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
p2371-2180_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-paz00.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:20.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:20.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" paz00_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-pcm051rev3.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:20.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:20.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
pcm051_rev3_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-pine64plus.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:20.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:20.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
pine64_plus_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-qemu-ppce500.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:20.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:20.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
qemu-ppce500_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-rpi.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:20.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:20.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" rpi_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-rpi2.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:20.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:20.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" rpi_2_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-rpi3.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:20.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:20.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" rpi_3_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-snow.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:20.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:20.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" snow_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-spring.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:20.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:20.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" spring_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ u-boot-udoo.spec ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:20.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:20.000000000 +0200
@@ -50,6 +50,15 @@
 Patch0007:      0007-bcm2835-video-Map-frame-buffer-as-3.patch
 Patch0008:      0008-bcm2835-Reserve-the-spin-table-in-e.patch
 Patch0009:      0009-Revert-armv8-Enable-CPUECTLR.SMPEN-.patch
+Patch0010:      0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch
+Patch0011:      0011-serial-bcm283x_mu-Detect-disabled-s.patch
+Patch0012:      0012-x86-Move-table-csum-into-separate-h.patch
+Patch0013:      0013-x86-Move-smbios-generation-into-arc.patch
+Patch0014:      0014-efi_loader-Expose-efi_install_confi.patch
+Patch0015:      0015-smbios-Allow-compilation-on-64bit-s.patch
+Patch0016:      0016-smbios-Expose-in-efi_loader-as-tabl.patch
+Patch0017:      0017-efi_loader-Fix-efi_install_configur.patch
+Patch0018:      0018-smbios-Provide-serial-number.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -94,8 +103,18 @@
 %patch0007 -p1
 %patch0008 -p1
 %patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
+%patch0016 -p1
+%patch0017 -p1
+%patch0018 -p1
 
 %build
+export SOURCE_DATE_EPOCH=1471010869
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" udoo_defconfig
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -110,6 +129,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=1471010869
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot

++++++ 0010-bcm2835_gpio-Implement-GPIOF_FUNC.patch ++++++
>From a58d1d13c48333a9a1aceb253d6932e4aad2790d Mon Sep 17 00:00:00 2001
From: Alexander Graf <[email protected]>
Date: Thu, 11 Aug 2016 12:12:09 +0200
Subject: [PATCH] bcm2835_gpio: Implement GPIOF_FUNC

So far we could only tell the gpio framework that a GPIO was mapped as input or
output, not as alternative function.

This patch adds support for determining whether a function is mapped as
alternative.

Signed-off-by: Alexander Graf <[email protected]>
---
 arch/arm/mach-bcm283x/include/mach/gpio.h |  2 ++
 drivers/gpio/bcm2835_gpio.c               | 30 +++++++++++++++++-------------
 2 files changed, 19 insertions(+), 13 deletions(-)

diff --git a/arch/arm/mach-bcm283x/include/mach/gpio.h 
b/arch/arm/mach-bcm283x/include/mach/gpio.h
index e6e5d16..b2df75a 100644
--- a/arch/arm/mach-bcm283x/include/mach/gpio.h
+++ b/arch/arm/mach-bcm283x/include/mach/gpio.h
@@ -66,4 +66,6 @@ struct bcm2835_gpio_platdata {
        unsigned long base;
 };
 
+int bcm2835_gpio_get_func_id(struct udevice *dev, unsigned gpio);
+
 #endif /* _BCM2835_GPIO_H_ */
diff --git a/drivers/gpio/bcm2835_gpio.c b/drivers/gpio/bcm2835_gpio.c
index fbc641d..8b88d79 100644
--- a/drivers/gpio/bcm2835_gpio.c
+++ b/drivers/gpio/bcm2835_gpio.c
@@ -44,15 +44,6 @@ static int bcm2835_gpio_direction_output(struct udevice 
*dev, unsigned gpio,
        return 0;
 }
 
-static bool bcm2835_gpio_is_output(const struct bcm2835_gpios *gpios, int gpio)
-{
-       u32 val;
-
-       val = readl(&gpios->reg->gpfsel[BCM2835_GPIO_FSEL_BANK(gpio)]);
-       val &= BCM2835_GPIO_FSEL_MASK << BCM2835_GPIO_FSEL_SHIFT(gpio);
-       return val ? true : false;
-}
-
 static int bcm2835_get_value(const struct bcm2835_gpios *gpios, unsigned gpio)
 {
        unsigned val;
@@ -81,15 +72,28 @@ static int bcm2835_gpio_set_value(struct udevice *dev, 
unsigned gpio,
        return 0;
 }
 
-static int bcm2835_gpio_get_function(struct udevice *dev, unsigned offset)
+int bcm2835_gpio_get_func_id(struct udevice *dev, unsigned gpio)
 {
        struct bcm2835_gpios *gpios = dev_get_priv(dev);
+       u32 val;
+
+       val = readl(&gpios->reg->gpfsel[BCM2835_GPIO_FSEL_BANK(gpio)]);
+
+       return (val >> BCM2835_GPIO_FSEL_SHIFT(gpio) & BCM2835_GPIO_FSEL_MASK);
+}
+
+static int bcm2835_gpio_get_function(struct udevice *dev, unsigned offset)
+{
+       int funcid = bcm2835_gpio_get_func_id(dev, offset);
 
-       /* GPIOF_FUNC is not implemented yet */
-       if (bcm2835_gpio_is_output(gpios, offset))
+       switch (funcid) {
+       case BCM2835_GPIO_OUTPUT:
                return GPIOF_OUTPUT;
-       else
+       case BCM2835_GPIO_INPUT:
                return GPIOF_INPUT;
+       default:
+               return GPIOF_FUNC;
+       }
 }
 
 
++++++ 0011-serial-bcm283x_mu-Detect-disabled-s.patch ++++++
>From 44febd54d6cd3b5d8c2957fc30c1d17d79bebf56 Mon Sep 17 00:00:00 2001
From: Alexander Graf <[email protected]>
Date: Thu, 4 Aug 2016 09:04:18 +0200
Subject: [PATCH] serial: bcm283x_mu: Detect disabled serial device

On the raspberry pi, you can disable the serial port to gain dynamic frequency
scaling which can get handy at times.

However, in such a configuration the serial controller gets its rx queue filled
up with zero bytes which then happily get transmitted on to whoever calls
getc() today.

This patch adds detection logic for that case by checking whether the RX pin is
mapped to GPIO15 and disables the mini uart if it is not mapped properly.

That way we can leave the driver enabled in the tree and can determine during
runtime whether serial is usable or not, having a single binary that allows for
uart and non-uart operation.

Signed-off-by: Alexander Graf <[email protected]>

---

v2 -> v3:

  - Disable and detect pinmux in board file
---
 board/raspberrypi/rpi/rpi.c | 29 +++++++++++++++++++++++++++++
 configs/rpi_3_32b_defconfig |  1 +
 configs/rpi_3_defconfig     |  1 +
 include/configs/rpi.h       |  1 +
 4 files changed, 32 insertions(+)

diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
index a2336fc..feaa21e 100644
--- a/board/raspberrypi/rpi/rpi.c
+++ b/board/raspberrypi/rpi/rpi.c
@@ -451,6 +451,35 @@ int board_init(void)
        return power_on_module(BCM2835_MBOX_POWER_DEVID_USB_HCD);
 }
 
+static bool rpi_is_serial_active(void)
+{
+#ifndef CONFIG_PL01X_SERIAL
+       int serial_gpio = 15;
+       struct udevice *dev;
+
+       /*
+        * The RPi3 disables the mini uart by default. The easiest way to find
+        * out whether it is available is to check if the pin is muxed.
+        */
+       if (uclass_first_device(UCLASS_GPIO, &dev) || !dev)
+               return true;
+
+       if (bcm2835_gpio_get_func_id(dev, serial_gpio) != BCM2835_GPIO_ALT5)
+               return false;
+#endif
+
+       return true;
+}
+
+int board_late_init(void)
+{
+       /* Disable mini-UART I/O if it's not pinmuxed to our pins */
+       if (!rpi_is_serial_active())
+               gd->cur_serial_dev = NULL;
+
+       return 0;
+}
+
 int board_mmc_init(bd_t *bis)
 {
        ALLOC_CACHE_ALIGN_BUFFER(struct msg_get_clock_rate, msg_clk, 1);
diff --git a/configs/rpi_3_32b_defconfig b/configs/rpi_3_32b_defconfig
index 922e01b..4c2f106 100644
--- a/configs/rpi_3_32b_defconfig
+++ b/configs/rpi_3_32b_defconfig
@@ -20,3 +20,4 @@ CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_PHYS_TO_BUS=y
 CONFIG_OF_LIBFDT=y
+# CONFIG_REQUIRE_SERIAL_CONSOLE is not set
diff --git a/configs/rpi_3_defconfig b/configs/rpi_3_defconfig
index bff92df..288214c 100644
--- a/configs/rpi_3_defconfig
+++ b/configs/rpi_3_defconfig
@@ -19,3 +19,4 @@ CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_PHYS_TO_BUS=y
 CONFIG_OF_LIBFDT=y
+# CONFIG_REQUIRE_SERIAL_CONSOLE is not set
diff --git a/include/configs/rpi.h b/include/configs/rpi.h
index b5543f4..e3b890a 100644
--- a/include/configs/rpi.h
+++ b/include/configs/rpi.h
@@ -22,6 +22,7 @@
 
 /* Architecture, CPU, etc.*/
 #define CONFIG_ARCH_CPU_INIT
+#define CONFIG_BOARD_LATE_INIT
 
 /* Use SoC timer for AArch32, but architected timer for AArch64 */
 #ifndef CONFIG_ARM64
++++++ 0012-x86-Move-table-csum-into-separate-h.patch ++++++
>From d3be4adda0bb701a4eb823f0410ad7978a099cf5 Mon Sep 17 00:00:00 2001
From: Alexander Graf <[email protected]>
Date: Sun, 7 Aug 2016 12:33:30 +0200
Subject: [PATCH] x86: Move table csum into separate header

We need the checksum function without all the other table functionality
soon, so let's split it out into its own header file.

Signed-off-by: Alexander Graf <[email protected]>
---
 arch/x86/include/asm/tables.h |  2 ++
 arch/x86/lib/tables.c         | 12 ------------
 include/tables_csum.h         | 22 ++++++++++++++++++++++
 3 files changed, 24 insertions(+), 12 deletions(-)
 create mode 100644 include/tables_csum.h

diff --git a/arch/x86/include/asm/tables.h b/arch/x86/include/asm/tables.h
index ae9f0d0..81f98f2 100644
--- a/arch/x86/include/asm/tables.h
+++ b/arch/x86/include/asm/tables.h
@@ -7,6 +7,8 @@
 #ifndef _X86_TABLES_H_
 #define _X86_TABLES_H_
 
+#include <tables_csum.h>
+
 /*
  * All x86 tables happen to like the address range from 0xf0000 to 0x100000.
  * We use 0xf0000 as the starting address to store those tables, including
diff --git a/arch/x86/lib/tables.c b/arch/x86/lib/tables.c
index f92111e..9ee6b5e 100644
--- a/arch/x86/lib/tables.c
+++ b/arch/x86/lib/tables.c
@@ -38,18 +38,6 @@ static table_write table_write_funcs[] = {
 #endif
 };
 
-u8 table_compute_checksum(void *v, int len)
-{
-       u8 *bytes = v;
-       u8 checksum = 0;
-       int i;
-
-       for (i = 0; i < len; i++)
-               checksum -= bytes[i];
-
-       return checksum;
-}
-
 void table_fill_string(char *dest, const char *src, size_t n, char pad)
 {
        int start, len;
diff --git a/include/tables_csum.h b/include/tables_csum.h
new file mode 100644
index 0000000..27d147b
--- /dev/null
+++ b/include/tables_csum.h
@@ -0,0 +1,22 @@
+/*
+ * Copyright (C) 2015, Bin Meng <[email protected]>
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#ifndef _TABLES_CSUM_H_
+#define _TABLES_CSUM_H_
+
+static inline u8 table_compute_checksum(void *v, int len)
+{
+       u8 *bytes = v;
+       u8 checksum = 0;
+       int i;
+
+       for (i = 0; i < len; i++)
+               checksum -= bytes[i];
+
+       return checksum;
+}
+
+#endif
++++++ 0013-x86-Move-smbios-generation-into-arc.patch ++++++
>From 77426a40be72c7ee38f6d42da1ef9951044cdca0 Mon Sep 17 00:00:00 2001
From: Alexander Graf <[email protected]>
Date: Sun, 7 Aug 2016 12:20:57 +0200
Subject: [PATCH] x86: Move smbios generation into arch independent directory

We will need the SMBIOS generation function on ARM as well going forward,
so let's move it into a non arch specific location.

Signed-off-by: Alexander Graf <[email protected]>
---
 arch/x86/Kconfig                           | 27 ------------------------
 arch/x86/lib/Makefile                      |  1 -
 arch/x86/lib/tables.c                      |  2 +-
 {arch/x86/include/asm => include}/smbios.h |  0
 lib/Kconfig                                | 33 ++++++++++++++++++++++++++++++
 lib/Makefile                               |  1 +
 {arch/x86/lib => lib}/smbios.c             |  4 ++--
 7 files changed, 37 insertions(+), 31 deletions(-)
 rename {arch/x86/include/asm => include}/smbios.h (100%)
 rename {arch/x86/lib => lib}/smbios.c (99%)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 29d2307..265cea9 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -453,33 +453,6 @@ config GENERATE_ACPI_TABLE
          by the operating system. It defines platform-independent interfaces
          for configuration and power management monitoring.
 
-config GENERATE_SMBIOS_TABLE
-       bool "Generate an SMBIOS (System Management BIOS) table"
-       default y
-       help
-         The System Management BIOS (SMBIOS) specification addresses how
-         motherboard and system vendors present management information about
-         their products in a standard format by extending the BIOS interface
-         on Intel architecture systems.
-
-         Check http://www.dmtf.org/standards/smbios for details.
-
-config SMBIOS_MANUFACTURER
-       string "SMBIOS Manufacturer"
-       depends on GENERATE_SMBIOS_TABLE
-       default SYS_VENDOR
-       help
-         The board manufacturer to store in SMBIOS structures.
-         Change this to override the default one (CONFIG_SYS_VENDOR).
-
-config SMBIOS_PRODUCT_NAME
-       string "SMBIOS Product Name"
-       depends on GENERATE_SMBIOS_TABLE
-       default SYS_BOARD
-       help
-         The product name to store in SMBIOS structures.
-         Change this to override the default one (CONFIG_SYS_BOARD).
-
 endmenu
 
 config MAX_PIRQ_LINKS
diff --git a/arch/x86/lib/Makefile b/arch/x86/lib/Makefile
index e17f0bb..40ea6bf 100644
--- a/arch/x86/lib/Makefile
+++ b/arch/x86/lib/Makefile
@@ -29,7 +29,6 @@ obj-y += relocate.o
 obj-y += physmem.o
 obj-$(CONFIG_X86_RAMTEST) += ramtest.o
 obj-y += sfi.o
-obj-$(CONFIG_GENERATE_SMBIOS_TABLE) += smbios.o
 obj-y  += string.o
 ifndef CONFIG_QEMU
 obj-$(CONFIG_GENERATE_ACPI_TABLE) += acpi_table.o
diff --git a/arch/x86/lib/tables.c b/arch/x86/lib/tables.c
index 9ee6b5e..e62705a 100644
--- a/arch/x86/lib/tables.c
+++ b/arch/x86/lib/tables.c
@@ -5,9 +5,9 @@
  */
 
 #include <common.h>
+#include <smbios.h>
 #include <asm/sfi.h>
 #include <asm/mpspec.h>
-#include <asm/smbios.h>
 #include <asm/tables.h>
 #include <asm/acpi_table.h>
 #include <asm/coreboot_tables.h>
diff --git a/arch/x86/include/asm/smbios.h b/include/smbios.h
similarity index 100%
rename from arch/x86/include/asm/smbios.h
rename to include/smbios.h
diff --git a/lib/Kconfig b/lib/Kconfig
index 02ca405..5a14530 100644
--- a/lib/Kconfig
+++ b/lib/Kconfig
@@ -149,6 +149,39 @@ config SPL_OF_LIBFDT
          particular compatible nodes. The library operates on a flattened
          version of the device tree.
 
+menu "System tables"
+       depends on !EFI && !SYS_COREBOOT
+
+config GENERATE_SMBIOS_TABLE
+       bool "Generate an SMBIOS (System Management BIOS) table"
+       default y
+       depends on X86
+       help
+         The System Management BIOS (SMBIOS) specification addresses how
+         motherboard and system vendors present management information about
+         their products in a standard format by extending the BIOS interface
+         on Intel architecture systems.
+
+         Check http://www.dmtf.org/standards/smbios for details.
+
+config SMBIOS_MANUFACTURER
+       string "SMBIOS Manufacturer"
+       depends on GENERATE_SMBIOS_TABLE
+       default SYS_VENDOR
+       help
+         The board manufacturer to store in SMBIOS structures.
+         Change this to override the default one (CONFIG_SYS_VENDOR).
+
+config SMBIOS_PRODUCT_NAME
+       string "SMBIOS Product Name"
+       depends on GENERATE_SMBIOS_TABLE
+       default SYS_BOARD
+       help
+         The product name to store in SMBIOS structures.
+         Change this to override the default one (CONFIG_SYS_BOARD).
+
+endmenu
+
 source lib/efi/Kconfig
 source lib/efi_loader/Kconfig
 
diff --git a/lib/Makefile b/lib/Makefile
index f48d901..c026a9e 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -27,6 +27,7 @@ obj-$(CONFIG_FIT) += fdtdec_common.o
 obj-$(CONFIG_TEST_FDTDEC) += fdtdec_test.o
 obj-$(CONFIG_GZIP) += gunzip.o
 obj-$(CONFIG_GZIP_COMPRESSED) += gzip.o
+obj-$(CONFIG_GENERATE_SMBIOS_TABLE) += smbios.o
 obj-y += initcall.o
 obj-$(CONFIG_LMB) += lmb.o
 obj-y += ldiv.o
diff --git a/arch/x86/lib/smbios.c b/lib/smbios.c
similarity index 99%
rename from arch/x86/lib/smbios.c
rename to lib/smbios.c
index 9f30550..9808ee7 100644
--- a/arch/x86/lib/smbios.c
+++ b/lib/smbios.c
@@ -7,10 +7,10 @@
  */
 
 #include <common.h>
+#include <smbios.h>
+#include <tables_csum.h>
 #include <version.h>
 #include <asm/cpu.h>
-#include <asm/smbios.h>
-#include <asm/tables.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
++++++ 0014-efi_loader-Expose-efi_install_confi.patch ++++++
>From 5ce2f1f686c5e8ee5de054affc9ec48f7f782db5 Mon Sep 17 00:00:00 2001
From: Alexander Graf <[email protected]>
Date: Sun, 7 Aug 2016 13:05:24 +0200
Subject: [PATCH] efi_loader: Expose efi_install_configuration_table

We want to be able to add configuration table entries from our own code as
well as from EFI payload code. Export the boot service function internally
too, so that we can reuse it.

Signed-off-by: Alexander Graf <[email protected]>
---
 include/efi_loader.h          |  2 ++
 lib/efi_loader/efi_boottime.c | 22 +++++++++++++---------
 2 files changed, 15 insertions(+), 9 deletions(-)

diff --git a/include/efi_loader.h b/include/efi_loader.h
index 91d6a84..ac8b77a 100644
--- a/include/efi_loader.h
+++ b/include/efi_loader.h
@@ -130,6 +130,8 @@ uint64_t efi_add_memory_map(uint64_t start, uint64_t pages, 
int memory_type,
                            bool overlap_only_ram);
 /* Called by board init to initialize the EFI memory map */
 int efi_memory_init(void);
+/* Adds new or overrides configuration table entry to the system table */
+efi_status_t efi_install_configuration_table(efi_guid_t *guid, void *table);
 
 #ifdef CONFIG_EFI_LOADER_BOUNCE_BUFFER
 extern void *efi_bounce_buffer;
diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c
index be6f5e8..3e7a48b 100644
--- a/lib/efi_loader/efi_boottime.c
+++ b/lib/efi_loader/efi_boottime.c
@@ -37,7 +37,7 @@ static bool efi_is_direct_boot = true;
  * In most cases we want to pass an FDT to the payload, so reserve one slot of
  * config table space for it. The pointer gets populated by do_bootefi_exec().
  */
-static struct efi_configuration_table EFI_RUNTIME_DATA efi_conf_table[1];
+static struct efi_configuration_table EFI_RUNTIME_DATA efi_conf_table[2];
 
 /*
  * The "gd" pointer lives in a register on ARM and AArch64 that we declare
@@ -375,31 +375,35 @@ static efi_status_t EFIAPI 
efi_locate_device_path(efi_guid_t *protocol,
        return EFI_EXIT(EFI_NOT_FOUND);
 }
 
-static efi_status_t EFIAPI efi_install_configuration_table(efi_guid_t *guid,
-                                                          void *table)
+efi_status_t efi_install_configuration_table(efi_guid_t *guid, void *table)
 {
        int i;
 
-       EFI_ENTRY("%p, %p", guid, table);
-
        /* Check for guid override */
        for (i = 0; i < systab.nr_tables; i++) {
                if (!guidcmp(guid, &efi_conf_table[i].guid)) {
                        efi_conf_table[i].table = table;
-                       return EFI_EXIT(EFI_SUCCESS);
+                       return EFI_SUCCESS;
                }
        }
 
        /* No override, check for overflow */
        if (i >= ARRAY_SIZE(efi_conf_table))
-               return EFI_EXIT(EFI_OUT_OF_RESOURCES);
+               return EFI_OUT_OF_RESOURCES;
 
        /* Add a new entry */
        memcpy(&efi_conf_table[i].guid, guid, sizeof(*guid));
        efi_conf_table[i].table = table;
        systab.nr_tables = i;
 
-       return EFI_EXIT(EFI_SUCCESS);
+       return EFI_SUCCESS;
+}
+
+static efi_status_t EFIAPI efi_install_configuration_table_ext(efi_guid_t 
*guid,
+                                                              void *table)
+{
+       EFI_ENTRY("%p, %p", guid, table);
+       return EFI_EXIT(efi_install_configuration_table(guid, table));
 }
 
 static efi_status_t EFIAPI efi_load_image(bool boot_policy,
@@ -750,7 +754,7 @@ static const struct efi_boot_services efi_boot_services = {
        .register_protocol_notify = efi_register_protocol_notify,
        .locate_handle = efi_locate_handle,
        .locate_device_path = efi_locate_device_path,
-       .install_configuration_table = efi_install_configuration_table,
+       .install_configuration_table = efi_install_configuration_table_ext,
        .load_image = efi_load_image,
        .start_image = efi_start_image,
        .exit = efi_exit,
++++++ 0015-smbios-Allow-compilation-on-64bit-s.patch ++++++
>From 93751660f58a6286e019e580e3aecc27d4853a16 Mon Sep 17 00:00:00 2001
From: Alexander Graf <[email protected]>
Date: Sun, 7 Aug 2016 13:15:23 +0200
Subject: [PATCH] smbios: Allow compilation on 64bit systems

The SMBIOS generation code passes pointers as u32. That causes the compiler
to warn on casts to pointers. This patch moves all address pointers to
uintptr_t instead.

Technically u32 would be enough for the current SMBIOS2 style tables, but
we may want to extend the code to SMBIOS3 in the future which is 64bit
address capable.

Signed-off-by: Alexander Graf <[email protected]>
---
 arch/x86/lib/tables.c |  7 ++++++-
 include/smbios.h      |  4 ++--
 lib/smbios.c          | 16 ++++++++--------
 3 files changed, 16 insertions(+), 11 deletions(-)

diff --git a/arch/x86/lib/tables.c b/arch/x86/lib/tables.c
index e62705a..025b183 100644
--- a/arch/x86/lib/tables.c
+++ b/arch/x86/lib/tables.c
@@ -12,6 +12,11 @@
 #include <asm/acpi_table.h>
 #include <asm/coreboot_tables.h>
 
+static u32 write_smbios_table_wrapper(u32 addr)
+{
+       return write_smbios_table(addr);
+}
+
 /**
  * Function prototype to write a specific configuration table
  *
@@ -34,7 +39,7 @@ static table_write table_write_funcs[] = {
        write_acpi_tables,
 #endif
 #ifdef CONFIG_GENERATE_SMBIOS_TABLE
-       write_smbios_table,
+       write_smbios_table_wrapper,
 #endif
 };
 
diff --git a/include/smbios.h b/include/smbios.h
index 623a703..5962d4c 100644
--- a/include/smbios.h
+++ b/include/smbios.h
@@ -221,7 +221,7 @@ static inline void fill_smbios_header(void *table, int type,
  * @handle:    the structure's handle, a unique 16-bit number
  * @return:    size of the structure
  */
-typedef int (*smbios_write_type)(u32 *addr, int handle);
+typedef int (*smbios_write_type)(uintptr_t *addr, int handle);
 
 /**
  * write_smbios_table() - Write SMBIOS table
@@ -231,6 +231,6 @@ typedef int (*smbios_write_type)(u32 *addr, int handle);
  * @addr:      start address to write SMBIOS table
  * @return:    end address of SMBIOS table
  */
-u32 write_smbios_table(u32 addr);
+uintptr_t write_smbios_table(uintptr_t addr);
 
 #endif /* _SMBIOS_H_ */
diff --git a/lib/smbios.c b/lib/smbios.c
index 9808ee7..8dfd486 100644
--- a/lib/smbios.c
+++ b/lib/smbios.c
@@ -69,7 +69,7 @@ static int smbios_string_table_len(char *start)
        return len + 1;
 }
 
-static int smbios_write_type0(u32 *current, int handle)
+static int smbios_write_type0(uintptr_t *current, int handle)
 {
        struct smbios_type0 *t = (struct smbios_type0 *)*current;
        int len = sizeof(struct smbios_type0);
@@ -98,7 +98,7 @@ static int smbios_write_type0(u32 *current, int handle)
        return len;
 }
 
-static int smbios_write_type1(u32 *current, int handle)
+static int smbios_write_type1(uintptr_t *current, int handle)
 {
        struct smbios_type1 *t = (struct smbios_type1 *)*current;
        int len = sizeof(struct smbios_type1);
@@ -114,7 +114,7 @@ static int smbios_write_type1(u32 *current, int handle)
        return len;
 }
 
-static int smbios_write_type2(u32 *current, int handle)
+static int smbios_write_type2(uintptr_t *current, int handle)
 {
        struct smbios_type2 *t = (struct smbios_type2 *)*current;
        int len = sizeof(struct smbios_type2);
@@ -132,7 +132,7 @@ static int smbios_write_type2(u32 *current, int handle)
        return len;
 }
 
-static int smbios_write_type3(u32 *current, int handle)
+static int smbios_write_type3(uintptr_t *current, int handle)
 {
        struct smbios_type3 *t = (struct smbios_type3 *)*current;
        int len = sizeof(struct smbios_type3);
@@ -152,7 +152,7 @@ static int smbios_write_type3(u32 *current, int handle)
        return len;
 }
 
-static int smbios_write_type4(u32 *current, int handle)
+static int smbios_write_type4(uintptr_t *current, int handle)
 {
        struct smbios_type4 *t = (struct smbios_type4 *)*current;
        int len = sizeof(struct smbios_type4);
@@ -185,7 +185,7 @@ static int smbios_write_type4(u32 *current, int handle)
        return len;
 }
 
-static int smbios_write_type32(u32 *current, int handle)
+static int smbios_write_type32(uintptr_t *current, int handle)
 {
        struct smbios_type32 *t = (struct smbios_type32 *)*current;
        int len = sizeof(struct smbios_type32);
@@ -198,7 +198,7 @@ static int smbios_write_type32(u32 *current, int handle)
        return len;
 }
 
-static int smbios_write_type127(u32 *current, int handle)
+static int smbios_write_type127(uintptr_t *current, int handle)
 {
        struct smbios_type127 *t = (struct smbios_type127 *)*current;
        int len = sizeof(struct smbios_type127);
@@ -221,7 +221,7 @@ static smbios_write_type smbios_write_funcs[] = {
        smbios_write_type127
 };
 
-u32 write_smbios_table(u32 addr)
+uintptr_t write_smbios_table(uintptr_t addr)
 {
        struct smbios_entry *se;
        u32 tables;
++++++ 0016-smbios-Expose-in-efi_loader-as-tabl.patch ++++++
>From 0cf473210474a7b3dd11de4de82ef8fc3a2516e2 Mon Sep 17 00:00:00 2001
From: Alexander Graf <[email protected]>
Date: Sun, 7 Aug 2016 13:18:56 +0200
Subject: [PATCH] smbios: Expose in efi_loader as table

We can pass SMBIOS easily as EFI configuration table to an EFI payload. This
patch adds enablement for that case.

While at it, we also enable SMBIOS generation for ARM systems, since they 
support
EFI_LOADER.

Signed-off-by: Alexander Graf <[email protected]>

---

v1 -> v2:

  - Fix whitespace
---
 cmd/bootefi.c        |  3 +++
 include/efi_api.h    |  4 ++++
 include/efi_loader.h |  2 ++
 include/smbios.h     |  1 +
 lib/Kconfig          |  4 ++--
 lib/smbios.c         | 36 ++++++++++++++++++++++++++++++++++++
 6 files changed, 48 insertions(+), 2 deletions(-)

diff --git a/cmd/bootefi.c b/cmd/bootefi.c
index a80ed48..ca144ff 100644
--- a/cmd/bootefi.c
+++ b/cmd/bootefi.c
@@ -204,6 +204,9 @@ static unsigned long do_bootefi_exec(void *efi, void *fdt)
        if (!memcmp(bootefi_device_path[0].str, "N\0e\0t", 6))
                loaded_image_info.device_handle = nethandle;
 #endif
+#ifdef CONFIG_GENERATE_SMBIOS_TABLE
+       efi_smbios_register();
+#endif
 
        /* Initialize EFI runtime services */
        efi_reset_system_init();
diff --git a/include/efi_api.h b/include/efi_api.h
index f572b88..bdb600e 100644
--- a/include/efi_api.h
+++ b/include/efi_api.h
@@ -201,6 +201,10 @@ struct efi_runtime_services {
        EFI_GUID(0xb1b621d5, 0xf19c, 0x41a5, \
                 0x83, 0x0b, 0xd9, 0x15, 0x2c, 0x69, 0xaa, 0xe0)
 
+#define SMBIOS_TABLE_GUID \
+       EFI_GUID(0xeb9d2d31, 0x2d88, 0x11d3,  \
+                0x9a, 0x16, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d)
+
 struct efi_configuration_table
 {
        efi_guid_t guid;
diff --git a/include/efi_loader.h b/include/efi_loader.h
index ac8b77a..b0e8a7f 100644
--- a/include/efi_loader.h
+++ b/include/efi_loader.h
@@ -85,6 +85,8 @@ int efi_disk_register(void);
 int efi_gop_register(void);
 /* Called by bootefi to make the network interface available */
 int efi_net_register(void **handle);
+/* Called by bootefi to make SMBIOS tables available */
+void efi_smbios_register(void);
 
 /* Called by networking code to memorize the dhcp ack package */
 void efi_net_set_dhcp_ack(void *pkt, int len);
diff --git a/include/smbios.h b/include/smbios.h
index 5962d4c..fb6396a 100644
--- a/include/smbios.h
+++ b/include/smbios.h
@@ -55,6 +55,7 @@ struct __packed smbios_entry {
 #define BIOS_CHARACTERISTICS_SELECTABLE_BOOT   (1 << 16)
 
 #define BIOS_CHARACTERISTICS_EXT1_ACPI         (1 << 0)
+#define BIOS_CHARACTERISTICS_EXT1_UEFI         (1 << 3)
 #define BIOS_CHARACTERISTICS_EXT2_TARGET       (1 << 2)
 
 struct __packed smbios_type0 {
diff --git a/lib/Kconfig b/lib/Kconfig
index 5a14530..d7f75fe 100644
--- a/lib/Kconfig
+++ b/lib/Kconfig
@@ -150,12 +150,12 @@ config SPL_OF_LIBFDT
          version of the device tree.
 
 menu "System tables"
-       depends on !EFI && !SYS_COREBOOT
+       depends on (!EFI && !SYS_COREBOOT) || (ARM && EFI_LOADER)
 
 config GENERATE_SMBIOS_TABLE
        bool "Generate an SMBIOS (System Management BIOS) table"
        default y
-       depends on X86
+       depends on X86 || EFI_LOADER
        help
          The System Management BIOS (SMBIOS) specification addresses how
          motherboard and system vendors present management information about
diff --git a/lib/smbios.c b/lib/smbios.c
index 8dfd486..4d85155 100644
--- a/lib/smbios.c
+++ b/lib/smbios.c
@@ -7,10 +7,13 @@
  */
 
 #include <common.h>
+#include <efi_loader.h>
 #include <smbios.h>
 #include <tables_csum.h>
 #include <version.h>
+#ifdef CONFIG_X86
 #include <asm/cpu.h>
+#endif
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -79,14 +82,20 @@ static int smbios_write_type0(uintptr_t *current, int 
handle)
        t->vendor = smbios_add_string(t->eos, "U-Boot");
        t->bios_ver = smbios_add_string(t->eos, PLAIN_VERSION);
        t->bios_release_date = smbios_add_string(t->eos, U_BOOT_DMI_DATE);
+#ifdef CONFIG_ROM_SIZE
        t->bios_rom_size = (CONFIG_ROM_SIZE / 65536) - 1;
+#endif
        t->bios_characteristics = BIOS_CHARACTERISTICS_PCI_SUPPORTED |
                                  BIOS_CHARACTERISTICS_SELECTABLE_BOOT |
                                  BIOS_CHARACTERISTICS_UPGRADEABLE;
 #ifdef CONFIG_GENERATE_ACPI_TABLE
        t->bios_characteristics_ext1 = BIOS_CHARACTERISTICS_EXT1_ACPI;
 #endif
+#ifdef CONFIG_EFI_LOADER
+       t->bios_characteristics_ext1 |= BIOS_CHARACTERISTICS_EXT1_UEFI;
+#endif
        t->bios_characteristics_ext2 = BIOS_CHARACTERISTICS_EXT2_TARGET;
+
        t->bios_major_release = 0xff;
        t->bios_minor_release = 0xff;
        t->ec_major_release = 0xff;
@@ -152,6 +161,7 @@ static int smbios_write_type3(uintptr_t *current, int 
handle)
        return len;
 }
 
+#ifdef CONFIG_X86
 static int smbios_write_type4(uintptr_t *current, int handle)
 {
        struct smbios_type4 *t = (struct smbios_type4 *)*current;
@@ -184,6 +194,7 @@ static int smbios_write_type4(uintptr_t *current, int 
handle)
 
        return len;
 }
+#endif
 
 static int smbios_write_type32(uintptr_t *current, int handle)
 {
@@ -216,7 +227,9 @@ static smbios_write_type smbios_write_funcs[] = {
        smbios_write_type1,
        smbios_write_type2,
        smbios_write_type3,
+#ifdef CONFIG_X86
        smbios_write_type4,
+#endif
        smbios_write_type32,
        smbios_write_type127
 };
@@ -267,3 +280,26 @@ uintptr_t write_smbios_table(uintptr_t addr)
 
        return addr;
 }
+
+#ifdef CONFIG_EFI_LOADER
+
+void efi_smbios_register(void)
+{
+       static efi_guid_t smbios_guid = SMBIOS_TABLE_GUID;
+       /* Map within the low 32 bits, to allow for 32bit SMBIOS tables */
+       uint64_t dmi = 0xffffffff;
+       /* Reserve 4kb for SMBIOS */
+       uint64_t pages = 1;
+       int memtype = EFI_RUNTIME_SERVICES_DATA;
+
+       if (efi_allocate_pages(1, memtype, pages, &dmi) != EFI_SUCCESS)
+               return;
+
+       /* Generate SMBIOS tables */
+       write_smbios_table(dmi);
+
+       /* And expose them to our EFI payload */
+       efi_install_configuration_table(&smbios_guid, (void*)dmi);
+}
+
+#endif
++++++ 0017-efi_loader-Fix-efi_install_configur.patch ++++++
>From e84c4ada85f7faad7aa5be4bc0478d5695ce657b Mon Sep 17 00:00:00 2001
From: Alexander Graf <[email protected]>
Date: Sun, 7 Aug 2016 18:18:10 +0200
Subject: [PATCH] efi_loader: Fix efi_install_configuration_table

So far we were only installing the FDT table and didn't have space
to store any other. Hence nobody realized that our efi table allocation
was broken in that it didn't set the indicator for the number of tables
plus one.

This patch fixes it, allowing code to allocate new efi tables.

Signed-off-by: Alexander Graf <[email protected]>
---
 lib/efi_loader/efi_boottime.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c
index 3e7a48b..4d0e077 100644
--- a/lib/efi_loader/efi_boottime.c
+++ b/lib/efi_loader/efi_boottime.c
@@ -394,7 +394,7 @@ efi_status_t efi_install_configuration_table(efi_guid_t 
*guid, void *table)
        /* Add a new entry */
        memcpy(&efi_conf_table[i].guid, guid, sizeof(*guid));
        efi_conf_table[i].table = table;
-       systab.nr_tables = i;
+       systab.nr_tables = i + 1;
 
        return EFI_SUCCESS;
 }
++++++ 0018-smbios-Provide-serial-number.patch ++++++
>From 10f3bcd0ae173e5fdab71127374c719851a8dddf Mon Sep 17 00:00:00 2001
From: Alexander Graf <[email protected]>
Date: Sun, 7 Aug 2016 18:29:12 +0200
Subject: [PATCH] smbios: Provide serial number

If the system has a valid "serial#" environment variable set (which boards that
can find it out programatically set automatically), use that as input for the
serial number and UUID fields in the SMBIOS tables.

Signed-off-by: Alexander Graf <[email protected]>

---

v1 -> v2:

  - Also populate UUID
---
 lib/smbios.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/lib/smbios.c b/lib/smbios.c
index 4d85155..2d0df23 100644
--- a/lib/smbios.c
+++ b/lib/smbios.c
@@ -111,11 +111,16 @@ static int smbios_write_type1(uintptr_t *current, int 
handle)
 {
        struct smbios_type1 *t = (struct smbios_type1 *)*current;
        int len = sizeof(struct smbios_type1);
+       char *serial_str = getenv("serial#");
 
        memset(t, 0, sizeof(struct smbios_type1));
        fill_smbios_header(t, SMBIOS_SYSTEM_INFORMATION, len, handle);
        t->manufacturer = smbios_add_string(t->eos, CONFIG_SMBIOS_MANUFACTURER);
        t->product_name = smbios_add_string(t->eos, CONFIG_SMBIOS_PRODUCT_NAME);
+       if (serial_str) {
+               strncpy((char*)t->uuid, serial_str, sizeof(t->uuid));
+               t->serial_number = smbios_add_string(t->eos, serial_str);
+       }
 
        len = t->length + smbios_string_table_len(t->eos);
        *current += len;

++++++ pre_checkin.sh ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:21.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:21.000000000 +0200
@@ -69,6 +69,7 @@
     exit 0
 fi
 
+CHANGE_DATE=$(date -d "$(head -n 2 u-boot.changes | tail -n 1 | cut -d- -f1 )" 
+%s)
 MVEBU_SPL=0
 OMAP_SPL=0
 ROCKCHIP_SPL=0
@@ -130,6 +131,7 @@
 s/BOARDNAME/$BOARDNAME/g
 s/ARCH_RESTRICTIONS/$ARCH_RESTRICTIONS/g
 s/BINEND/$BINEND/g
+s/CHANGE_DATE/$CHANGE_DATE/g
 s/ORIGEN_SPL/$ORIGEN_SPL/g
 s/ARNDALE_SPL/$ARNDALE_SPL/g
 s/MVEBU_SPL/$MVEBU_SPL/g

++++++ u-boot.spec.in ++++++
--- /var/tmp/diff_new_pack.rFHzzv/_old  2016-08-17 12:06:21.000000000 +0200
+++ /var/tmp/diff_new_pack.rFHzzv/_new  2016-08-17 12:06:21.000000000 +0200
@@ -80,6 +80,7 @@
 PATCH_EXEC
 
 %build
+export SOURCE_DATE_EPOCH=CHANGE_DATE
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" BOARDCONFIG
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
USE_PRIVATE_LIBGG=yes
 %if "%{name}" == "u-boot-snow" || "%{name}" == "u-boot-spring"
@@ -94,6 +95,7 @@
 %endif
 
 %install
+export SOURCE_DATE_EPOCH=CHANGE_DATE
 export NO_BRP_STRIP_DEBUG=true
 export NO_DEBUGINFO_STRIP_DEBUG=true
 %define uboot_dir /boot


Reply via email to