[U-Boot] [PATCH v7 00/87] mtd: Add SPI-NOR core support

Jagan Teki jteki at openedev.com
Tue Mar 22 08:47:00 CET 2016


On Tuesday 22 March 2016 01:07 PM, Jagan Teki wrote:
> Some of the SPI device drivers at drivers/spi not a real
> spi controllers, Unlike normal/generic SPI controllers they
> operates only with SPI-NOR flash devices. these were technically
> termed as SPI-NOR controllers, Ex: drivers/spi/fsl_qspi.c
>
> The problem with these were resides at drivers/spi is entire
> SPI layer becomes SPI-NOR flash oriented which is absolutely
> a wrong indication where SPI layer getting effected more with
> flash operations - So this SPI-NOR core will resolve this issue
> by separating all SPI-NOR flash operations from spi layer and
> creats a generic layer called SPI-NOR core which can be used to
> interact SPI-NOR to SPI driver interface layer and the SPI-NOR
> controller driver. The idea is taken from Linux spi-nor framework.
>
> Before SPI-NOR:
>
> -----------------------
>          cmd/sf.c
> -----------------------
>          spi_flash.c
> -----------------------
>          sf_probe.c
> -----------------------
>          spi-uclass
> -----------------------
>          spi drivers
> -----------------------
>          SPI NOR chip
> -----------------------
>
> After SPI-NOR:
>
> ------------------------------
>          cmd/sf.c
> ------------------------------
>          spi-nor.c
> -------------------------------
> m25p80.c        spi nor drivers
> -------------------------------
> spi-uclass      SPI NOR chip
> -------------------------------
> spi drivers
> -------------------------------
> SPI NOR chip
> -------------------------------
>
> SPI-NOR with MTD:
>
> ------------------------------
>          cmd/sf.c
> ------------------------------
>          MTD core
> ------------------------------
>          spi-nor.c
> -------------------------------
> m25p80.c        spi nor drivers
> -------------------------------
> spi-uclass      SPI NOR chip
> -------------------------------
> spi drivers
> -------------------------------
> SPI NOR chip
> -------------------------------
>
> drivers/mtd/spi-nor/spi-nor.c: spi-nor core
> drivers/mtd/spi-nor/m25p80.c: mtd uclass driver
> which is an interface layer b/w spi-nor core drivers/spi
> drivers/mtd/spi-nor/fsl_qspi.c: spi-nor controller driver(mtd uclass)
>
> Changes for v7:
> - Rebase to latest
> - Fixed git bisectable issues, with buildman.
> - Fixed spi-nor compilation issues
> - newly designed changes.
>
> Changes for v6:
> - Fixed git bisectable issues, with buildman.
> - Fixed spi-nor compilation issues
> - newly designed changes.
>
> Changes for v5:
> - newly designed changes
>
> Testing:
> $ git clone git://git.denx.de/u-boot-spi.git
> $ cd u-boot-spi
> $ git checkout -b spi-nor-test origin/spi-nor-test
>
> Alison Wang (1):
>    defconfig: ls1021atwr_sdcard_qspi: Enable CONFIG_MTD

Tested in hardware and sandbox [1]

Tested-by: Jagan Teki <jteki at openedev.com>

[1] http://paste.ubuntu.com/15470696/


More information about the U-Boot mailing list