Re: [PATCH 1/8] spi: dt-bindings: Introduce spi-cs-setup-ns property

From: Michael Walle
Date: Mon Jan 02 2023 - 06:49:53 EST


Hi,

Am 2023-01-02 10:37, schrieb Tudor Ambarus:
Hi,

On 18.11.2022 17:30, Mark Brown wrote:
On Fri, Nov 18, 2022 at 03:14:58PM +0100, Michael Walle wrote:
From: Tudor Ambarus <tudor.ambarus@xxxxxxxxxxxxx>

+ spi-cs-setup-ns:
+ description:
+ Delay in nanosecods to be introduced by the controller after CS is
+ asserted.

Does this need a type as the spi-cs-setup-ns is apparently just 16bit? At
least the driver uses it that way.

But IMHO this should just be a normal uint32 value to be consistent with
all the other properties. Also the max value with 16bit will be 'just'
65us.

Making it 32 bit does seem safer. I've applied the series

Thanks. There are few implications to consider before making this prop a
u32, and I'd like to check them with you.

struct spi_delay will have to be updated to have a u32 value, now it's a
u16. This means that we'll have to update spi_delay_to_ns() to either
return a s64 or to add a u64 *delay parameter to the function so that we
can still handle the conversions from usecs and the error codes in the
SPI_DELAY_UNIT_SCK case. Then all its callers have to be updated to
consider the u64 delay.

I was talking about the device tree property. Even if the driver continue
to use just 16bit, the DT property could be 32bit IMHO.

At the moment, the schema says its 32bit (if I'm not mistaken, because
it doesn't have a type), but the driver will parse the property as
16bit and your device tree also has this /bits/ thingy. So regardless
if the driver is using 16bit or 32bit for the value, there seems to be
a discrepancy between the schema and the devicetree (and driver).

All other properties are just the regular 32bit values, thus I was
suggesting to change the DT property to 32bit.

-michael

I don't know what to say, I'm in between. 65us delays are improbable,
but I'm fine to update this as well. Let me know your preference.

Thanks,
ta