[U-Boot] [PATCH v6 00/76] mtd: Add SPI-NOR core support
Jagan Teki
jteki at openedev.com
Mon Feb 22 09:57:34 CET 2016
Hi Simon,
On 18 February 2016 at 00:30, Simon Glass <sjg at chromium.org> wrote:
> Hi Jagan,
>
> On 14 February 2016 at 13:46, Jagan Teki <jteki at openedev.com> wrote:
>> Compared to previous patch series this series adds spi-nor
>> core with spi-nor controller drivers are of "mtd uclass"
>>
>> This is whole series for all spi-nor related changes, and while
>> series tested on spansion spi-nor chip.
>>
>> Know issue:
>> - arch/x86/lib/mrccache.c uses dm_spi_flash_ops, this need to fix.
>>
>> Why this framework:
>>
>> 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 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 origin/spi-nor
>
> I see quite a large rodata increase at this commit. Is it necessary?
>
> 67: configs: Use CONFIG_SPI_NOR_MISC
> arm: (for 1/1 boards) all +2434.0 bss +56.0 rodata +1994.0
> text +384.0
>
> There are also bisectability problems (build errors for some commits)
> - e.g. chromebook_jerry.
No bisectable issues now, made buildman test.
And here is image size test:
http://paste.ubuntu.com/15169227/
Size of entire series (step 0)
http://paste.ubuntu.com/15169235/
Let me know for any issues, I'm planning to send the whole series
again for final review.
thanks!
--
Jagan.
More information about the U-Boot
mailing list