Message ID | 20210414154845.21964-5-srinivas.kandagatla@linaro.org |
---|---|
State | New |
Headers | show |
Series | ASoC: codecs: add wcd938x support | expand |
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 <srinivas.kandagatla@linaro.org> > --- > .../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 000000000000..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 <srinivas.kandagatla@linaro.org> > + > +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@3230000 { > + #address-cells = <2>; > + #size-cells = <0>; > + reg = <0x03230000 0x2000>; > + > + codec@0,3 { > + compatible = "sdw20217010d00"; > + reg = <0 3>; > + qcom,direction = "tx"; > + qcom,port-mapping = <2 3 4 5>; > + }; > + }; > + > +... > -- > 2.21.0 >
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 <srinivas.kandagatla@linaro.org> >> --- >> .../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 000000000000..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 <srinivas.kandagatla@linaro.org> >> + >> +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@3230000 { >> + #address-cells = <2>; >> + #size-cells = <0>; >> + reg = <0x03230000 0x2000>; >> + >> + codec@0,3 { >> + compatible = "sdw20217010d00"; >> + reg = <0 3>; >> + qcom,direction = "tx"; >> + qcom,port-mapping = <2 3 4 5>; >> + }; >> + }; >> + >> +... >> -- >> 2.21.0 >>
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 000000000000..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 <srinivas.kandagatla@linaro.org> + +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@3230000 { + #address-cells = <2>; + #size-cells = <0>; + reg = <0x03230000 0x2000>; + + codec@0,3 { + compatible = "sdw20217010d00"; + reg = <0 3>; + qcom,direction = "tx"; + qcom,port-mapping = <2 3 4 5>; + }; + }; + +...
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 <srinivas.kandagatla@linaro.org> --- .../bindings/sound/qcom,wcd938x-sdw.yaml | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/qcom,wcd938x-sdw.yaml -- 2.21.0