[U-Boot] [PATCH 0/7] Remove defines for SPI default speed and mode

Adam Ford aford173 at gmail.com
Mon Dec 10 20:17:58 UTC 2018


On Mon, Dec 10, 2018 at 1:20 PM Simon Goldschmidt
<simon.k.r.goldschmidt at 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 at 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 at 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
> >>
>


More information about the U-Boot mailing list