[U-Boot] [PATCH v7 00/34] sf: MTD support

Stefan Roese sr at denx.de
Thu Nov 26 14:04:34 CET 2015


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 at denx.de> wrote:
>> Hi Jagan,
>>
>>
>> On 26.11.2015 13:24, Jagan Teki wrote:
>>>
>>> On 26 November 2015 at 17:33, Jagan Teki <jteki at 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.html
>>>> [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 at 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 at 12000
   - found match at 'ns16550_serial'
Bound device serial at 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



More information about the U-Boot mailing list