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 05:01:24 +0100	[thread overview]
Message-ID: <5657D594.1010204@denx.de> (raw)
In-Reply-To: <CAPnjgZ3m0fuO-1+c3bMsTU281neMGBQiBNxzpgse72Fog5bAMA@mail.gmail.com>

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?

Thanks,
Stefan

  reply	other threads:[~2015-11-27  4:01 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 [this message]
2015-11-27  6:32                     ` Stefan Roese
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=5657D594.1010204@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