Message ID | 20240216070555.2483977-2-tudor.ambarus@linaro.org |
---|---|
State | Accepted |
Commit | 80a38bfbbd5965c8bda73b20aa78d308739bbc31 |
Headers | show |
Series | spi: s3c64xx: remove OF alias ID dependency | expand |
On Fri, Feb 16, 2024 at 07:05:44AM +0000, Tudor Ambarus wrote: > There are SPI IPs that can be configured by the integrator with a > specific FIFO depth depending on the system's capabilities. For example, > the samsung USI SPI IP can be configured by the integrator with a TX/RX > FIFO from 8 byte to 256 bytes. > > Introduce the ``fifo-depth`` property for such instances of IPs where the > same FIFO depth is used for both RX and TX. Introduce ``rx-fifo-depth`` > and ``tx-fifo-depth`` properties for cases where the RX FIFO depth is > different from the TX FIFO depth. > > Make the dedicated RX/TX properties dependent on each other and mutual > exclusive with the other. > > Reviewed-by: Rob Herring <robh@kernel.org> > Signed-off-by: Tudor Ambarus <tudor.ambarus@linaro.org> Reviewed-by: Conor Dooley <conor.dooley@microchip.com> Cheers, Conor. > --- > .../bindings/spi/spi-controller.yaml | 27 +++++++++++++++++++ > 1 file changed, 27 insertions(+) > > diff --git a/Documentation/devicetree/bindings/spi/spi-controller.yaml b/Documentation/devicetree/bindings/spi/spi-controller.yaml > index 524f6fe8c27b..093150c0cb87 100644 > --- a/Documentation/devicetree/bindings/spi/spi-controller.yaml > +++ b/Documentation/devicetree/bindings/spi/spi-controller.yaml > @@ -69,6 +69,21 @@ 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 RX and TX data FIFOs in bytes. > + > + rx-fifo-depth: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: > + Size of the RX data FIFO in bytes. > + > + tx-fifo-depth: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: > + Size of the TX data FIFO in bytes. > + > num-cs: > $ref: /schemas/types.yaml#/definitions/uint32 > description: > @@ -116,6 +131,10 @@ patternProperties: > - compatible > - reg > > +dependencies: > + rx-fifo-depth: [ tx-fifo-depth ] > + tx-fifo-depth: [ rx-fifo-depth ] > + > allOf: > - if: > not: > @@ -129,6 +148,14 @@ allOf: > properties: > "#address-cells": > const: 0 > + - not: > + required: > + - fifo-depth > + - rx-fifo-depth > + - not: > + required: > + - fifo-depth > + - tx-fifo-depth > > additionalProperties: true > > -- > 2.44.0.rc0.258.g7320e95886-goog >
diff --git a/Documentation/devicetree/bindings/spi/spi-controller.yaml b/Documentation/devicetree/bindings/spi/spi-controller.yaml index 524f6fe8c27b..093150c0cb87 100644 --- a/Documentation/devicetree/bindings/spi/spi-controller.yaml +++ b/Documentation/devicetree/bindings/spi/spi-controller.yaml @@ -69,6 +69,21 @@ 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 RX and TX data FIFOs in bytes. + + rx-fifo-depth: + $ref: /schemas/types.yaml#/definitions/uint32 + description: + Size of the RX data FIFO in bytes. + + tx-fifo-depth: + $ref: /schemas/types.yaml#/definitions/uint32 + description: + Size of the TX data FIFO in bytes. + num-cs: $ref: /schemas/types.yaml#/definitions/uint32 description: @@ -116,6 +131,10 @@ patternProperties: - compatible - reg +dependencies: + rx-fifo-depth: [ tx-fifo-depth ] + tx-fifo-depth: [ rx-fifo-depth ] + allOf: - if: not: @@ -129,6 +148,14 @@ allOf: properties: "#address-cells": const: 0 + - not: + required: + - fifo-depth + - rx-fifo-depth + - not: + required: + - fifo-depth + - tx-fifo-depth additionalProperties: true