[U-Boot] [Question] DM SPI FLASH

Peng Fan B51431 at freescale.com
Wed Jan 7 04:06:30 CET 2015


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?

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


Thanks,
Peng.


More information about the U-Boot mailing list