Files
buildroot/board/microchip/mpfs_icicle
Jamie Gibbons 98a4635d87 board: microchip: mpfs_icicle: update to support production silicon
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>
2026-01-02 18:06:09 +01:00
..

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.