packaging: u-boot-rpi3: support 32bit rpi3 u-boot image 16/204316/1 accepted/tizen/unified/20190424.040754 submit/tizen/20190423.092544
authorJaehoon Chung <jh80.chung@samsung.com>
Tue, 23 Apr 2019 04:56:26 +0000 (13:56 +0900)
committerJaehoon Chung <jh80.chung@samsung.com>
Tue, 23 Apr 2019 05:04:36 +0000 (14:04 +0900)
Support 32bit rpi3 u-boot image.
- 32bit u-boot doesn't use spl.

Change-Id: I6309654acc7818c5bd65abd10cfece68d2da3dde
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
packaging/u-boot-rpi3.spec

index 6c363eb..30c63c0 100644 (file)
@@ -1,10 +1,20 @@
-Name: u-boot-rpi3
+%ifarch aarch64
+%define config_name rpi_3_defconfig
+%define target rpi3
+%define buildarch arm64
+%else
+%define config_name rpi_3_32b_defconfig
+%define target rpi3-32b
+%define buildarch arm
+%endif
+
+Name: u-boot-%{target}
 Version: 2017.03
 Release: 0
 Summary: Das U-Boot - Tizen bootloader
 Group: System/Kernel
 License: GPL-2.0+
-ExclusiveArch: aarch64
+ExclusiveArch: %{arm} aarch64
 URL: http://git.denx.de/u-boot.git
 Source0: u-boot-%{version}.tar.bz2
 Source1001: u_boot_rpi3.manifest
@@ -13,7 +23,7 @@ BuildRequires: gcc >= 4.8
 BuildRequires: flex
 BuildRequires: bison
 
-# NOTE
+# NOTE : This comment is for ARM64.
 # - If someone want to build u-boot-rpi3 with gbs system, it needs to build with below sequence.
 # 1. Do the local build with gbs command
 #      e.g) gbs build -A aarch64 --buildroot=~/GBS-UBOOT-RPI3 --profile=profile.tizen_unifiled
@@ -47,7 +57,7 @@ and modify U-Boot's environment.
 %{?asan:/usr/bin/gcc-unforce-options}
 cp %{SOURCE1001} .
 
-CONFIG=rpi_3_defconfig
+CONFIG=%{config_name}
 
 make mrproper
 
@@ -66,10 +76,12 @@ make HOSTCC="gcc $RPM_OPT_FLAGS" env
 export PATH="$PATH:tools:tools/dtc/"
 make %{?_smp_mflags} EXTRAVERSION=`echo %{vcs} | sed 's/.*u-boot.*#\(.\{9\}\).*/-g\1-TIZEN.org/'`
 
+%ifarch aarch64
 # Build u-boot-spl
 as board/raspberrypi/rpi/head.S -o head.o
 objcopy -O binary head.o head.bin
 cat head.bin spl/u-boot-spl.bin > u-boot-spl.bin
+%endif
 
 # Generate params.bin
 cp `find ./common -name "env_common.o"` copy_env_common.o
@@ -79,7 +91,7 @@ mkenvimage -s 16384 -o uboot.env default_envs.txt
 rm copy_env_common.o default_envs.txt
 
 # Build boot.scr
-mkimage -A arm64 -T script -C none -n "Tizen RPI3 u-boot helper" -d ./board/raspberrypi/rpi/tizen-boot-rpi3.scr ./boot.scr.uimg
+mkimage -A %{buildarch} -T script -C none -n "Tizen RPI3 u-boot helper" -d ./board/raspberrypi/rpi/tizen-boot-%{target}.scr ./boot.scr.uimg
 
 %install
 rm -rf %{buildroot}
@@ -92,14 +104,20 @@ install -p -m 0755 tools/dtc/dtc %{buildroot}%{_bindir}
 ( cd %{buildroot}%{_bindir}; ln -sf fw_printenv fw_setenv )
 
 # u-boot installation
+%ifarch aarch64
 mkdir -p %{buildroot}/boot/spl
+%else
+mkdir -p %{buildroot}/boot
+%endif
 install -m 755 u-boot.bin %{buildroot}/boot/
 install -m 755 uboot.env %{buildroot}/boot/
 install -m 755 boot.scr.uimg %{buildroot}/boot/
+%ifarch aarch64
 install -m 755 u-boot-spl.bin %{buildroot}/boot/
 install -m 755 u-boot-nodtb.bin %{buildroot}/boot/spl/
 install -m 755 board/raspberrypi/rpi/fit_spl_atf.its %{buildroot}/boot/spl/
 install -m 755 arch/arm/dts/bcm2837-rpi-3-b.dtb %{buildroot}/boot/spl/
+%endif
 
 %clean
 
@@ -109,10 +127,12 @@ install -m 755 arch/arm/dts/bcm2837-rpi-3-b.dtb %{buildroot}/boot/spl/
 /boot/u-boot.bin
 /boot/uboot.env
 /boot/boot.scr.uimg
+%ifarch aarch64
 /boot/u-boot-spl.bin
 /boot/spl/u-boot-nodtb.bin
 /boot/spl/fit_spl_atf.its
 /boot/spl/bcm2837-rpi-3-b.dtb
+%endif
 
 %files -n u-boot-tools
 %manifest u_boot_rpi3.manifest