]> git.dujemihanovic.xyz Git - u-boot.git/commit
spi: Update speed/mode on change
authorMarek Vasut <marex@denx.de>
Thu, 10 Jun 2021 12:00:00 +0000 (14:00 +0200)
committerTom Rini <trini@konsulko.com>
Wed, 30 Jun 2021 12:06:30 +0000 (08:06 -0400)
commite2e95e5e25421fbef499e21bf94a5339701f9a99
tree73a4d5a38a19c321a867ae6466dc6b5c689bada7
parent605cbcb0a43cef8f987a736d0f5991a9db314562
spi: Update speed/mode on change

The spi_get_bus_and_cs() may be called on the same bus and chipselect
with different frequency or mode. This is valid usecase, but the code
fails to notify the controller of such a configuration change. Call
spi_set_speed_mode() in case bus frequency or bus mode changed to let
the controller update the configuration.

The problem can easily be triggered using the sspi command:
=> sspi 0:0@1000
=> sspi 0:0@2000
Without this patch, both transfers happen at 1000 Hz. With this patch,
the later transfer happens correctly at 2000 Hz.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Jagan Teki <jagan@amarulasolutions.com>
Cc: Patrick Delaunay <patrick.delaunay@foss.st.com>
drivers/spi/spi-uclass.c