mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-09-08 23:51:08 -09:00
With the introduction of the production silicon Icicle Kit comes the need to support multiple board device trees. The HSS puts a minimal dtb in it's payload's ancillary-data immediately after U-Boot in memory. CONFIG_OF_BOARD will use this dtb that the HSS carries with the bare minimum of nodes enabled. It allows for firmware to provide the address of the devicetree in memory using the `a1` register. Use the device tree compatible from the hart software services to essentially "detect" which board is in use and therefore select the appropiate device tree for the board. Add a fdt production node to the .its referencing the production Icicle Kit DTB with appropriate attributes. Introduce matching configuration entries to enable selection of the production Icicle kit FDT blob for the MPFS Icicle Production Silicon board. Update the configuration names to match the device tree compatibles for each board configuration. With these updates, change image node and configuration node names with more appropriate names. Signed-off-by: Jamie Gibbons <jamie.gibbons@microchip.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Microchip PolarFire SoC Icicle Kit
==================================
This file describes how to use the pre-defined Buildroot
configuration for Microchip's PolarFire SoC Icicle Kit.
Further information about the PolarFire SoC Icicle Kit can be found
at https://github.com/polarfire-soc/polarfire-soc-documentation
Building
========
Configure Buildroot using the default board configuration:
'$ make microchip_mpfs_icicle_defconfig'
Customise the build as necessary:
'$ make menuconfig'
Start the build:
'$ make'
Result of the build
===================
Once the build has finished you will have the following files:
output/images/
+-- boot.scr
+-- boot.vfat
+-- Image
+-- mpfs_icicle.itb
+-- mpfs_icicle.its
+-- mpfs-icicle-kit.dtb
+-- payload.bin
+-- rootfs.ext2
+-- rootfs.ext4
+-- rootfs.tar
+-- sdcard.img
+-- u-boot.bin
Creating a bootable SD card with genimage
=========================================
By default Buildroot builds a SD card image for you. The first partition
of this image contains a U-Boot binary, embedded in a Hart Software
Services (HSS) payload. The second partition contains a FAT filesystem
with a U-Boot env and an ITB file containing the kernel and the device
tree. The third partition contains the file system. This image can be
written directly to the eMMC or an SD card. All you need to do is dd the
image to the eMMC or your SD card, which can be done with the following
command on your development host:
'$ sudo dd if=output/images/sdcard.img of=/dev/sdb bs=1M'
For instructions on how to transfer the image to the eMMC/SD, please refer to
the "Programming the Linux image" section of our guide on updating
PolarFire SoC dev kits:
https://github.com/polarfire-soc/polarfire-soc-documentation/blob/master/reference-designs-fpga-and-development-kits/updating-mpfs-kit.md.