
On Wednesday 24 August 2016 07:40 PM, Hannes Schmelzer wrote:
On 08/24/2016 02:21 PM, Hannes Schmelzer wrote:
On 08/24/2016 01:12 PM, Vignesh R wrote:
On Wednesday 24 August 2016 04:21 PM, Hannes Schmelzer wrote:
On 08/24/2016 12:35 PM, Vignesh R wrote:
[...]
AFAIU, saveenv() uses CONFIG_ENV_SPI_MAX_HZ only when CONFIG_DM_SPI_FLASH is not defined. Could please explain how CONFIG_ENV_SPI_MAX_HZ takes precedence over spi-max-frequency during sf probe?
Thanks the discussion, I think we coming closer to the problem. Your'e right saveenv() behaves as you described, but not so env_relocate_spec().
There the flash is probed like this: env_flash = spi_flash_probe(CONFIG_ENV_SPI_BUS, CONFIG_ENV_SPI_CS, CONFIG_ENV_SPI_MAX_HZ, CONFIG_ENV_SPI_MODE);
and thats the point where some existing dt node becomes modified with those values. Thats probably wrong doing so.
I think there should be same logic applied as in saveen().
Tested again, and confirming this behaviour.
Yeah, I think relocate_spec() was not updated during dm conversion.
Just for testing i fixed the probe there. Now i'm a bit confused about that the function spi_find_chip_select(bus, cs, &dev) in spi-uclass doesn't find child devices on the spi node. Instead there a new flash binding is created. spi_get_bus_and_cs: Binding new device 'spi_flash@0:0', busnum=0, cs=0, driver=spi_flash_std
Debugged into DM and found out that my devicetree didn't represent a valid flash-child. I've now modified it to:
=> fdt print spi0 spi@e000d000 { clock-names = "ref_clk", "pclk"; clocks = <0x00000001 0x0000000a 0x00000001 0x0000002b>; compatible = "xlnx,zynq-qspi-1.0"; status = "okay"; interrupt-parent = <0x00000003>; interrupts = <0x00000000 0x00000013 0x00000004>; reg = <0xe000d000 0x00001000>; #address-cells = <0x00000001>; #size-cells = <0x00000000>; u-boot,dm-pre-reloc; spi-max-frequency = <0x05f5e100>; spiflash@0 { u-boot,dm-pre-reloc; compatible = "spidev", "spi-flash";
Shouldn't this be: compatible = "spansion,S25FL256S_64K", "spi-flash"; as per doc/device-tree-bindings/mtd/spi/spi-flash.txt