All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2] board: add support for ARC HS Development Kit (HSDK)
@ 2017-12-19 14:55 Evgeniy Didin
  2018-01-17 10:26 ` Evgeniy Didin
                   ` (3 more replies)
  0 siblings, 4 replies; 12+ messages in thread
From: Evgeniy Didin @ 2017-12-19 14:55 UTC (permalink / raw)
  To: buildroot

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@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Alexey Brodkin <abrodkin@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@synopsys.com>
 F:	arch/Config.in.arc
+F:	board/synopsys
 
 N:	Ariel D'Alessandro <ariel@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=
+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
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"
-- 
2.11.0

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

* [Buildroot] [PATCH v2] board: add support for ARC HS Development Kit (HSDK)
  2017-12-19 14:55 [Buildroot] [PATCH v2] board: add support for ARC HS Development Kit (HSDK) Evgeniy Didin
@ 2018-01-17 10:26 ` Evgeniy Didin
  2018-01-31  7:58 ` Alexey Brodkin
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 12+ messages in thread
From: Evgeniy Didin @ 2018-01-17 10:26 UTC (permalink / raw)
  To: buildroot

Hello,

Are there any comments about this one?
Otherwise could you please consider applying that patch.

-Evgeniy

On Tue, 2017-12-19 at 17:55 +0300, Evgeniy Didin wrote:
> 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@synopsys.com>
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Cc: Alexey Brodkin <abrodkin@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@synopsys.com>
> ?F:	arch/Config.in.arc
> +F:	board/synopsys
> ?
> ?N:	Ariel D'Alessandro <ariel@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=
> +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
> 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.fr
> agment"
> +
> +#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"

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

* [Buildroot] [PATCH v2] board: add support for ARC HS Development Kit (HSDK)
  2017-12-19 14:55 [Buildroot] [PATCH v2] board: add support for ARC HS Development Kit (HSDK) Evgeniy Didin
  2018-01-17 10:26 ` Evgeniy Didin
@ 2018-01-31  7:58 ` Alexey Brodkin
  2018-02-07  8:43   ` Alexey Brodkin
  2018-03-31 12:56 ` Romain Naour
  2018-03-31 13:10 ` Thomas Petazzoni
  3 siblings, 1 reply; 12+ messages in thread
From: Alexey Brodkin @ 2018-01-31  7:58 UTC (permalink / raw)
  To: buildroot

Hello,

On Tue, 2017-12-19 at 17:55 +0300, Evgeniy Didin wrote:
> 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@synopsys.com>
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Cc: Alexey Brodkin <abrodkin@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

I'm worried if we can make it merged before the next Buildroot
release. Any comments [except probably requirement to rebase as 
it's been more than a month since v2 was posted] or/and suggestions on
this one?

-Alexey

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

* [Buildroot] [PATCH v2] board: add support for ARC HS Development Kit (HSDK)
  2018-01-31  7:58 ` Alexey Brodkin
@ 2018-02-07  8:43   ` Alexey Brodkin
  2018-02-19  7:56     ` Alexey Brodkin
  0 siblings, 1 reply; 12+ messages in thread
From: Alexey Brodkin @ 2018-02-07  8:43 UTC (permalink / raw)
  To: buildroot

Hi Thomas, Peter, Arnout,

On Wed, 2018-01-31 at 10:58 +0300, Alexey Brodkin wrote:
> Hello,
> 
> On Tue, 2017-12-19 at 17:55 +0300, Evgeniy Didin wrote:
> > 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@synopsys.com>
> > Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> > Cc: Alexey Brodkin <abrodkin@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
> 
> I'm worried if we can make it merged before the next Buildroot
> release. Any comments [except probably requirement to rebase as 
> it's been more than a month since v2 was posted] or/and suggestions on
> this one?

Please pardon myself for being that annoying but it looks like 2018.02-rc1
was recently cut and that patch is not there yet.

It would be really cool if we may still get this one merged ASAP so
it becomes a part of the upcoming release.

FWIW the board was now officially released, see 
https://www.synopsys.com/dw/ipdir.php?ds=arc-hs-development-kit
and we're looking forward to have more people working with that
quite capable board.

-Alexey

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

* [Buildroot] [PATCH v2] board: add support for ARC HS Development Kit (HSDK)
  2018-02-07  8:43   ` Alexey Brodkin
@ 2018-02-19  7:56     ` Alexey Brodkin
  2018-03-29 10:58       ` Evgeniy Didin
  0 siblings, 1 reply; 12+ messages in thread
From: Alexey Brodkin @ 2018-02-19  7:56 UTC (permalink / raw)
  To: buildroot

Hi gents,

Most probably this thread somehow slipped through the cracks...
I guess that's already too late for 2018.02 as we're on RC2 already :(

But anyways is there a chance to review/comment on this one?

-Alexey

On Wed, 2018-02-07 at 09:43 +0100, Alexey Brodkin wrote:
> Hi Thomas, Peter, Arnout,
> 
> On Wed, 2018-01-31 at 10:58 +0300, Alexey Brodkin wrote:
> > Hello,
> > 
> > On Tue, 2017-12-19 at 17:55 +0300, Evgeniy Didin wrote:
> > > 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@synopsys.com>
> > > Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> > > Cc: Alexey Brodkin <abrodkin@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
> > 
> > I'm worried if we can make it merged before the next Buildroot
> > release. Any comments [except probably requirement to rebase as 
> > it's been more than a month since v2 was posted] or/and suggestions on
> > this one?
> 
> Please pardon myself for being that annoying but it looks like 2018.02-rc1
> was recently cut and that patch is not there yet.
> 
> It would be really cool if we may still get this one merged ASAP so
> it becomes a part of the upcoming release.
> 
> FWIW the board was now officially released, see 
> https://www.synopsys.com/dw/ipdir.php?ds=arc-hs-development-kit
> and we're looking forward to have more people working with that
> quite capable board.
> 
> -Alexey

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

* [Buildroot] [PATCH v2] board: add support for ARC HS Development Kit (HSDK)
  2018-02-19  7:56     ` Alexey Brodkin
@ 2018-03-29 10:58       ` Evgeniy Didin
  0 siblings, 0 replies; 12+ messages in thread
From: Evgeniy Didin @ 2018-03-29 10:58 UTC (permalink / raw)
  To: buildroot

Hello,

More than 3 months have passed since the second version of patch was sent and there were no??any response/comment.
Could you please apply this patch if there is no problems with it?

Best regards,
Evgeniy Didin

On Mon, 2018-02-19 at 07:56 +0000, Alexey Brodkin wrote:
> Hi gents,
> 
> Most probably this thread somehow slipped through the cracks...
> I guess that's already too late for 2018.02 as we're on RC2 already :(
> 
> But anyways is there a chance to review/comment on this one?
> 
> -Alexey
> 
> On Wed, 2018-02-07 at 09:43 +0100, Alexey Brodkin wrote:
> > Hi Thomas, Peter, Arnout,
> > 
> > On Wed, 2018-01-31 at 10:58 +0300, Alexey Brodkin wrote:
> > > Hello,
> > > 
> > > On Tue, 2017-12-19 at 17:55 +0300, Evgeniy Didin wrote:
> > > > 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@synopsys.com>
> > > > Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> > > > Cc: Alexey Brodkin <abrodkin@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
> > > 
> > > I'm worried if we can make it merged before the next Buildroot
> > > release. Any comments [except probably requirement to rebase as?
> > > it's been more than a month since v2 was posted] or/and suggestions on
> > > this one?
> > 
> > Please pardon myself for being that annoying but it looks like 2018.02-rc1
> > was recently cut and that patch is not there yet.
> > 
> > It would be really cool if we may still get this one merged ASAP so
> > it becomes a part of the upcoming release.
> > 
> > FWIW the board was now officially released, see?
> > https://www.synopsys.com/dw/ipdir.php?ds=arc-hs-development-kit
> > and we're looking forward to have more people working with that
> > quite capable board.
> > 
> > -Alexey

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

* [Buildroot] [PATCH v2] board: add support for ARC HS Development Kit (HSDK)
  2017-12-19 14:55 [Buildroot] [PATCH v2] board: add support for ARC HS Development Kit (HSDK) Evgeniy Didin
  2018-01-17 10:26 ` Evgeniy Didin
  2018-01-31  7:58 ` Alexey Brodkin
@ 2018-03-31 12:56 ` Romain Naour
  2018-03-31 13:25   ` Arnout Vandecappelle
  2018-03-31 13:10 ` Thomas Petazzoni
  3 siblings, 1 reply; 12+ messages in thread
From: Romain Naour @ 2018-03-31 12:56 UTC (permalink / raw)
  To: buildroot

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@synopsys.com>
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Cc: Alexey Brodkin <abrodkin@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@synopsys.com>
>  F:	arch/Config.in.arc
> +F:	board/synopsys
>  
>  N:	Ariel D'Alessandro <ariel@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@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"
> 

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

* [Buildroot] [PATCH v2] board: add support for ARC HS Development Kit (HSDK)
  2017-12-19 14:55 [Buildroot] [PATCH v2] board: add support for ARC HS Development Kit (HSDK) Evgeniy Didin
                   ` (2 preceding siblings ...)
  2018-03-31 12:56 ` Romain Naour
@ 2018-03-31 13:10 ` Thomas Petazzoni
  2018-03-31 14:06   ` Peter Korsgaard
  3 siblings, 1 reply; 12+ messages in thread
From: Thomas Petazzoni @ 2018-03-31 13:10 UTC (permalink / raw)
  To: buildroot

Hello,

On Tue, 19 Dec 2017 17:55:54 +0300, Evgeniy Didin wrote:

> 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

This rename can be done by the genimage.cfg file.

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

And we don't need to generate a compressed SD card image.

With those two changes, the common support/scripts/genimage.sh script
can be used.

I think Peter will fix this up when applying.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

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

* [Buildroot] [PATCH v2] board: add support for ARC HS Development Kit (HSDK)
  2018-03-31 12:56 ` Romain Naour
@ 2018-03-31 13:25   ` Arnout Vandecappelle
  2018-04-02 15:28     ` Alexey Brodkin
  0 siblings, 1 reply; 12+ messages in thread
From: Arnout Vandecappelle @ 2018-03-31 13:25 UTC (permalink / raw)
  To: buildroot

 I have a few more comments... Sorry it took so long to get any review at all,
but we have a really long patch backlog...

On 31-03-18 14:56, Romain Naour wrote:
> 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.

 And why is this needed?

>>
>> Signed-off-by: Evgeniy Didin <didin@synopsys.com>
>> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
>> Cc: Alexey Brodkin <abrodkin@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 +++++++++

 Please also add a readme.txt, cfr. vdk. Yes, it can be extremely simple in this
case.

>>  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@synopsys.com>
>>  F:	arch/Config.in.arc
>> +F:	board/synopsys

 Please add a / in the end like is done for (most) other directories.

>>  
>>  N:	Ariel D'Alessandro <ariel@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

 Does it really need to be that large? Making this partition large means that
also the sdcard.img will be large, which means it takes longer to dd it to an
actual SD card.

>> +}
>> +
>> +image sdcard.img {
>> +  hdimage {
>> +  }
>> +
>> +  partition boot {
>> +    partition-type = 0xC
>> +    bootable = "true"
>> +    image = "boot.vfat"
>> +  }
>> +
>> +  partition rootfs {
>> +    partition-type = 0x83
>> +    image = "rootfs.ext4"
>> +    size = 1G

 I would remove the size = 1G as well. genimage will infer the partition size
from the size of rootfs.ext4, which is fine. Putting an explicit size here which
is different from BR2_TARGET_ROOTFS_EXT2_SIZE is pointless I think. Yes, you can
use resize2fs to use the full partition size - but then you probably want to
also repartition and use the full SD card size.

 I understand that all the other genimage.cfg files we have in Buildroot do
specify a size (though normally only 512M), but I think we should change that.

 Can you try leaving it out and see if that works for you?

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

 Please use support/scripts/genimage.sh directly as BR2_ROOTFS_POST_IMAGE_SCRIPT.

>> +gzip < ${BINARIES_DIR}/sdcard.img > ${BINARIES_DIR}/sdcard.img.gz

 I don't think we should do this. If you don't use those huge sizes, the image
size isn't that large anyway :-).

>> +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@smile.fr>
> 
> Best regards,
> Romain
> 
> 
>> new file mode 100644
>> index 0000000000..1f699f5e8c
>> --- /dev/null
>> +++ b/configs/snps_hsdk_defconfig
>> @@ -0,0 +1,39 @@
>> +#Architecture

 Good that you have comments here, but please add a space after #.


 Regards,
 Arnout


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


-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

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

* [Buildroot] [PATCH v2] board: add support for ARC HS Development Kit (HSDK)
  2018-03-31 13:10 ` Thomas Petazzoni
@ 2018-03-31 14:06   ` Peter Korsgaard
  0 siblings, 0 replies; 12+ messages in thread
From: Peter Korsgaard @ 2018-03-31 14:06 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@bootlin.com> writes:

 > Hello,
 > On Tue, 19 Dec 2017 17:55:54 +0300, Evgeniy Didin wrote:

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

 > This rename can be done by the genimage.cfg file.

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

 > And we don't need to generate a compressed SD card image.

 > With those two changes, the common support/scripts/genimage.sh script
 > can be used.

 > I think Peter will fix this up when applying.

Correct. Applied with the following changes:

- Renamed defconfig to snps_archs38_hsdk_defconfig
- Fix comments in defconfig
- Added defconfig to DEVELOPERS and fixup board/synopsys entry
- Drop postimage script, rename env file in genimage.cfg and drop size
  setting for rootfs partition
- Add "" for CONFIG_INITRAMFS_SOURCE in linux fragment

It would be good if you could add a followup patch adding a readme.txt
and update DEVELOPERS with the other snps defconfigs.

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH v2] board: add support for ARC HS Development Kit (HSDK)
  2018-03-31 13:25   ` Arnout Vandecappelle
@ 2018-04-02 15:28     ` Alexey Brodkin
  2018-04-02 20:27       ` Arnout Vandecappelle
  0 siblings, 1 reply; 12+ messages in thread
From: Alexey Brodkin @ 2018-04-02 15:28 UTC (permalink / raw)
  To: buildroot

Hi Arnout,

On Sat, 2018-03-31 at 15:25 +0200, Arnout Vandecappelle wrote:
>  I have a few more comments... Sorry it took so long to get any review at all,
> but we have a really long patch backlog...
> 
> On 31-03-18 14:56, Romain Naour wrote:
> > 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.
> 
>  And why is this needed?

We use core registers to pass 2 important pieces of information from
U-boot to the Linux kernel.

1. R0 - There's a payload passed to the kernel
      =1 - bootargs are passed
      =2 - .dtb is passed

2. R2 - Address where mentioned above payload is stored

And if we use U-Boot there should be no problem because
R0 is guaranteed to be set to either 1 or 2 which we then check in the kernel
and R2 containing an address is checked for having sane address.

But if u-Boot is not used:
 - Linux kernel is loaded via JTAG
 - Linux kernel is loaded by some other pre-bootloader
those regs might contain bogus values causing us unpredictable
issues.

> > > 
> > > Signed-off-by: Evgeniy Didin <didin@synopsys.com>
> > > Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> > > Cc: Alexey Brodkin <abrodkin@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 +++++++++
> 
>  Please also add a readme.txt, cfr. vdk.

readme.txt is understood but what are "cfr. vdk."?

> > >  
> > >  N:	Ariel D'Alessandro <ariel@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
> 
>  Does it really need to be that large? Making this partition large means that
> also the sdcard.img will be large, which means it takes longer to dd it to an
> actual SD card.

Well 100 Mb is not that much and with write speed ~20Mb/sec it's still tolerable.
But in the same time it leaves as an ability to put more things to that partition.
Like other uImages etc. Indeed if that was a production image we'd only expect fixed
and predefined stuff to be put there and say 10Mb would be just ok. But that vanilla
Buildroot config is just a good starting point for people to play with the board.

The only downside here is larger sdcard.img which if not compressed is not that
convenient for sharing thus we wanted to compress it.

> > > +}
> > > +
> > > +image sdcard.img {
> > > +  hdimage {
> > > +  }
> > > +
> > > +  partition boot {
> > > +    partition-type = 0xC
> > > +    bootable = "true"
> > > +    image = "boot.vfat"
> > > +  }
> > > +
> > > +  partition rootfs {
> > > +    partition-type = 0x83
> > > +    image = "rootfs.ext4"
> > > +    size = 1G
> 
>  I would remove the size = 1G as well. genimage will infer the partition size
> from the size of rootfs.ext4, which is fine. Putting an explicit size here which
> is different from BR2_TARGET_ROOTFS_EXT2_SIZE is pointless I think. Yes, you can
> use resize2fs to use the full partition size - but then you probably want to
> also repartition and use the full SD card size.
> 
>  I understand that all the other genimage.cfg files we have in Buildroot do
> specify a size (though normally only 512M), but I think we should change that.

Agree, that sounds good.

>  Can you try leaving it out and see if that works for you?

It works as expected!

-Alexey

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

* [Buildroot] [PATCH v2] board: add support for ARC HS Development Kit (HSDK)
  2018-04-02 15:28     ` Alexey Brodkin
@ 2018-04-02 20:27       ` Arnout Vandecappelle
  0 siblings, 0 replies; 12+ messages in thread
From: Arnout Vandecappelle @ 2018-04-02 20:27 UTC (permalink / raw)
  To: buildroot



On 02-04-18 17:28, Alexey Brodkin wrote:
> Hi Arnout,
> 
> On Sat, 2018-03-31 at 15:25 +0200, Arnout Vandecappelle wrote:
>>  I have a few more comments... Sorry it took so long to get any review at all,
>> but we have a really long patch backlog...
>>
>> On 31-03-18 14:56, Romain Naour wrote:
>>> Hi Evgeniy,
>>>
>>> Le 19/12/2017 ? 15:55, Evgeniy Didin a ?crit :

[snip]
>>>>  .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 +++++++++
>>
>>  Please also add a readme.txt, cfr. vdk.
> 
> readme.txt is understood but what are "cfr. vdk."?

 There is another "board" in board/synopsys/vdk that has a proper readme.txt.
Since it's under board/synopsys, I assumed you guys were aware of it. I didn't
realize that it was an ARM simulator, not a real board.

>>>>  N:	Ariel D'Alessandro <ariel@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
>>
>>  Does it really need to be that large? Making this partition large means that
>> also the sdcard.img will be large, which means it takes longer to dd it to an
>> actual SD card.
> 
> Well 100 Mb is not that much and with write speed ~20Mb/sec it's still tolerable.

 You mean I should buy faster SD cards than the 1.4MB/s cards I typically use? :-)

> But in the same time it leaves as an ability to put more things to that partition.
> Like other uImages etc. Indeed if that was a production image we'd only expect fixed
> and predefined stuff to be put there and say 10Mb would be just ok. But that vanilla
> Buildroot config is just a good starting point for people to play with the board.

 IMO 100MB is total overkill. A kernel shouldn't grow much over 5MB (definitely
not in the buildroot context) and you don't need 20 different ones, do you?
Looking at other boards, 20-30MB is more typical.

 That said, I'm not going to block the patch over this thing :-).

 Regards,
 Arnout

> 
> The only downside here is larger sdcard.img which if not compressed is not that
> convenient for sharing thus we wanted to compress it.
> 
[snip]

-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

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

end of thread, other threads:[~2018-04-02 20:27 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-12-19 14:55 [Buildroot] [PATCH v2] board: add support for ARC HS Development Kit (HSDK) Evgeniy Didin
2018-01-17 10:26 ` Evgeniy Didin
2018-01-31  7:58 ` Alexey Brodkin
2018-02-07  8:43   ` Alexey Brodkin
2018-02-19  7:56     ` Alexey Brodkin
2018-03-29 10:58       ` Evgeniy Didin
2018-03-31 12:56 ` Romain Naour
2018-03-31 13:25   ` Arnout Vandecappelle
2018-04-02 15:28     ` Alexey Brodkin
2018-04-02 20:27       ` Arnout Vandecappelle
2018-03-31 13:10 ` Thomas Petazzoni
2018-03-31 14:06   ` Peter Korsgaard

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.