[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <828d9947-ee96-4c2f-b856-0fac3640c863@linaro.org>
Date: Mon, 12 Feb 2024 06:17:14 +0000
From: Tudor Ambarus <tudor.ambarus@...aro.org>
To: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>,
Geert Uytterhoeven <geert@...ux-m68k.org>
Cc: broonie@...nel.org, robh@...nel.org, andi.shyti@...nel.org,
semen.protsenko@...aro.org, alim.akhtar@...sung.com,
linux-spi@...r.kernel.org, linux-samsung-soc@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
andre.draszik@...aro.org, peter.griffin@...aro.org, kernel-team@...roid.com,
willmcvicker@...gle.com, conor+dt@...nel.org, devicetree@...r.kernel.org,
arnd@...db.de, Linux-Renesas <linux-renesas-soc@...r.kernel.org>,
Wolfram Sang <wsa+renesas@...g-engineering.com>
Subject: Re: [PATCH 01/12] spi: dt-bindings: introduce the ``fifo-depth``
property
Hi, Geert, Krzysztof,
On 2/11/24 13:49, Krzysztof Kozlowski wrote:> On 09/02/2024 18:13, Geert
Uytterhoeven wrote:
>> Hi Tudor,
>>
>> On Thu, Feb 8, 2024 at 2:51 PM Tudor Ambarus <tudor.ambarus@...aro.org> wrote:
>>> There are instances of the same IP that are configured by the integrator
>>> with different FIFO depths. Introduce the fifo-depth property to allow
>>> such nodes to specify their FIFO depth.
>>>
>>> We haven't seen SPI IPs with different FIFO depths for RX and TX, thus
>>> introduce a single property.
>>
>> Ha...
>>
>> Current documentation for the Clock-Synchronized Serial Interface with
>> FIFO (MSIOF) on e.g. R-Car Gen2 and later states:
>>
>> FIFO capacity: 32 bits × 64 stages for transmission and 32 bits ×
>> 256 stages for reception
>>
>> Initially (many years ago), there was some doubt about the validity
>> of these values (older variants on SH supported 64/64), hence
>> drivers/spi/spi-sh-msiof.c still has
>>
>> .tx_fifo_size = 64,
>> .rx_fifo_size = 64,
>>
>> Probably we should test and revisit this...
>>
>>> --- a/Documentation/devicetree/bindings/spi/spi-controller.yaml
>>> +++ b/Documentation/devicetree/bindings/spi/spi-controller.yaml
>>> @@ -69,6 +69,11 @@ properties:
>>> Should be generally avoided and be replaced by
>>> spi-cs-high + ACTIVE_HIGH.
>>>
>>> + fifo-depth:
>>> + $ref: /schemas/types.yaml#/definitions/uint32
>>> + description:
>>> + Size of the data FIFO in bytes.
>>
>> I think it is prudent to consider the asymmetric case, too.
>> Whether that should be just two properties ("rx-fifo-depth" and
>> "tx-fifo-depth"), or also a third "fifo-depth", I defer to the DT
>> maintainers...
Thanks, Geert for the insight!
>
> Since most of the cases FIFO depth tx=rx, we could go with three
> properties and:
>
> allOf:
> - not:
> required:
> - fifo-depth
> - tx-fifo-depth
> - not:
> required:
> - fifo-depth
> - rx-fifo-depth
>
> and probably dependencies between rx and tx (see example-schema).
>
Great. Thanks, Krzysztof! I'll give it a try.
Cheers,
ta
Powered by blists - more mailing lists