configs: add defconfig for TS-4900

The TS-4900 uses a custom Linux 4.X from Technologic Systems:
https://github.com/embeddedarm/linux-3.10.17-imx6/tree/imx_4.1.15_1.0.0_ga
Indeed, it is not supported by mainline Linux but this work is ongoing.

This patch is inspired by a previous work for the TS-4800.
A post image script is provided to generate an image that can be
directly written to an SD card. It also adds an fpga wifi module.

Signed-off-by: Mathieu Audat <mathieu.audat@savoirfairelinux.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Mathieu Audat 2016-09-17 16:23:24 -04:00 committed by Thomas Petazzoni
parent 57cc20810a
commit 3138ab3fee
4 changed files with 96 additions and 0 deletions

View File

@ -0,0 +1,10 @@
image sdcard.img {
hdimage {
}
partition rootfs {
partition-type = 0x83
image = "rootfs.ext2"
size = 256M
}
}

View File

@ -0,0 +1,17 @@
#!/bin/bash
#
# Copyright (C) 2015-2016 Savoir-Faire Linux
# Post image generation script.
BOARD_DIR="$(dirname $0)"
GENIMAGE_CFG=$BOARD_DIR/genimage.cfg
GENIMAGE_TMP=$BUILD_DIR/.genimage_tmp
rm -rf $GENIMAGE_TMP
${HOST_DIR}/usr/bin/genimage \
--config ${GENIMAGE_CFG} \
--rootpath $TARGET_DIR \
--tmppath $GENIMAGE_TMP \
--inputpath $BINARIES_DIR \
--outputpath $BINARIES_DIR

View File

@ -0,0 +1,52 @@
Technologic Systems TS-4900
===========================
This document explains how to set up a basic Buildroot system for the
Technologic Systems TS-4900 System on Module.
The TS-4900 is a TS-SOCKET macrocontroller board based on the
Freescale i.MX6 Single or Quad Core ARM Cortex-A9 CPU clocked at
1GHz. The TS-4900 features Gigabit Ethernet, SATA II Port, PCI Express
Bus, high speed USB host and device (OTG), and microSD card.
More details on the board here:
http://wiki.embeddedarm.com/wiki/TS-4900
The TS-4900 is not currently supported by mainline Linux, so a
Technologic Systems Linux is used based on Linux 4.1.
The default U-boot configuration flashed scans the SD card to find the
0x83 partition type, corresponding to the rootfs. Then it will load
both uImage and dts from the /boot directory.
To build the default configuration you only have to:
$ make ts4900_defconfig
$ make
The output looks like:
output/images/
├── imx6q-ts4900.dtb
├── rootfs.ext2
├── rootfs.tar
├── sdcard.img
└── uImage
Since both the uImage and the dts are contained in the /boot
directory, the provided post-image script generates an image file
containing only one partition for the rootfs:
$ fdisk output/images/sdcard.img
Device Boot Start End Blocks Id System
output/images/sdcard.img1 1 524288 262144 83 Linux
This image can be directly written to an SD card.
$ sudo dd if=output/images/sdcard.img of=/dev/mmcblk0
In order to test the image on TS-4900 board, a TS baseboard, such as
the TS-9xxx series, is needed to provide power, console header, RJ45
connector etc.
The bootloader comes pre-flashed on the board on an SPI flash. Since
updating the bootloader is risky and not trivial, it is not included
in the Buildroot defconfig. Refer to
http://wiki.embeddedarm.com/wiki/TS-4900#U-Boot for details on which
U-Boot config to use and how to flash it.

17
configs/ts4900_defconfig Normal file
View File

@ -0,0 +1,17 @@
BR2_arm=y
BR2_cortex_a9=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_1=y
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/technologic/ts4900/post-image.sh"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_GIT=y
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/embeddedarm/linux-3.10.17-imx6.git"
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="70d1e85a22879e27cc9e36384438d5a9793e44b0"
BR2_LINUX_KERNEL_DEFCONFIG="imx_v7"
BR2_LINUX_KERNEL_UIMAGE=y
BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x10008000"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-ts4900"
BR2_LINUX_KERNEL_INSTALL_TARGET=y
BR2_PACKAGE_TS4900_FPGA=y
BR2_TARGET_ROOTFS_EXT2=y
BR2_PACKAGE_HOST_GENIMAGE=y