Re: [PATCH v4 4/9] ASoC: dt-bindings: wcd938x-sdw: add bindings for wcd938x-sdw
On 15/04/2021 17:39, Rob Herring wrote: On Wed, Apr 14, 2021 at 04:48:40PM +0100, Srinivas Kandagatla wrote: Qualcomm WCD9380/WCD9385 Codec is a standalone Hi-Fi audio codec IC connected over SoundWire. This device has two SoundWire devices RX and TX respectively. This bindings is for those slave devices on WCD9380/WCD9385. Signed-off-by: Srinivas Kandagatla --- .../bindings/sound/qcom,wcd938x-sdw.yaml | 61 +++ 1 file changed, 61 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/qcom,wcd938x-sdw.yaml diff --git a/Documentation/devicetree/bindings/sound/qcom,wcd938x-sdw.yaml b/Documentation/devicetree/bindings/sound/qcom,wcd938x-sdw.yaml new file mode 100644 index ..fff33c65491b --- /dev/null +++ b/Documentation/devicetree/bindings/sound/qcom,wcd938x-sdw.yaml @@ -0,0 +1,61 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/sound/qcom,wcd938x-sdw.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Bindings for Qualcomm SoundWire Slave devices on WCD9380/WCD9385 + +maintainers: + - Srinivas Kandagatla + +description: | + Qualcomm WCD9380/WCD9385 Codec is a standalone Hi-Fi audio codec IC. + It has RX and TX Soundwire slave devices. This bindings is for the + slave devices. + +properties: + compatible: +const: sdw20217010d00 + + reg: +maxItems: 1 + + qcom,direction: +description: direction of the SoundWire device instance +enum: + - rx + - tx Was thinking these were some established bus properties... This would just be implied by the 'reg' property index. You could define 'reg-names' too I guess. + + qcom,port-mapping: +description: | + Specifies static port mapping between slave and master ports. + In the order of slave port index. +$ref: /schemas/types.yaml#/definitions/uint32-array +minItems: 4 +maxItems: 5 qcom,rx-port-mapping and qcom,tx-port-mapping? If we have this property then "qcom,direction" becomes redundant. Or keep a single property and the driver knows how many slave ports for each direction. IOW, an array of 9 with first 4 entries for tx and last 5 for rx. We can't have a single property with 9 entries as these are two separate devices, rx SoundWire Slave has 5 ports implemented where as tx SounWire slave has only 4 ports implemented in hw. And the are on different SoundWire buses. --srini + +required: + - compatible + - reg + - qcom,direction + - qcom,port-mapping + +additionalProperties: false + +examples: + - | +soundwire@323 { +#address-cells = <2>; +#size-cells = <0>; +reg = <0x0323 0x2000>; + +codec@0,3 { +compatible = "sdw20217010d00"; +reg = <0 3>; +qcom,direction = "tx"; +qcom,port-mapping = <2 3 4 5>; +}; +}; + +... -- 2.21.0
Re: [PATCH v4 4/9] ASoC: dt-bindings: wcd938x-sdw: add bindings for wcd938x-sdw
On Wed, Apr 14, 2021 at 04:48:40PM +0100, Srinivas Kandagatla wrote: > Qualcomm WCD9380/WCD9385 Codec is a standalone Hi-Fi audio codec IC > connected over SoundWire. This device has two SoundWire devices RX and > TX respectively. This bindings is for those slave devices on WCD9380/WCD9385. > > Signed-off-by: Srinivas Kandagatla > --- > .../bindings/sound/qcom,wcd938x-sdw.yaml | 61 +++ > 1 file changed, 61 insertions(+) > create mode 100644 > Documentation/devicetree/bindings/sound/qcom,wcd938x-sdw.yaml > > diff --git a/Documentation/devicetree/bindings/sound/qcom,wcd938x-sdw.yaml > b/Documentation/devicetree/bindings/sound/qcom,wcd938x-sdw.yaml > new file mode 100644 > index ..fff33c65491b > --- /dev/null > +++ b/Documentation/devicetree/bindings/sound/qcom,wcd938x-sdw.yaml > @@ -0,0 +1,61 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/sound/qcom,wcd938x-sdw.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Bindings for Qualcomm SoundWire Slave devices on WCD9380/WCD9385 > + > +maintainers: > + - Srinivas Kandagatla > + > +description: | > + Qualcomm WCD9380/WCD9385 Codec is a standalone Hi-Fi audio codec IC. > + It has RX and TX Soundwire slave devices. This bindings is for the > + slave devices. > + > +properties: > + compatible: > +const: sdw20217010d00 > + > + reg: > +maxItems: 1 > + > + qcom,direction: > +description: direction of the SoundWire device instance > +enum: > + - rx > + - tx Was thinking these were some established bus properties... This would just be implied by the 'reg' property index. You could define 'reg-names' too I guess. > + > + qcom,port-mapping: > +description: | > + Specifies static port mapping between slave and master ports. > + In the order of slave port index. > +$ref: /schemas/types.yaml#/definitions/uint32-array > +minItems: 4 > +maxItems: 5 qcom,rx-port-mapping and qcom,tx-port-mapping? Or keep a single property and the driver knows how many slave ports for each direction. IOW, an array of 9 with first 4 entries for tx and last 5 for rx. > + > +required: > + - compatible > + - reg > + - qcom,direction > + - qcom,port-mapping > + > +additionalProperties: false > + > +examples: > + - | > +soundwire@323 { > +#address-cells = <2>; > +#size-cells = <0>; > +reg = <0x0323 0x2000>; > + > +codec@0,3 { > +compatible = "sdw20217010d00"; > +reg = <0 3>; > +qcom,direction = "tx"; > +qcom,port-mapping = <2 3 4 5>; > +}; > +}; > + > +... > -- > 2.21.0 >
[PATCH v4 4/9] ASoC: dt-bindings: wcd938x-sdw: add bindings for wcd938x-sdw
Qualcomm WCD9380/WCD9385 Codec is a standalone Hi-Fi audio codec IC connected over SoundWire. This device has two SoundWire devices RX and TX respectively. This bindings is for those slave devices on WCD9380/WCD9385. Signed-off-by: Srinivas Kandagatla --- .../bindings/sound/qcom,wcd938x-sdw.yaml | 61 +++ 1 file changed, 61 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/qcom,wcd938x-sdw.yaml diff --git a/Documentation/devicetree/bindings/sound/qcom,wcd938x-sdw.yaml b/Documentation/devicetree/bindings/sound/qcom,wcd938x-sdw.yaml new file mode 100644 index ..fff33c65491b --- /dev/null +++ b/Documentation/devicetree/bindings/sound/qcom,wcd938x-sdw.yaml @@ -0,0 +1,61 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/sound/qcom,wcd938x-sdw.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Bindings for Qualcomm SoundWire Slave devices on WCD9380/WCD9385 + +maintainers: + - Srinivas Kandagatla + +description: | + Qualcomm WCD9380/WCD9385 Codec is a standalone Hi-Fi audio codec IC. + It has RX and TX Soundwire slave devices. This bindings is for the + slave devices. + +properties: + compatible: +const: sdw20217010d00 + + reg: +maxItems: 1 + + qcom,direction: +description: direction of the SoundWire device instance +enum: + - rx + - tx + + qcom,port-mapping: +description: | + Specifies static port mapping between slave and master ports. + In the order of slave port index. +$ref: /schemas/types.yaml#/definitions/uint32-array +minItems: 4 +maxItems: 5 + +required: + - compatible + - reg + - qcom,direction + - qcom,port-mapping + +additionalProperties: false + +examples: + - | +soundwire@323 { +#address-cells = <2>; +#size-cells = <0>; +reg = <0x0323 0x2000>; + +codec@0,3 { +compatible = "sdw20217010d00"; +reg = <0 3>; +qcom,direction = "tx"; +qcom,port-mapping = <2 3 4 5>; +}; +}; + +... -- 2.21.0