Hi,
I've recently had a discussion about the correct way for an SPI driver
to handle the num-cs property: https://lkml.org/lkml/2020/8/25/184
Since 8cdcd8aeee281 ("spi: imx/fsl-lpspi: Convert to GPIO
descriptors"), the logic of the spi-imx driver is somewhat confusing:
If fewer than 3 cs-gpios are defined, and no explicit num-cs property
exists, the driver will set num_chipselect to 3 by default, instead of
the number of cs-gpios entries.
To avoid having to specify num-cs when the number cs-gpios would
suffice, I suggested to modify the logic to the following:
- If num-cs is set, use that
- If num-cs is unset, use the number of cs-gpios
- If num-cs is unset and no cs-gpios are defined, use a driver-provided
default (which is 3 for spi-imx; this matches the number of native CS
pins in older implementations of this SPI controller; i.MX6 and newer
support up to 4)
Also, would it make sense to add num-cs to all DTS files for boards
that actually use fewer than 3 CS pins?
At the moment, the num-cs property is not explicitly documented for the
spi-imx driver, although the driver understands it. I also suggested to
add this to the docs, which Fabio didn't deem a good idea (I don't
quite understand the reasoning here - isn't num-cs generally a useful
property to have?)
Kind regards,
Matthias
On Thu, Sep 03, 2020 at 11:22:20AM +0200, Matthias Schiffer wrote:
> - If num-cs is set, use that
> - If num-cs is unset, use the number of cs-gpios
> - If num-cs is unset and no cs-gpios are defined, use a driver-provided
> default (which is 3 for spi-imx; this matches the number of native CS
> pins in older implementations of this SPI controller; i.MX6 and newer
> support up to 4)
That sounds like what's expected, though we coould just skip the first
step.
> Also, would it make sense to add num-cs to all DTS files for boards
> that actually use fewer than 3 CS pins?
No, it was never a good idea to have that property in the first place
and there should be no case where it helps anything.
> At the moment, the num-cs property is not explicitly documented for the
> spi-imx driver, although the driver understands it. I also suggested to
> add this to the docs, which Fabio didn't deem a good idea (I don't
> quite understand the reasoning here - isn't num-cs generally a useful
> property to have?)
Could you explain what benefit you would expect having num-cs to offer?
On Thu, 2020-09-03 at 14:22 +0100, Mark Brown wrote:
> * PGP Signed by an unknown key
>
> On Thu, Sep 03, 2020 at 11:22:20AM +0200, Matthias Schiffer wrote:
>
> > - If num-cs is set, use that
> > - If num-cs is unset, use the number of cs-gpios
> > - If num-cs is unset and no cs-gpios are defined, use a driver-
> > provided
> > default (which is 3 for spi-imx; this matches the number of native
> > CS
> > pins in older implementations of this SPI controller; i.MX6 and
> > newer
> > support up to 4)
>
> That sounds like what's expected, though we coould just skip the
> first
> step.
>
> > Also, would it make sense to add num-cs to all DTS files for boards
> > that actually use fewer than 3 CS pins?
>
> No, it was never a good idea to have that property in the first place
> and there should be no case where it helps anything.
Oh, thank you for the clarification.
As currently no in-tree DTs use the num-cs property for spi-imx and
it's not documented, should support for it be dropped from the driver
altogether?
>
> > At the moment, the num-cs property is not explicitly documented for
> > the
> > spi-imx driver, although the driver understands it. I also
> > suggested to
> > add this to the docs, which Fabio didn't deem a good idea (I don't
> > quite understand the reasoning here - isn't num-cs generally a
> > useful
> > property to have?)
>
> Could you explain what benefit you would expect having num-cs to
> offer?
>
> * Unknown Key
> * 0x5D5487D0
Hi Matthias,
On Thu, Sep 3, 2020 at 10:40 AM Matthias Schiffer
<[email protected]> wrote:
> As currently no in-tree DTs use the num-cs property for spi-imx and
> it's not documented, should support for it be dropped from the driver
> altogether?
Yes, it makes sense to drop num-cs support from the spi-imx driver.
Care to send a patch?
Thanks