RE: [RFC PATCH 1/2] spi: Add multiple CS support for a single SPI device

From: Mahapatra, Amit Kumar
Date: Fri Jul 15 2022 - 11:36:35 EST


Hello Mark,

> -----Original Message-----
> From: Mark Brown <broonie@xxxxxxxxxx>
> Sent: Monday, July 11, 2022 8:23 PM
> To: Michal Simek <michal.simek@xxxxxxxxxx>
> Cc: Amit Kumar Mahapatra <amit.kumar-mahapatra@xxxxxxxxxx>; Krzysztof
> Kozlowski <krzysztof.kozlowski+dt@xxxxxxxxxx>; p.yadav@xxxxxx;
> miquel.raynal@xxxxxxxxxxx; richard@xxxxxx; vigneshr@xxxxxx;
> git@xxxxxxxxxx; linux-spi@xxxxxxxxxxxxxxx; linux-arm-
> kernel@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; michael@xxxxxxxx;
> linux-mtd@xxxxxxxxxxxxxxxxxxx
> Subject: Re: [RFC PATCH 1/2] spi: Add multiple CS support for a single SPI
> device
>
> On Mon, Jul 11, 2022 at 02:47:54PM +0200, Michal Simek wrote:
> > On 6/9/22 13:54, Mark Brown wrote:
> > > On Mon, Jun 06, 2022 at 04:56:06PM +0530, Amit Kumar Mahapatra
> wrote:
>
> > > > + u32 cs[SPI_CS_CNT_MAX];
> > > > + u8 idx;
> > > > /* Mode (clock phase/polarity/etc.) */
> > > > if (of_property_read_bool(nc, "spi-cpha"))
>
> > > This is changing the DT binding but doesn't have any updates to the
> > > binding document. The binding code also doesn't validate that we
> > > don't have too many chip selects.
>
> > I would like to better understand your request here in connection to
> > change in the binding code for validation.
> > What exactly do you want to validate?
> > That child reg property is not bigger than num-cs in controller node?
>
> If you are adding support for multiple chip selects in the driver then there
> must be some mechanism for expressing that in the bindings which I would
> expect to see appear as a change to the binding document.

Thank you for the clarification.
As per my understanding we would not be needing a new DT
property for expressing multi chip select support in the driver.
We can use "num-cs" property of the spi controller for
broadcasting multi chip select support of the driver.
If "num-cs" value is greater than 1 then the driver can support
multiple chip selects.

Please let us know if you have any other approach in mind.

Regards,
Amit