spi: omap3: fix claim/release bus within DM
authorHannes Schmelzer <oe5hpm@oevsv.at>
Tue, 26 Jun 2018 14:08:39 +0000 (16:08 +0200)
committerJagan Teki <jagan@amarulasolutions.com>
Thu, 28 Jun 2018 14:24:10 +0000 (19:54 +0530)
commitc0eaffa03959a97e6c139ea023e4041170e105e6
tree051bec7263860bec20a6679144bfa799610106c1
parent51dce7d2bfdecd974412634e4a0758ac55edcc00
spi: omap3: fix claim/release bus within DM

The claim/release bus function must not reset the whole SPI core because
settings regarding wordlen, clock-frequency and so on made by
set_wordlen, set_mode, set_speed get lost with this action. Resulting in
a non-functional SPI.

Without DM the failure didn't came up since after the spi_reset within
claim bus all the setup (wordlen, mode, ...) was called, in DM they are
called by the spi uclass.

We change now the things as following for having a working SPI instance
in DM:

- move the spi_reset(...) to the probe call in DM for having a known
hardware state after probe. Without DM we don't have a probe call, so we
issue the reset as before during the claim_bus call.

- in release bus we just reset the modulctrl to the reset-value (spi-
slave)

Signed-off-by: Hannes Schmelzer <oe5hpm@oevsv.at>
Reviewed-by: Jagan Teki <jagan@openedev.com>
drivers/spi/omap3_spi.c