<div dir="ltr"><div>Hi Thomas and Buildroot Team,<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jul 17, 2020 at 5:20 PM Suniel Mahesh <<a href="mailto:sunil@amarulasolutions.com">sunil@amarulasolutions.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Add initial support for RK3288 SOM based radxa rockpi-n8<br>
target with below features:<br>
<br>
        - Custom U-Boot 2020.07-rc4<br>
          <a href="https://github.com/amarula/u-boot-amarula.git" rel="noreferrer" target="_blank">https://github.com/amarula/u-boot-amarula.git</a><br>
          commit: "ba120841bf40ebaed049d64bb4f980083a1cf6b7"<br>
        - Custom Linux 5.7.0-rc1<br>
          <a href="https://github.com/amarula/linux-amarula.git" rel="noreferrer" target="_blank">https://github.com/amarula/linux-amarula.git</a><br>
          commit: "5dcb0132685b07beb82065c5d7521e6c555c55b6"<br>
        - GPT partition layout is being used<br>
        - Default packages from buildroot<br>
<br>
Signed-off-by: Suniel Mahesh <<a href="mailto:sunil@amarulasolutions.com" target="_blank">sunil@amarulasolutions.com</a>><br>
---<br>
Changes for v2:<br>
- As suggested by Thomas Pettazonni, replaced custom repo version with<br>
  commit ID for both u-boot and Linux.<br>
- Replaced legacy uImage with zImage<br>
- cleanup's<br>
- Will send a patch with upstream uboot and Linux once the patches are<br>
  merged.<br>
---<br></blockquote><div><br></div><div>Can you please review this patch and suggest for any changes required.</div><div><br></div><div>Regards</div><div>Suniel<br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
 .gitlab-ci.yml                      |  1 +<br>
 DEVELOPERS                          |  2 ++<br>
 board/radxa/rockpi-n8/extlinux.conf |  4 +++<br>
 board/radxa/rockpi-n8/genimage.cfg  | 39 ++++++++++++++++++++++++<br>
 board/radxa/rockpi-n8/post-build.sh |  5 +++<br>
 board/radxa/rockpi-n8/readme.txt    | 61 +++++++++++++++++++++++++++++++++++++<br>
 configs/rock_pi_n8_defconfig        | 46 ++++++++++++++++++++++++++++<br>
 7 files changed, 158 insertions(+)<br>
 create mode 100644 board/radxa/rockpi-n8/extlinux.conf<br>
 create mode 100644 board/radxa/rockpi-n8/genimage.cfg<br>
 create mode 100755 board/radxa/rockpi-n8/post-build.sh<br>
 create mode 100644 board/radxa/rockpi-n8/readme.txt<br>
 create mode 100644 configs/rock_pi_n8_defconfig<br>
<br>
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml<br>
index 673aa8b..6884d43 100644<br>
--- a/.gitlab-ci.yml<br>
+++ b/.gitlab-ci.yml<br>
@@ -323,6 +323,7 @@ riotboard_defconfig: { extends: .defconfig }<br>
 roc_pc_rk3399_defconfig: { extends: .defconfig }<br>
 rock64_defconfig: { extends: .defconfig }<br>
 rock_pi_4_defconfig: { extends: .defconfig }<br>
+rock_pi_n8_defconfig: { extends: .defconfig }<br>
 rock_pi_n10_defconfig: { extends: .defconfig }<br>
 roseapplepi_defconfig: { extends: .defconfig }<br>
 s6lx9_microboard_defconfig: { extends: .defconfig }<br>
diff --git a/DEVELOPERS b/DEVELOPERS<br>
index f91314a..9cf2ac9 100644<br>
--- a/DEVELOPERS<br>
+++ b/DEVELOPERS<br>
@@ -2418,9 +2418,11 @@ F:       package/powertop/<br>
 N:     Suniel Mahesh <<a href="mailto:sunil@amarulasolutions.com" target="_blank">sunil@amarulasolutions.com</a>><br>
 F:     board/firefly/<br>
 F:     board/radxa/rockpi-4<br>
+F:     board/radxa/rockpi-n8<br>
 F:     board/radxa/rockpi-n10<br>
 F:     configs/roc_pc_rk3399_defconfig<br>
 F:     configs/rock_pi_4_defconfig<br>
+F:     configs/rock_pi_n8_defconfig<br>
 F:     configs/rock_pi_n10_defconfig<br>
 F:     package/arm-gnu-a-toolchain/<br>
<br>
diff --git a/board/radxa/rockpi-n8/extlinux.conf b/board/radxa/rockpi-n8/extlinux.conf<br>
new file mode 100644<br>
index 0000000..c323fe1<br>
--- /dev/null<br>
+++ b/board/radxa/rockpi-n8/extlinux.conf<br>
@@ -0,0 +1,4 @@<br>
+label RK3288_ROCKPI_N8 linux<br>
+  kernel /zImage<br>
+  devicetree /rk3288-rock-pi-n8.dtb<br>
+  append console=ttyS2,115200n8 root=/dev/mmcblk0p4 rw rootwait<br>
diff --git a/board/radxa/rockpi-n8/genimage.cfg b/board/radxa/rockpi-n8/genimage.cfg<br>
new file mode 100644<br>
index 0000000..88b55de3<br>
--- /dev/null<br>
+++ b/board/radxa/rockpi-n8/genimage.cfg<br>
@@ -0,0 +1,39 @@<br>
+image boot.vfat {<br>
+       vfat {<br>
+               files = {<br>
+                       "zImage",<br>
+                       "rk3288-rock-pi-n8.dtb",<br>
+                       "extlinux"<br>
+               }<br>
+       }<br>
+       size = 16M<br>
+}<br>
+<br>
+image sdcard.img {<br>
+<br>
+       hdimage {<br>
+               gpt = true<br>
+       }<br>
+<br>
+       partition loader1 {<br>
+               image = "idbloader.img"<br>
+               offset = 32K<br>
+       }<br>
+<br>
+       partition loader2 {<br>
+               image = "u-boot-dtb.img"<br>
+               offset = 8M<br>
+       }<br>
+<br>
+       partition boot {<br>
+               partition-type = 0xC<br>
+               bootable = "true"<br>
+               image = "boot.vfat"<br>
+               offset = 16M<br>
+       }<br>
+<br>
+       partition rootfs {<br>
+               partition-type = 0x83<br>
+               image = "rootfs.ext4"<br>
+       }<br>
+}<br>
diff --git a/board/radxa/rockpi-n8/post-build.sh b/board/radxa/rockpi-n8/post-build.sh<br>
new file mode 100755<br>
index 0000000..ba29375<br>
--- /dev/null<br>
+++ b/board/radxa/rockpi-n8/post-build.sh<br>
@@ -0,0 +1,5 @@<br>
+#!/bin/sh<br>
+<br>
+BOARD_DIR="$(dirname $0)"<br>
+<br>
+install -m 0644 -D $BOARD_DIR/extlinux.conf $BINARIES_DIR/extlinux/extlinux.conf<br>
diff --git a/board/radxa/rockpi-n8/readme.txt b/board/radxa/rockpi-n8/readme.txt<br>
new file mode 100644<br>
index 0000000..ac83d5c<br>
--- /dev/null<br>
+++ b/board/radxa/rockpi-n8/readme.txt<br>
@@ -0,0 +1,61 @@<br>
+RADXA ROCKPI-N8<br>
+================<br>
+<a href="https://wiki.radxa.com/RockpiN8" rel="noreferrer" target="_blank">https://wiki.radxa.com/RockpiN8</a><br>
+<br>
+Build:<br>
+======<br>
+  $ make rock_pi_n8_defconfig<br>
+  $ make<br>
+<br>
+Files created in output directory<br>
+=================================<br>
+<br>
+output/images<br>
+.<br>
+├── boot.vfat<br>
+├── extlinux<br>
+├── idbloader.img<br>
+├── rk3288-rock-pi-n8.dtb<br>
+├── rootfs.ext2<br>
+├── rootfs.ext4 -> rootfs.ext2<br>
+├── rootfs.tar<br>
+├── sdcard.img<br>
+├── u-boot.bin<br>
+├── u-boot-dtb.bin<br>
+├── u-boot-dtb.img<br>
+└── zImage<br>
+<br>
+Creating bootable SD card:<br>
+==========================<br>
+<br>
+Simply invoke (as root)<br>
+<br>
+sudo dd if=output/images/sdcard.img of=/dev/sdX && sync<br>
+<br>
+Where X is your SD card device.<br>
+<br>
+Booting:<br>
+========<br>
+<br>
+Serial console:<br>
+---------------<br>
+RockPi-N8 has a 40-pin GPIO header. The pin layout is as follows:<br>
+<br>
+pin 6:  gnd<br>
+pin 8:  tx<br>
+pin 10: rx<br>
+<br>
+Baudrate for this board is 115200.<br>
+<br>
+The boot order on rockpi-n8 is emmc, sd. If emmc contains a valid Image, the board<br>
+always boots from emmc. To boot from SD, erase emmc as per the guide:<br>
+<br>
+<a href="https://wiki.amarulasolutions.com/bsp/setup/rockchip/rk3399_emmc.html" rel="noreferrer" target="_blank">https://wiki.amarulasolutions.com/bsp/setup/rockchip/rk3399_emmc.html</a><br>
+<br>
+Login:<br>
+------<br>
+Enter 'root' as login user, and the prompt is ready.<br>
+<br>
+wiki link:<br>
+----------<br>
+<a href="https://wiki.amarulasolutions.com/bsp/rockchip/rk3288/rock-pi-n8.html" rel="noreferrer" target="_blank">https://wiki.amarulasolutions.com/bsp/rockchip/rk3288/rock-pi-n8.html</a><br>
diff --git a/configs/rock_pi_n8_defconfig b/configs/rock_pi_n8_defconfig<br>
new file mode 100644<br>
index 0000000..8d6f31d<br>
--- /dev/null<br>
+++ b/configs/rock_pi_n8_defconfig<br>
@@ -0,0 +1,46 @@<br>
+# Architecture<br>
+BR2_arm=y<br>
+BR2_cortex_a17=y<br>
+BR2_ARM_FPU_NEON_VFPV4=y<br>
+<br>
+# Linux headers same as kernel, a 5.7 series<br>
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_7=y<br>
+<br>
+# Bootloader<br>
+BR2_TARGET_UBOOT=y<br>
+BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y<br>
+BR2_TARGET_UBOOT_CUSTOM_GIT=y<br>
+BR2_TARGET_UBOOT_CUSTOM_REPO_URL="<a href="https://github.com/amarula/u-boot-amarula.git" rel="noreferrer" target="_blank">https://github.com/amarula/u-boot-amarula.git</a>"<br>
+BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="ba120841bf40ebaed049d64bb4f980083a1cf6b7"<br>
+BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rock-pi-n8-rk3288"<br>
+BR2_TARGET_UBOOT_NEEDS_DTC=y<br>
+BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y<br>
+BR2_TARGET_UBOOT_NEEDS_OPENSSL=y<br>
+BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y<br>
+BR2_TARGET_UBOOT_FORMAT_DTB_BIN=y<br>
+BR2_TARGET_UBOOT_SPL=y<br>
+BR2_TARGET_UBOOT_SPL_NAME="idbloader.img"<br>
+<br>
+# Kernel<br>
+BR2_LINUX_KERNEL=y<br>
+BR2_LINUX_KERNEL_CUSTOM_GIT=y<br>
+BR2_LINUX_KERNEL_CUSTOM_REPO_URL="<a href="https://github.com/amarula/linux-amarula.git" rel="noreferrer" target="_blank">https://github.com/amarula/linux-amarula.git</a>"<br>
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="5dcb0132685b07beb82065c5d7521e6c555c55b6"<br>
+BR2_LINUX_KERNEL_USE_DEFCONFIG=y<br>
+BR2_LINUX_KERNEL_DEFCONFIG="multi_v7"<br>
+BR2_LINUX_KERNEL_DTS_SUPPORT=y<br>
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="rk3288-rock-pi-n8"<br>
+<br>
+# Filesystem<br>
+BR2_TARGET_GENERIC_HOSTNAME="rockpi-n8"<br>
+BR2_TARGET_GENERIC_ISSUE="Welcome to ROCKPI-N8"<br>
+BR2_TARGET_ROOTFS_EXT2=y<br>
+BR2_TARGET_ROOTFS_EXT2_4=y<br>
+BR2_TARGET_ROOTFS_EXT2_SIZE="64M"<br>
+BR2_PACKAGE_HOST_DOSFSTOOLS=y<br>
+BR2_PACKAGE_HOST_GENIMAGE=y<br>
+BR2_PACKAGE_HOST_MTOOLS=y<br>
+BR2_PACKAGE_HOST_UBOOT_TOOLS=y<br>
+BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"<br>
+BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/radxa/rockpi-n8/genimage.cfg"<br>
+BR2_ROOTFS_POST_BUILD_SCRIPT="board/radxa/rockpi-n8/post-build.sh"<br>
-- <br>
2.7.4<br>
<br>
</blockquote></div></div>