[Buildroot] [PATCH v2] board: add support for ARC HS Development Kit (HSDK)

Romain Naour romain.naour at smile.fr
Sat Mar 31 12:56:54 UTC 2018


Hi Evgeniy,

Le 19/12/2017 à 15:55, Evgeniy Didin a écrit :
> Synopsys DesignWare HSDK (which stands for ARC HS
> Development Kit) is the latest and greatest development
> platform that sports quad-core ARC HS38 in real silicon.
> 
> Most noticeable features of the board are:
>  * Quad-core ARC HS38 CPU running at 1GHz
>  * 4Gb of DDR
>  * Built-in Vivante GPU (well supported via open source
>    Etnaviv drivers)
>  * Built-in Wi-Fi/Bluetooth module (RedPine RS-9113)
> 
> And as usual we have:
>  * [micro] SD-card slot
>  * 2 USB 2.0 ports
>  * 1Gbit Ethernet port
>  * Built-in Digilent JTAG probe
>  * Serial port accessible via micro-USB port
> 
> Writing sdcard.img on SDcard creates two partitions:
>  * FAT32 with uImage and uboot.env
>  * EXT4 with root filesystem
> 
> We modify kernel config because in default hsdk kernel config
> CONFIG_INITRAMFS_SOURCE parameter is set and when we build
> rootfs separately (BR2_TARGET_ROOTFS_INITRAMFS is not set)
> error appears. Also we set up CONFIG_ARC_UBOOT_SUPPORT which
> enables usage of uboot variables in the boot process.
> 
> Signed-off-by: Evgeniy Didin <didin at synopsys.com>
> Cc: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
> Cc: Alexey Brodkin <abrodkin at synopsys.com>
> Cc: arc-buildroot at synopsys.com
> ---
> Changes since v1:
> -add entries in DEVELOPERS and .gitlab-ci.yml
> -change genimage-hsdk.cfg to genimage.cfg
> -enable BR2_TARGET_UBOOT_ENVIMAGE against mkenvimage in post-image.sh
> -add renaming "uboot-env.bin" to "uboot.env" in post-image.sh
> -changed tar to gzip when archiving sdcard.img
>  .gitlab-ci.yml                     |  1 +
>  DEVELOPERS                         |  1 +
>  board/synopsys/hsdk/genimage.cfg   | 26 +++++++++++++++++++++++++
>  board/synopsys/hsdk/linux.fragment |  2 ++
>  board/synopsys/hsdk/post-image.sh  | 18 ++++++++++++++++++
>  board/synopsys/hsdk/uboot.env.txt  |  9 +++++++++
>  configs/snps_hsdk_defconfig        | 39 ++++++++++++++++++++++++++++++++++++++
>  7 files changed, 96 insertions(+)
>  create mode 100644 board/synopsys/hsdk/genimage.cfg
>  create mode 100644 board/synopsys/hsdk/linux.fragment
>  create mode 100755 board/synopsys/hsdk/post-image.sh
>  create mode 100644 board/synopsys/hsdk/uboot.env.txt
>  create mode 100644 configs/snps_hsdk_defconfig
> 
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index 691669f7f1..00e3879f00 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -215,6 +215,7 @@ snps_arc700_axs101_defconfig: *defconfig
>  snps_archs38_axs103_defconfig: *defconfig
>  snps_archs38_haps_defconfig: *defconfig
>  snps_archs38_vdk_defconfig: *defconfig
> +snps_hsdk_defconfig: *defconfig
>  socrates_cyclone5_defconfig: *defconfig
>  solidrun_macchiatobin_mainline_defconfig: *defconfig
>  solidrun_macchiatobin_marvell_defconfig: *defconfig
> diff --git a/DEVELOPERS b/DEVELOPERS
> index fe989c0775..9a93e423af 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -153,6 +153,7 @@ F:	package/wf111/
>  
>  N:	ARC Maintainers <arc-buildroot at synopsys.com>
>  F:	arch/Config.in.arc
> +F:	board/synopsys
>  
>  N:	Ariel D'Alessandro <ariel at vanguardiasur.com.ar>
>  F:	package/axfsutils/
> diff --git a/board/synopsys/hsdk/genimage.cfg b/board/synopsys/hsdk/genimage.cfg
> new file mode 100644
> index 0000000000..8928f704a2
> --- /dev/null
> +++ b/board/synopsys/hsdk/genimage.cfg
> @@ -0,0 +1,26 @@
> +image boot.vfat {
> +  vfat {
> +    files = {
> +      "uboot.env",
> +      "uImage"
> +    }
> +  }
> +  size = 100M
> +}
> +
> +image sdcard.img {
> +  hdimage {
> +  }
> +
> +  partition boot {
> +    partition-type = 0xC
> +    bootable = "true"
> +    image = "boot.vfat"
> +  }
> +
> +  partition rootfs {
> +    partition-type = 0x83
> +    image = "rootfs.ext4"
> +    size = 1G
> +  }
> +}
> diff --git a/board/synopsys/hsdk/linux.fragment b/board/synopsys/hsdk/linux.fragment
> new file mode 100644
> index 0000000000..53b9305e09
> --- /dev/null
> +++ b/board/synopsys/hsdk/linux.fragment
> @@ -0,0 +1,2 @@
> +CONFIG_INITRAMFS_SOURCE=

should be CONFIG_INITRAMFS_SOURCE=""

> +CONFIG_ARC_UBOOT_SUPPORT=y
> diff --git a/board/synopsys/hsdk/post-image.sh b/board/synopsys/hsdk/post-image.sh
> new file mode 100755
> index 0000000000..e99a4a0b96
> --- /dev/null
> +++ b/board/synopsys/hsdk/post-image.sh
> @@ -0,0 +1,18 @@
> +#!/bin/bash
> +
> +BOARD_DIR="$(dirname $0)"
> +BOARD_NAME="$(basename ${BOARD_DIR})"
> +GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
> +GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
> +rm -rf "${GENIMAGE_TMP}"
> +
> +mv ${BINARIES_DIR}/uboot-env.bin ${BINARIES_DIR}/uboot.env
> +
> +genimage                           \
> +        --rootpath "${TARGET_DIR}"     \
> +        --tmppath "${GENIMAGE_TMP}"    \
> +        --inputpath "${BINARIES_DIR}"  \
> +        --outputpath "${BINARIES_DIR}" \
> +        --config "${GENIMAGE_CFG}"
> +gzip < ${BINARIES_DIR}/sdcard.img > ${BINARIES_DIR}/sdcard.img.gz
> +exit $?
> diff --git a/board/synopsys/hsdk/uboot.env.txt b/board/synopsys/hsdk/uboot.env.txt
> new file mode 100644
> index 0000000000..6bcfb56a77
> --- /dev/null
> +++ b/board/synopsys/hsdk/uboot.env.txt
> @@ -0,0 +1,9 @@
> +baudrate=115200
> +bootargs=console=ttyS3,115200n8 root=/dev/mmcblk0p2 rootwait
> +bootcmd=fatload mmc 0:1; bootm
> +bootdelay=2
> +bootfile=uImage
> +loadaddr=0x82000000
> +stderr=serial0 at f0005000
> +stdin=serial0 at f0005000
> +stdout=serial0 at f0005000
> diff --git a/configs/snps_hsdk_defconfig b/configs/snps_hsdk_defconfig

should be snps_archs38_hsdk_defconfig like for other snps_archs38*_defconfig

With these minor comment

Reviewed-by: Romain Naour <romain.naour at smile.fr>

Best regards,
Romain


> new file mode 100644
> index 0000000000..1f699f5e8c
> --- /dev/null
> +++ b/configs/snps_hsdk_defconfig
> @@ -0,0 +1,39 @@
> +#Architecture
> +BR2_arcle=y
> +BR2_archs38=y
> +
> +#Linux headers
> +BR2_KERNEL_HEADERS_4_14=y
> +
> +#System
> +BR2_TARGET_GENERIC_HOSTNAME="hsdk"
> +BR2_TARGET_GENERIC_ISSUE="Welcome to the HSDK Platform"
> +BR2_SYSTEM_DHCP="eth0"
> +
> +#Kernel
> +BR2_LINUX_KERNEL=y
> +BR2_LINUX_KERNEL_CUSTOM_VERSION=y
> +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14.4"
> +BR2_LINUX_KERNEL_DEFCONFIG="hsdk"
> +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/synopsys/hsdk/linux.fragment"
> +
> +#Filesystem / image
> +BR2_TARGET_ROOTFS_EXT2=y
> +BR2_TARGET_ROOTFS_EXT2_4=y
> +# BR2_TARGET_ROOTFS_TAR is not set
> +BR2_PACKAGE_HOST_DOSFSTOOLS=y
> +BR2_PACKAGE_HOST_GENIMAGE=y
> +BR2_PACKAGE_HOST_MTOOLS=y
> +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/synopsys/hsdk/post-image.sh"
> +
> +#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="hsdk"
> +BR2_TARGET_UBOOT_NEEDS_DTC=y
> +BR2_TARGET_UBOOT_FORMAT_ELF=y
> +BR2_TARGET_UBOOT_ENVIMAGE=y
> +BR2_TARGET_UBOOT_ENVIMAGE_SOURCE="board/synopsys/hsdk/uboot.env.txt"
> +BR2_TARGET_UBOOT_ENVIMAGE_SIZE="0x4000"
> 




More information about the buildroot mailing list