* [PATCH 0/2] Enable SPI NOR flash for SpacemiT K3 in main app @ 2026-10-20 19:51 E Shattow 2026-10-20 19:51 ` [PATCH 1/2] configs: spacemit: k3: enable spi nor flash " E Shattow 2026-10-20 19:51 ` [PATCH 2/2] configs: spacemit: k3: enable mtdparts on Pico-ITX " E Shattow 0 siblings, 2 replies; 10+ messages in thread From: E Shattow @ 2026-10-20 19:51 UTC (permalink / raw) To: u-boot, Yixun Lan; +Cc: E Shattow Enable SPI Flash command, mtd part names and locations, and store U-Boot environment in SPI NOR flash. E Shattow (2): configs: spacemit: k3: enable spi nor flash in main app configs: spacemit: k3: enable mtdparts on Pico-ITX in main app arch/riscv/cpu/k3/Kconfig | 1 + configs/spacemit_k3_defconfig | 11 +++++++++++ 2 files changed, 12 insertions(+) base-commit: 40988fb81ef17c15c36aab94297f5a7a6bc79671 -- 2.53.0 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/2] configs: spacemit: k3: enable spi nor flash in main app 2026-10-20 19:51 [PATCH 0/2] Enable SPI NOR flash for SpacemiT K3 in main app E Shattow @ 2026-10-20 19:51 ` E Shattow 2026-10-21 7:13 ` Yixun Lan 2026-10-21 8:01 ` Yixun Lan 2026-10-20 19:51 ` [PATCH 2/2] configs: spacemit: k3: enable mtdparts on Pico-ITX " E Shattow 1 sibling, 2 replies; 10+ messages in thread From: E Shattow @ 2026-10-20 19:51 UTC (permalink / raw) To: u-boot, Yixun Lan, Tim Ouyang, Leo Liang, Yao Zi, Tom Rini; +Cc: E Shattow Enable sf command and env storage in SPI NOR flash. SPL is not yet upstream so this is only in the main app, and depends on vendor SPL for clocks setup ahead of SPI NOR flash probe. Signed-off-by: E Shattow <e@freeshell.de> --- arch/riscv/cpu/k3/Kconfig | 1 + configs/spacemit_k3_defconfig | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/arch/riscv/cpu/k3/Kconfig b/arch/riscv/cpu/k3/Kconfig index 5474ac112437..07b490a718dd 100644 --- a/arch/riscv/cpu/k3/Kconfig +++ b/arch/riscv/cpu/k3/Kconfig @@ -14,5 +14,6 @@ config SPACEMIT_K3 imply RISCV_TIMER if RISCV_SMODE imply CMD_CPU imply OF_UPSTREAM + imply SPI endif diff --git a/configs/spacemit_k3_defconfig b/configs/spacemit_k3_defconfig index 586305c62322..b333e708d01b 100644 --- a/configs/spacemit_k3_defconfig +++ b/configs/spacemit_k3_defconfig @@ -4,6 +4,8 @@ CONFIG_SYS_MALLOC_F_LEN=0x80000 CONFIG_NR_DRAM_BANKS=2 CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x102300000 +CONFIG_ENV_SIZE=0x10000 +CONFIG_ENV_OFFSET=0xa0000 CONFIG_DM_GPIO=y CONFIG_DEFAULT_DEVICE_TREE="spacemit/k3-pico-itx" CONFIG_SYS_BOOTM_LEN=0xa000000 @@ -35,6 +37,8 @@ CONFIG_CMD_REGULATOR=y CONFIG_CMD_FAT=y CONFIG_CMD_FS_GENERIC=y CONFIG_DEVICE_TREE_INCLUDES="spacemit-k3-u-boot.dtsi" +CONFIG_ENV_OVERWRITE=y +CONFIG_ENV_IS_IN_SPI_FLASH=y CONFIG_NET_LWIP=y CONFIG_NET_RANDOM_ETHADDR=y CONFIG_SYSCON=y @@ -44,6 +48,7 @@ CONFIG_SPACEMIT_GPIO=y CONFIG_DM_I2C=y CONFIG_SYS_I2C_SPACEMIT_K1=y CONFIG_MISC=y +CONFIG_SPI_FLASH_WINBOND=y CONFIG_PHY_GIGE=y CONFIG_DWC_ETH_QOS=y CONFIG_DWC_ETH_QOS_SPACEMIT=y @@ -61,4 +66,5 @@ CONFIG_DEBUG_UART_SHIFT=2 CONFIG_DEBUG_UART_ANNOUNCE=y CONFIG_SYS_NS16550=y CONFIG_SYS_NS16550_MEM32=y +CONFIG_FSL_QSPI=y CONFIG_TIMER_EARLY=y -- 2.53.0 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 1/2] configs: spacemit: k3: enable spi nor flash in main app 2026-10-20 19:51 ` [PATCH 1/2] configs: spacemit: k3: enable spi nor flash " E Shattow @ 2026-10-21 7:13 ` Yixun Lan 2026-10-21 7:37 ` E Shattow 2026-10-21 8:01 ` Yixun Lan 1 sibling, 1 reply; 10+ messages in thread From: Yixun Lan @ 2026-10-21 7:13 UTC (permalink / raw) To: E Shattow; +Cc: u-boot, Tim Ouyang, Leo Liang, Yao Zi, Tom Rini Hi E Shattow, Thanks for the patch On 12:51 Tue 20 Oct , E Shattow wrote: > Enable sf command and env storage in SPI NOR flash. .. > SPL is not yet > upstream so this is only in the main app, and depends on vendor SPL for > clocks setup ahead of SPI NOR flash probe. > This could be added as additional info, but I'd rather not put in commit meassage, maybe just put it under "---" scissors line for reference For why depend on SPL for clock, reset setup.. I checked fsl_qspi.c, there is no clock & reset enabling support currently, although SpacemiT do provide those support, but I think it's another item need to improve, and we could definitely address it in a separate thread.. > Signed-off-by: E Shattow <e@freeshell.de> > --- > arch/riscv/cpu/k3/Kconfig | 1 + > configs/spacemit_k3_defconfig | 6 ++++++ > 2 files changed, 7 insertions(+) > > diff --git a/arch/riscv/cpu/k3/Kconfig b/arch/riscv/cpu/k3/Kconfig > index 5474ac112437..07b490a718dd 100644 > --- a/arch/riscv/cpu/k3/Kconfig > +++ b/arch/riscv/cpu/k3/Kconfig > @@ -14,5 +14,6 @@ config SPACEMIT_K3 > imply RISCV_TIMER if RISCV_SMODE > imply CMD_CPU > imply OF_UPSTREAM > + imply SPI Any reason to add this dependency? I'd prefer to put this config in defconfig, As I see K3 has no hard requirement for SPI support from architecture perspective > > endif > diff --git a/configs/spacemit_k3_defconfig b/configs/spacemit_k3_defconfig > index 586305c62322..b333e708d01b 100644 > --- a/configs/spacemit_k3_defconfig > +++ b/configs/spacemit_k3_defconfig > @@ -4,6 +4,8 @@ CONFIG_SYS_MALLOC_F_LEN=0x80000 > CONFIG_NR_DRAM_BANKS=2 > CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y > CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x102300000 > +CONFIG_ENV_SIZE=0x10000 > +CONFIG_ENV_OFFSET=0xa0000 > CONFIG_DM_GPIO=y > CONFIG_DEFAULT_DEVICE_TREE="spacemit/k3-pico-itx" > CONFIG_SYS_BOOTM_LEN=0xa000000 > @@ -35,6 +37,8 @@ CONFIG_CMD_REGULATOR=y > CONFIG_CMD_FAT=y > CONFIG_CMD_FS_GENERIC=y > CONFIG_DEVICE_TREE_INCLUDES="spacemit-k3-u-boot.dtsi" > +CONFIG_ENV_OVERWRITE=y > +CONFIG_ENV_IS_IN_SPI_FLASH=y > CONFIG_NET_LWIP=y > CONFIG_NET_RANDOM_ETHADDR=y > CONFIG_SYSCON=y > @@ -44,6 +48,7 @@ CONFIG_SPACEMIT_GPIO=y > CONFIG_DM_I2C=y > CONFIG_SYS_I2C_SPACEMIT_K1=y > CONFIG_MISC=y > +CONFIG_SPI_FLASH_WINBOND=y > CONFIG_PHY_GIGE=y > CONFIG_DWC_ETH_QOS=y > CONFIG_DWC_ETH_QOS_SPACEMIT=y > @@ -61,4 +66,5 @@ CONFIG_DEBUG_UART_SHIFT=2 > CONFIG_DEBUG_UART_ANNOUNCE=y > CONFIG_SYS_NS16550=y > CONFIG_SYS_NS16550_MEM32=y > +CONFIG_FSL_QSPI=y > CONFIG_TIMER_EARLY=y > -- > 2.53.0 > -- Yixun Lan (dlan) ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/2] configs: spacemit: k3: enable spi nor flash in main app 2026-10-21 7:13 ` Yixun Lan @ 2026-10-21 7:37 ` E Shattow 0 siblings, 0 replies; 10+ messages in thread From: E Shattow @ 2026-10-21 7:37 UTC (permalink / raw) To: Yixun Lan; +Cc: u-boot, Tim Ouyang, Leo Liang, Yao Zi, Tom Rini Hi Yixun, On 10/21/26 00:13, Yixun Lan wrote: > Hi E Shattow, > > Thanks for the patch > > On 12:51 Tue 20 Oct , E Shattow wrote: >> Enable sf command and env storage in SPI NOR flash. > .. >> SPL is not yet >> upstream so this is only in the main app, and depends on vendor SPL for >> clocks setup ahead of SPI NOR flash probe. >> > This could be added as additional info, but I'd rather not put in commit > meassage, maybe just put it under "---" scissors line for reference > > For why depend on SPL for clock, reset setup.. I checked fsl_qspi.c, > there is no clock & reset enabling support currently, although SpacemiT > do provide those support, but I think it's another item need to improve, > and we could definitely address it in a separate thread.. > >> Signed-off-by: E Shattow <e@freeshell.de> >> --- >> arch/riscv/cpu/k3/Kconfig | 1 + >> configs/spacemit_k3_defconfig | 6 ++++++ >> 2 files changed, 7 insertions(+) >> >> diff --git a/arch/riscv/cpu/k3/Kconfig b/arch/riscv/cpu/k3/Kconfig >> index 5474ac112437..07b490a718dd 100644 >> --- a/arch/riscv/cpu/k3/Kconfig >> +++ b/arch/riscv/cpu/k3/Kconfig >> @@ -14,5 +14,6 @@ config SPACEMIT_K3 >> imply RISCV_TIMER if RISCV_SMODE >> imply CMD_CPU >> imply OF_UPSTREAM >> + imply SPI > Any reason to add this dependency? It is a guess, that when SPL may be loaded by K3 SoC BootROM from SPI NOR flash then there should be an 'imply SPI' for what is needed to have SPI support in SPL here on selecting the K3 SoC or in BOARD_SPECIFIC_OPTIONS. > > I'd prefer to put this config in defconfig, As I see K3 has > no hard requirement for SPI support from architecture perspective > Okay, no objection to to move 'imply SPI' as '=y' in spacemit_k3_defconfig for v2 revision. >> >> endif >> diff --git a/configs/spacemit_k3_defconfig b/configs/spacemit_k3_defconfig >> index 586305c62322..b333e708d01b 100644 >> --- a/configs/spacemit_k3_defconfig >> +++ b/configs/spacemit_k3_defconfig >> @@ -4,6 +4,8 @@ CONFIG_SYS_MALLOC_F_LEN=0x80000 >> CONFIG_NR_DRAM_BANKS=2 >> CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y >> CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x102300000 >> +CONFIG_ENV_SIZE=0x10000 >> +CONFIG_ENV_OFFSET=0xa0000 >> CONFIG_DM_GPIO=y >> CONFIG_DEFAULT_DEVICE_TREE="spacemit/k3-pico-itx" >> CONFIG_SYS_BOOTM_LEN=0xa000000 >> @@ -35,6 +37,8 @@ CONFIG_CMD_REGULATOR=y >> CONFIG_CMD_FAT=y >> CONFIG_CMD_FS_GENERIC=y >> CONFIG_DEVICE_TREE_INCLUDES="spacemit-k3-u-boot.dtsi" >> +CONFIG_ENV_OVERWRITE=y >> +CONFIG_ENV_IS_IN_SPI_FLASH=y >> CONFIG_NET_LWIP=y >> CONFIG_NET_RANDOM_ETHADDR=y >> CONFIG_SYSCON=y >> @@ -44,6 +48,7 @@ CONFIG_SPACEMIT_GPIO=y >> CONFIG_DM_I2C=y >> CONFIG_SYS_I2C_SPACEMIT_K1=y >> CONFIG_MISC=y >> +CONFIG_SPI_FLASH_WINBOND=y >> CONFIG_PHY_GIGE=y >> CONFIG_DWC_ETH_QOS=y >> CONFIG_DWC_ETH_QOS_SPACEMIT=y >> @@ -61,4 +66,5 @@ CONFIG_DEBUG_UART_SHIFT=2 >> CONFIG_DEBUG_UART_ANNOUNCE=y >> CONFIG_SYS_NS16550=y >> CONFIG_SYS_NS16550_MEM32=y >> +CONFIG_FSL_QSPI=y >> CONFIG_TIMER_EARLY=y >> -- >> 2.53.0 >> > Thanks for the review, -E ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/2] configs: spacemit: k3: enable spi nor flash in main app 2026-10-20 19:51 ` [PATCH 1/2] configs: spacemit: k3: enable spi nor flash " E Shattow 2026-10-21 7:13 ` Yixun Lan @ 2026-10-21 8:01 ` Yixun Lan 2026-10-21 15:47 ` E Shattow 1 sibling, 1 reply; 10+ messages in thread From: Yixun Lan @ 2026-10-21 8:01 UTC (permalink / raw) To: E Shattow; +Cc: u-boot, Tim Ouyang, Leo Liang, Yao Zi, Tom Rini Hi E Shattow, one more comment On 12:51 Tue 20 Oct , E Shattow wrote: > Enable sf command and env storage in SPI NOR flash. SPL is not yet > upstream so this is only in the main app, and depends on vendor SPL for > clocks setup ahead of SPI NOR flash probe. > > Signed-off-by: E Shattow <e@freeshell.de> > --- > arch/riscv/cpu/k3/Kconfig | 1 + > configs/spacemit_k3_defconfig | 6 ++++++ > 2 files changed, 7 insertions(+) > .. > CONFIG_SYSCON=y > @@ -44,6 +48,7 @@ CONFIG_SPACEMIT_GPIO=y > CONFIG_DM_I2C=y > CONFIG_SYS_I2C_SPACEMIT_K1=y > CONFIG_MISC=y > +CONFIG_SPI_FLASH_WINBOND=y I've also tested on com260 board which use GD25LQ64C chip, same 8MiB but need to enable CONFIG_SPI_FLASH_GIGADEVICE=y, the patch 2/2 also works on com260, so I'd suggest to make the commit message slightly more generic? not specific for Pico-ITX board -- Yixun Lan (dlan) ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/2] configs: spacemit: k3: enable spi nor flash in main app 2026-10-21 8:01 ` Yixun Lan @ 2026-10-21 15:47 ` E Shattow 0 siblings, 0 replies; 10+ messages in thread From: E Shattow @ 2026-10-21 15:47 UTC (permalink / raw) To: Yixun Lan; +Cc: u-boot, Tim Ouyang, Leo Liang, Yao Zi, Tom Rini Hi Yixun, On 10/21/26 01:01, Yixun Lan wrote: > Hi E Shattow, > > one more comment > > On 12:51 Tue 20 Oct , E Shattow wrote: >> Enable sf command and env storage in SPI NOR flash. SPL is not yet Okay, I will adjust the commit message. Thanks for looking at fsl_qspi.c this is a good report to learn it will need some work. I have carefully constructed a build of SPL from spacemit-com/uboot-2022.10 that is reduced to a minimum of build config options. I'll make the requested changes and send a short write-up of how I build this reduced vendor SPL, for a baseline of testing. >> upstream so this is only in the main app, and depends on vendor SPL for >> clocks setup ahead of SPI NOR flash probe. >> >> Signed-off-by: E Shattow <e@freeshell.de> >> --- >> arch/riscv/cpu/k3/Kconfig | 1 + >> configs/spacemit_k3_defconfig | 6 ++++++ >> 2 files changed, 7 insertions(+) >> > .. >> CONFIG_SYSCON=y >> @@ -44,6 +48,7 @@ CONFIG_SPACEMIT_GPIO=y >> CONFIG_DM_I2C=y >> CONFIG_SYS_I2C_SPACEMIT_K1=y >> CONFIG_MISC=y >> +CONFIG_SPI_FLASH_WINBOND=y > I've also tested on com260 board which use GD25LQ64C chip, same 8MiB > but need to enable CONFIG_SPI_FLASH_GIGADEVICE=y, the patch 2/2 also > works on com260, so I'd suggest to make the commit message slightly > more generic? not specific for Pico-ITX board > Great, adding this for extending support to CoM260, thank you. -E ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 2/2] configs: spacemit: k3: enable mtdparts on Pico-ITX in main app 2026-10-20 19:51 [PATCH 0/2] Enable SPI NOR flash for SpacemiT K3 in main app E Shattow 2026-10-20 19:51 ` [PATCH 1/2] configs: spacemit: k3: enable spi nor flash " E Shattow @ 2026-10-20 19:51 ` E Shattow 2026-10-21 7:56 ` Yixun Lan 1 sibling, 1 reply; 10+ messages in thread From: E Shattow @ 2026-10-20 19:51 UTC (permalink / raw) To: u-boot, Yixun Lan, Tom Rini; +Cc: E Shattow add default mtdparts and mtdids consistent with k3-pico-itx.dts Signed-off-by: E Shattow <e@freeshell.de> --- configs/spacemit_k3_defconfig | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/configs/spacemit_k3_defconfig b/configs/spacemit_k3_defconfig index b333e708d01b..2ca912556a88 100644 --- a/configs/spacemit_k3_defconfig +++ b/configs/spacemit_k3_defconfig @@ -26,6 +26,7 @@ CONFIG_SYS_PBSIZE=276 CONFIG_HUSH_PARSER=y CONFIG_CMD_GPIO=y CONFIG_CMD_I2C=y +CONFIG_CMD_MTD=y CONFIG_CMD_DHCP=y CONFIG_CMD_DNS=y CONFIG_CMD_MII=y @@ -36,6 +37,9 @@ CONFIG_CMD_PMIC=y CONFIG_CMD_REGULATOR=y CONFIG_CMD_FAT=y CONFIG_CMD_FS_GENERIC=y +CONFIG_CMD_MTDPARTS=y +CONFIG_MTDIDS_DEFAULT="nor0=spi0.0" +CONFIG_MTDPARTS_DEFAULT="spi0.0:128k(bootinfo),512k(fsbl),64k(env),1024k(esos),384k(opensbi),-(uboot)" CONFIG_DEVICE_TREE_INCLUDES="spacemit-k3-u-boot.dtsi" CONFIG_ENV_OVERWRITE=y CONFIG_ENV_IS_IN_SPI_FLASH=y @@ -49,6 +53,7 @@ CONFIG_DM_I2C=y CONFIG_SYS_I2C_SPACEMIT_K1=y CONFIG_MISC=y CONFIG_SPI_FLASH_WINBOND=y +CONFIG_SPI_FLASH_MTD=y CONFIG_PHY_GIGE=y CONFIG_DWC_ETH_QOS=y CONFIG_DWC_ETH_QOS_SPACEMIT=y -- 2.53.0 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 2/2] configs: spacemit: k3: enable mtdparts on Pico-ITX in main app 2026-10-20 19:51 ` [PATCH 2/2] configs: spacemit: k3: enable mtdparts on Pico-ITX " E Shattow @ 2026-10-21 7:56 ` Yixun Lan 2026-10-21 14:35 ` E Shattow 0 siblings, 1 reply; 10+ messages in thread From: Yixun Lan @ 2026-10-21 7:56 UTC (permalink / raw) To: E Shattow; +Cc: u-boot, Tom Rini Hi E Shattow, On 12:51 Tue 20 Oct , E Shattow wrote: > add default mtdparts and mtdids consistent with k3-pico-itx.dts > > Signed-off-by: E Shattow <e@freeshell.de> > --- > configs/spacemit_k3_defconfig | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/configs/spacemit_k3_defconfig b/configs/spacemit_k3_defconfig > index b333e708d01b..2ca912556a88 100644 > --- a/configs/spacemit_k3_defconfig > +++ b/configs/spacemit_k3_defconfig > @@ -26,6 +26,7 @@ CONFIG_SYS_PBSIZE=276 > CONFIG_HUSH_PARSER=y > CONFIG_CMD_GPIO=y > CONFIG_CMD_I2C=y > +CONFIG_CMD_MTD=y > CONFIG_CMD_DHCP=y > CONFIG_CMD_DNS=y > CONFIG_CMD_MII=y > @@ -36,6 +37,9 @@ CONFIG_CMD_PMIC=y > CONFIG_CMD_REGULATOR=y > CONFIG_CMD_FAT=y > CONFIG_CMD_FS_GENERIC=y > +CONFIG_CMD_MTDPARTS=y > +CONFIG_MTDIDS_DEFAULT="nor0=spi0.0" > +CONFIG_MTDPARTS_DEFAULT="spi0.0:128k(bootinfo),512k(fsbl),64k(env),1024k(esos),384k(opensbi),-(uboot)" or make it more specific? s/spi0.0/d420c000.spi/ > CONFIG_DEVICE_TREE_INCLUDES="spacemit-k3-u-boot.dtsi" > CONFIG_ENV_OVERWRITE=y > CONFIG_ENV_IS_IN_SPI_FLASH=y > @@ -49,6 +53,7 @@ CONFIG_DM_I2C=y > CONFIG_SYS_I2C_SPACEMIT_K1=y > CONFIG_MISC=y > CONFIG_SPI_FLASH_WINBOND=y > +CONFIG_SPI_FLASH_MTD=y > CONFIG_PHY_GIGE=y > CONFIG_DWC_ETH_QOS=y > CONFIG_DWC_ETH_QOS_SPACEMIT=y > -- > 2.53.0 > -- Yixun Lan (dlan) ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/2] configs: spacemit: k3: enable mtdparts on Pico-ITX in main app 2026-10-21 7:56 ` Yixun Lan @ 2026-10-21 14:35 ` E Shattow 2026-10-22 0:57 ` Yixun Lan 0 siblings, 1 reply; 10+ messages in thread From: E Shattow @ 2026-10-21 14:35 UTC (permalink / raw) To: Yixun Lan; +Cc: u-boot, Tom Rini Hi Yixun, On 10/21/26 00:56, Yixun Lan wrote: > Hi E Shattow, > > > On 12:51 Tue 20 Oct , E Shattow wrote: >> add default mtdparts and mtdids consistent with k3-pico-itx.dts >> >> Signed-off-by: E Shattow <e@freeshell.de> >> --- >> configs/spacemit_k3_defconfig | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/configs/spacemit_k3_defconfig b/configs/spacemit_k3_defconfig >> index b333e708d01b..2ca912556a88 100644 >> --- a/configs/spacemit_k3_defconfig >> +++ b/configs/spacemit_k3_defconfig >> @@ -26,6 +26,7 @@ CONFIG_SYS_PBSIZE=276 >> CONFIG_HUSH_PARSER=y >> CONFIG_CMD_GPIO=y >> CONFIG_CMD_I2C=y >> +CONFIG_CMD_MTD=y >> CONFIG_CMD_DHCP=y >> CONFIG_CMD_DNS=y >> CONFIG_CMD_MII=y >> @@ -36,6 +37,9 @@ CONFIG_CMD_PMIC=y >> CONFIG_CMD_REGULATOR=y >> CONFIG_CMD_FAT=y >> CONFIG_CMD_FS_GENERIC=y >> +CONFIG_CMD_MTDPARTS=y >> +CONFIG_MTDIDS_DEFAULT="nor0=spi0.0" >> +CONFIG_MTDPARTS_DEFAULT="spi0.0:128k(bootinfo),512k(fsbl),64k(env),1024k(esos),384k(opensbi),-(uboot)" > or make it more specific? s/spi0.0/d420c000.spi/ Yes and no, I do prefer an automatic layout (and layout name) be generated from device tree at runtime. I guess that may possibly become "qspi.flash0", or "fdt.soc.d420c000.spi.qspi.flash.0", etc. The output of 'mtd list' tells us the parent: => mtd list List of MTD devices: * nor0 - device: flash@0 - parent: spi@d420c000 Also, then, the output of 'mtdparts' tells us the partition layout: => mtdpart device nor0 <spi0.0>, # parts = 6 #: name size offset mask_flags 0: bootinfo 0x00020000 0x00000000 0 1: fsbl 0x00080000 0x00020000 0 2: env 0x00010000 0x000a0000 0 3: esos 0x00100000 0x000b0000 0 4: opensbi 0x00060000 0x001b0000 0 5: uboot 0x005f0000 0x00210000 0 active partition: nor0,0 - (bootinfo) 0x00020000 @ 0x00000000 defaults: mtdids : nor0=spi0.0 mtdparts: spi0.0:128k(bootinfo),512k(fsbl),64k(env),1024k(esos),384k(opensbi),-(uboot) I consider the partition layout identifier style as you suggest: $ egrep --exclude-dir=.git -or 'mtdparts=[^ ]+)' | cut -d: -f2 | sort | uniq -c | egrep -v '[0-9a-fA-F]{7}' | sort -k1,1 -n ... 3 mtdparts=nand_mtd 3 mtdparts=uniphier-nand.0 4 mtdparts=nand0 4 mtdparts=spi-flash.0 5 mtdparts=nor0 5 mtdparts=spi_flash 7 mtdparts=boot 7 mtdparts=omap2-nand.0 8 mtdparts=nand 11 mtdparts=nand.0 12 mtdparts=orion_nand 13 mtdparts=spi0.0 16 mtdparts=gpmi-nand 50 mtdparts=atmel_nand $ egrep --exclude-dir=.git -or 'mtdparts=[^ ]+)' | cut -d: -f2 | sort | uniq -c | egrep '[0-9a-fA-F]{7}' | sort -k1,1 -n 1 mtdparts=10b80000.nand.0 1 mtdparts=1fc000000.nor_flash 1 mtdparts=21e0000.qspi 1 mtdparts=30bb0000.qspi 1 mtdparts=30bb0000.spi 1 mtdparts=8000000.nand 1 mtdparts=fe000000.nor_flash 1 mtdparts=ffb90000.nand.0 1 mtdparts=mtdparts=47040000.spi.0 1 mtdparts=[mtdparts=]edb7312-nor 1 mtdparts=mtdparts=edb7312-nor 2 mtdparts=02008000.spi.1 2 mtdparts=8000000.nor 4 mtdparts=1550000.spi 4 mtdparts=1550000.spi-0 4 mtdparts=47040000.spi.0 4 mtdparts=ec000000.nor 4 mtdparts=ef000000.nor 4 mtdparts=fef000000.nor 10 mtdparts=ff705000.spi.0 16 mtdparts=60000000.nor 16 mtdparts=ff800000.flash 22 mtdparts=fe8000000.nor For the initial patch here I instead prefer the minimal and simple style for mtdparts layout template names and to re-use what is popular in U-Boot source tree. The use of hexadecimal bus address for the layout name is difficult for me to read, and not clear to me what is the benefit to doing this manually-entered data address? => env print ... mtddevnum=0 mtdids=nor0=spi0.0 mtdparts=spi0.0:128k(bootinfo),512k(fsbl),64k(env),1024k(esos),384k(opensbi),-(uboot) partition=nor0,0 ... Compared to a style of repeating the bus address: => env print ... mtddevnum=0 mtdids=nor0=d420c000.spi mtdparts=d420c000.spi:128k(bootinfo),512k(fsbl),64k(env),1024k(esos),384k(opensbi),-(uboot) partition=nor0,0 ... Let me know if you do yet prefer the bus address repeated for the name of partition layout. I'd like to see this as part of a runtime-generated mtdparts configuration, so anything is okay with me for the initial manual layout here. > >> CONFIG_DEVICE_TREE_INCLUDES="spacemit-k3-u-boot.dtsi" >> CONFIG_ENV_OVERWRITE=y >> CONFIG_ENV_IS_IN_SPI_FLASH=y >> @@ -49,6 +53,7 @@ CONFIG_DM_I2C=y >> CONFIG_SYS_I2C_SPACEMIT_K1=y >> CONFIG_MISC=y >> CONFIG_SPI_FLASH_WINBOND=y >> +CONFIG_SPI_FLASH_MTD=y >> CONFIG_PHY_GIGE=y >> CONFIG_DWC_ETH_QOS=y >> CONFIG_DWC_ETH_QOS_SPACEMIT=y >> -- >> 2.53.0 >> > Thanks, -E ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/2] configs: spacemit: k3: enable mtdparts on Pico-ITX in main app 2026-10-21 14:35 ` E Shattow @ 2026-10-22 0:57 ` Yixun Lan 0 siblings, 0 replies; 10+ messages in thread From: Yixun Lan @ 2026-10-22 0:57 UTC (permalink / raw) To: E Shattow; +Cc: u-boot, Tom Rini Hi E On 07:35 Wed 21 Oct , E Shattow wrote: > Hi Yixun, > > On 10/21/26 00:56, Yixun Lan wrote: > > Hi E Shattow, > > > > > > On 12:51 Tue 20 Oct , E Shattow wrote: > >> add default mtdparts and mtdids consistent with k3-pico-itx.dts > >> > >> Signed-off-by: E Shattow <e@freeshell.de> > >> --- > >> configs/spacemit_k3_defconfig | 5 +++++ > >> 1 file changed, 5 insertions(+) > >> > >> diff --git a/configs/spacemit_k3_defconfig b/configs/spacemit_k3_defconfig > >> index b333e708d01b..2ca912556a88 100644 > >> --- a/configs/spacemit_k3_defconfig > >> +++ b/configs/spacemit_k3_defconfig > >> @@ -26,6 +26,7 @@ CONFIG_SYS_PBSIZE=276 > >> CONFIG_HUSH_PARSER=y > >> CONFIG_CMD_GPIO=y > >> CONFIG_CMD_I2C=y > >> +CONFIG_CMD_MTD=y > >> CONFIG_CMD_DHCP=y > >> CONFIG_CMD_DNS=y > >> CONFIG_CMD_MII=y > >> @@ -36,6 +37,9 @@ CONFIG_CMD_PMIC=y > >> CONFIG_CMD_REGULATOR=y > >> CONFIG_CMD_FAT=y > >> CONFIG_CMD_FS_GENERIC=y > >> +CONFIG_CMD_MTDPARTS=y > >> +CONFIG_MTDIDS_DEFAULT="nor0=spi0.0" > >> +CONFIG_MTDPARTS_DEFAULT="spi0.0:128k(bootinfo),512k(fsbl),64k(env),1024k(esos),384k(opensbi),-(uboot)" > > > or make it more specific? s/spi0.0/d420c000.spi/ > > Yes and no, I do prefer an automatic layout (and layout name) be > generated from device tree at runtime. I guess that may possibly become > "qspi.flash0", or "fdt.soc.d420c000.spi.qspi.flash.0", etc. > > The output of 'mtd list' tells us the parent: > > => mtd list > List of MTD devices: > * nor0 > - device: flash@0 > - parent: spi@d420c000 > > Also, then, the output of 'mtdparts' tells us the partition layout: > > => mtdpart > > device nor0 <spi0.0>, # parts = 6 > #: name size offset mask_flags > 0: bootinfo 0x00020000 0x00000000 0 > 1: fsbl 0x00080000 0x00020000 0 > 2: env 0x00010000 0x000a0000 0 > 3: esos 0x00100000 0x000b0000 0 > 4: opensbi 0x00060000 0x001b0000 0 > 5: uboot 0x005f0000 0x00210000 0 > > active partition: nor0,0 - (bootinfo) 0x00020000 @ 0x00000000 > > defaults: > mtdids : nor0=spi0.0 > mtdparts: > spi0.0:128k(bootinfo),512k(fsbl),64k(env),1024k(esos),384k(opensbi),-(uboot) > > I consider the partition layout identifier style as you suggest: > > $ egrep --exclude-dir=.git -or 'mtdparts=[^ ]+)' | cut -d: -f2 | sort | > uniq -c | egrep -v '[0-9a-fA-F]{7}' | sort -k1,1 -n > > ... > 3 mtdparts=nand_mtd > 3 mtdparts=uniphier-nand.0 > 4 mtdparts=nand0 > 4 mtdparts=spi-flash.0 > 5 mtdparts=nor0 > 5 mtdparts=spi_flash > 7 mtdparts=boot > 7 mtdparts=omap2-nand.0 > 8 mtdparts=nand > 11 mtdparts=nand.0 > 12 mtdparts=orion_nand > 13 mtdparts=spi0.0 > 16 mtdparts=gpmi-nand > 50 mtdparts=atmel_nand > > > $ egrep --exclude-dir=.git -or 'mtdparts=[^ ]+)' | cut -d: -f2 | sort | > uniq -c | egrep '[0-9a-fA-F]{7}' | sort -k1,1 -n > 1 mtdparts=10b80000.nand.0 > 1 mtdparts=1fc000000.nor_flash > 1 mtdparts=21e0000.qspi > 1 mtdparts=30bb0000.qspi > 1 mtdparts=30bb0000.spi > 1 mtdparts=8000000.nand > 1 mtdparts=fe000000.nor_flash > 1 mtdparts=ffb90000.nand.0 > 1 mtdparts=mtdparts=47040000.spi.0 > 1 mtdparts=[mtdparts=]edb7312-nor > 1 mtdparts=mtdparts=edb7312-nor > 2 mtdparts=02008000.spi.1 > 2 mtdparts=8000000.nor > 4 mtdparts=1550000.spi > 4 mtdparts=1550000.spi-0 > 4 mtdparts=47040000.spi.0 > 4 mtdparts=ec000000.nor > 4 mtdparts=ef000000.nor > 4 mtdparts=fef000000.nor > 10 mtdparts=ff705000.spi.0 > 16 mtdparts=60000000.nor > 16 mtdparts=ff800000.flash > 22 mtdparts=fe8000000.nor > > > For the initial patch here I instead prefer the minimal and simple style > for mtdparts layout template names and to re-use what is popular in > U-Boot source tree. The use of hexadecimal bus address for the layout > name is difficult for me to read, and not clear to me what is the > benefit to doing this manually-entered data address? > > => env print > ... > mtddevnum=0 > mtdids=nor0=spi0.0 > mtdparts=spi0.0:128k(bootinfo),512k(fsbl),64k(env),1024k(esos),384k(opensbi),-(uboot) > partition=nor0,0 > ... > > Compared to a style of repeating the bus address: > > => env print > ... > mtddevnum=0 > mtdids=nor0=d420c000.spi > mtdparts=d420c000.spi:128k(bootinfo),512k(fsbl),64k(env),1024k(esos),384k(opensbi),-(uboot) > partition=nor0,0 > ... > > Let me know if you do yet prefer the bus address repeated for the name > of partition layout. I'd like to see this as part of a runtime-generated > mtdparts configuration, so anything is okay with me for the initial > manual layout here. > I've done a further check.. so quote from <uboot>/cmd/mtdparts.c * mtdparts=[mtdparts=]<mtd-def>[;<mtd-def>...] * * <mtd-def> := <mtd-id>:<part-def>[,<part-def>...] * <mtd-id> := unique device tag used by linux kernel to find mtd device (mtd->name) from kernel side, check file drivers/mtd/parsers/cmdlinepart.c which has the same format, on the linux console (if no mtdparts enabled) # cat /sys/class/mtd/mtd0/name d420c000.spi so with bus address it's able to support cmdlinepart, although we currently use ofpart, but IMO, it's correct and in case people need it > > > >> CONFIG_DEVICE_TREE_INCLUDES="spacemit-k3-u-boot.dtsi" > >> CONFIG_ENV_OVERWRITE=y > >> CONFIG_ENV_IS_IN_SPI_FLASH=y > >> @@ -49,6 +53,7 @@ CONFIG_DM_I2C=y > >> CONFIG_SYS_I2C_SPACEMIT_K1=y > >> CONFIG_MISC=y > >> CONFIG_SPI_FLASH_WINBOND=y > >> +CONFIG_SPI_FLASH_MTD=y > >> CONFIG_PHY_GIGE=y > >> CONFIG_DWC_ETH_QOS=y > >> CONFIG_DWC_ETH_QOS_SPACEMIT=y > >> -- > >> 2.53.0 > >> > > > > Thanks, > > -E -- Yixun Lan (dlan) ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2026-10-22 0:58 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-10-20 19:51 [PATCH 0/2] Enable SPI NOR flash for SpacemiT K3 in main app E Shattow 2026-10-20 19:51 ` [PATCH 1/2] configs: spacemit: k3: enable spi nor flash " E Shattow 2026-10-21 7:13 ` Yixun Lan 2026-10-21 7:37 ` E Shattow 2026-10-21 8:01 ` Yixun Lan 2026-10-21 15:47 ` E Shattow 2026-10-20 19:51 ` [PATCH 2/2] configs: spacemit: k3: enable mtdparts on Pico-ITX " E Shattow 2026-10-21 7:56 ` Yixun Lan 2026-10-21 14:35 ` E Shattow 2026-10-22 0:57 ` Yixun Lan
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.