From: Jamie Gibbons via buildroot <buildroot@buildroot.org>
To: <buildroot@buildroot.org>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
Ludovic Desroches <ludovic.desroches@microchip.com>,
Nicolas Ferre <nicolas.ferre@microchip.com>,
Conor Dooley <Conor.Dooley@microchip.com>,
Valentina Fernandez Alanis
<Valentina.FernandezAlanis@microchip.com>,
"Jamie Gibbons" <jamie.gibbons@microchip.com>
Subject: [Buildroot] [PATCH 2/3] board: microchip: mpfs_icicle: update to support production silicon
Date: Thu, 14 Aug 2025 13:16:36 +0100 [thread overview]
Message-ID: <20250814121637.3775660-3-jamie.gibbons@microchip.com> (raw)
In-Reply-To: <20250814121637.3775660-1-jamie.gibbons@microchip.com>
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>
---
board/microchip/mpfs_icicle/mpfs_icicle.its | 36 +++++++++++++++----
board/microchip/mpfs_icicle/uboot-env.txt | 21 ++++++-----
.../mpfs_icicle/uboot-fragment-rootfs.config | 1 +
3 files changed, 42 insertions(+), 16 deletions(-)
diff --git a/board/microchip/mpfs_icicle/mpfs_icicle.its b/board/microchip/mpfs_icicle/mpfs_icicle.its
index a62b079fa1..2f89a6ee2f 100644
--- a/board/microchip/mpfs_icicle/mpfs_icicle.its
+++ b/board/microchip/mpfs_icicle/mpfs_icicle.its
@@ -24,7 +24,7 @@
algo = "sha256";
};
};
- base_fdt {
+ fdt-mpfs-icicle-kit.dtb {
description = "Flattened Device Tree blob";
data = /incbin/("./mpfs-icicle-kit.dtb");
type = "flat_dt";
@@ -35,19 +35,41 @@
algo = "sha256";
};
};
+ fdt-mpfs-icicle-kit-prod.dtb {
+ description = "Flattened Device Tree blob";
+ data = /incbin/("./mpfs-icicle-kit-prod.dtb");
+ type = "flat_dt";
+ arch = "riscv";
+ compression = "none";
+ load = <0x8a000000>;
+ hash-1 {
+ algo = "sha256";
+ };
+ };
};
configurations {
- default = "kernel_dtb";
- kernel_dtb {
+ default = "conf-microchip,mpfs-icicle-kit-prod";
+ conf-microchip,mpfs-icicle-kit {
description = "1 Linux kernel, FDT blob";
kernel = "kernel";
- fdt = "base_fdt";
+ fdt = "fdt-mpfs-icicle-kit.dtb";
};
- base_dtb {
+ conf-microchip,mpfs-icicle-kit-prod {
+ description = "1 Linux kernel, FDT blob";
+ kernel = "kernel";
+ fdt = "fdt-mpfs-icicle-kit-prod.dtb";
+ };
+
+ conf-microchip,fdt-mpfs-icicle-kit.dtb {
description = "Base FDT blob for MPFS Icicle board";
- fdt = "base_fdt";
+ fdt = "fdt-mpfs-icicle-kit.dtb";
+ };
+
+ conf-microchip,fdt-mpfs-icicle-kit-prod.dtb {
+ description = "Base FDT blob for MPFS Icicle Production board";
+ fdt = "fdt-mpfs-icicle-kit-prod.dtb";
};
};
-};
+};
\ No newline at end of file
diff --git a/board/microchip/mpfs_icicle/uboot-env.txt b/board/microchip/mpfs_icicle/uboot-env.txt
index 8a655085ed..befbfa2006 100644
--- a/board/microchip/mpfs_icicle/uboot-env.txt
+++ b/board/microchip/mpfs_icicle/uboot-env.txt
@@ -5,12 +5,15 @@
setenv fdt_high 0xffffffffffffffff
setenv initrd_high 0xffffffffffffffff
-load mmc 0:${distro_bootpart} ${scriptaddr} mpfs_icicle.itb;
-bootm start ${scriptaddr}#kernel_dtb;
-bootm loados ${scriptaddr};
-# Try to load a ramdisk if available inside fitImage
-bootm ramdisk;
-bootm prep;
-fdt set /soc/ethernet@20112000 mac-address ${icicle_mac_addr0};
-fdt set /soc/ethernet@20110000 mac-address ${icicle_mac_addr1};
-bootm go;
+fdt addr ${fdtcontroladdr}
+fdt get value board_compatible / compatible 1
+
+setenv fitconf conf-${board_compatible}
+
+load mmc 0:${distro_bootpart} ${scriptaddr} mpfs_icicle.itb
+bootm start ${scriptaddr}#${fitconf}
+bootm loados ${scriptaddr}
+bootm ramdisk
+bootm prep
+run design_overlays
+bootm go
diff --git a/board/microchip/mpfs_icicle/uboot-fragment-rootfs.config b/board/microchip/mpfs_icicle/uboot-fragment-rootfs.config
index e2a5eb9438..47f4c35ea4 100644
--- a/board/microchip/mpfs_icicle/uboot-fragment-rootfs.config
+++ b/board/microchip/mpfs_icicle/uboot-fragment-rootfs.config
@@ -1,3 +1,4 @@
CONFIG_USE_BOOTARGS=y
CONFIG_BOOTARGS="root=/dev/mmcblk0p3 rootwait uio_pdrv_genirq.of_id=generic-uio"
CONFIG_MPFS_PRIORITISE_QSPI_BOOT=n
+CONFIG_OF_BOARD=y
--
2.43.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
next prev parent reply other threads:[~2025-08-14 12:20 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-14 12:16 [Buildroot] [PATCH 0/3] Add MPFS Icicle kit with Production Silicon support Jamie Gibbons via buildroot
2025-08-14 12:16 ` [Buildroot] [PATCH 1/3] configs/microchip_mpfs_icicle: bump Linux and U-Boot, add hashes Jamie Gibbons via buildroot
2025-11-13 9:52 ` Jamie.Gibbons--- via buildroot
2025-08-14 12:16 ` Jamie Gibbons via buildroot [this message]
2025-08-14 12:16 ` [Buildroot] [PATCH 3/3] configs/microchip_mpfs_icicle: add support for production silicon Icicle kit Jamie Gibbons via buildroot
2026-01-02 17:06 ` [Buildroot] [PATCH 0/3] Add MPFS Icicle kit with Production Silicon support Thomas Petazzoni via buildroot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250814121637.3775660-3-jamie.gibbons@microchip.com \
--to=buildroot@buildroot.org \
--cc=Conor.Dooley@microchip.com \
--cc=Valentina.FernandezAlanis@microchip.com \
--cc=jamie.gibbons@microchip.com \
--cc=ludovic.desroches@microchip.com \
--cc=nicolas.ferre@microchip.com \
--cc=thomas.petazzoni@bootlin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.