dm: spi: Read default speed and mode values from DT
authorPatrick Delaunay <patrick.delaunay@st.com>
Wed, 27 Feb 2019 14:36:44 +0000 (15:36 +0100)
committerJagan Teki <jagan@amarulasolutions.com>
Fri, 12 Apr 2019 06:24:50 +0000 (11:54 +0530)
commitb0cc1b846fcb310c0ac2f8cbeb4ed5947dc52912
tree7d112ac9bc6474fe26d616721e49d672b9413f51
parentf909ddb3e1770a5ef18606b46000e0d3eaf63b2e
dm: spi: Read default speed and mode values from DT

This patch update the behavior introduced by
commit 96907c0fe50a ("dm: spi: Read default speed and mode values from DT")

In case of DT boot, don't read default speed and mode for SPI from
CONFIG_* but instead read from DT node. This will make sure that boards
with multiple SPI/QSPI controllers can be probed at different
bus frequencies and SPI modes.

Remove also use in boards of the value speed=0 (no more supported)
for ENV in SPI by using CONFIG_ENV_SPI_MAX_HZ=0.

DT values will be always used when available (full DM support of
SPI slave with available DT node) even if speed and mode are requested;
for example in splash screen support (in splash_sf_read_raw)
or in SPL boot (in spl_spi_load_image).
The caller of spi_get_bus_and_cs() no more need to force speed=0.

But the current behavior don't change if the SPI slave is not
present (device with generic driver is created automatically)
or if platdata is used (CONFIG_OF_PLATDATA).

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Acked-by: Jagan Teki <jagan@amarulasolutions.com>
12 files changed:
cmd/sf.c
common/spl/spl_spi.c
configs/da850_am18xxevm_defconfig
configs/da850evm_defconfig
configs/mscc_jr2_defconfig
configs/mscc_luton_defconfig
configs/mscc_ocelot_defconfig
configs/mscc_serval_defconfig
configs/mscc_servalt_defconfig
drivers/mtd/spi/Kconfig
drivers/spi/spi-uclass.c
include/spi.h