public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Stefan Roese <sr@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v7 00/34] sf: MTD support
Date: Fri, 27 Nov 2015 07:32:47 +0100	[thread overview]
Message-ID: <5657F90F.9090802@denx.de> (raw)
In-Reply-To: <5657D594.1010204@denx.de>

Hi Simon,

On 27.11.2015 05:01, Stefan Roese wrote:
> Hi Simon,
>
> On 26.11.2015 19:22, Simon Glass wrote:
>> Hi Stefan,
>>
>> On 26 November 2015 at 10:12, Stefan Roese <sr@denx.de> wrote:
>>> Hi Simon,
>>>
>>> On 26.11.2015 18:55, Simon Glass wrote:
>>>> Hi Stefan,
>>>>
>>>> On 26 November 2015 at 09:47, Stefan Roese <sr@denx.de> wrote:
>>>>> Hi Simon,
>>>>>
>>>>> On 26.11.2015 17:48, Simon Glass wrote:
>>>>>
>>>>> <snip>
>>>>>
>>>>>
>>>>>>> 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)?
>>>>>>
>>>>>>
>>>>>> -19 means -ENODEV. I suppose CONFIG_SPL_OF_CONTROL is enabled.
>>>>>
>>>>>
>>>>> Yes.
>>>>>
>>>>>> You can
>>>>>> check the device tree used for SPL in your build directory -
>>>>>> spl/u-boot-spl.dtb.
>>>>>>
>>>>>>    From the debugging it looks like you have no SPI flash devices.
>>>>>
>>>>>
>>>>> That is my understanding as well. And I fail to see, where this
>>>>> device get added to the list of UCLASS devices.
>>>>>
>>>>>> You can check chromebook_jerry which uses this feature. See this
>>>>>> node:
>>>>>>
>>>>>> &spi2 {
>>>>>>       status = "okay";
>>>>>>       u-boot,dm-pre-reloc;
>>>>>>
>>>>>>       spi_flash: spiflash at 0 {
>>>>>>          u-boot,dm-pre-reloc;
>>>>>>          compatible = "spidev", "spi-flash";
>>>>>>          spi-max-frequency = <20000000>; /* Reduce for Dediprog
>>>>>> em100 pro */
>>>>>>          reg = <0>;
>>>>>>       };
>>>>>> };
>>>>>
>>>>>
>>>>> I've checked this now and reworked the dts a bit. But still no
>>>>> cigar. The debug output is identical to the last one.
>>>>>
>>>>> I've attached the dts / dtb and the current .config. It would
>>>>> be great if you could take a quick look at it to see, what I
>>>>> am missing here.
>>>>
>>>> CONFIG_SPL_OF_TRANSLATE should be defined I think,
>>>
>>> Yes. But this does not explain why this device is not found at all.
>>> This would only result in an incorrect base-address. And this works
>>> since the serial node seems to be okay (DM in SPL here as well).
>>>
>>>> and also you need a
>>>> u-boot,dm-pre-reloc in the soc {} node, otherwise the properties there
>>>> will not appear.
>>>
>>> Its already there in the dtsi file. I've added it again in this
>>> dts file as well.
>>>
>>>>
>>>> You can call dm_dump_all() in SPL, and dm_dump_uclass(), to see what
>>>> devices are present.
>>>
>>> Ah, this is helpful. Thanks. Here the output for your profound
>>> inspection: ;)
>>>
>>> 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.
>>>   Class       Probed   Name
>>> ----------------------------------------
>>>   root        [ + ]    root_driver
>>>   serial      [ + ]    `-- serial at 12000
>>
>> That shows that the SPI device or driver is not being found. I don't
>> see a driver for 'marvell,armada-380-spi' in the tree anyway - is it
>> your own private patches?
>
> Yes, this is in my local tree - waiting for this issue to get
> resolved before sending to the list.
>
>> If you add DEBUG to drivers/core/lists.c you may be able to see why it
>> is not finding a driver for that node.
>
> "#define DEBUG" is already set in lists.c.
>
> I have the notion that drivers are not added "automatically" to
> the lists. My debugging has shown that for example the serial
> driver is only added to the list after this call in serial-uclass.c:
>
>      lists_bind_fdt(gd->dm_root, blob, node, &dev)
>
> Before this call, I have this output from dm_dump_all():
>
>   Class       Probed   Name
> ----------------------------------------
>   root        [ + ]    root_driver
>
> Then, calling lists_bind_fdt() results in this debug output:
>
> bind node serial at 12000
>     - found match at 'ns16550_serial'
> Bound device serial at 12000 to root_driver
>
> And now, dm_dump_all() shows this directly after the lists_bind_fdt():
>
>   Class       Probed   Name
> ----------------------------------------
>   root        [ + ]    root_driver
>   serial      [   ]    `-- serial at 12000
>
>
> Seems that drivers need to get actively "binded" to the lists.
> And this is not happening for the SPI driver.
>
> What am I missing?

I finally found it. I had CONFIG_SPL_SIMPLE_BUS disabled. So all devices
behind this "simple-bus" where not visible to DM. Now this looks much
better.

Thanks,
Stefan

  reply	other threads:[~2015-11-27  6:32 UTC|newest]

Thread overview: 77+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-26 12:03 [U-Boot] [PATCH v7 00/34] sf: MTD support Jagan Teki
2015-11-26 12:03 ` [U-Boot] [PATCH v7 01/34] sf: spi_flash_validate_params => spi_flash_scan Jagan Teki
2015-11-26 17:50   ` Simon Glass
2015-11-26 12:03 ` [U-Boot] [PATCH v7 02/34] sf: Move spi_flash_scan code to sf_ops Jagan Teki
2015-11-26 17:50   ` Simon Glass
2015-11-26 12:03 ` [U-Boot] [PATCH v7 03/34] sf: Move read_id " Jagan Teki
2015-11-26 17:50   ` Simon Glass
2015-11-26 12:03 ` [U-Boot] [PATCH v7 04/34] sf: probe: Code cleanup Jagan Teki
2015-11-26 17:50   ` Simon Glass
2015-11-26 12:03 ` [U-Boot] [PATCH v7 05/34] sf: Use static for file-scope functions Jagan Teki
2015-11-26 12:03 ` [U-Boot] [PATCH v7 06/34] sf: Fix Makefile Jagan Teki
2015-11-26 17:50   ` Simon Glass
2015-12-03 10:20   ` Bin Meng
2015-11-26 12:03 ` [U-Boot] [PATCH v7 07/34] sf: Use simple name for register access functions Jagan Teki
2015-11-26 17:50   ` Simon Glass
2015-11-26 12:03 ` [U-Boot] [PATCH v7 08/34] sf: Use flash function pointers in dm_spi_flash_ops Jagan Teki
2015-11-26 17:50   ` Simon Glass
2015-12-03 16:42     ` Jagan Teki
2015-11-26 12:03 ` [U-Boot] [PATCH v7 09/34] sf: Flash power up read-only based on idcode0 Jagan Teki
2015-11-26 17:50   ` Simon Glass
2015-11-26 12:03 ` [U-Boot] [PATCH v7 10/34] sf: Use static for file-scope functions Jagan Teki
2015-11-26 17:50   ` Simon Glass
2015-11-26 12:03 ` [U-Boot] [PATCH v7 11/34] sf: Remove unneeded header includes Jagan Teki
2015-11-26 17:50   ` Simon Glass
2015-11-26 12:03 ` [U-Boot] [PATCH v7 12/34] sf: probe: Use spi_flash_scan in dm-spi-flash Jagan Teki
2015-11-26 17:50   ` Simon Glass
2015-11-26 19:10     ` Jagan Teki
2015-11-26 12:03 ` [U-Boot] [PATCH v7 13/34] sf: Re-factorize spi_flash_probe_tail code Jagan Teki
2015-11-26 17:50   ` Simon Glass
2015-11-26 12:03 ` [U-Boot] [PATCH v7 14/34] dm-sf: Re-factorize spi_flash_std_probe code Jagan Teki
2015-11-26 17:50   ` Simon Glass
2015-11-26 12:03 ` [U-Boot] [PATCH v7 15/34] zynq: Enable CONFIG_SPL_MTD_SUPPORT Jagan Teki
2015-11-26 17:50   ` Simon Glass
2015-11-26 12:04 ` [U-Boot] [PATCH v7 16/34] sf: Add MTD support to spi_flash Jagan Teki
2015-11-26 17:50   ` Simon Glass
2015-11-26 19:14     ` Jagan Teki
2015-11-26 12:04 ` [U-Boot] [PATCH v7 17/34] sf: Use mtd_info ops instead of spi_flash ops Jagan Teki
2015-11-26 12:04 ` [U-Boot] [PATCH v7 18/34] cmd_sf: Use mtd->size instead of flash->size Jagan Teki
2015-11-26 12:04 ` [U-Boot] [PATCH v7 19/34] sf: Use mtd->erasesize instead of flash->erase_size Jagan Teki
2015-11-26 12:04 ` [U-Boot] [PATCH v7 20/34] dm-sf: use mtd_ops, drop dm_spi_flash_ops Jagan Teki
2015-11-26 17:50   ` Simon Glass
2015-11-26 12:04 ` [U-Boot] [PATCH v7 21/34] sf: Use MTD lock operations Jagan Teki
2015-11-26 12:04 ` [U-Boot] [PATCH v7 22/34] sf: Add MTD support for non-dm spi_flash interface Jagan Teki
2015-11-26 17:50   ` Simon Glass
2015-11-26 12:04 ` [U-Boot] [PATCH v7 23/34] sf: probe: Minor cleanup Jagan Teki
2015-11-26 12:04 ` [U-Boot] [PATCH v7 24/34] sf: Drop SNOR_F_SST_WR flash->flags Jagan Teki
2015-11-26 12:04 ` [U-Boot] [PATCH v7 25/34] sf: Remove unneeded SST_BP and SST_WP Jagan Teki
2015-11-26 12:04 ` [U-Boot] [PATCH v7 26/34] sf: ops: Fix missing break on spansion read_bar Jagan Teki
2015-11-26 12:04 ` [U-Boot] [PATCH v7 27/34] sf: Drop SPI_FLASH_MTD driver Jagan Teki
2015-11-26 12:04 ` [U-Boot] [PATCH v7 28/34] configs: Remove CONFIG_SPI_FLASH_MTD Jagan Teki
2015-11-26 12:04 ` [U-Boot] [PATCH v7 29/34] sf: dataflash: Remove unneeded spi data Jagan Teki
2015-11-26 12:04 ` [U-Boot] [PATCH v7 30/34] sf: dataflash: Move flash id detection into jedec_probe Jagan Teki
2015-11-26 12:04 ` [U-Boot] [PATCH v7 31/34] sf: dataflash: Fix add_dataflash return logic Jagan Teki
2015-11-26 12:04 ` [U-Boot] [PATCH v7 32/34] sf: dataflash: Add MTD core support Jagan Teki
2015-11-26 12:04 ` [U-Boot] [PATCH v7 33/34] sf: dataflash: Rename sf_dataflash.c to mtd_dataflash.c Jagan Teki
2015-11-26 12:04 ` [U-Boot] [PATCH v7 34/34] mtd: dataflash: Minor cleanups Jagan Teki
2015-11-26 12:24 ` [U-Boot] [PATCH v7 00/34] sf: MTD support Jagan Teki
2015-11-26 12:32   ` Stefan Roese
2015-11-26 12:46     ` Jagan Teki
2015-11-26 13:04       ` Stefan Roese
2015-11-26 13:24         ` Jagan Teki
2015-11-26 16:48         ` Simon Glass
2015-11-26 17:47           ` Stefan Roese
2015-11-26 17:55             ` Simon Glass
2015-11-26 18:12               ` Stefan Roese
2015-11-26 18:22                 ` Simon Glass
2015-11-27  4:01                   ` Stefan Roese
2015-11-27  6:32                     ` Stefan Roese [this message]
2015-11-26 17:50 ` Simon Glass
2015-11-26 18:54   ` Jagan Teki
2015-11-27  2:25     ` Bin Meng
2015-11-27  9:21       ` Jagan Teki
2015-11-30 23:17         ` Simon Glass
2015-12-03 10:14           ` Jagan Teki
2015-11-27  2:51     ` Simon Glass
2015-11-27  1:54 ` Bin Meng
2015-11-27  8:50   ` Jagan Teki

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5657F90F.9090802@denx.de \
    --to=sr@denx.de \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox