configs/odroidxu4: new defconfig

This patch provides support for the board Odroid XU4. It uses a recent
4.14 kernel released by Hardkernel, and the current u-boot 2017.05
also from Hardkernel.

Signed-off-by: Pierre CROKAERT <pct@crookies.net>
[Thomas:
 - Update DEVELOPERS file
 - Update .gitlab-ci.yml file
 - Simplify the boot.ini script
 - Add missing BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14 option
 - Add BR2_PACKAGE_HOST_DOSFSTOOLS and BR2_PACKAGE_HOST_MTOOLS since a
   VFAT filesystem is generated
 - Keep the default root filesystem size, since it is sufficient.
 - Reduce the size of the VFAT filesystem]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018.11.x
Pierre CROKAERT 2018-02-15 17:50:37 +01:00 committed by Thomas Petazzoni
parent f3f6c914af
commit 26034b8663
7 changed files with 185 additions and 0 deletions

View File

@ -168,6 +168,7 @@ nitrogen6x_defconfig: *defconfig
nitrogen7_defconfig: *defconfig
nitrogen8m_defconfig: *defconfig
odroidc2_defconfig: *defconfig
odroidxu4_defconfig: *defconfig
olimex_a10_olinuxino_lime_defconfig: *defconfig
olimex_a13_olinuxino_defconfig: *defconfig
olimex_a20_olinuxino_lime2_defconfig: *defconfig

View File

@ -1727,6 +1727,10 @@ F: package/lttng-tools/
F: package/python-ipython/
F: package/liburcu/
N: Pierre Crokaert <pct@crookies.net>
F: board/hardkernel/odroidxu4/
F: configs/odroidxu4_defconfig
N: Pierre Ducroquet <pinaraf@pinaraf.info>
F: package/kf5/

View File

@ -0,0 +1,38 @@
ODROIDXU-UBOOT-CONFIG
# U-Boot Parameters
setenv initrd_high "0xffffffff"
setenv fdt_high "0xffffffff"
setenv macaddr "00:1e:06:61:7a:39"
setenv bootrootfs "console=tty1 root=/dev/mmcblk1p2 rootwait rw fsck.repair=yes net.ifnames=0"
setenv bootcmd "load mmc 0:1 0x40008000 zImage; load mmc 0:1 0x44000000 exynos5422-odroidxu4.dtb; bootz 0x40008000 - 0x44000000"
setenv vout "hdmi"
setenv governor "performance"
setenv HPD "true"
# TMDS data amplitude control.
setenv hdmi_tx_amp_lvl "31"
# TMDS data amplitude fine control for each channel.
setenv hdmi_tx_lvl_ch0 "3"
setenv hdmi_tx_lvl_ch1 "3"
setenv hdmi_tx_lvl_ch2 "3"
# TMDS data pre-emphasis level control.
setenv hdmi_tx_emp_lvl "6"
# TMDS clock amplitude control.
setenv hdmi_clk_amp_lvl "31"
# TMDS data source termination resistor control.
setenv hdmi_tx_res "0"
setenv hdmi_phy_control "hdmi_tx_amp_lvl=${hdmi_tx_amp_lvl} hdmi_tx_lvl_ch0=${hdmi_tx_lvl_ch0} hdmi_tx_lvl_ch1=${hdmi_tx_lvl_ch1} hdmi_tx_lvl_ch2=${hdmi_tx_lvl_ch2} hdmi_tx_emp_lvl=${hdmi_tx_emp_lvl} hdmi_clk_amp_lvl=${hdmi_clk_amp_lvl} hdmi_tx_res=${hdmi_tx_res} HPD=${HPD} vout=${vout}"
# final boot args
setenv bootargs "${bootrootfs} ${videoconfig} smsc95xx.macaddr=${macaddr} governor=${governor} ${hdmi_phy_control}"
# Boot the board
boot

View File

@ -0,0 +1,54 @@
image boot.vfat {
vfat {
files = {
"boot.ini",
"zImage",
"exynos5422-odroidxu4.dtb"
}
}
size = 32M
}
image sdcard.img {
hdimage {
}
partition bl1 {
in-partition-table = "no"
image = "bl1.bin.hardkernel"
offset = 512
size = 15360
}
partition bl2 {
in-partition-table = "no"
image = "bl2.bin.hardkernel.720k_uboot"
offset = 15872
size = 16384
}
partition u-boot {
in-partition-table = "no"
image = "u-boot-dtb.bin"
offset = 32256
size = 720k
}
partition tzsw {
in-partition-table = "no"
image = "tzsw.bin.hardkernel"
offset = 769536
size = 256k
}
partition vfat {
partition-type = 0xC
image = "boot.vfat"
offset = 2097152
}
partition rootfs {
partition-type = 0x83
image = "rootfs.ext4"
}
}

View File

@ -0,0 +1,24 @@
#!/bin/sh
BOARD_DIR="$(dirname $0)"
GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
cp ${BOARD_DIR}/boot.ini ${BINARIES_DIR}/
# The bl1.bin.hardkernel file provided by the uboot hardkernel repository is overwritten
# by the bl2.bin.hardkernel in the sd_fusing.sh script because it is too big.
# In order to implement this in genimage, we need to truncate the bl1.bin file
# so that it does not exceed the available place.
# An issue has been filled about this: https://github.com/hardkernel/u-boot/issues/45
truncate -s 15360 ${BINARIES_DIR}/bl1.bin.hardkernel
rm -rf "${GENIMAGE_TMP}"
genimage \
--rootpath "${TARGET_DIR}" \
--tmppath "${GENIMAGE_TMP}" \
--inputpath "${BINARIES_DIR}" \
--outputpath "${BINARIES_DIR}" \
--config "${GENIMAGE_CFG}"

View File

@ -0,0 +1,37 @@
Odroid XU-4 board with Samsung Exynos 5422 SoC
How to build it
===============
$ make odroidxu4_defconfig
Then you can edit the build options using
$ make menuconfig
Compile all and build rootfs image:
$ make
Note: you will need to have access to the network, since Buildroot will
download the packages' sources.
Result of the build
-------------------
After building, you should obtain all output files in output/images/
How to write the SD card or eMMC
================================
Once the build process is finished you will have an image called "sdcard.img"
in the output/images/ directory.
Copy the bootable "sdcard.img" onto an SD card or eMMC with "dd":
$ sudo dd if=output/images/sdcard.img of=/dev/sdX
Insert the SDcard into your ODROID-XU4, and power it up. Your new system
should come up now.

View File

@ -0,0 +1,27 @@
BR2_arm=y
BR2_cortex_a7=y
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/hardkernel/odroidxu4/post-image.sh"
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_GIT=y
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/hardkernel/linux.git"
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="4.14.16-104"
BR2_LINUX_KERNEL_DEFCONFIG="odroidxu4"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="exynos5422-odroidxu4"
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
# BR2_TARGET_ROOTFS_TAR is not set
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
BR2_TARGET_UBOOT_CUSTOM_GIT=y
BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/hardkernel/u-boot.git"
BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="88af53fbcef8386cb4d5f04c19f4b2bcb69e90ca"
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="odroid-xu4"
BR2_TARGET_UBOOT_NEEDS_DTC=y
BR2_TARGET_UBOOT_FORMAT_DTB_BIN=y
BR2_TARGET_UBOOT_SPL=y
BR2_TARGET_UBOOT_SPL_NAME="sd_fuse/bl1.bin.hardkernel sd_fuse/bl2.bin.hardkernel.720k_uboot sd_fuse/tzsw.bin.hardkernel "
BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_GENIMAGE=y
BR2_PACKAGE_HOST_MTOOLS=y