All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2 1/2] uboot: Add support for U-Boot TPL
@ 2017-11-14 11:43 Jagan Teki
  2017-11-14 11:43 ` [Buildroot] [PATCH v2 2/2] board: Add Vyasa RK388 board support Jagan Teki
  0 siblings, 1 reply; 3+ messages in thread
From: Jagan Teki @ 2017-11-14 11:43 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 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 v2 2/2] board: Add Vyasa RK388 board support
  2017-11-14 11:43 [Buildroot] [PATCH v2 1/2] uboot: Add support for U-Boot TPL Jagan Teki
@ 2017-11-14 11:43 ` Jagan Teki
  2017-11-14 13:00   ` Baruch Siach
  0 siblings, 1 reply; 3+ messages in thread
From: Jagan Teki @ 2017-11-14 11:43 UTC (permalink / raw)
  To: buildroot

Add Vyasa board, from rk3288 family SOC.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
---
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..a1ea87f 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -878,6 +878,8 @@ F:	package/keepalived/
 
 N:	Jagan Teki <jagan@amarulasolutions.com>
 F:	board/engicam/
+F:	board/amarula/
+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..5710260
--- /dev/null
+++ b/board/amarula/vyasa/extlinux.conf
@@ -0,0 +1,4 @@
+label Vyasa Linux-4.13
+	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..e9d826a
--- /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 = 128K
+	}
+
+	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 v2 2/2] board: Add Vyasa RK388 board support
  2017-11-14 11:43 ` [Buildroot] [PATCH v2 2/2] board: Add Vyasa RK388 board support Jagan Teki
@ 2017-11-14 13:00   ` Baruch Siach
  0 siblings, 0 replies; 3+ messages in thread
From: Baruch Siach @ 2017-11-14 13:00 UTC (permalink / raw)
  To: buildroot

Hi Jagan,

On Tue, Nov 14, 2017 at 12:43:51PM +0100, Jagan Teki wrote:
> Add Vyasa board, from rk3288 family SOC.
> 
> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
> ---

[...]

> 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

Why do you need glibc?

All defconfigs use the default toolchain unless there is a reason for that. If 
there is one please explain in the commit log.

> +# 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"

Buildroot defconfig kernel/bootloader versions are never set to branch names. 
We try to make the defconfigs reproducible, in the sense that you get the same 
result at any time, as much as possible. Git branches might, and do, change 
from time to time. Tomorrow the same defconfig would generate a different 
kernel.

Please use a tag (preferably), or a commit id.

baruch

> +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

-- 
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-11-14 13:00 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-11-14 11:43 [Buildroot] [PATCH v2 1/2] uboot: Add support for U-Boot TPL Jagan Teki
2017-11-14 11:43 ` [Buildroot] [PATCH v2 2/2] board: Add Vyasa RK388 board support Jagan Teki
2017-11-14 13:00   ` Baruch Siach

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.