* [PATCH v2] configs: starfive: enable mtdparts on visionfive2
@ 2026-10-22 11:09 E Shattow
2026-11-02 16:03 ` Leo Liang
0 siblings, 1 reply; 2+ messages in thread
From: E Shattow @ 2026-10-22 11:09 UTC (permalink / raw)
To: u-boot, Minda Chen, Hal Feng, Tom Rini
Cc: Leo Liang, Heinrich Schuchardt, E Shattow
add default mtdparts and mtdids consistent with Linux v7.3 Cadence QSPI
driver .get_name() handler cqspi_get_name() and jh7110-common.dtsi
Signed-off-by: E Shattow <e@freeshell.de>
---
This allows us to update the documentation to be slightly less likely
that the user would type the wrong offset by using mtd part names:
- loady && sf update $loadaddr 0 $filesize
- StarFive # loady && sf update $loadaddr 0 $filesize
+ loady && sf update $loadaddr spl
+ StarFive # loady && sf update $loadaddr spl
However that documentation update is planned for after the mtdparts
addition lands in release. It would be preferable to derive mtdparts
layout at runtime from device tree; if there is some way to do that
sensibly please offer some advice how to do so in the review. Thanks!
Refer to discussion of mtd-id for SpacemiT K3 [1] and Linux v7.3 Cadence QSPI
driver [2].
1: https://lore.kernel.org/u-boot/20261022103907.1415045-3-e@freeshell.de/
2: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/spi/spi-cadence-quadspi.c?h=v7.3#n1724
static const char *cqspi_get_name(struct spi_mem *mem)
{
struct cqspi_st *cqspi = spi_controller_get_devdata(mem->spi->controller);
struct device *dev = &cqspi->pdev->dev;
return devm_kasprintf(dev, GFP_KERNEL, "%s.%d", dev_name(dev),
spi_get_chipselect(mem->spi, 0));
}
In the typical situation for JH-7110 SoC then dev_name(dev) is "13010000.spi"
and spi_get_chipselect(mem->spi, 0) returns a value of zero.
Changes in v2:
- use Linux v7.3 cqspi_get_name() typical result for mtdparts layout
name; this is done for compatibility in the non-default configuration
of matching cmdline mtdparts mtd-id when Linux MTD_OF_PARTS is disabled
---
configs/starfive_visionfive2_defconfig | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/configs/starfive_visionfive2_defconfig b/configs/starfive_visionfive2_defconfig
index 45de1c1cb671..e2a1f10dbc0a 100644
--- a/configs/starfive_visionfive2_defconfig
+++ b/configs/starfive_visionfive2_defconfig
@@ -78,6 +78,9 @@ CONFIG_CMD_WDT=y
CONFIG_CMD_WGET=y
CONFIG_WGET_HTTPS=y
CONFIG_CMD_BOOTSTAGE=y
+CONFIG_CMD_MTDPARTS=y
+CONFIG_MTDIDS_DEFAULT="nor0=13010000.spi.0"
+CONFIG_MTDPARTS_DEFAULT="13010000.spi.0:960k(spl),64k(uboot-env),-(uboot)"
CONFIG_OF_BOARD=y
CONFIG_DEVICE_TREE_INCLUDES="starfive-visionfive2-u-boot.dtsi"
CONFIG_OF_LIST="starfive/jh7110-deepcomputing-fml13v01 starfive/jh7110-milkv-mars starfive/jh7110-milkv-marscm-emmc starfive/jh7110-milkv-marscm-lite starfive/jh7110-orangepi-rv starfive/jh7110-pine64-star64 starfive/jh7110-starfive-visionfive-2-v1.2a starfive/jh7110-starfive-visionfive-2-v1.3b starfive/jh7110-starfive-visionfive-2-lite starfive/jh7110-starfive-visionfive-2-lite-emmc"
@@ -107,6 +110,7 @@ CONFIG_SPI_FLASH_EON=y
CONFIG_SPI_FLASH_GIGADEVICE=y
CONFIG_SPI_FLASH_ISSI=y
CONFIG_SPI_FLASH_MACRONIX=y
+CONFIG_SPI_FLASH_MTD=y
CONFIG_DM_MDIO=y
CONFIG_DM_ETH_PHY=y
CONFIG_DWC_ETH_QOS=y
base-commit: 903c9578eeb36d72f087082da494c605ddaed3b2
--
2.53.0
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH v2] configs: starfive: enable mtdparts on visionfive2
2026-10-22 11:09 [PATCH v2] configs: starfive: enable mtdparts on visionfive2 E Shattow
@ 2026-11-02 16:03 ` Leo Liang
0 siblings, 0 replies; 2+ messages in thread
From: Leo Liang @ 2026-11-02 16:03 UTC (permalink / raw)
To: E Shattow; +Cc: u-boot, Minda Chen, Hal Feng, Tom Rini, Heinrich Schuchardt
On Thu, Oct 22, 2026 at 04:09:06AM -0700, E Shattow wrote:
> add default mtdparts and mtdids consistent with Linux v7.3 Cadence QSPI
> driver .get_name() handler cqspi_get_name() and jh7110-common.dtsi
>
> Signed-off-by: E Shattow <e@freeshell.de>
> ---
>
> This allows us to update the documentation to be slightly less likely
> that the user would type the wrong offset by using mtd part names:
>
> - loady && sf update $loadaddr 0 $filesize
> - StarFive # loady && sf update $loadaddr 0 $filesize
> + loady && sf update $loadaddr spl
> + StarFive # loady && sf update $loadaddr spl
>
> However that documentation update is planned for after the mtdparts
> addition lands in release. It would be preferable to derive mtdparts
> layout at runtime from device tree; if there is some way to do that
> sensibly please offer some advice how to do so in the review. Thanks!
>
> Refer to discussion of mtd-id for SpacemiT K3 [1] and Linux v7.3 Cadence QSPI
> driver [2].
>
> 1: https://lore.kernel.org/u-boot/20261022103907.1415045-3-e@freeshell.de/
>
> 2: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/spi/spi-cadence-quadspi.c?h=v7.3#n1724
>
> static const char *cqspi_get_name(struct spi_mem *mem)
> {
> struct cqspi_st *cqspi = spi_controller_get_devdata(mem->spi->controller);
> struct device *dev = &cqspi->pdev->dev;
>
> return devm_kasprintf(dev, GFP_KERNEL, "%s.%d", dev_name(dev),
> spi_get_chipselect(mem->spi, 0));
> }
>
> In the typical situation for JH-7110 SoC then dev_name(dev) is "13010000.spi"
> and spi_get_chipselect(mem->spi, 0) returns a value of zero.
>
> Changes in v2:
> - use Linux v7.3 cqspi_get_name() typical result for mtdparts layout
> name; this is done for compatibility in the non-default configuration
> of matching cmdline mtdparts mtd-id when Linux MTD_OF_PARTS is disabled
> ---
> configs/starfive_visionfive2_defconfig | 4 ++++
> 1 file changed, 4 insertions(+)
Reviewed-by: Leo Yu-Chi Liang <leo.liang@sifive.com>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-11-02 16:03 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-22 11:09 [PATCH v2] configs: starfive: enable mtdparts on visionfive2 E Shattow
2026-11-02 16:03 ` Leo Liang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox