From patchwork Wed Mar 7 18:52:18 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Erik Larsson X-Patchwork-Id: 882717 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) 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=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="I3+HK1vQ"; dkim-atps=neutral Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3zxN7L4mYRz9sd3 for ; Thu, 8 Mar 2018 05:52:46 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 7F1FC89A8C; Wed, 7 Mar 2018 18:52:44 +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 gqsPVhQg0sID; Wed, 7 Mar 2018 18:52:43 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by hemlock.osuosl.org (Postfix) with ESMTP id 1B57489A67; Wed, 7 Mar 2018 18:52:43 +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 871081C00BB for ; Wed, 7 Mar 2018 18:52:41 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 80AE189A67 for ; Wed, 7 Mar 2018 18:52:41 +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 TwiX3trB3oSW for ; Wed, 7 Mar 2018 18:52:40 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-lf0-f66.google.com (mail-lf0-f66.google.com [209.85.215.66]) by hemlock.osuosl.org (Postfix) with ESMTPS id 2479989A7A for ; Wed, 7 Mar 2018 18:52:40 +0000 (UTC) Received: by mail-lf0-f66.google.com with SMTP id m69-v6so4735604lfe.8 for ; Wed, 07 Mar 2018 10:52:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=58Eijb0v1E0bEHKxFoutQfv8VSec94aidluoyJ2aOVQ=; b=I3+HK1vQRTLAQe+KfmgZX6cYqsQsofOYRiXLgt/2TdJ9te5/HaPY9mFiRpJPTQTMwk ibYt7GQ0YbTDO6j06p8D0R65g9sA1Tu0escpAGL/okyNbb29F9GQ55oqFQWLMvMV7OpX DsPCGl/4rRtYrv4ec9BWEEfLKKS6TZ5COOY89bS8lT1OhRcjjyKgzC+9IPxHBUrLA4Xj nl5HpGwoBALgdUWReru34i94PbyC5hWa8QvwgQhVeQ9W0NW1/Le2DmPWmaEvmPqLTImG KpHQaN2KSJwC1HbultlCCG+6eNpmpPv3SRpoNhjoaJjLgSHT2cPTVZT3zxrPZNR/Dt4k aTiQ== 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; bh=58Eijb0v1E0bEHKxFoutQfv8VSec94aidluoyJ2aOVQ=; b=l3XohrWgGKQik+o3RN1gc0GDMOu+/ybLMkNGXvKfRh3mF83wsyq0I2w1Lx2wv9nb0E tXePWTvTY2Kqmicw/pRcy4MP3NI1uQT+No01sI+OYxigBDdIRWHGjiG/YhI0crz5C+o5 FlN49JUE7M87i9qZjPRf0Rlt8+0ByQcZ4jOS34t3FnL+rg0gpzQz1HEr+anM3ZZo2TZe ezI5UxD5WhFeVpoZfFxQ7bpj6PogyA2OdXxMhZZtDBGaYEeVVnc/yIRyG1fTSf27qwiB ru9Wpj75E5IbwPu/J0sgXvkddiBsns1ryArF/bdDDG5E98VP8/E86H1epCwTMsQWhUNB VWCw== X-Gm-Message-State: AElRT7ExX/+lp7pVfPf3v/ptQn2zoiLLwhARnFFTA4PH/L1JR1HJFZJ4 4VzMy74siddTgnzc+atpA8DHbwyHdjI= X-Google-Smtp-Source: AG47ELsu/Hura7lxVJSDdBA2XaahuCu38Rr34+ysn9IidC3kfT0sy0NAmO4/gSJNTafoHbP4t1MBXg== X-Received: by 10.25.105.18 with SMTP id e18mr16064597lfc.52.1520448757579; Wed, 07 Mar 2018 10:52:37 -0800 (PST) Received: from erik-cab.lan (90-230-144-91-no25.tbcn.telia.com. [90.230.144.91]) by smtp.gmail.com with ESMTPSA id q63sm3754355lje.72.2018.03.07.10.52.35 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 07 Mar 2018 10:52:36 -0800 (PST) From: Erik Larsson To: buildroot@buildroot.org Date: Wed, 7 Mar 2018 19:52:18 +0100 Message-Id: <1520448738-5794-5-git-send-email-karl.erik.larsson@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1520448738-5794-1-git-send-email-karl.erik.larsson@gmail.com> References: <1520448738-5794-1-git-send-email-karl.erik.larsson@gmail.com> Subject: [Buildroot] [PATCH v5 4/4] configs/freescale_imx8mqevk: new defconfig X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.24 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Marcus Folkesson , Fabio Estevam , Erik Larsson , Christopher Dahlberg , Thomas Petazzoni MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" Signed-off-by: Erik Larsson Signed-off-by: Christopher Dahlberg Reviewed-by: Fabio Estevam --- v5: Added readme.txt in board/freescale/imx8mqevk (suggested by Fabio E.) Change version tags to rel_imx_4.9.51_8mq_beta_patch for kernel, u-boot and atf (suggested by Baruch S.) Remove generation of rootfs.tar v4: Change to Buildroot toolchain from external toolchain v3: Change commit message (suggested by Thomas P.) Make sure to use tags instead of branches in kernel,bootloader and ATF repositorires (Arnout V.) Use BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG instead of copy kernel defconfig to board folder (suggested by Arnout V.) Split v2 commit into two commits --- .../common/imx/genimage.cfg.template_imx8 | 40 +++++++++++ board/freescale/common/imx/post-image.sh | 10 ++- board/freescale/imx8mqevk/readme.txt | 83 ++++++++++++++++++++++ configs/freescale_imx8mqevk_defconfig | 39 ++++++++++ 4 files changed, 169 insertions(+), 3 deletions(-) create mode 100644 board/freescale/common/imx/genimage.cfg.template_imx8 create mode 100644 board/freescale/imx8mqevk/readme.txt create mode 100644 configs/freescale_imx8mqevk_defconfig diff --git a/board/freescale/common/imx/genimage.cfg.template_imx8 b/board/freescale/common/imx/genimage.cfg.template_imx8 new file mode 100644 index 0000000..138beff --- /dev/null +++ b/board/freescale/common/imx/genimage.cfg.template_imx8 @@ -0,0 +1,40 @@ +# Minimal SD card image for the Freescale boards Template for SPL Boot +# +# We mimic the .sdcard Freescale's image format: +# * the SD card must have 33 kB free space at the beginning, +# * U-Boot is integrated into imx-boot-imx8mqevk-sd.bin and is dumped as is, +# * a FAT partition at offset 64MB is containing Image and DTB files +# * a single root filesystem partition is required (ext2, ext3 or ext4) +# + +image boot.vfat { + vfat { + files = { + %FILES% + } + } + size = 64M +} + +image sdcard.img { + hdimage { + } + + partition imx-boot { + in-partition-table = "no" + image = "imx-boot-imx8mqevk-sd.bin" + offset = 33K + } + + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + offset = 8M + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext2" + } +} diff --git a/board/freescale/common/imx/post-image.sh b/board/freescale/common/imx/post-image.sh index b239743..264c8a4 100755 --- a/board/freescale/common/imx/post-image.sh +++ b/board/freescale/common/imx/post-image.sh @@ -7,10 +7,10 @@ # dtb_list() { - local DTB_LIST="$(sed -n 's/^BR2_LINUX_KERNEL_INTREE_DTS_NAME="\([a-z0-9 \-]*\)"$/\1/p' ${BR2_CONFIG})" + local DTB_LIST="$(sed -n 's/^BR2_LINUX_KERNEL_INTREE_DTS_NAME="\([\/a-z0-9 \-]*\)"$/\1/p' ${BR2_CONFIG})" for dt in $DTB_LIST; do - echo -n "\"$dt.dtb\", " + echo -n "\"`basename $dt`.dtb\", " done } @@ -23,6 +23,8 @@ linux_image() { if grep -Eq "^BR2_LINUX_KERNEL_UIMAGE=y$" ${BR2_CONFIG}; then echo "\"uImage\"" + elif grep -Eq "^BR2_LINUX_KERNEL_IMAGE=y$" ${BR2_CONFIG}; then + echo "\"Image\"" else echo "\"zImage\"" fi @@ -30,7 +32,9 @@ linux_image() genimage_type() { - if grep -Eq "^BR2_TARGET_UBOOT_SPL=y$" ${BR2_CONFIG}; then + if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y$" ${BR2_CONFIG}; then + echo "genimage.cfg.template_imx8" + elif grep -Eq "^BR2_TARGET_UBOOT_SPL=y$" ${BR2_CONFIG}; then echo "genimage.cfg.template_spl" else echo "genimage.cfg.template" diff --git a/board/freescale/imx8mqevk/readme.txt b/board/freescale/imx8mqevk/readme.txt new file mode 100644 index 0000000..648d102 --- /dev/null +++ b/board/freescale/imx8mqevk/readme.txt @@ -0,0 +1,83 @@ +*************************** +Freescale i.MX8mq EVK board +*************************** + +This file documents the Buildroot support for the Freescale i.MX8mq EVK board. + +Hardware support +================ + +Currently only basic support for hardware is avialable, currently no +support for GPU, VPU and other HW features. + +Build +===== + +First, configure Buildroot for the i.MX51 EVK board: + + make freescale_imx8mqevk_defconfig + +Build all components: + + make + +You will find in output/images/ the following files: + - bl31.bin + - boot.vfat + - fsl-imx8mq-evk.dtb + - Image + - imx-boot-imx8mqevk-sd.bin + - lpddr4_pmu_train_1d_dmem.bin + - lpddr4_pmu_train_1d_imem.bin + - lpddr4_pmu_train_2d_dmem.bin + - lpddr4_pmu_train_2d_imem.bin + - rootfs.ext2 + - rootfs.ext4 + - rootfs.tar + - sdcard.img + - signed_hdmi_imx8m.bin + - u-boot.bin + - u-boot.imx + - u-boot-nodtb.bin + +Create a bootable SD card +========================= + +To determine the device associated to the SD card have a look in the +/proc/partitions file: + + cat /proc/partitions + +Buildroot prepares a bootable "sdcard.img" image in the output/images/ +directory, ready to be dumped on a SD card. Launch the following +command as root: + + dd if=output/images/sdcard.img of=/dev/ + +*** WARNING! This will destroy all the card content. Use with care! *** + +For details about the medium image layout, see the definition in +board/freescale/common/imx/genimage.cfg.template_imx8. + +Boot the i.MX8mq EVK board +========================== + +To boot your newly created system: +- insert the SD card in the SD slot of the board; +- put a micro USB cable into the Debug USB Port and connect using a terminal + emulator at 115200 bps, 8n1; +- power on the board. + +Enable HDMI output +================== + +To enable HDMI output at boot you must provide the video kernel boot argument. +To set the video boot argument from U-Boot run after stoping in U-Boot prompt: + +setenv mmcargs 'setenv bootargs console=${console} root=${mmcroot} video=HDMI-A-1:1920x1080-32@60' +saveenv +reset + +Change screen resolution to suit your connected display. + +Enjoy! diff --git a/configs/freescale_imx8mqevk_defconfig b/configs/freescale_imx8mqevk_defconfig new file mode 100644 index 0000000..68b10ac --- /dev/null +++ b/configs/freescale_imx8mqevk_defconfig @@ -0,0 +1,39 @@ +BR2_aarch64=y +BR2_ARM_FPU_VFPV3=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_GIT=y +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/linux-imx" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_4.9.51_8mq_beta_patch" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_USE_INTREE_DTS=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/fsl-imx8mq-evk" +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y +BR2_PACKAGE_FIRMWARE_IMX=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/imx-atf" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="rel_imx_4.9.51_8mq_beta_patch" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mq" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_GIT=y +BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/uboot-imx" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="rel_imx_4.9.51_8mq_beta_patch" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx8mq_evk" +BR2_TARGET_UBOOT_FORMAT_IMX=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-nodtb.bin" +BR2_TARGET_UBOOT_SPL=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_IMX_MKIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y