From patchwork Fri Jan 29 23:41:51 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Romain Naour X-Patchwork-Id: 575886 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by ozlabs.org (Postfix) with ESMTP id 4DE8814056B for ; Sat, 30 Jan 2016 10:47:36 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b=cm+QhLpt; dkim-atps=neutral Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 8510D95550; Fri, 29 Jan 2016 23:47:35 +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 64OqiK90n8bL; Fri, 29 Jan 2016 23:47:34 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by hemlock.osuosl.org (Postfix) with ESMTP id A42A394BC1; Fri, 29 Jan 2016 23:47:34 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by ash.osuosl.org (Postfix) with ESMTP id 38DA01C10D6 for ; Fri, 29 Jan 2016 23:47:34 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id 3578BA5A66 for ; Fri, 29 Jan 2016 23:47:34 +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 gjvaQIp3v-Iv for ; Fri, 29 Jan 2016 23:47:33 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-wm0-f66.google.com (mail-wm0-f66.google.com [74.125.82.66]) by fraxinus.osuosl.org (Postfix) with ESMTPS id 1D78EA5A61 for ; Fri, 29 Jan 2016 23:47:33 +0000 (UTC) Received: by mail-wm0-f66.google.com with SMTP id p63so92943wmp.1 for ; Fri, 29 Jan 2016 15:47:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=mR4XDZeqs2/37eXD4X7JsU5ghxECK+/oRsG5UtolD0k=; b=cm+QhLptGlMP4Sk3MszKzFXOR6UqhyutvxgN+9Iv4MIxx2sVderAuvEva6ImmNnhuI qXNuVYqFx+vDGGrIJUcCMeFRjG2sGibBTk7cOD1GnepZ4V58WPpg3n2dxNSe1Rm8PLNn /Xt4L/RWakvJ6UZ/wB9Dh/rmf9Hm5p6CExW7PVyK1+iw8WbpJKpGJuMPiiJQmN0ZUmSi YkIba1FkQtB113A40wCviisjetYmyH0AbeJGWx7Nd472v/vV54p3+zSRm6U+ypHzt9xy usGIoldv4hKzFZQAOhLGCDi3r/j/f52E2ECgPM8pGubPEliPXzsIFJyo9UmUfFexeqPV wDfw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=mR4XDZeqs2/37eXD4X7JsU5ghxECK+/oRsG5UtolD0k=; b=LxLFZWeLn9orOMpiIfnMGcJyNxC7NtqGWk476aj2C9ltOj+KK0xCSAlBwB/CThLOnU YA9L7PHHs/CN3iD4YMcHTztbdxnADaWRbB1zgNziJPy1CA/HIaKuyhg+6zY1X0StUi9w kgJwMlAnaheq/bg7mJHDjaBzr6NNRTUQSIUsNmCEHYImNKR3sKkStH0I2vks/qbu171D esWRNW8C8f3YSFbG7QR7U6xK3eqgi+7sWeSqeZ1AUBC3SGYvKrPre9R0ggCFfvilVGTX 7jfj0iJb3e6l8NR0aEMZPgvW+FhSZ6OmaPjFoGtI69qY4ChQuAnDmMNt7Bx47qmejhSb xAOw== X-Gm-Message-State: AG10YOQ5VIjLxEqVuVYdjEZmaUvn2VEaro+KUe3VQnILWo7mRfI99obwTo0BMKGUOu8Frw== X-Received: by 10.28.93.140 with SMTP id r134mr81967wmb.80.1454111251724; Fri, 29 Jan 2016 15:47:31 -0800 (PST) Received: from localhost.localdomain ([109.128.164.231]) by smtp.gmail.com with ESMTPSA id jo6sm17735096wjb.48.2016.01.29.15.47.29 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 29 Jan 2016 15:47:30 -0800 (PST) From: Romain Naour To: buildroot@buildroot.org Date: Sat, 30 Jan 2016 00:41:51 +0100 Message-Id: <1454110911-28705-1-git-send-email-romain.naour@gmail.com> X-Mailer: git-send-email 2.4.3 Cc: Julien BOIBESSOT Subject: [Buildroot] [PATCH v2] board: add support for Freescale i.MX6UL Evaluation Kit X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" From: Julien BOIBESSOT Signed-off-by: Julien BOIBESSOT --- Changes since v1: * took Thomas remarks into account: ** default to cortex-a7 FPU BR settings (EABIHF/VFPUv4-D16) ** use genimage to generate microSD image instead of custom script board/freescale/imx6ulevk/genimage.cfg | 41 +++++++++++++++++++++ board/freescale/imx6ulevk/post-image.sh | 16 +++++++++ board/freescale/imx6ulevk/readme.txt | 64 +++++++++++++++++++++++++++++++++ configs/freescale_imx6ulevk_defconfig | 38 ++++++++++++++++++++ 4 files changed, 159 insertions(+) create mode 100644 board/freescale/imx6ulevk/genimage.cfg create mode 100755 board/freescale/imx6ulevk/post-image.sh create mode 100644 board/freescale/imx6ulevk/readme.txt create mode 100644 configs/freescale_imx6ulevk_defconfig diff --git a/board/freescale/imx6ulevk/genimage.cfg b/board/freescale/imx6ulevk/genimage.cfg new file mode 100644 index 0000000..36ede1c --- /dev/null +++ b/board/freescale/imx6ulevk/genimage.cfg @@ -0,0 +1,41 @@ +# Minimal microSD card image for the Freescale's i.MX6UL EVK board +# +# We mimic the .sdcard Freescale's image format for i.MX6UL: +# * the microSD card must have 1 kB free space at the beginning, +# * U-Boot is dumped as is, +# * a FAT partition at offset 8 MB is containing zImage and dtbs, +# * a single root filesystem partition is required (Ext2 in this case). +# + +image boot.vfat { + vfat { + files = { + "imx6ul-14x14-evk.dtb", + "zImage" + } + } + size = 16M +} + +image sdcard.img { + hdimage { + } + + partition u-boot { + in-partition-table = "no" + image = "u-boot.imx" + offset = 1024 + } + + 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/imx6ulevk/post-image.sh b/board/freescale/imx6ulevk/post-image.sh new file mode 100755 index 0000000..3740d75 --- /dev/null +++ b/board/freescale/imx6ulevk/post-image.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash + +GENIMAGE_CFG="board/freescale/imx6ulevk/genimage.cfg" +GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" + +rm -rf "${GENIMAGE_TMP}" + +genimage \ + --rootpath "${TARGET_DIR}" \ + --tmppath "${GENIMAGE_TMP}" \ + --inputpath "${BINARIES_DIR}" \ + --outputpath "${BINARIES_DIR}" \ + --config "${GENIMAGE_CFG}" + +RET=${?} +exit ${RET} diff --git a/board/freescale/imx6ulevk/readme.txt b/board/freescale/imx6ulevk/readme.txt new file mode 100644 index 0000000..b8243dc --- /dev/null +++ b/board/freescale/imx6ulevk/readme.txt @@ -0,0 +1,64 @@ +*************************** +Freescale i.MX6UL EVK board +*************************** + +This file documents the Buildroot support for the Freescale i.MX6UL EVK board. + +Please read the i.MX6UL Evaluation Kit Quick Start Guide [1] for an +introduction to the board. + +Build +===== + +First, configure Buildroot for your i.MX6UL EVK board: + + make freescale_imx6ulevk_defconfig + +Build all components: + + make + +You will find in ./output/images/ the following files: + - imx6ul-14x14-evk.dtb + - rootfs.ext2 + - rootfs.tar + - sdcard.img + - u-boot.imx + - zImage + +Create a bootable microSD card +============================== + +To determine the device associated to the microSD 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 microSD 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/imx6ulevk/genimage.cfg. + +Boot the i.MX6UL EVK board +========================= + +To boot your newly created system (refer to the i.MX6UL EVK Quick Start Guide +[1] for guidance): +- insert the microSD card in the microSD slot of the board; +- verify that your i.MX6UL EVK board jumpers and switches are set as mentioned + in the i.MX6UL EVK Quick Start Guide [1]; +- put a micro USB cable into the Debug USB Port and connect using a terminal + emulator at 115200 bps, 8n1; +- power on the board. + +Enjoy! + +References +========== +[1] http://cache.freescale.com/files/32bit/doc/quick_start_guide/IMX6ULTRALITEQSG.pdf diff --git a/configs/freescale_imx6ulevk_defconfig b/configs/freescale_imx6ulevk_defconfig new file mode 100644 index 0000000..b739ff4 --- /dev/null +++ b/configs/freescale_imx6ulevk_defconfig @@ -0,0 +1,38 @@ +# architecture +BR2_arm=y +BR2_cortex_a7=y + +# toolchain +BR2_KERNEL_HEADERS_VERSION=y +BR2_DEFAULT_KERNEL_VERSION="3.14.28" +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_14=y + +# system +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" + +# kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_GIT=y +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://git.freescale.com/imx/linux-2.6-imx.git" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="imx_3.14.38_6ul_ga" +BR2_LINUX_KERNEL_DEFCONFIG="imx_v7" +BR2_LINUX_KERNEL_ZIMAGE=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6ul-14x14-evk" + +# bootloader +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BOARDNAME="mx6ul_14x14_evk" +BR2_TARGET_UBOOT_CUSTOM_GIT=y +BR2_TARGET_UBOOT_CUSTOM_REPO_URL="git://git.freescale.com/imx/uboot-imx.git" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="imx_v2015.04_3.14.38_6ul_ga" +BR2_TARGET_UBOOT_FORMAT_IMX=y + +# required tools to create the microSD image +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y + +# filesystem / image +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/imx6ulevk/post-image.sh" +BR2_TARGET_ROOTFS_EXT2=y