Thread (18 messages) 18 messages, 3 authors, 2018-07-18

Re: [PATCH 3/5] spi: dw-mmio: add MSCC Ocelot support

From: Andy Shevchenko <hidden>
Date: 2018-07-17 21:34:41
Also in: linux-mips, linux-spi, lkml

On Tue, Jul 17, 2018 at 5:23 PM, Alexandre Belloni
[off-list ref] wrote:
Because the SPI controller deasserts the chip select when the TX fifo is
empty (which may happen in the middle of a transfer), the CS should be
handled by linux. Unfortunately, some or all of the first four chip
selects are not muxable as GPIOs, depending on the SoC.

There is a way to bitbang those pins by using the SPI boot controller so
use it to set the chip selects.

At init time, it is also necessary to give control of the SPI interface to
the Designware IP.
+       ret = dw_spi_mscc_init(pdev, dwsmmio);
+       if (ret)
+               goto out;
+       { .compatible = "mscc,ocelot-spi", .data = dw_spi_mscc_init},
Looks like you were thinking about something like

init_func = device_get_match_data(...);
if (init_func) {
 ret = init_func();
 if (ret)
   return ret;
}

?

-- 
With Best Regards,
Andy Shevchenko
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help