diff mbox series

board: friendlyarm: Add initial support forNanoPc T4

Message ID 20190516075010.14219-1-shyam.saini@amarulasolutions.com
State Changes Requested
Headers show
Series board: friendlyarm: Add initial support forNanoPc T4 | expand

Commit Message

Shyam Saini May 16, 2019, 7:50 a.m. UTC
This initial support includes:
	Linux 5.1-rc1
	Custom U-Boot
	Arm Trusted Firmware v2.0
	Buildroot default packages

Signed-off-by: Shyam Saini <shyam.saini@amarulasolutions.com>
---
 .gitlab-ci.yml                            |  1 +
 DEVELOPERS                                |  2 ++
 board/friendlyarm/nanopc-t4/extlinux.conf |  4 +++
 board/friendlyarm/nanopc-t4/genimage.cfg  | 22 +++++++++++++
 board/friendlyarm/nanopc-t4/post-build.sh |  8 +++++
 board/friendlyarm/nanopc-t4/readme.txt    | 46 ++++++++++++++++++++++++++
 configs/nanopc_t4_defconfig               | 55 +++++++++++++++++++++++++++++++
 7 files changed, 138 insertions(+)
 create mode 100644 board/friendlyarm/nanopc-t4/extlinux.conf
 create mode 100644 board/friendlyarm/nanopc-t4/genimage.cfg
 create mode 100755 board/friendlyarm/nanopc-t4/post-build.sh
 create mode 100644 board/friendlyarm/nanopc-t4/readme.txt
 create mode 100644 configs/nanopc_t4_defconfig

Comments

Thomas Petazzoni May 16, 2019, 1:26 p.m. UTC | #1
Hello,

On Thu, 16 May 2019 13:20:10 +0530
Shyam Saini <shyam.saini@amarulasolutions.com> wrote:

> This initial support includes:
> 	Linux 5.1-rc1

Why not use the final 5.1 release ?

> diff --git a/DEVELOPERS b/DEVELOPERS
> index e4a089e6f5..ec1dde20e7 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -2048,6 +2048,8 @@ F:     board/orangepi/orangepi-rk3399/
>  F:     configs/orangepi_rk3399_defconfig
>  F:	board/olimex/a33_olinuxino/
>  F:	configs/olimex_a33_olinuxino_defconfig
> +F:	board/friendlyarm/nanopc-t4/
> +F:	configs/nanopc_t4_defconfig

Alphabetic ordering is preferred.


> +Files created in output directory
> +=================================
> +output/images/

One empty line to separate the section title from the section contents
would be nice.

> +├── bl31.bin
> +├── bl31.elf
> +├── Image
> +├── rk3399-nanopc-t4.dtb
> +├── rootfs.ext2
> +├── rootfs.ext4 -> rootfs.ext2
> +├── rootfs.tar
> +├── sdcard.img
> +├── u-boot.bin
> +├── u-boot.itb
> +├── u-boot-spl-dtb.bin
> +└── u-boot-spl-dtb.img
> +
> +Creating bootable SD card:
> +=========================
> +
> +Simply invoke (as root)
> +
> +  # dd if=output/images/sdcard.img of=/dev/sdX && sync
> +
> +Where X is your SD card device
> +
> +Serial console
> +--------------

Ditto.

> diff --git a/configs/nanopc_t4_defconfig b/configs/nanopc_t4_defconfig
> new file mode 100644
> index 0000000000..a55b754d0f
> --- /dev/null
> +++ b/configs/nanopc_t4_defconfig
> @@ -0,0 +1,55 @@
> +# Architecture
> +BR2_aarch64=y
> +BR2_cortex_a72_a53=y
> +
> +# Linux headers same as kernel, a 5.0 series
> +BR2_KERNEL_HEADERS_5_0=y

So 5_1 preferably.

> +#Firmware

Space before firmware, for consistency.

> +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://github.com/ARM-software/arm-trusted-firmware"
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="v2.0"
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="rk3399"
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y
> +
> +# Bootloader
> +BR2_TARGET_UBOOT=y
> +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
> +BR2_TARGET_UBOOT_CUSTOM_GIT=y
> +BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/amarula/u-boot-amarula.git"
> +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="980ca75ae0438b4a1847d044605c492f3c844f88"
> +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nanopc-t4-rk3399"
> +BR2_TARGET_UBOOT_NEEDS_DTC=y
> +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
> +BR2_TARGET_UBOOT_NEEDS_PYELFTOOLS=y
> +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y
> +BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF=y
> +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
> +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.itb"
> +BR2_TARGET_UBOOT_SPL=y
> +BR2_TARGET_UBOOT_SPL_NAME="spl/u-boot-spl-dtb.bin"
> +
> +# Kernel
> +BR2_LINUX_KERNEL=y
> +BR2_LINUX_KERNEL_CUSTOM_VERSION=y
> +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="v5.1-rc1"
> +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
> +BR2_LINUX_KERNEL_DTS_SUPPORT=y
> +BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3399-nanopc-t4"
> +BR2_LINUX_KERNEL_INSTALL_TARGET=y
> +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
> +
> +# Filesystem
> +BR2_TARGET_GENERIC_HOSTNAME="NanoPc T4"
> +BR2_TARGET_GENERIC_ISSUE="Welcome to NanoPc T4!"
> +BR2_TARGET_ROOTFS_EXT2=y
> +BR2_TARGET_ROOTFS_EXT2_4=y
> +BR2_TARGET_ROOTFS_EXT2_SIZE="512M"
> +BR2_PACKAGE_HOST_DOSFSTOOLS=y
> +BR2_PACKAGE_HOST_GENIMAGE=y
> +BR2_PACKAGE_HOST_MTOOLS=y
> +BR2_PACKAGE_HOST_UBOOT_TOOLS=y
> +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
> +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/friendlyarm/nanopc-t4/genimage.cfg"
> +BR2_ROOTFS_POST_BUILD_SCRIPT="board/friendlyarm/nanopc-t4/post-build.sh"

Thanks!

Thomas
Shyam Saini May 20, 2019, 10:18 a.m. UTC | #2
> Hello,

Hi Thomas,

>
> On Thu, 16 May 2019 13:20:10 +0530
> Shyam Saini <shyam.saini@amarulasolutions.com> wrote:
>
> > This initial support includes:
> >       Linux 5.1-rc1
>
> Why not use the final 5.1 release ?

will update this
> > diff --git a/DEVELOPERS b/DEVELOPERS
> > index e4a089e6f5..ec1dde20e7 100644
> > --- a/DEVELOPERS
> > +++ b/DEVELOPERS
> > @@ -2048,6 +2048,8 @@ F:     board/orangepi/orangepi-rk3399/
> >  F:     configs/orangepi_rk3399_defconfig
> >  F:   board/olimex/a33_olinuxino/
> >  F:   configs/olimex_a33_olinuxino_defconfig
> > +F:   board/friendlyarm/nanopc-t4/
> > +F:   configs/nanopc_t4_defconfig
>
> Alphabetic ordering is preferred.

should i resend all the patches again for this ?
or I should take care of this thing from this patch onward ?

>
> > +Files created in output directory
> > +=================================
> > +output/images/
>
> One empty line to separate the section title from the section contents
> would be nice.
>
> > +├── bl31.bin
> > +├── bl31.elf
> > +├── Image
> > +├── rk3399-nanopc-t4.dtb
> > +├── rootfs.ext2
> > +├── rootfs.ext4 -> rootfs.ext2
> > +├── rootfs.tar
> > +├── sdcard.img
> > +├── u-boot.bin
> > +├── u-boot.itb
> > +├── u-boot-spl-dtb.bin
> > +└── u-boot-spl-dtb.img
> > +
> > +Creating bootable SD card:
> > +=========================
> > +
> > +Simply invoke (as root)
> > +
> > +  # dd if=output/images/sdcard.img of=/dev/sdX && sync
> > +
> > +Where X is your SD card device
> > +
> > +Serial console
> > +--------------
>
> Ditto.
>
> > diff --git a/configs/nanopc_t4_defconfig b/configs/nanopc_t4_defconfig
> > new file mode 100644
> > index 0000000000..a55b754d0f
> > --- /dev/null
> > +++ b/configs/nanopc_t4_defconfig
> > @@ -0,0 +1,55 @@
> > +# Architecture
> > +BR2_aarch64=y
> > +BR2_cortex_a72_a53=y
> > +
> > +# Linux headers same as kernel, a 5.0 series
> > +BR2_KERNEL_HEADERS_5_0=y
>
> So 5_1 preferably.
>
> > +#Firmware
>
> Space before firmware, for consistency.

I'll fix all these things in next version

Thanks for the review.
Thomas Petazzoni May 20, 2019, 12:07 p.m. UTC | #3
Hello,

On Mon, 20 May 2019 15:48:42 +0530
Shyam Saini <shyam.saini@amarulasolutions.com> wrote:

> > Why not use the final 5.1 release ?  
> 
> will update this

OK, thanks.

> > Alphabetic ordering is preferred.  
> 
> should i resend all the patches again for this ?
> or I should take care of this thing from this patch onward ?

Since you are going to send a new version to use the final 5.1 release,
you can fix the alphabetic ordering at the same time.

If you're talking about other patches than this one, then please don't
resend just for the alphabetic ordering.

Best regards,

Thomas
diff mbox series

Patch

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 5b842762f1..5ed1b8f4d5 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -176,6 +176,7 @@  mx53loco_defconfig: { extends: .defconfig }
 mx6cubox_defconfig: { extends: .defconfig }
 mx6sx_udoo_neo_defconfig: { extends: .defconfig }
 mx6udoo_defconfig: { extends: .defconfig }
+nanopc_t4_defconfig: { extends: .defconfig }
 nanopi_m1_defconfig: { extends: .defconfig }
 nanopi_m1_plus_defconfig: { extends: .defconfig }
 nanopi_m4_defconfig: { extends: .defconfig }
diff --git a/DEVELOPERS b/DEVELOPERS
index e4a089e6f5..ec1dde20e7 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -2048,6 +2048,8 @@  F:     board/orangepi/orangepi-rk3399/
 F:     configs/orangepi_rk3399_defconfig
 F:	board/olimex/a33_olinuxino/
 F:	configs/olimex_a33_olinuxino_defconfig
+F:	board/friendlyarm/nanopc-t4/
+F:	configs/nanopc_t4_defconfig
 
 N:	Simon Dawson <spdawson@gmail.com>
 F:	boot/at91bootstrap3/
diff --git a/board/friendlyarm/nanopc-t4/extlinux.conf b/board/friendlyarm/nanopc-t4/extlinux.conf
new file mode 100644
index 0000000000..b09c20db84
--- /dev/null
+++ b/board/friendlyarm/nanopc-t4/extlinux.conf
@@ -0,0 +1,4 @@ 
+label NanoPc T4
+  kernel /boot/Image
+  devicetree /boot/rk3399-nanopc-t4.dtb
+  append earlycon=uart8250,mmio32,0xff1a0000 root=/dev/mmcblk1p1 rootwait
diff --git a/board/friendlyarm/nanopc-t4/genimage.cfg b/board/friendlyarm/nanopc-t4/genimage.cfg
new file mode 100644
index 0000000000..6404b0ad3b
--- /dev/null
+++ b/board/friendlyarm/nanopc-t4/genimage.cfg
@@ -0,0 +1,22 @@ 
+image sdcard.img {
+	hdimage {
+	}
+
+	partition u-boot-spl-dtb {
+		in-partition-table = "no"
+		image = "u-boot-spl-dtb.img"
+		offset = 32K
+	}
+
+	partition u-boot-dtb {
+		in-partition-table = "no"
+		image = "u-boot.itb"
+		offset = 8M
+		size = 30M
+	}
+
+	partition rootfs {
+		partition-type = 0x83
+		image = "rootfs.ext4"
+	}
+}
diff --git a/board/friendlyarm/nanopc-t4/post-build.sh b/board/friendlyarm/nanopc-t4/post-build.sh
new file mode 100755
index 0000000000..9b0c4ecc83
--- /dev/null
+++ b/board/friendlyarm/nanopc-t4/post-build.sh
@@ -0,0 +1,8 @@ 
+#!/bin/sh
+
+MKIMAGE=$HOST_DIR/bin/mkimage
+BOARD_DIR="$(dirname $0)"
+
+$MKIMAGE -n rk3399 -T rksd -d $BINARIES_DIR/u-boot-spl-dtb.bin $BINARIES_DIR/u-boot-spl-dtb.img
+
+install -m 0644 -D $BOARD_DIR/extlinux.conf $TARGET_DIR/boot/extlinux/extlinux.conf
diff --git a/board/friendlyarm/nanopc-t4/readme.txt b/board/friendlyarm/nanopc-t4/readme.txt
new file mode 100644
index 0000000000..4f5b150bc3
--- /dev/null
+++ b/board/friendlyarm/nanopc-t4/readme.txt
@@ -0,0 +1,46 @@ 
+Intro
+=====
+
+NanoPc T4 is a RK3399 SoC based ARM board.
+
+Official Wiki: http://wiki.friendlyarm.com/wiki/index.php/NanoPC-T4
+
+Build
+=====
+
+Run NanoPc T4 configuration
+
+  $ make nanopc_t4_defconfig
+
+To build, run make comamnd.
+
+  $ make
+
+Files created in output directory
+=================================
+output/images/
+├── bl31.bin
+├── bl31.elf
+├── Image
+├── rk3399-nanopc-t4.dtb
+├── rootfs.ext2
+├── rootfs.ext4 -> rootfs.ext2
+├── rootfs.tar
+├── sdcard.img
+├── u-boot.bin
+├── u-boot.itb
+├── u-boot-spl-dtb.bin
+└── u-boot-spl-dtb.img
+
+Creating bootable SD card:
+=========================
+
+Simply invoke (as root)
+
+  # dd if=output/images/sdcard.img of=/dev/sdX && sync
+
+Where X is your SD card device
+
+Serial console
+--------------
+Baudrate for this board is 1500000
diff --git a/configs/nanopc_t4_defconfig b/configs/nanopc_t4_defconfig
new file mode 100644
index 0000000000..a55b754d0f
--- /dev/null
+++ b/configs/nanopc_t4_defconfig
@@ -0,0 +1,55 @@ 
+# Architecture
+BR2_aarch64=y
+BR2_cortex_a72_a53=y
+
+# Linux headers same as kernel, a 5.0 series
+BR2_KERNEL_HEADERS_5_0=y
+
+#Firmware
+BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://github.com/ARM-software/arm-trusted-firmware"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="v2.0"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="rk3399"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y
+
+# Bootloader
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
+BR2_TARGET_UBOOT_CUSTOM_GIT=y
+BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/amarula/u-boot-amarula.git"
+BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="980ca75ae0438b4a1847d044605c492f3c844f88"
+BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nanopc-t4-rk3399"
+BR2_TARGET_UBOOT_NEEDS_DTC=y
+BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
+BR2_TARGET_UBOOT_NEEDS_PYELFTOOLS=y
+BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y
+BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF=y
+BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
+BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.itb"
+BR2_TARGET_UBOOT_SPL=y
+BR2_TARGET_UBOOT_SPL_NAME="spl/u-boot-spl-dtb.bin"
+
+# Kernel
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="v5.1-rc1"
+BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3399-nanopc-t4"
+BR2_LINUX_KERNEL_INSTALL_TARGET=y
+BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
+
+# Filesystem
+BR2_TARGET_GENERIC_HOSTNAME="NanoPc T4"
+BR2_TARGET_GENERIC_ISSUE="Welcome to NanoPc T4!"
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+BR2_TARGET_ROOTFS_EXT2_SIZE="512M"
+BR2_PACKAGE_HOST_DOSFSTOOLS=y
+BR2_PACKAGE_HOST_GENIMAGE=y
+BR2_PACKAGE_HOST_MTOOLS=y
+BR2_PACKAGE_HOST_UBOOT_TOOLS=y
+BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
+BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/friendlyarm/nanopc-t4/genimage.cfg"
+BR2_ROOTFS_POST_BUILD_SCRIPT="board/friendlyarm/nanopc-t4/post-build.sh"