
Hi Jagan,
(added Simon, as he's the DM guru)
On 26.11.2015 13:46, Jagan Teki wrote:
Hi Stefan,
On 26 November 2015 at 18:02, Stefan Roese sr@denx.de wrote:
Hi Jagan,
On 26.11.2015 13:24, Jagan Teki wrote:
On 26 November 2015 at 17:33, Jagan Teki jteki@openedev.com wrote:
This series is combination of mtd and sf tunning stuff in previous version patches.[1][2]
This is whole patch series for add mtd support to spi-flash framework and related stuff.
The idea is to introduce the spi-nor flash framework which similar to Linux with driver-model support.
Detail changes:
- drivers/mtd/spi/sf_probe.c: spi-flash to spi drivers interface(dm and
non-dm)
- drivers/mtd/spi/sf_ops.c: Core spi-flash functionalities.
- spi_flash ops and dm_spi_ops are not needed as flash opertaion are common for dm and non-dm via MTD
Changes in v7:
- Rebase to master
- Added MTD core support to dataflash
- Few patch bisectable separations
Changes in v6, v5, v4, v3, v2:
- One patch bisectable separation
- Rebase to master
- added newly mtd stuff patches.
Testing: $ git clone git://git.denx.de/u-boot-spi.git $ cd u-boot-spi $ git checkout -b spi-nor-mtd origin/next-spi-nor-mtd
[1] http://u-boot.10912.n7.nabble.com/PATCH-v6-00-23-sf-MTD-support-td233769.htm... [2] http://lists.denx.de/pipermail/u-boot/2015-October/229857.html
thanks! Jagan.
Jagan Teki (34): sf: spi_flash_validate_params => spi_flash_scan sf: Move spi_flash_scan code to sf_ops sf: Move read_id code to sf_ops sf: probe: Code cleanup sf: Use static for file-scope functions sf: Fix Makefile sf: Use simple name for register access functions sf: Use flash function pointers in dm_spi_flash_ops sf: Flash power up read-only based on idcode0 sf: Use static for file-scope functions sf: Remove unneeded header includes sf: probe: Use spi_flash_scan in dm-spi-flash sf: Re-factorize spi_flash_probe_tail code dm-sf: Re-factorize spi_flash_std_probe code zynq: Enable CONFIG_SPL_MTD_SUPPORT sf: Add MTD support to spi_flash sf: Use mtd_info ops instead of spi_flash ops cmd_sf: Use mtd->size instead of flash->size sf: Use mtd->erasesize instead of flash->erase_size dm-sf: use mtd_ops, drop dm_spi_flash_ops sf: Use MTD lock operations sf: Add MTD support for non-dm spi_flash interface sf: probe: Minor cleanup sf: Drop SNOR_F_SST_WR flash->flags sf: Remove unneeded SST_BP and SST_WP sf: ops: Fix missing break on spansion read_bar sf: Drop SPI_FLASH_MTD driver configs: Remove CONFIG_SPI_FLASH_MTD sf: dataflash: Remove unneeded spi data sf: dataflash: Move flash id detection into jedec_probe sf: dataflash: Fix add_dataflash return logic sf: dataflash: Add MTD core support sf: dataflash: Rename sf_dataflash.c to mtd_dataflash.c mtd: dataflash: Minor cleanups
Tested whole series except 'sf prot' and dataflash.
Tested-by: Jagan Teki jteki@openedev.com
Thanks.
BTW: Is this series also tested on a board with SPL_DM and DM_SPI and DM_SPI_FLASH enabled? By loading in SPL the main U-Boot image via SPI NOR flash?
Don't know the reason yet SPL is not working with my microzed board(even with MMC), so I took the fsbl instead of SPL. The combination I have verified with both dm and non-dm cases on u-boot.
Michal, Can you verify the SPI_SPL flow as well.
So you have no experience with DM in SPL?
I'm asking since I'm currently struggling to get this working on MVEBU. And am experiencing problems with the DM SPI bus and device probing. Without SPL_DM this is working just fine.
OK, means you're trying for SPI_SPL with DM is it?
Yes. I'm trying to enable SPL_DM on MVEBU. And this with DM_SPI and DM_SPI_FLASH enabled as well. I've the kirkwood SPI driver ported to DM here for this (patches will follow).
what kind of issue? is it failed to probe device or something?
Here the log (with some debug() enabled):
----------<------------------------------- uclass_find_device_by_seq: 0 -1 uclass_find_device_by_seq: 0 0 - -1 -1 - not found bind node serial@12000 - found match at 'ns16550_serial' Bound device serial@12000 to root_driver uclass_find_device_by_seq: 0 -1 uclass_find_device_by_seq: 0 0 - -1 -1 - not found
U-Boot SPL 2016.01-rc1-00267-gdb3362c-dirty (Nov 26 2015 - 14:00:16) High speed PHY - Version: 2.0 Detected Device ID 6828 board SerDes lanes topology details: | Lane # | Speed | Type | -------------------------------- | 0 | 5 | PCIe0 | | 1 | 3 | SATA0 | | 2 | 3 | SATA1 | | 3 | 3 | SATA3 | | 4 | 3 | SATA2 | | 5 | 5 | USB3 HOST1 | -------------------------------- PCIe, Idx 0: detected no link High speed PHY - Ended Successfully DDR3 Training Sequence - Ver TIP-1.29.0 DDR3 Training Sequence - Switching XBAR Window to FastPath Window DDR3 Training Sequence - Ended Successfully Trying to boot from SPI uclass_find_device_by_seq: 0 0 - not found uclass_find_device_by_seq: 1 0 - not found Invalid bus 0 (err=-19) SPI probe failed. SPL: failed to boot from all boot devices ### ERROR ### Please RESET the board ### ----------<-------------------------------
Simon, do you have a clue what's missing here? SPI NOR booting is working just fine in SPL without SPL_DM enabled on this platform. AFAICT, I've added the required "u-boot,dm-pre-reloc" properties to the dts.
I will verify the same and let you know.
How can you verify this if SPI is not working at all for you? Or did I misunderstand you (see above)?
Thanks, Stefan