[PATCH v4 0/2] mtd: spi: nor: force mtd name to "nor%d"
Tom Rini
trini at konsulko.com
Fri Sep 24 20:22:57 CEST 2021
On Thu, Sep 23, 2021 at 11:04:28AM +0200, Patrick DELAUNAY wrote:
> Hi,
>
> On 9/23/21 3:32 AM, Marek Vasut wrote:
> > On 9/22/21 10:00 PM, Tom Rini wrote:
> > > On Wed, Sep 22, 2021 at 09:56:26PM +0200, Marek Vasut wrote:
> > > > On 9/22/21 9:46 PM, Tom Rini wrote:
> > > > > On Wed, Sep 22, 2021 at 09:24:24PM +0200, Marek Vasut wrote:
> > > > >
> > > > > > I am talking about using nor%d in MTDIDS in U-Boot UBI
> > > > > > code to look up from
> > > > > > which device to attach UBI in U-Boot.
> > > > >
> > > > > OK, so are we not able to pass in the correct name now? Or
> > > > > just worried
> > > > > about old environment and new U-Boot?
> > > >
> > > > Say you have the following in board config:
> > > >
> > > > CONFIG_MTDIDS_DEFAULT="nor0=ff705000.spi.0"
> > > > CONFIG_MTDPARTS_DEFAULT="mtdparts=ff705000.spi.0:-(fs);"
> > > >
> > > > Then run "=> ubi part fs", which will fail to find nor0, because
> > > > now that
> > > > nor0 is called something else. That is what this series tries to fix.
> > >
> > > Yes, and what is nor0 now, and what happens if you use it?
> >
> > Now it is "mt25ql02g", for all mt25ql02g on the board, so ... I cannot
> > even select the one SPI NOR I want to use, since they are not even
> > enumerated in any way, they are all the same. You might want to look at
> > get_mtd_device_nm() in drivers/mtd/mtdcore.c .
>
>
> To comple me use case, on EV1 board can boot from NOR / NAND / SPI-NAND
>
> so mtdparts and mtdids are buidl dynamically with
> CONFIG_SYS_MTDPARTS_RUNTIME in
>
> afraided board/st/common/stm32mp_mtdparts.c::board_mtdparts_default()
>
>
> I don't use MTDIDS_DEFAULT / MTDPARTS_DEFAULT.
>
>
> For example, when I force NOR / NAND presence, I create the MTD variables:
>
> mtdids=nand0=nand0,nor0=nor0
>
> mtdparts=mtdparts=nand0:2m(fsbl),2m(ssbl1),2m(ssbl2),-(UBI);nor0:256k(fsbl1),256k(fsbl2),2m(ssbl),512k(u-boot-env),-(nor_user)
>
>
> The command "mtdparts" is working in previous U-Boot releaseafraided
>
> and it is not more working as the name of MTD device change
>
>
> Today, without my patch I have
>
> STM32MP> mtd list
> SF: Detected mx66l51235l with page size 256 Bytes, erase size 64 KiB, total
> 64 MiB
> Could not find a valid device for nor0
> List of MTD devices:
> * nand0
> - type: NAND flash
> - block size: 0x40000 bytes
> - min I/O: 0x1000 bytes
> - OOB size: 224 bytes
> - OOB available: 118 bytes
> - ECC strength: 8 bits
> - ECC step size: 512 bytes
> - bitflip threshold: 6 bits
> - 0x000000000000-0x000040000000 : "nand0"
> - 0x000000000000-0x000000200000 : "fsbl"
> - 0x000000200000-0x000000400000 : "ssbl1"
> - 0x000000400000-0x000000600000 : "ssbl2"
> - 0x000000600000-0x000040000000 : "UBI"
> * mx66l51235l
> - device: mx66l51235l at 0
> - parent: spi at 58003000
> - driver: jedec_spi_nor
> - path: /soc/spi at 58003000/mx66l51235l at 0
> - type: NOR flash
> - block size: 0x10000 bytes
> - min I/O: 0x1 bytes
> - 0x000000000000-0x000004000000 : "mx66l51235l"
> * mx66l51235l
> - device: mx66l51235l at 1
> - parent: spi at 58003000
> - driver: jedec_spi_nor
> - path: /soc/spi at 58003000/mx66l51235l at 1
> - type: NOR flash
> - block size: 0x10000 bytes
> - min I/O: 0x1 bytes
> - 0x000000000000-0x000004000000 : "mx66l51235l"
>
>
>
> before my patch, Ihave always the error "Device nor0 not found!" on mtdparts
> command
>
> => get_mtd_info
>
> ==> get_mtd_device_nm("nor0") build with MTD_DEV_TYPE(type)
>
> ===> mtd_device_matches_name()
>
> and here "nor0" must be mtd->name acoring the code
>
>
> or I miss something...
>
>
> I don't found any way to solve my issue only with "mtdids" variable.
>
> so I restore the previous behavior as I expect the mtd name
>
> modification can impact many other boards.
>
>
> A other solution can be change get_mtd_info(),
>
> but I was also afraid of side effect.
Thanks for explaining more. Marek, any ideas on how to resolve this
best, other than logic to restore some form of nor%d being created here?
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20210924/c646da6a/attachment.sig>
More information about the U-Boot
mailing list