Re: [PATCH v2 2/7] dt-bindings: soundwire: qcom: add 16-bit sample interval

From: Rob Herring
Date: Tue Apr 04 2023 - 10:22:15 EST


On Mon, Apr 03, 2023 at 03:24:58PM +0200, Krzysztof Kozlowski wrote:
> The port sample interval was always 16-bit, split into low and high
> bytes. This split was unnecessary, although harmless for older devices
> because all of them used only lower byte (so values < 0xff). With
> support for Soundwire controller on Qualcomm SM8550 and its devices,
> both bytes will be used, thus add a new 'qcom,ports-sinterval' property
> to allow 16-bit sample intervals.
>
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
> ---
> .../bindings/soundwire/qcom,soundwire.yaml | 22 +++++++++++++++++--
> 1 file changed, 20 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/soundwire/qcom,soundwire.yaml b/Documentation/devicetree/bindings/soundwire/qcom,soundwire.yaml
> index c283c594fb5c..883b8be9be1b 100644
> --- a/Documentation/devicetree/bindings/soundwire/qcom,soundwire.yaml
> +++ b/Documentation/devicetree/bindings/soundwire/qcom,soundwire.yaml
> @@ -86,7 +86,7 @@ properties:
> qcom,ports-sinterval-low:
> $ref: /schemas/types.yaml#/definitions/uint8-array
> description:
> - Sample interval low of each data port.
> + Sample interval (only lowest byte) of each data port.
> Out ports followed by In ports. Used for Sample Interval calculation.
> Value of 0xff indicates that this option is not implemented
> or applicable for the respective data port.
> @@ -94,6 +94,19 @@ properties:
> minItems: 3
> maxItems: 16
>
> + qcom,ports-sinterval:
> + $ref: /schemas/types.yaml#/definitions/uint32-array
> + description:
> + Sample interval of each data port.
> + Out ports followed by In ports. Used for Sample Interval calculation.
> + Value of 0xffff indicates that this option is not implemented
> + or applicable for the respective data port.
> + More info in MIPI Alliance SoundWire 1.0 Specifications.
> + minItems: 3
> + maxItems: 16
> + items:
> + maximum: 0xffff

Why not use uint16-array?

> +
> qcom,ports-offset1:
> $ref: /schemas/types.yaml#/definitions/uint8-array
> description:
> @@ -219,10 +232,15 @@ required:
> - '#size-cells'
> - qcom,dout-ports
> - qcom,din-ports
> - - qcom,ports-sinterval-low
> - qcom,ports-offset1
> - qcom,ports-offset2
>
> +oneOf:
> + - required:
> + - qcom,ports-sinterval-low
> + - required:
> + - qcom,ports-sinterval
> +
> additionalProperties: false
>
> examples:
> --
> 2.34.1
>