Message ID | 286913cf8082a174d123f2581b9e61ad5250d8b7.1504541978.git.jan.kundrat@cesnet.cz |
---|---|
State | Superseded |
Headers | show |
Series | [v2,1/1] New board: SolidRun ClearFog Base | expand |
Hi Jan, On Mon, Sep 04, 2017 at 04:58:10PM +0200, Jan Kundrát wrote: > 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. This information belongs (also) in the readme.txt file, I believe. > Signed-off-by: Jan Kundrát <jan.kundrat@cesnet.cz> [...] > diff --git a/board/solidrun/clearfog/readme.txt b/board/solidrun/clearfog/readme.txt > new file mode 100644 > index 0000000..0962d49 > --- /dev/null > +++ b/board/solidrun/clearfog/readme.txt > @@ -0,0 +1,62 @@ > +********************** > +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. As far as I know all eMMC SOMs are pre-loaded with a bootloader. But you are right that this README doesn't cover these. [...] > +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. Yes, it's different than what > + the vendor says in the manual. These DIP switches settings looks exactly the same as in the wiki page[1]. Note the comment below the diagram. [1] https://wiki.solid-run.com/doku.php?id=products:a38x:clearfog#bootdevice_dipswitch > +- 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. [...] baruch
> This information belongs (also) in the readme.txt file, I believe. Right, I've added this in v3. > As far as I know all eMMC SOMs are pre-loaded with a > bootloader. But you are > right that this README doesn't cover these. I didn't know that. In fact, I specifically ordered the no-eMMC version based on the information on the web in order to make my life easier. Thanks. I'll leave the comment as-is for now though. > These DIP switches settings looks exactly the same as in the wiki page[1]. > Note the comment below the diagram. You're right. However, the PDF manual on the web [1] mentions 11000 on page 10. [1] https://wiki.solid-run.com/lib/exe/fetch.php?media=a38x:carrierboard:docs:sr-a38x-clearfog_base-manual-rev1.1.pdf
diff --git a/board/solidrun/clearfog/boot.scr.txt b/board/solidrun/clearfog/boot.scr.txt new file mode 100644 index 0000000..a2332e3 --- /dev/null +++ b/board/solidrun/clearfog/boot.scr.txt @@ -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} diff --git a/board/solidrun/clearfog/genimage.cfg b/board/solidrun/clearfog/genimage.cfg new file mode 100644 index 0000000..8963619 --- /dev/null +++ b/board/solidrun/clearfog/genimage.cfg @@ -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 + } +} diff --git a/board/solidrun/clearfog/linux.fragment b/board/solidrun/clearfog/linux.fragment new file mode 100644 index 0000000..b7ed5b0 --- /dev/null +++ b/board/solidrun/clearfog/linux.fragment @@ -0,0 +1 @@ +CONFIG_SENSORS_MCP3021=y diff --git a/board/solidrun/clearfog/post-build.sh b/board/solidrun/clearfog/post-build.sh new file mode 100755 index 0000000..ff22ebd --- /dev/null +++ b/board/solidrun/clearfog/post-build.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +install -m 0644 -D $BINARIES_DIR/boot.scr $TARGET_DIR/boot/boot.scr diff --git a/board/solidrun/clearfog/readme.txt b/board/solidrun/clearfog/readme.txt new file mode 100644 index 0000000..0962d49 --- /dev/null +++ b/board/solidrun/clearfog/readme.txt @@ -0,0 +1,62 @@ +********************** +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. + +Build +===== + +Start with the default Buildroot's configuration for Clearfog: + + make 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. Yes, it's different than what + the vendor says in the manual. +- 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. diff --git a/configs/clearfog_defconfig b/configs/clearfog_defconfig new file mode 100644 index 0000000..05df38c --- /dev/null +++ b/configs/clearfog_defconfig @@ -0,0 +1,31 @@ +BR2_arm=y +BR2_cortex_a9=y +BR2_ARM_ENABLE_NEON=y +BR2_ARM_ENABLE_VFP=y +BR2_ARM_FPU_NEON=y +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" +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 +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="64M" +# BR2_TARGET_ROOTFS_TAR is not set +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_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" +BR2_PACKAGE_HOST_GENIMAGE=y