[U-Boot] [Question] DM SPI FLASH

Simon Glass sjg at chromium.org
Wed Jan 7 06:33:02 CET 2015


Hi Peng,

On 6 January 2015 at 20:06, Peng Fan <B51431 at freescale.com> wrote:
> Hi Simon,
>
> I am hacking DTB and DM SPI FLASH support for i.MX 6SoloX. I have a question
> about `sf probe`. In original way, `sf probe` or `sf probe 0:0` can detect
> qspi flashes on my platform. But after using DM, I should use `sf probe
> 35536896:0` to probe flashes. 35536896 is the address of QSPI controller's
> reg base 0x021e4000 in hex format. Does I miss something in my driver? It
> seems dev->seq is not valid so should pass req_seq which is the address of
> qspi controller in dts file.
>
> Any ideas?

You can use:

aliases {
   spi0 = "/spi at xxxx";
}

to correct the sequence number.

It would be better if we had a way to indicate a bus where reg
provides the sequence number, so we know when it doesn't. I haven't
come up with a good idea on that yet.

>
> The log using `sf probe 0:0`. Fail to probe flash
> => sf probe 0:0
> uclass_find_device_by_seq: 0 0
>    - 35536896 35536896
>    - not found
> spi_find_bus_and_cs: No bus 0
> uclass_find_device_by_seq: 0 0
>    - 35536896 35536896
>    - not found
> uclass_find_device_by_seq: 1 0
>    - 35536896 35536896
>    - not found
> Invalid bus 0 (err=-19)
> Failed to initialize SPI flash at 0:0 (error -19)
>
> The log using `sf probe 35536896:0`. Success to probe flash.
> => sf probe 35536896:0
> uclass_find_device_by_seq: 0 35536896
>    - 35536896 -1
>    - not found
> spi_find_bus_and_cs: No bus 35536896
> uclass_find_device_by_seq: 0 35536896
>    - 35536896 -1
>    - not found
> uclass_find_device_by_seq: 1 35536896
>    - 35536896 -1
>    - found
> uclass_find_device_by_seq: 0 -1
> uclass_find_device_by_seq: 0 0
>    - -1 -1
>    - 33554432 -1
>    - 33554432 -1
>    - 34373632 -1
>    - -1 -1
>    - 34603008 -1
>    - 35651584 -1
>    - 35913728 -1
>    - -1 -1
>    - not found
> uclass_find_device_by_seq: 0 34603008
>    - -1 0
>    - 33554432 -1
>    - 33554432 -1
>    - 34373632 -1
>    - -1 -1
>    - 34603008 -1
>    - 35651584 -1
>    - 35913728 -1
>    - -1 -1
>    - not found
> uclass_find_device_by_seq: 0 35536896
>    - 35536896 -1
>    - not found
> fdtdec_get_int_array: reg
> get_prop_check_min_len: reg
> fdtdec_get_int: spi-max-frequency: (not found)
> fsl_qspi_ofdata_to_platdata: reg_base=0x21e4000 amba_base=0x70000000
> max-frequency=500000
> fdtdec_get_int: spi-max-frequency: (not found)
> spi_get_bus_and_cs: Binding new device '35536896:0', busnum=35536896, cs=0,
> driver=spi_flash_std
> fdtdec_get_int: reg: (not found)
> Bound device 35536896:0 to qspi at 021e4000
> fdtdec_get_int: reg: (not found)
> fdtdec_get_int: spi-max-frequency: (not found)
> fdtdec_get_bool: spi-cpol
> fdtdec_get_bool: spi-cpha
> fdtdec_get_bool: spi-cs-high
> fdtdec_get_bool: spi-half-duplex
> uclass_find_device_by_seq: 0 -1
> uclass_find_device_by_seq: 0 0
>    - -1 -1
>    - not found
> spi_flash_std_probe: slave=bfc5b208, cs=0
> fsl_qspi_set_speed: hz=100000
> fsl_qspi_set_mode: mode=0
> SF: Got idcodes
> 00000000: 20 ba 19 10 00                                      ....
> SF: Detected N25Q256 with page size 256 Bytes, erase size 4 KiB, total 32
> MiB
> SF: Warning - Only lower 16MiB accessible, Full access #define
> CONFIG_SPI_FLASH_BAR
> fsl_qspi_set_speed: hz=1000000
> fsl_qspi_set_mode: mode=3
> spi_get_bus_and_cs: bus=bfc53308, slave=bfc5b208

Regards,
Simon


More information about the U-Boot mailing list