Message ID | 20171219145554.17718-1-didin@synopsys.com |
---|---|
State | Accepted |
Commit | 7f430a4e87970d275af087d4fefcf15fa92778f9 |
Headers | show |
Series | [v2] board: add support for ARC HS Development Kit (HSDK) | expand |
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@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@f0005000 > +stdin=serial0@f0005000 > +stdout=serial0@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"
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@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
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@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
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@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
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@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
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@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@f0005000 > +stdin=serial0@f0005000 > +stdout=serial0@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" >
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
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@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@f0005000 >> +stdin=serial0@f0005000 >> +stdout=serial0@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"
>>>>> "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.
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@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
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]
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@f0005000 +stdin=serial0@f0005000 +stdout=serial0@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"
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@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