Message ID | 20230403132503.62090-1-krzysztof.kozlowski@linaro.org |
---|---|
Headers | show |
Series | soundwire: qcom: add support for SM8550 (Soundwire v2.0.0) | expand |
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@linaro.org> > --- > .../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 >
On 04/04/2023 16:21, Rob Herring wrote: >> 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? Because I am afraid it will grow in next version to 24 or 32 bits. I can change easily maximum, but if I put here uint16-array, all DTS will have /bytes 16/ annotation. Best regards, Krzysztof