Hi Simon, On 27 February 2016 at 04:34, Simon Glass <s...@chromium.org> wrote: > Hi Jagan, > > On 26 February 2016 at 13:44, york sun <york....@nxp.com> wrote: >> On 02/22/2016 10:18 AM, Jagan Teki wrote: >>> Hi York, >>> >>> On 15 February 2016 at 02:16, Jagan Teki <jt...@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 >>>> >>>> Jagan Teki (76): >>>> mtd: Add m25p80 driver >>>> mtd: Add Kconfig entry for MTD_M25P80 >>>> mtd: Add SPI-NOR core support >>>> doc: device-tree-bindings: jedec,spi-nor >>>> mtd: spi-nor: Add Kconfig entry for MTD_SPI_NOR >>>> mtd: spi-nor: Add kconfig for MTD_SPI_NOR_USE_4K_SECTORS >>>> mtd: spi-nor: Add MTD support >>>> mtd: spi-nor: Add spi_nor support in m25p80 >>>> mtd: spi-nor: Add dm spi-nor probing >>>> mtd: spi-nor: Add spi_flash_probe for mtd-dm-spi-nor >>>> mtd: spi-nor: Add spi_flash_free for mtd-dm-spi-nor >>>> mtd: spi-nor: m25p80: Add spi_nor support for non-dm >>>> sf: Rename erase_size to erasesize >>>> sf: Use erasesize instead of sector_size >>>> sf: Use uint64_t for flash->size >>>> spi_flash: Use mtd_info operation for SPI-NOR >>>> spi_flash: Use spi_flash_t instead of struct spi_flash >>>> mtd: spi-nor: Move spi_read_then_write to spi layer >>>> spi: Rename spi_read_then_write to spi_write_then_read >>>> mtd: spi-nor: Rename SPI_FLASH_BAR to SPI_NOR_BAR >>>> mtd: spi-nor: Add Kconfig entry for SPI_NOR_BAR >>>> mtd: spi-nor: Copy spl files from drivers/mtd/spi >>>> mtd: spi-nor: spl: Follow ascending order of include headers >>>> mtd: spi-nor: fsl_espi_spl: Use mtd_info >>>> mtd: spi-nor: spi_spl_load: Use mtd_info >>>> mtd: spi-nor: Add flash vendor Kconfig entries >>>> arm: zynq: Kconfig: Select MTD uclass >>>> arm: zynq: Kconfig: Drop DM_SPI_FLASH >>>> defconfigs: zynq_microzed: Drop CONFIG_SPI_FLASH >>>> defconfig: zynq_microzed: Enable CONFIG_MTD_M25P80 >>>> defconfig: zynq_microzed: Enable CONFIG_MTD_SPI_NOR >>>> spl: Add CONFIG_SPL_SPI_NOR_SUPPORT >>>> configs: zynq: Use CONFIG_SPL_SPI_NOR_SUPPORT >>>> configs: zynq: Use CONFIG_SPL_MTD_SUPPORT >>>> mtd: spi-nor: Copy sf_dataflash >>>> mtd: dataflash: Remove unneeded spi data >>>> mtd: dataflash: Move flash id detection into jedec_probe >>>> mtd: dataflash: Fix add_dataflash return logic >>>> mtd: dataflash: Add UCLASS_MTD support >>>> mtd: dataflash: Use spi_write_then_read >>>> mtd: dataflash: Drop sf_internal.h >>>> mtd: dataflash: Minor cleanups >>>> mtd: Rename sf_dataflash.c to mtd_dataflash.c >>>> mtd: spi-nor: Add Kconfig entry for mtd_dataflash >>>> mtd: dataflash: Add MTD_DATAFLASH_WRITE_VERIFY >>>> mtd: spi-nor: Add kconfig MTD_DATAFLASH_WRITE_VERIFY >>>> configs: ls1021aqds: Drop DM_SPI_FLASH and DATAFLASH >>>> defconfig: ls1021aqds_qspi: Enable SPI-NOR >>>> defconfig: ls1021aqds_qspi: Enable CONFIG_MTD_DATAFLASH >>> >>> Can you pls- test the dataflash changes? use u-boot-spi/spi-nor >>> >> Jagan, >> >> I am getting there. Will test sf probe/read/write and probably boot on >> selected >> platforms. Is there any specific platform/test in your mind? > > Can you check test failures also? I re-enabled the SPI tests (see > u-boot-dm/master) and applied this series but get build warnings and a > test failure.
Yes I will add those fixes as well. > > Also I see that the MTD uclass has replaced SPI flash. But the MTD > uclass does not have any operations...it does not seem to fit > correctly with driver model. True, we need to add these as well. Since MTD is common for most of the flash's, we need to discuss for proper additions. thanks! -- Jagan. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot