Am 10.12.2018 um 21:17 schrieb Adam Ford:
On Mon, Dec 10, 2018 at 1:20 PM Simon Goldschmidt
<simon.k.r.goldschm...@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.delau...@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.goldschm...@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;
};
That should be correct when using DTS. I have no idea about the platform
data, sorry. That's a todo on my list to see if it gives me enough
memory to enable FIT/signature support in my SPL, but I haven't got to
compile it, yet, as cadence QSPI does not seem to support platdata, yet.
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.
Well, that's only partly true. You need this information in SPL unless
you go the hacky way of the define that Patrick wants to remove here.
And the standard way to get this information into SPL is the devicetree.
I think Patrick did the right move to send this series so that we can
drop the two defines and get the values from dts. Now platdata seems to
be missing, so this must be solved.
Might there be a platdata example I can follow?
As written above, I don't know of any. Even without build errors, I'm
not sure it would work...
Regards,
Simon
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
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot