* [Buildroot] [PATCH v3 1/2] uboot: Add support for U-Boot TPL
@ 2017-11-14 12:57 Jagan Teki
2017-11-14 12:57 ` [Buildroot] [PATCH v3 2/2] board: Add Vyasa RK388 board support Jagan Teki
2017-11-15 22:15 ` [Buildroot] [PATCH v3 1/2] uboot: Add support for U-Boot TPL Thomas Petazzoni
0 siblings, 2 replies; 3+ messages in thread
From: Jagan Teki @ 2017-11-14 12:57 UTC (permalink / raw)
To: buildroot
TPL is first stage bootloader, On rk3288 vyasa board due to size
limitation on SPL.
Since the size of SPL can't be exceeded 0x8000 bytes in RK3288,
it is not possible add new SPL features like Falcon mode or etc.
So add TPL stage so-that adding new features to SPL is possible.
- TPL: DRAM init, clocks
- SPL: MMC, falcon, etc
u-boot-tpl.bin is the file name.
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
---
Changes for v3, v2:
- None
boot/uboot/Config.in | 25 +++++++++++++++++++++++++
boot/uboot/uboot.mk | 5 +++++
2 files changed, 30 insertions(+)
diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in
index 8215912..43e4947 100644
--- a/boot/uboot/Config.in
+++ b/boot/uboot/Config.in
@@ -342,6 +342,31 @@ config BR2_TARGET_UBOOT_SPL_NAME
u-boot build. For most platform it is spl/u-boot-spl.bin but
not always. It is MLO on OMAP and SPL on i.MX6 for example.
+config BR2_TARGET_UBOOT_TPL
+ bool "Install U-Boot TPL binary image"
+ depends on BR2_TARGET_UBOOT_SPL
+ help
+ Install the U-Boot TPL binary image to the images
+ directory.
+ TPL is first stage bootloader, On rk3288 vyasa board due to size
+ limitation on SPL.
+
+ Since the size of SPL can't be exceeded 0x8000 bytes in RK3288,
+ it is not possible add new SPL features like Falcon mode or etc.
+
+ So add TPL stage so-that adding new features to SPL is possible.
+ - TPL: DRAM init, clocks
+ - SPL: MMC, falcon, etc
+
+config BR2_TARGET_UBOOT_TPL_NAME
+ string "U-Boot TPL binary image name"
+ default "tpl/u-boot-tpl.bin"
+ depends on BR2_TARGET_UBOOT_TPL
+ help
+ A space-separated list of TPL binaries, generated during
+ u-boot build. For most platform it is spl/u-boot-tpl.bin but
+ not always.
+
config BR2_TARGET_UBOOT_ZYNQ_IMAGE
bool "Generate image for Xilinx Zynq"
depends on BR2_arm
diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk
index fdacf16..5702ca6 100644
--- a/boot/uboot/uboot.mk
+++ b/boot/uboot/uboot.mk
@@ -242,6 +242,11 @@ define UBOOT_INSTALL_IMAGES_CMDS
cp -dpf $(@D)/$(f) $(BINARIES_DIR)/
)
)
+ $(if $(BR2_TARGET_UBOOT_TPL),
+ $(foreach f,$(call qstrip,$(BR2_TARGET_UBOOT_TPL_NAME)), \
+ cp -dpf $(@D)/$(f) $(BINARIES_DIR)/
+ )
+ )
$(if $(BR2_TARGET_UBOOT_ENVIMAGE),
cat $(call qstrip,$(BR2_TARGET_UBOOT_ENVIMAGE_SOURCE)) | \
$(HOST_DIR)/bin/mkenvimage -s $(BR2_TARGET_UBOOT_ENVIMAGE_SIZE) \
--
1.9.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [Buildroot] [PATCH v3 2/2] board: Add Vyasa RK388 board support
2017-11-14 12:57 [Buildroot] [PATCH v3 1/2] uboot: Add support for U-Boot TPL Jagan Teki
@ 2017-11-14 12:57 ` Jagan Teki
2017-11-15 22:15 ` [Buildroot] [PATCH v3 1/2] uboot: Add support for U-Boot TPL Thomas Petazzoni
1 sibling, 0 replies; 3+ messages in thread
From: Jagan Teki @ 2017-11-14 12:57 UTC (permalink / raw)
To: buildroot
Add Vyasa board, from rk3288 family SOC.
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
---
Changes for v3:
- Fix ascending order in DEVELOPERS
- Fix u-boot-dtb.img offset
- Fix extlinux.conf label
Changes for v2:
- Bump to U-Boot v2017.11
- Bump to linux-next
.gitlab-ci.yml | 1 +
DEVELOPERS | 2 ++
board/amarula/vyasa/extlinux.conf | 4 +++
board/amarula/vyasa/genimage.cfg | 21 +++++++++++++
board/amarula/vyasa/post-build.sh | 10 +++++++
board/amarula/vyasa/readme.txt | 31 +++++++++++++++++++
configs/amarula_vyasa_rk3288_defconfig | 55 ++++++++++++++++++++++++++++++++++
7 files changed, 124 insertions(+)
create mode 100644 board/amarula/vyasa/extlinux.conf
create mode 100644 board/amarula/vyasa/genimage.cfg
create mode 100755 board/amarula/vyasa/post-build.sh
create mode 100644 board/amarula/vyasa/readme.txt
create mode 100644 configs/amarula_vyasa_rk3288_defconfig
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 0e69288..ba4653f 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -62,6 +62,7 @@ acmesystems_aria_g25_128mb_defconfig: *defconfig
acmesystems_aria_g25_256mb_defconfig: *defconfig
acmesystems_arietta_g25_128mb_defconfig: *defconfig
acmesystems_arietta_g25_256mb_defconfig: *defconfig
+amarula_vyasa_rk3288_defconfig: *defconfig
arcturus_ucp1020_defconfig: *defconfig
arm_foundationv8_defconfig: *defconfig
arm_juno_defconfig: *defconfig
diff --git a/DEVELOPERS b/DEVELOPERS
index 942abcf..b5a2dfe 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -877,7 +877,9 @@ N: Ilias Apalodimas <apalos@gmail.com>
F: package/keepalived/
N: Jagan Teki <jagan@amarulasolutions.com>
+F: board/amarula/
F: board/engicam/
+F: configs/amarula_vyasa_rk3288_defconfig
F: configs/engicam_imx6qdl_icore_defconfig
F: configs/engicam_imx6qdl_icore_qt5_defconfig
F: configs/engicam_imx6qdl_icore_rqs_defconfig
diff --git a/board/amarula/vyasa/extlinux.conf b/board/amarula/vyasa/extlinux.conf
new file mode 100644
index 0000000..9dcce7b
--- /dev/null
+++ b/board/amarula/vyasa/extlinux.conf
@@ -0,0 +1,4 @@
+label Vyasa linux-next
+ kernel /boot/uImage
+ devicetree /boot/rk3288-vyasa.dtb
+ append console=ttyS2,115200n8 root=/dev/mmcblk0p1 rootwait
diff --git a/board/amarula/vyasa/genimage.cfg b/board/amarula/vyasa/genimage.cfg
new file mode 100644
index 0000000..fa41de3
--- /dev/null
+++ b/board/amarula/vyasa/genimage.cfg
@@ -0,0 +1,21 @@
+image sdcard.img {
+ hdimage {
+ }
+
+ partition u-boot-tpl-spl-dtb {
+ in-partition-table = "no"
+ image = "u-boot-tpl-spl-dtb.img"
+ offset = 32K
+ }
+
+ partition u-boot-dtb {
+ in-partition-table = "no"
+ image = "u-boot-dtb.img"
+ offset = 8M
+ }
+
+ partition rootfs {
+ partition-type = 0x83
+ image = "rootfs.ext4"
+ }
+}
diff --git a/board/amarula/vyasa/post-build.sh b/board/amarula/vyasa/post-build.sh
new file mode 100755
index 0000000..5298848
--- /dev/null
+++ b/board/amarula/vyasa/post-build.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+MKIMAGE=$HOST_DIR/bin/mkimage
+
+BOARD_DIR="$(dirname $0)"
+
+$MKIMAGE -n rk3288 -T rksd -d $BINARIES_DIR/u-boot-tpl.bin $BINARIES_DIR/u-boot-tpl.img
+cat $BINARIES_DIR/u-boot-spl-dtb.bin $BINARIES_DIR/u-boot-tpl.img > $BINARIES_DIR/u-boot-tpl-spl-dtb.img
+
+install -m 0644 -D $BOARD_DIR/extlinux.conf $TARGET_DIR/boot/extlinux/extlinux.conf
diff --git a/board/amarula/vyasa/readme.txt b/board/amarula/vyasa/readme.txt
new file mode 100644
index 0000000..b95889e
--- /dev/null
+++ b/board/amarula/vyasa/readme.txt
@@ -0,0 +1,31 @@
+Vyasa RK3288
+============
+
+Vyasa is RK3288 based Single board computer with fully supported opensource software.
+
+https://openedev.amarulasolutions.com/display/ODWIKI/Vyasa+RK3288
+
+How to build it
+===============
+
+ $ make amarula_vyasa_rk3288_defconfig
+
+Then you can edit the build options using
+
+ $ make menuconfig
+
+Compile all and build rootfs image:
+
+ $ make
+
+Prepare your SDCard
+===================
+
+Buildroot generates a ready-to-use SD card image that you can flash directly to
+the card. The image will be in output/images/sdcard.img.
+You can write this image directly to an SD card device (i.e. /dev/xxx):
+
+ $ sudo dd if=output/images/sdcard.img of=/dev/xxx
+ $ sudo sync
+
+Finally, you can insert the SD card to the Vyasa RK3288 board, close J4 and boot it.
diff --git a/configs/amarula_vyasa_rk3288_defconfig b/configs/amarula_vyasa_rk3288_defconfig
new file mode 100644
index 0000000..3e24cbf
--- /dev/null
+++ b/configs/amarula_vyasa_rk3288_defconfig
@@ -0,0 +1,55 @@
+# Architecture
+BR2_arm=y
+BR2_cortex_a17=y
+BR2_ARM_FPU_NEON_VFPV4=y
+
+# Linux headers same as kernel, a 4.13 series
+BR2_KERNEL_HEADERS_4_13=y
+
+# Toolchain
+BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
+BR2_TOOLCHAIN_BUILDROOT_CXX=y
+
+# Bootloader
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
+BR2_TARGET_UBOOT_CUSTOM_VERSION=y
+BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.11"
+BR2_TARGET_UBOOT_BOARD_DEFCONFIG="vyasa-rk3288"
+BR2_TARGET_UBOOT_NEEDS_DTC=y
+BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
+BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y
+BR2_TARGET_UBOOT_SPL=y
+BR2_TARGET_UBOOT_SPL_NAME="spl/u-boot-spl-dtb.bin"
+BR2_TARGET_UBOOT_TPL=y
+
+# Kernel
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_GIT=y
+BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="master"
+BR2_LINUX_KERNEL_DEFCONFIG="multi_v7"
+BR2_LINUX_KERNEL_UIMAGE=y
+BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x02000000"
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="rk3288-vyasa"
+
+# Filesystem
+BR2_TARGET_GENERIC_HOSTNAME="vyasa-rk3288"
+BR2_TARGET_GENERIC_ISSUE="Welcome to VYASA RK3288!"
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+BR2_TARGET_ROOTFS_EXT2_SIZE="512M"
+BR2_PACKAGE_HOST_DOSFSTOOLS=y
+BR2_PACKAGE_HOST_GENIMAGE=y
+BR2_PACKAGE_HOST_MTOOLS=y
+BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
+BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/amarula/vyasa/genimage.cfg"
+BR2_ROOTFS_POST_BUILD_SCRIPT="board/amarula/vyasa/post-build.sh"
+
+# qt5
+BR2_PACKAGE_QT5=y
+BR2_PACKAGE_QT5BASE_EXAMPLES=y
+BR2_PACKAGE_QT5BASE_GUI=y
+BR2_PACKAGE_QT5BASE_EGLFS=y
+BR2_PACKAGE_MALI_T76X=y
--
1.9.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [Buildroot] [PATCH v3 1/2] uboot: Add support for U-Boot TPL
2017-11-14 12:57 [Buildroot] [PATCH v3 1/2] uboot: Add support for U-Boot TPL Jagan Teki
2017-11-14 12:57 ` [Buildroot] [PATCH v3 2/2] board: Add Vyasa RK388 board support Jagan Teki
@ 2017-11-15 22:15 ` Thomas Petazzoni
1 sibling, 0 replies; 3+ messages in thread
From: Thomas Petazzoni @ 2017-11-15 22:15 UTC (permalink / raw)
To: buildroot
Hello Jagan,
On Tue, 14 Nov 2017 13:57:05 +0100, Jagan Teki wrote:
> +config BR2_TARGET_UBOOT_TPL
> + bool "Install U-Boot TPL binary image"
> + depends on BR2_TARGET_UBOOT_SPL
> + help
> + Install the U-Boot TPL binary image to the images
> + directory.
> + TPL is first stage bootloader, On rk3288 vyasa board due to size
> + limitation on SPL.
> +
> + Since the size of SPL can't be exceeded 0x8000 bytes in RK3288,
> + it is not possible add new SPL features like Falcon mode or etc.
> +
> + So add TPL stage so-that adding new features to SPL is possible.
> + - TPL: DRAM init, clocks
> + - SPL: MMC, falcon, etc
> +
> +config BR2_TARGET_UBOOT_TPL_NAME
> + string "U-Boot TPL binary image name"
> + default "tpl/u-boot-tpl.bin"
> + depends on BR2_TARGET_UBOOT_TPL
> + help
> + A space-separated list of TPL binaries, generated during
> + u-boot build. For most platform it is spl/u-boot-tpl.bin but
> + not always.
> +
> config BR2_TARGET_UBOOT_ZYNQ_IMAGE
> bool "Generate image for Xilinx Zynq"
> depends on BR2_arm
> diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk
> index fdacf16..5702ca6 100644
> --- a/boot/uboot/uboot.mk
> +++ b/boot/uboot/uboot.mk
> @@ -242,6 +242,11 @@ define UBOOT_INSTALL_IMAGES_CMDS
> cp -dpf $(@D)/$(f) $(BINARIES_DIR)/
> )
> )
> + $(if $(BR2_TARGET_UBOOT_TPL),
> + $(foreach f,$(call qstrip,$(BR2_TARGET_UBOOT_TPL_NAME)), \
> + cp -dpf $(@D)/$(f) $(BINARIES_DIR)/
> + )
> + )
I don't think we need this additional option. Just list the TPL name
within the BR2_TARGET_UBOOT_SPL_NAME option (this option accepts a
space-separated list of binaries).
Of course, the Config.in help text of BR2_TARGET_UBOOT_SPL_NAME could
be updated to indicate that both SPL and TPL can be specified with this
option.
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-11-15 22:15 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-11-14 12:57 [Buildroot] [PATCH v3 1/2] uboot: Add support for U-Boot TPL Jagan Teki
2017-11-14 12:57 ` [Buildroot] [PATCH v3 2/2] board: Add Vyasa RK388 board support Jagan Teki
2017-11-15 22:15 ` [Buildroot] [PATCH v3 1/2] uboot: Add support for U-Boot TPL Thomas Petazzoni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox