configs/nanopi_neo4: new defconfig
authorMarek Belisko <marek.belisko@open-nandra.com>
Tue, 14 Apr 2020 19:03:29 +0000 (21:03 +0200)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Sat, 18 Apr 2020 16:16:27 +0000 (18:16 +0200)
A defconfig for the nanopi_neo4 was added in
d1cd9cdf269488d6adeb0cc6d2250cf6ffe1b3ed, but then removed in
8af7b11bd8a95bc41e4de46f727f3b0afde465a4 because an ARM32 compiler was
needed to build ATF, and this was not supported back then.

Thanks to the addition of package/arm-gnu-a-toolchain/, we can now
re-introduce this defconfig.

Compared to the previous defconfig, the following changes were done:

- enable BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_ARM32_TOOLCHAIN
- bump kernel to 5.4
- increase default rootfs size to 70M
- use mainline u-boot
- switch to Marek Belisko as maintainer

Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
.gitlab-ci.yml
DEVELOPERS
board/friendlyarm/nanopi-neo4/extlinux.conf [new file with mode: 0644]
board/friendlyarm/nanopi-neo4/genimage.cfg [new file with mode: 0644]
board/friendlyarm/nanopi-neo4/post-build.sh [new file with mode: 0755]
board/friendlyarm/nanopi-neo4/readme.txt [new file with mode: 0644]
configs/nanopi_neo4_defconfig [new file with mode: 0644]

index 43423e543ae66ed71371ac352eab3d8f878f4034..91b497210904286da788e7bf5ab8299559cf00df 100644 (file)
@@ -226,6 +226,7 @@ mx6sx_udoo_neo_defconfig: { extends: .defconfig }
 mx6udoo_defconfig: { extends: .defconfig }
 nanopi_m1_defconfig: { extends: .defconfig }
 nanopi_m1_plus_defconfig: { extends: .defconfig }
+nanopi_neo4_defconfig: { extends: .defconfig }
 nanopi_neo_defconfig: { extends: .defconfig }
 nanopi_r1_defconfig: { extends: .defconfig }
 nexbox_a95x_defconfig: { extends: .defconfig }
index f94d3e4fafb282eaf39d688f4c6045c3d3cd1cf5..c831d9d2d1d635c589bfe8eba038f2f92f72f664 100644 (file)
@@ -1606,6 +1606,8 @@ F:        utils/config
 F:     utils/diffconfig
 
 N:     Marek Belisko <marek.belisko@open-nandra.com>
+F:     board/friendlyarm/nanopi-m4/
+F:     configs/nanopi_neo4_defconfig
 F:     package/libatasmart/
 F:     package/polkit/
 F:     package/sg3_utils/
diff --git a/board/friendlyarm/nanopi-neo4/extlinux.conf b/board/friendlyarm/nanopi-neo4/extlinux.conf
new file mode 100644 (file)
index 0000000..91eef67
--- /dev/null
@@ -0,0 +1,4 @@
+label NanoPi Neo4 linux
+  kernel /boot/Image
+  devicetree /boot/rk3399-nanopi-neo4.dtb
+  append earlycon=uart8250,mmio32,0xff1a0000 root=/dev/mmcblk1p1 rootwait
diff --git a/board/friendlyarm/nanopi-neo4/genimage.cfg b/board/friendlyarm/nanopi-neo4/genimage.cfg
new file mode 100644 (file)
index 0000000..966c869
--- /dev/null
@@ -0,0 +1,22 @@
+image sdcard.img {
+       hdimage {
+       }
+
+       partition u-boot-tpl-spl-dtb {
+               in-partition-table = "no"
+               image = "idbloader.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/nanopi-neo4/post-build.sh b/board/friendlyarm/nanopi-neo4/post-build.sh
new file mode 100755 (executable)
index 0000000..1f5ff6a
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+BOARD_DIR="$(dirname $0)"
+
+install -m 0644 -D $BOARD_DIR/extlinux.conf $TARGET_DIR/boot/extlinux/extlinux.conf
diff --git a/board/friendlyarm/nanopi-neo4/readme.txt b/board/friendlyarm/nanopi-neo4/readme.txt
new file mode 100644 (file)
index 0000000..07e3491
--- /dev/null
@@ -0,0 +1,53 @@
+Intro
+=====
+
+NanoPi Neo4 is a RK3399 SoC based ARM64 board.
+
+
+Official wiki: http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO4
+Mainline wiki: https://wiki.amarulasolutions.com/bsp/rockchip/rk3399/neo4.html
+
+Build
+=====
+
+Run NanoPi Neo4 configuration
+
+  $ make nanopi_neo4_defconfig
+
+To build, run make comamnd.
+
+  $ make
+
+Files created in output directory
+=================================
+
+output/images
+
+├── bl31.bin
+├── bl31.elf
+├── Image
+├── rk3399-nanopi-neo4.dtb
+├── rootfs.ext2
+├── rootfs.ext4 -> rootfs.ext2
+├── rootfs.tar
+├── sdcard.img
+├── u-boot.bin
+├── u-boot.itb
+├── u-boot-spl-dtb.bin
+├── u-boot-tpl-dtb.bin
+├── u-boot-tpl-dtb.img
+└── u-boot-tpl-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/nanopi_neo4_defconfig b/configs/nanopi_neo4_defconfig
new file mode 100644 (file)
index 0000000..6e50723
--- /dev/null
@@ -0,0 +1,56 @@
+# Architecture
+BR2_aarch64=y
+BR2_cortex_a72_a53=y
+
+# Linux headers same as kernel, a 5.4 series
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=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://git.trustedfirmware.org/TF-A/trusted-firmware-a.git"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="11a0a46a899fcc3b1fdb214b382f3d7495d88eca"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="rk3399"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_ARM32_TOOLCHAIN=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES=""
+
+# Bootloader
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
+BR2_TARGET_UBOOT_CUSTOM_VERSION=y
+BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.01"
+BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nanopi-neo4-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="idbloader.img"
+
+# Kernel
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.18"
+BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3399-nanopi-neo4"
+BR2_LINUX_KERNEL_INSTALL_TARGET=y
+BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
+
+# Filesystem
+BR2_TARGET_GENERIC_HOSTNAME="NanoPi Neo4"
+BR2_TARGET_GENERIC_ISSUE="Welcome to NanoPi Neo4!"
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+BR2_TARGET_ROOTFS_EXT2_SIZE="70M"
+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/nanopi-neo4/genimage.cfg"
+BR2_ROOTFS_POST_BUILD_SCRIPT="board/friendlyarm/nanopi-neo4/post-build.sh"