From patchwork Sun May 3 09:11:16 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Suniel Mahesh X-Patchwork-Id: 1281883 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=busybox.net (client-ip=140.211.166.137; helo=fraxinus.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.a=rsa-sha256 header.s=google header.b=ieAq12KR; dkim-atps=neutral Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49FKyB0J3Sz9sRY for ; Sun, 3 May 2020 19:12:33 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id 0384786637; Sun, 3 May 2020 09:12:31 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id okQGL5zAPJk8; Sun, 3 May 2020 09:12:29 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by fraxinus.osuosl.org (Postfix) with ESMTP id 87C918609D; Sun, 3 May 2020 09:12:29 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by ash.osuosl.org (Postfix) with ESMTP id 33DD51BF5A5 for ; Sun, 3 May 2020 09:12:07 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 2FAA1893BC for ; Sun, 3 May 2020 09:12:07 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id I3965RAW-zO9 for ; Sun, 3 May 2020 09:12:05 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from mail-pg1-f194.google.com (mail-pg1-f194.google.com [209.85.215.194]) by hemlock.osuosl.org (Postfix) with ESMTPS id CCC0D893C6 for ; Sun, 3 May 2020 09:12:05 +0000 (UTC) Received: by mail-pg1-f194.google.com with SMTP id s8so7055728pgq.1 for ; Sun, 03 May 2020 02:12:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=wVK7B6cGF1hemFThn9B4+gG255/UUpcV5xbCc/zun4Y=; b=ieAq12KRz4fU3/Gxn5OG0SrIRQ5Z/eAAg1KYZXgdDi0u2JcqSfFr557vl8jJQMfBar r0ZDfh/ZmDL8uacpv47ggi9UBkWjKuGALq66MHk+VITn5zvh5hgSxE7VZAmpp45fXlbf sF21weKq1tmyN0uhuqIla56vKHmxjDzh73vy8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=wVK7B6cGF1hemFThn9B4+gG255/UUpcV5xbCc/zun4Y=; b=gyQwYBJ0J0FOWuN2CJxm8DhvjjY6zUH/DMadFbqgFY3G9gu1Q2U0xSIHGhBvu9/0bj xBCZt9C1XrvMm+WODkoGiYIrZyJqyj24PI4REhsM3Fr+Whp6+aXi3+Ylx/aY485Iwkav DBneWGuNixit8o2vJkZMM71yiWRXijE+sQZyHVFZJ6o//qFQHL6VTW0daohi8qZ+Icw5 lqk5T09Ec8QvdQe+gJLsAf4hjzbL393e7cFwOsWHlVJQ/dPBNdRWvNjq4Kiq8OTu1yiJ wdSpVxkJslDVOBJtoLRt8VcZD3ysb4z8x+ZghLSBiI5lMM7TAq7Dik6UfV4ChpTnVU1O lebQ== X-Gm-Message-State: AGi0PuZu4X/lvJw3O0nmgWxds9tAitDasqol20VCe1Q1RLupIZnqnt1m 0fErtLp93mEhi+dgcUtcqxlQC4dEV4w= X-Google-Smtp-Source: APiQypIZaVXRSvN/vAhPJO1QQNocxcgZsiyfGEsxF0sxh6OYE0zKeGuAZyxnLy8baHtl1rrBb6CQCQ== X-Received: by 2002:a05:6a00:d:: with SMTP id h13mr12535206pfk.254.1588497124965; Sun, 03 May 2020 02:12:04 -0700 (PDT) Received: from localhost.localdomain ([49.204.227.108]) by smtp.gmail.com with ESMTPSA id kb10sm4160023pjb.6.2020.05.03.02.12.02 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 03 May 2020 02:12:04 -0700 (PDT) From: sunil@amarulasolutions.com To: buildroot@buildroot.org, thomas.petazzoni@bootlin.com Date: Sun, 3 May 2020 14:41:16 +0530 Message-Id: <1588497077-27220-2-git-send-email-sunil@amarulasolutions.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1588497077-27220-1-git-send-email-sunil@amarulasolutions.com> References: <20200502233409.4a90d4b2@windsurf.home> <1588497077-27220-1-git-send-email-sunil@amarulasolutions.com> MIME-Version: 1.0 Subject: [Buildroot] [PATCH v2 1/2] configs/rockpro64: new defconfig X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter@korsgaard.com, jagan@amarulasolutions.com, Suniel Mahesh Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" From: Suniel Mahesh A defconfig for the rockpro64 was added in 59e1077b4ebe79622a454b0a8a840e4349a0440d, but then removed in 10f49213b7e2837ae6ed63fc16fbdaa954ecd87f because an ARM32 compiler was needed to build ATF, and this was not supported back then. Now, since package/arm-gnu-a-toolchain/ has been added, this defconfig can be re-introduced. Following new changes are introduced in comparision with the older changeset: - renamed defconfig from pine64_rockpro64 to rockpro64 - updated readme - using a GPT partition layout - update defconfig to build ATF - bump u-boot to 2020.04 - bump linux to 5.4.35 Signed-off-by: Suniel Mahesh --- Changes for v2: - merged this patch @ http://patchwork.ozlabs.org/project/buildroot/list/?series=174156 into this series. - change contact for just only rockpro64. - As suggested by Thomas Pettazzoni, rk3399 targets does not need pylibfdt or pyelftools, but only a host Python interpreter. Remove them and add python, python3 in defconfig. --- .gitlab-ci.yml | 1 + DEVELOPERS | 2 ++ board/pine64/rockpro64/extlinux.conf | 4 +++ board/pine64/rockpro64/genimage.cfg | 39 +++++++++++++++++++++++ board/pine64/rockpro64/post-build.sh | 5 +++ board/pine64/rockpro64/readme.txt | 60 ++++++++++++++++++++++++++++++++++++ configs/rockpro64_defconfig | 56 +++++++++++++++++++++++++++++++++ 7 files changed, 167 insertions(+) create mode 100644 board/pine64/rockpro64/extlinux.conf create mode 100644 board/pine64/rockpro64/genimage.cfg create mode 100755 board/pine64/rockpro64/post-build.sh create mode 100644 board/pine64/rockpro64/readme.txt create mode 100644 configs/rockpro64_defconfig diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index fa8e077..32c3247 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -318,6 +318,7 @@ raspberrypi_defconfig: { extends: .defconfig } riotboard_defconfig: { extends: .defconfig } roc_pc_rk3399_defconfig: { extends: .defconfig } rock64_defconfig: { extends: .defconfig } +rockpro64_defconfig: { extends: .defconfig } roseapplepi_defconfig: { extends: .defconfig } s6lx9_microboard_defconfig: { extends: .defconfig } sheevaplug_defconfig: { extends: .defconfig } diff --git a/DEVELOPERS b/DEVELOPERS index e427ab1..2b562d5 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -2425,7 +2425,9 @@ F: package/powertop/ N: Suniel Mahesh F: board/firefly/ +F: board/pine64/rockpro64 F: configs/roc_pc_rk3399_defconfig +F: configs/rockpro64_defconfig F: package/arm-gnu-a-toolchain/ N: Sven Haardiek diff --git a/board/pine64/rockpro64/extlinux.conf b/board/pine64/rockpro64/extlinux.conf new file mode 100644 index 0000000..ea081a1 --- /dev/null +++ b/board/pine64/rockpro64/extlinux.conf @@ -0,0 +1,4 @@ +label RK3399_ROCKPRO64 linux + kernel /Image + devicetree /rk3399-rockpro64.dtb + append earlycon=uart8250,mmio32,0xff1a0000 root=/dev/mmcblk0p4 rw rootwait diff --git a/board/pine64/rockpro64/genimage.cfg b/board/pine64/rockpro64/genimage.cfg new file mode 100644 index 0000000..41358ed --- /dev/null +++ b/board/pine64/rockpro64/genimage.cfg @@ -0,0 +1,39 @@ +image boot.vfat { + vfat { + files = { + "Image", + "rk3399-rockpro64.dtb", + "extlinux" + } + } + size = 112M +} + +image sdcard.img { + + hdimage { + gpt = true + } + + partition loader1 { + image = "idbloader.img" + offset = 32K + } + + partition loader2 { + image = "u-boot.itb" + offset = 8M + } + + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + offset = 16M + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/pine64/rockpro64/post-build.sh b/board/pine64/rockpro64/post-build.sh new file mode 100755 index 0000000..ba29375 --- /dev/null +++ b/board/pine64/rockpro64/post-build.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +BOARD_DIR="$(dirname $0)" + +install -m 0644 -D $BOARD_DIR/extlinux.conf $BINARIES_DIR/extlinux/extlinux.conf diff --git a/board/pine64/rockpro64/readme.txt b/board/pine64/rockpro64/readme.txt new file mode 100644 index 0000000..de86970 --- /dev/null +++ b/board/pine64/rockpro64/readme.txt @@ -0,0 +1,60 @@ +PINE64 ROCKPro64 +================ +https://www.pine64.org/rockpro64/ + +Build: +====== + $ make rockpro64_defconfig + $ make + +Files created in output directory +================================= + +output/images + +├── bl31.elf +├── boot.vfat +├── extlinux +├── idbloader.img +├── Image +├── rk3399-rockpro64.dtb +├── rootfs.ext2 +├── rootfs.ext4 -> rootfs.ext2 +├── rootfs.tar +├── sdcard.img +├── u-boot.bin +└── u-boot.itb + +Creating bootable SD card: +========================== + +Simply invoke (as root) + +sudo dd if=output/images/sdcard.img of=/dev/sdX && sync + +Where X is your SD card device. + +Booting: +======== +RockPro64 has a 40-pin PI-2 GPIO Bus. + +Connect a jumper between pin 23 and pin 25 for SD card boot. + +Serial console: +--------------- +The pin layout for serial console on PI-2 GPIO Bus is as follows: + +pin 6: gnd +pin 8: tx +pin 10: rx + +Initially connect pin 6 and pin 8(transmit). Apply power to RockPro64, once the +power is on then connect pin 10(receive). + +Baudrate for this board is 1500000. + +Login: +------ +Enter 'root' as login user, and the prompt is ready. + +https://wiki.amarulasolutions.com/bsp/rockchip/rk3399/rockpro64.html diff --git a/configs/rockpro64_defconfig b/configs/rockpro64_defconfig new file mode 100644 index 0000000..6721349 --- /dev/null +++ b/configs/rockpro64_defconfig @@ -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.04" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rockpro64-rk3399" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYTHON=y +BR2_TARGET_UBOOT_NEEDS_PYTHON3=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.35" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3399-rockpro64" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + +# Filesystem +BR2_TARGET_GENERIC_HOSTNAME="rockpro64" +BR2_TARGET_GENERIC_ISSUE="Welcome to ROCKPRO64..!!" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="64M" +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/pine64/rockpro64/genimage.cfg" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/pine64/rockpro64/post-build.sh" From patchwork Sun May 3 09:11:17 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Suniel Mahesh X-Patchwork-Id: 1281884 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=busybox.net (client-ip=140.211.166.133; helo=hemlock.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.a=rsa-sha256 header.s=google header.b=HwcCa9fq; dkim-atps=neutral Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49FKyC3HW4z9sRY for ; Sun, 3 May 2020 19:12:35 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id E4BCC893D2; Sun, 3 May 2020 09:12:33 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id FUSGj4uIpaLR; Sun, 3 May 2020 09:12:30 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by hemlock.osuosl.org (Postfix) with ESMTP id 7E243893CC; Sun, 3 May 2020 09:12:30 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id 14E981BF5A5 for ; Sun, 3 May 2020 09:12:10 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 11C5288709 for ; Sun, 3 May 2020 09:12:10 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Uw304N9fgo9K for ; Sun, 3 May 2020 09:12:08 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-pf1-f195.google.com (mail-pf1-f195.google.com [209.85.210.195]) by whitealder.osuosl.org (Postfix) with ESMTPS id 4B6AC8868D for ; Sun, 3 May 2020 09:12:08 +0000 (UTC) Received: by mail-pf1-f195.google.com with SMTP id 145so3994457pfw.13 for ; Sun, 03 May 2020 02:12:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=bJDh/ETCHefCXwmKqpbbzxpHqcP6omk7SQ44BOrH0tk=; b=HwcCa9fqXeIkjBE3hrhZQ7HnipMuRbMdFOzBHcXaZcqL0tQA3siUAU9N2X/Gp5xCBP YHYNaQ+Uhwxz6j5YRRK1sjyr7QB2exdImFYAkIEjTedscPDpz7TzhwE3JVZyWQsHnqF7 DPo3ZbCIRgGZ4QG9amK1NUySrV+2IMyBxASYw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=bJDh/ETCHefCXwmKqpbbzxpHqcP6omk7SQ44BOrH0tk=; b=lv6BfMujgsRVY3iR86Gtvqkd8SNljjMX67oC7EvBIz+/bR72Du6sCZS4agxYnwOR9T DWoZ4RceD1Fehk7uRChFE0LcGdh5GM0crFxgIXJi0uel7+j1TyaTJPhYVKWc5sKWD6bI JOKEwLQFu7RdCSRSYiF9syvW1TIN8PHKU9OZPFWxBbNHlZ0Aez3XmPbgwjIwy6TwE/bY lW9PYDGwgrMIoZaO8We52LlTpQCFpyhf7FOU/SYtDRQ80TYhBf++NTmZmkNf24Cp4zmy fB0t8oXCGOtOVt4ncJhLNwcz75kIMX9EedO2AWB6yBFSAWLklZUJDhkqexcnA5LExElD 9i7w== X-Gm-Message-State: AGi0PuYp9meLYKFl4F5GbhGLZ6RPa90TsVUscMCgDhcmHFhLDv+ffiCn nv4ksAGrzLn2xt9oufAYLUj2Xl51wwc= X-Google-Smtp-Source: APiQypIlj2mX/qVfxJfdJoqpWjt4ByMC9Iu8wDhjX7945R/vK+CMnK0JYf5kMqpP3w5ye/djOuj5ZQ== X-Received: by 2002:aa7:9432:: with SMTP id y18mr4393819pfo.82.1588497127510; Sun, 03 May 2020 02:12:07 -0700 (PDT) Received: from localhost.localdomain ([49.204.227.108]) by smtp.gmail.com with ESMTPSA id kb10sm4160023pjb.6.2020.05.03.02.12.05 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 03 May 2020 02:12:07 -0700 (PDT) From: sunil@amarulasolutions.com To: buildroot@buildroot.org, thomas.petazzoni@bootlin.com Date: Sun, 3 May 2020 14:41:17 +0530 Message-Id: <1588497077-27220-3-git-send-email-sunil@amarulasolutions.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1588497077-27220-1-git-send-email-sunil@amarulasolutions.com> References: <20200502233409.4a90d4b2@windsurf.home> <1588497077-27220-1-git-send-email-sunil@amarulasolutions.com> MIME-Version: 1.0 Subject: [Buildroot] [PATCH v2 2/2] configs/orangepi_rk3399: new defconfig X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter@korsgaard.com, jagan@amarulasolutions.com, Suniel Mahesh Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" From: Suniel Mahesh Add initial support for Orangepi RK3399 target with below features: - U-Boot 2020.04 - Linux 5.4.35 - Default packages from buildroot Signed-off-by: Suniel Mahesh --- Changes for v2: - change contact for just only orangepi-rk3399. - As suggested by Thomas Pettazzoni, rk3399 targets does not need pylibfdt or pyelftools, but only a host Python interpreter. Remove them and add python, python3 in defconfig. --- .gitlab-ci.yml | 1 + DEVELOPERS | 2 + board/orangepi/orangepi-rk3399/extlinux.conf | 4 ++ board/orangepi/orangepi-rk3399/genimage.cfg | 39 +++++++++++++++++++ board/orangepi/orangepi-rk3399/post-build.sh | 5 +++ board/orangepi/orangepi-rk3399/readme.txt | 56 ++++++++++++++++++++++++++++ configs/orangepi_rk3399_defconfig | 56 ++++++++++++++++++++++++++++ 7 files changed, 163 insertions(+) create mode 100644 board/orangepi/orangepi-rk3399/extlinux.conf create mode 100644 board/orangepi/orangepi-rk3399/genimage.cfg create mode 100755 board/orangepi/orangepi-rk3399/post-build.sh create mode 100644 board/orangepi/orangepi-rk3399/readme.txt create mode 100644 configs/orangepi_rk3399_defconfig diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 32c3247..d7a8c4a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -258,6 +258,7 @@ orangepi_pc_plus_defconfig: { extends: .defconfig } orangepi_plus_defconfig: { extends: .defconfig } orangepi_prime_defconfig: { extends: .defconfig } orangepi_r1_defconfig: { extends: .defconfig } +orangepi_rk3399_defconfig: { extends: .defconfig } orangepi_win_defconfig: { extends: .defconfig } orangepi_zero_defconfig: { extends: .defconfig } orangepi_zero_plus2_defconfig: { extends: .defconfig } diff --git a/DEVELOPERS b/DEVELOPERS index 2b562d5..b9ace0e 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -2425,7 +2425,9 @@ F: package/powertop/ N: Suniel Mahesh F: board/firefly/ +F: board/orangepi/orangepi-rk3399 F: board/pine64/rockpro64 +F: configs/orangepi_rk3399_defconfig F: configs/roc_pc_rk3399_defconfig F: configs/rockpro64_defconfig F: package/arm-gnu-a-toolchain/ diff --git a/board/orangepi/orangepi-rk3399/extlinux.conf b/board/orangepi/orangepi-rk3399/extlinux.conf new file mode 100644 index 0000000..81a325a --- /dev/null +++ b/board/orangepi/orangepi-rk3399/extlinux.conf @@ -0,0 +1,4 @@ +label ORANGEPI_RK3399 linux + kernel /Image + devicetree /rk3399-orangepi.dtb + append earlycon=uart8250,mmio32,0xff1a0000 root=/dev/mmcblk1p4 rw rootwait diff --git a/board/orangepi/orangepi-rk3399/genimage.cfg b/board/orangepi/orangepi-rk3399/genimage.cfg new file mode 100644 index 0000000..9d63e30 --- /dev/null +++ b/board/orangepi/orangepi-rk3399/genimage.cfg @@ -0,0 +1,39 @@ +image boot.vfat { + vfat { + files = { + "Image", + "rk3399-orangepi.dtb", + "extlinux" + } + } + size = 112M +} + +image sdcard.img { + + hdimage { + gpt = true + } + + partition loader1 { + image = "idbloader.img" + offset = 32K + } + + partition loader2 { + image = "u-boot.itb" + offset = 8M + } + + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + offset = 16M + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/orangepi/orangepi-rk3399/post-build.sh b/board/orangepi/orangepi-rk3399/post-build.sh new file mode 100755 index 0000000..ba29375 --- /dev/null +++ b/board/orangepi/orangepi-rk3399/post-build.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +BOARD_DIR="$(dirname $0)" + +install -m 0644 -D $BOARD_DIR/extlinux.conf $BINARIES_DIR/extlinux/extlinux.conf diff --git a/board/orangepi/orangepi-rk3399/readme.txt b/board/orangepi/orangepi-rk3399/readme.txt new file mode 100644 index 0000000..8f9ac1a --- /dev/null +++ b/board/orangepi/orangepi-rk3399/readme.txt @@ -0,0 +1,56 @@ +OrangePI RK3399 +================ +http://www.orangepi.org/Orange%20Pi%20RK3399/ + +Build: +====== + $ make orangepi_rk3399_defconfig + $ make + +Files created in output directory +================================= + +output/images + +├── bl31.elf +├── boot.vfat +├── extlinux +├── idbloader.img +├── Image +├── rk3399-orangepi.dtb +├── rootfs.ext2 +├── rootfs.ext4 -> rootfs.ext2 +├── rootfs.tar +├── sdcard.img +├── u-boot.bin +└── u-boot.itb + +Creating bootable SD card: +========================== + +Simply invoke (as root) + +sudo dd if=output/images/sdcard.img of=/dev/sdX && sync + +Where X is your SD card device. + +Booting: +======== +Orangepi-RK3399 by default boots from emmc. For SD card boot to +happen, emmc should be empty. If emmc happens to have any bootable +image then erase emmc so that bootrom will look for a proper image in SD. + +emmc can be erased once after booted into linux as shown in below link. + +https://wiki.amarulasolutions.com/bsp/setup/rockchip/rk3399_emmc.html + +Serial console: +--------------- + +Baudrate for this board is 1500000. + +Login: +------ +Enter 'root' as login user, and the prompt is ready. + +https://wiki.amarulasolutions.com/bsp/rockchip/rk3399/orangepi.html diff --git a/configs/orangepi_rk3399_defconfig b/configs/orangepi_rk3399_defconfig new file mode 100644 index 0000000..cd6a9db --- /dev/null +++ b/configs/orangepi_rk3399_defconfig @@ -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.04" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi-rk3399" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYTHON=y +BR2_TARGET_UBOOT_NEEDS_PYTHON3=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.35" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3399-orangepi" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + +# Filesystem +BR2_TARGET_GENERIC_HOSTNAME="orangepi-rk3399" +BR2_TARGET_GENERIC_ISSUE="Welcome to ORANGEPI-RK3399..!!" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="64M" +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/orangepi/orangepi-rk3399/genimage.cfg" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/orangepi/orangepi-rk3399/post-build.sh"