[PATCH] arm: dts: aspeed: add an alt 128M flash layout

Andrew Jeffery andrew at codeconstruct.com.au
Thu Dec 18 09:59:44 AEDT 2025


On Thu, 2025-12-11 at 13:35 -0800, Marc Olberding wrote:
> Add a 128M layout for the BMC flash chip we didn't boot from.
> Including
> this allows the user to write to each partition on the alternate spi
> chip. This dtsi follows the existing standard of using the same
> layout
> as non alt version and prepending `alt` to each partition's name.
> 
> Testing: Include this in msx4 and cat size, offsets and name
> ```
> for devdir in /sys/class/mtd/mtd*; do
> >     [[ -d $devdir && -r $devdir/name ]] || continue
> >     name=$(<"$devdir/name")
> >     [[ $name == alt* ]] || continue
> > 
> >     size=$(<"$devdir/size")
> >     offset=0
> >     [[ -r $devdir/offset ]] && offset=$(<"$devdir/offset")
> > 
> >     dev=$(basename "$devdir")
> >     printf "%s name=%s offset=0x%X size=0x%X\n" "$dev" "$name" \
> >        "$offset" "$size"
> > done
> mtd10 name=alt-rofs offset=0xA00000 size=0x5600000
> mtd11 name=alt-rwfs offset=0x6000000 size=0x2000000
> mtd7 name=alt-u-boot offset=0x0 size=0xE0000
> mtd8 name=alt-u-boot-env offset=0xE0000 size=0x20000
> mtd9 name=alt-kernel offset=0x100000 size=0x900000
> ```
> 
> Also ran dtbs_check on an existing dts with this included.
> 
> Signed-off-by: Marc Olberding <molberding at nvidia.com>
> ---
> Add a layout for an alternate 128M flash layout. This is
> useful for the aspeed ast2500[2] and ast2600[1] SoCs,
> where it has the ability to boot from one of two spi chips,
> nominally the primary and backup SPIs. Adding a layout allows
> userspace
> to flash the alternate spi by partition and switch over to it,
> allowing
> lower downtime for firmware flash, or for updating the primary
> flash from the golden backup flash. This is already an established
> scheme for the 32M and 64M layouts, where the layout is the same
> but each partition has `alt` prepended to its name. This allows
> userspace to just prepend alt to the images in the update process
> to specify which flash chip to update.
> 
> References:
> 
> [1] https://www.aspeedtech.com/server_ast2600/
> [2] https://www.aspeedtech.com/server_ast2500/
> ---
>  .../dts/aspeed/openbmc-flash-layout-128-alt.dtsi   | 32
> ++++++++++++++++++++++
>  1 file changed, 32 insertions(+)

This may be fine, but please add it in a series that also introduces a
board that consumes it.

Andrew


More information about the Linux-aspeed mailing list