New board: SolidRun ClearFog Base

My goal was to rely on upstreamed features as much as possible, which
means that some bits are only half-baked for now:

- Due to the DTS restructuring in upstream kernel, we require 4.11+. The
latest LTS or CIP kernels do not know about the -Base model.

- Linux has no generic support for SFP cages (yet). It seems that this
has hit the net-next tree in August 2017, but there's been no release
(it's probably targettting 4.14). Also, the merge only included the
required infrastructure; the mvneta driver conversion is not included.
Patches which finalize this exist in Russel King's tree and also in
random vendor trees.

- There's no access to the SPI flash in these versions of
uboot/linux/dts.

Signed-off-by: Jan Kundrát <jan.kundrat@cesnet.cz>
[Arnout:
 - rename to solidrun_clearfog_defconfig;
 - specify kernel headers version (default is now 4.15);
 - remove ext2 fs size override, the 4 extra MB are not needed;
 - U-Boot needs dtc and openssl;
 - add comments to defconfig;
 - update .gitlab-ci.yml;
 - mention in readme.txt that SFP support is missing;
 - add Jan to DEVELOPERS.
]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This commit is contained in:
Jan Kundrát 2017-09-04 22:30:08 +02:00 committed by Arnout Vandecappelle (Essensium/Mind)
parent dae0d7b3ca
commit ee156ad480
8 changed files with 142 additions and 0 deletions

View File

@ -240,6 +240,7 @@ snps_archs38_haps_defconfig: *defconfig
snps_archs38_hsdk_defconfig: *defconfig
snps_archs38_vdk_defconfig: *defconfig
socrates_cyclone5_defconfig: *defconfig
solidrun_clearfog_defconfig: *defconfig
solidrun_macchiatobin_mainline_defconfig: *defconfig
solidrun_macchiatobin_marvell_defconfig: *defconfig
stm32f429_disco_defconfig: *defconfig

View File

@ -861,6 +861,10 @@ F: package/yad/
N: Jan Heylen <jan.heylen@nokia.com>
F: package/opentracing-cpp/
N: Jan Kundrát <jan.kundrat@cesnet.cz>
F: configs/solidrun_clearfog_defconfig
F: board/solidrun/clearfog/
N: Jan Kraval <jan.kraval@gmail.com>
F: board/orangepi/orangepi-lite
F: configs/orangepi_lite_defconfig

View File

@ -0,0 +1,5 @@
setenv fdtfile armada-388-clearfog-base.dtb
setenv bootargs root=/dev/mmcblk0p1
load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${prefix}/${fdtfile}
load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} ${prefix}/zImage
bootz ${kernel_addr_r} - ${fdt_addr_r}

View File

@ -0,0 +1,16 @@
image sdcard.img {
hdimage {
}
partition u-boot {
in-partition-table = "no"
image = "u-boot-spl.kwb"
offset = 512
}
partition rootfs {
partition-type = 0x83
image = "rootfs.ext4"
offset = 1M
}
}

View File

@ -0,0 +1 @@
CONFIG_SENSORS_MCP3021=y

View File

@ -0,0 +1,3 @@
#!/bin/sh
install -m 0644 -D $BINARIES_DIR/boot.scr $TARGET_DIR/boot/boot.scr

View File

@ -0,0 +1,68 @@
**********************
SolidRun Clearfog Base
**********************
This file documents Buildroot's support for the Clearfog Base by Solid Run.
Vendor's documentation:
https://wiki.solid-run.com/doku.php?id=products:a38x:documents
Warning for eMMC variant of the MicroSoM
========================================
If you bought a MicroSoM version that includes an on-board eMMC flash, the
built-in microSD card slot *WILL NOT WORK*. The Internet says that you have to
upload the first bootloader via UART. This manual does not cover these steps;
only MicroSoMs without the eMMC are supported.
Limitations
===========
There's no access to the SPI flash in this combination of kernel/uboot/dts.
There is no support for the SFP.
Build
=====
Start with the default Buildroot's configuration for Clearfog:
make solidrun_clearfog_defconfig
Build all components:
make
The results of the build are available in ./output/images.
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 microSD card. Launch the following
command as root:
dd if=./output/images/sdcard.img of=/dev/<your-microsd-device>
*** WARNING! The script will destroy all the card content. Use with care! ***
For details about the medium image layout, see the definition in
board/solidrun/clearfog/genimage.cfg.
Boot the Clearfog board
=======================
Here's how to boot the board:
- Set up the DIP switches for microSD boot. The correct values are:
1: off, 2: off, 3: ON, 4: ON, 5: ON. In this scheme, switch #1" is closer to
the ethernet ports and #5 is closer to the microSD card, "ON" means towards
the SOM, and "off" means towards the SFP cage.
- Connect to the board's console over the microUSB port.
- Insert the SD card into the slot on the board (pins up).
- Power up the board.

View File

@ -0,0 +1,44 @@
# Architecture
BR2_arm=y
BR2_cortex_a9=y
BR2_ARM_ENABLE_NEON=y
BR2_ARM_ENABLE_VFP=y
BR2_ARM_FPU_NEON=y
# Linux headers same as kernel, a 4.12 series
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_12=y
# System configuration
BR2_ROOTFS_POST_BUILD_SCRIPT="board/solidrun/clearfog/post-build.sh"
BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/solidrun/clearfog/genimage.cfg"
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.12.10"
BR2_LINUX_KERNEL_DEFCONFIG="mvebu_v7"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/solidrun/clearfog/linux.fragment"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="armada-388-clearfog-base"
BR2_LINUX_KERNEL_INSTALL_TARGET=y
# Filesystem
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
# BR2_TARGET_ROOTFS_TAR is not set
BR2_PACKAGE_HOST_GENIMAGE=y
# Bootloader
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.07"
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="clearfog"
BR2_TARGET_UBOOT_NEEDS_DTC=y
BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
# BR2_TARGET_UBOOT_FORMAT_BIN is not set
BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-spl.kwb"
BR2_TARGET_UBOOT_BOOT_SCRIPT=y
BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="board/solidrun/clearfog/boot.scr.txt"