All of lore.kernel.org
 help / color / mirror / Atom feed
* Proposal: U-Boot MTD (rewriting old story)
@ 2021-08-03 15:00 Jagan Teki
  2021-08-04 16:09 ` Simon Glass
  0 siblings, 1 reply; 7+ messages in thread
From: Jagan Teki @ 2021-08-03 15:00 UTC (permalink / raw)
  To: Simon Glass, Marek Behún; +Cc: U-Boot-Denx, Tom Rini

Yes, this is the old discussion and triggered again now since we had a
discussion on the last U-Boot contributor call.

I will brief the main points here, as most of the details are
mentioned in previous threads.

Here are the couple of old and new implementations on the SPI-NOR side.

http://u-boot.10912.n7.nabble.com/PATCH-v10-00-27-dm-Generic-MTD-Subsystem-with-SPI-NOR-interface-tt315694.html#none
http://u-boot.10912.n7.nabble.com/PATCH-0-5-mtd-Implement-MTD-UCLASS-use-SPINOR-td419538.html#a419541
https://patchwork.ozlabs.org/project/uboot/cover/20200709111709.68904-1-jagan@amarulasolutions.com/

Idea is to
1. Create MTD_UCLASS, already present
2. Create DM MTD Operations, above patchset does.
3. Create Flash specific MTD UClass's like
    UCLASS_NAND
    UCLASS_SPI_NAND
    UCLASS_SPI_NOR
    UCLASS_NOR
    UCLASS_UBI
and register to UCLASS_MTD as interface slaves like how MMC, SCSI are
registered to UCLASS_BLK
4. Sync only respective flash specific code, and drop __UBOOT__
5. Interface mtd, sf, and nand commands to UCLASS_MTD.

Hard points:
1. Hard to arrange Linux specific code and drop unneeded _UBOOT_ code,
but possible.
2. Requires a lot of testing.

Any inputs?
Jagan.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-08-12 21:48 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-08-03 15:00 Proposal: U-Boot MTD (rewriting old story) Jagan Teki
2021-08-04 16:09 ` Simon Glass
2021-08-04 18:49   ` Tom Rini
2021-08-05 19:20     ` Simon Glass
2021-08-05 19:39       ` Tom Rini
2021-08-06  1:07         ` Bin Meng
2021-08-12 21:46           ` Simon Glass

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.