
On Mon, Dec 10, 2018 at 1:20 PM Simon Goldschmidt simon.k.r.goldschmidt@gmail.com wrote:
Am 10.12.2018 um 16:42 schrieb Adam Ford:
On Mon, Dec 10, 2018 at 4:54 AM Patrick Delaunay patrick.delaunay@st.com wrote:
This patch-set finish (after the last Simmon comment) and depends on the previous serie named: "Read default speed and mode values from DT"
http://patchwork.ozlabs.org/project/uboot/list/?series=76834
This patchset remove the unnecessary defines for SPI speed and mode when DM mode is used for SPI (CONFIG_DM_SPI_FLASH).
Build result is available for the serie in gihub and travis: https://github.com/patrickdelaunay/u-boot/tree/topic/spi https://travis-ci.org/patrickdelaunay/u-boot/branches
After applying both of your patches, the da850evm no longer boots from SPI flash.
I just did test this and it worked for me. Booting from QSPI on socfpga_socrates and loading something in U-Boot via sf probe/sf read, so: Tested-by: Simon Goldschmidt simon.k.r.goldschmidt@gmail.com
U-Boot SPL 2019.01-rc1-00754-g21fb8c41b1 (Dec 10 2018 - 09:02:28 -0600) Trying to boot from SPI Warning: SPI speed fallback to 100 kHz
[repeat in perpetuity]
U-Boot SPL 2019.01-rc1-00754-g21fb8c41b1 (Dec 10 2018 - 09:02:28 -0600) Trying to boot from SPI Warning: SPI speed fallback to 100 kHz
I then tried to apply the first patch, and it also fails booting.
I'll reply to the original series with a similar message. Looking at the comments, it looks like the code is assuming the DM_SPI_FLASH means DT when in reality, the da850evm's SPL is using platdata. I looked at the platdata structure and I didn't see entries for SPI mode or speed. However, I cannot prove this is the issue on the da850evm without diving into it a bit more.
Adam, from reading the da850-emv.dts and its '-u-boot.dtsi', it seems the fdtgrep indicators to keep the flash for the SPL dts are missing (compare to socfpga_cyclone5_socrates-u-boot.dtsi). In this case, the code does not find a flash node.
The same would of course apply when using platdata.
I tried modifying the -u-boot.dtsi file to look like:
&flash { compatible = "m25p64", "spi-flash"; u-boot,dm-pre-reloc; };
Unfortunately, I not get some build errors. Do you have any suggestions? I know the dtsi didn't need the "u-boot,dm-pre-reloc;" before this patch. Might there be a platdata example I can follow?
The build errors as as follows:
make[2]: 'arch/arm/dts/da850-evm.dtb' is up to date. CAT u-boot-dtb.bin COPY u-boot.bin MKIMAGE u-boot.img MKIMAGE u-boot-dtb.img DTOC C spl/dts/dt-platdata.c DTOC H include/generated/dt-structs-gen.h Traceback (most recent call last): Traceback (most recent call last): File "./tools/dtoc/dtoc", line 109, in <module> File "./tools/dtoc/dtoc", line 109, in <module> options.output) options.output) File "/home/aford/src/u-boot/tools/dtoc/dtb_platdata.py", line 564, in run_steps File "/home/aford/src/u-boot/tools/dtoc/dtb_platdata.py", line 564, in run_steps plat.scan_reg_sizes() plat.scan_reg_sizes() File "/home/aford/src/u-boot/tools/dtoc/dtb_platdata.py", line 335, in scan_reg_sizes File "/home/aford/src/u-boot/tools/dtoc/dtb_platdata.py", line 335, in scan_reg_sizes addr = fdt_util.fdt_cells_to_cpu(val[i:], reg.na) addr = fdt_util.fdt_cells_to_cpu(val[i:], reg.na) File "/home/aford/src/u-boot/tools/dtoc/fdt_util.py", line 54, in fdt_cells_to_cpu File "/home/aford/src/u-boot/tools/dtoc/fdt_util.py", line 54, in fdt_cells_to_cpu out = out << 32 | fdt32_to_cpu(val[1]) out = out << 32 | fdt32_to_cpu(val[1]) IndexErrorIndexError: : list index out of rangelist index out of range
scripts/Makefile.spl:287: recipe for target 'spl/dts/dt-platdata.c' failed make[1]: *** [spl/dts/dt-platdata.c] Error 1 make[1]: *** Waiting for unfinished jobs.... scripts/Makefile.spl:284: recipe for target 'include/generated/dt-structs-gen.h' failed make[1]: *** [include/generated/dt-structs-gen.h] Error 1 Makefile:1591: recipe for target 'spl/u-boot-spl' failed make: *** [spl/u-boot-spl] Error 2
Regards, Simon
adam
Patrick Delaunay (7): spi: update management of default speed and mode spi: add comment for spi_flash_probe_bus_cs function da850evm: sf: Read default speed and mode values from DT dfu: sf: Read default speed and mode values from DT mips: mt76xx: gardena-smart-gateway: Read default speed and mode values from DT env: Read default speed and mode values from DT spi: remove define for SPI default SPEED and MODE
board/davinci/da8xxevm/da850evm.c | 7 +++++++ board/gardena/smart-gateway-mt7688/board.c | 24 ++++++++++++++++++++---- cmd/sf.c | 10 ++++++---- common/spl/spl_spi.c | 11 ++++++----- common/splash_source.c | 11 ++++++----- drivers/dfu/dfu_sf.c | 10 ++++++++-- env/Kconfig | 4 ++-- env/sf.c | 5 ++++- include/spi_flash.h | 18 ++++++++++++++++++ 9 files changed, 77 insertions(+), 23 deletions(-)
-- 2.7.4