On Thu, Nov 21, 2019 at 05:04:59PM +0000, Srinivas Kandagatla wrote:
This patch adds bindings for wcd9340/wcd9341 audio codec which can support both SLIMbus and I2S/I2C interface.
Signed-off-by: Srinivas Kandagatla srinivas.kandagatla@linaro.org
.../bindings/sound/qcom,wcd934x.yaml | 163 ++++++++++++++++++ 1 file changed, 163 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/qcom,wcd934x.yaml
diff --git a/Documentation/devicetree/bindings/sound/qcom,wcd934x.yaml b/Documentation/devicetree/bindings/sound/qcom,wcd934x.yaml new file mode 100644 index 000000000000..197a53bfa6cb --- /dev/null +++ b/Documentation/devicetree/bindings/sound/qcom,wcd934x.yaml @@ -0,0 +1,163 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/sound/qcom,wcd934x.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml#
+title: Bindings for Qualcomm WCD9340/WCD9341 Audio Codec
+maintainers:
- Srinivas Kandagatla srinivas.kandagatla@linaro.org
+description: |
- Qualcomm WCD9340/WCD9341 Codec is a standalone Hi-Fi audio codec IC.
- It has in-built Soundwire controller, pin controller, interrupt mux and
- supports both I2S/I2C and SLIMbus audio interfaces.
+properties:
- compatible:
- const: slim217,250
- reg:
- maxItems: 1
- interrupts:
- maxItems: 1
- reset-gpios:
- description: GPIO spec for reset line to use
- maxItems: 1
- slim-ifc-dev: true
- clocks:
- maxItems: 1
- clock-names:
- const: extclk
- vdd-buck-supply:
- description: A reference to the 1.8V buck supply
- vdd-buck-sido-supply:
- description: A reference to the 1.8V SIDO buck supply
- vdd-rx-supply:
- description: A reference to the 1.8V rx supply
- vdd-tx-supply:
- description: A reference to the 1.8V tx supply
- vdd-vbat-supply:
- description: A reference to the vbat supply
- vdd-io-supply:
- description: A reference to the 1.8V I/O supply
- vdd-micbias-supply:
- description: A reference to the micbias supply
- qcom,micbias1-microvolt:
- $ref: '/schemas/types.yaml#/definitions/uint32'
Don't need a type here, standard units already have a type.
- description: micbias1 voltage between 1800000 - 2850000 microvolt
Sounds like constraints:
minimum: 1800000 maximum: 2850000
- qcom,micbias2-microvolt:
- $ref: '/schemas/types.yaml#/definitions/uint32'
- description: micbias2 voltage between 1800000 - 2850000 microvolt
- qcom,micbias3-microvolt:
- $ref: '/schemas/types.yaml#/definitions/uint32'
- description: micbias3 voltage between 1800000 - 2850000 microvolt
- qcom,micbias4-microvolt:
- $ref: '/schemas/types.yaml#/definitions/uint32'
- description: micbias4 voltage between 1800000 - 2850000 microvolt
- clock-output-names:
- const: mclk
- clock-frequency:
- description: Clock frequency of output clk in Hz
- interrupt-controller: true
- '#interrupt-cells':
- const: 1
- '#clock-cells':
- const: 0
- '#sound-dai-cells':
- const: 1
- "#address-cells":
- const: 1
- "#size-cells":
- const: 1
+patternProperties:
- "^.*@[0-9a-f]+$":
- type: object
- description: |
WCD934x subnode for each slave devices. Bindings of each subnodes
depends on the specific driver providing the functionality and
documented in their respective bindings.
- properties:
reg:
maxItems: 1
- required:
- reg
+required:
- compatible
- reg
- reset-gpios
- slim-ifc-dev
- interrupts
- interrupt-controller
- clock-frequency
- clock-output-names
- qcom,micbias1-microvolt
- qcom,micbias2-microvolt
- qcom,micbias3-microvolt
- qcom,micbias4-microvolt
- "#interrupt-cells"
- "#clock-cells"
- "#sound-dai-cells"
- "#address-cells"
- "#size-cells"
+examples:
- |
- codec@1,0{
compatible = "slim217,250";
reg = <1 0>;
reset-gpios = <&tlmm 64 0>;
slim-ifc-dev = <&wcd9340_ifd>;
#sound-dai-cells = <1>;
interrupt-parent = <&tlmm>;
interrupts = <54 4>;
interrupt-controller;
#interrupt-cells = <1>;
#clock-cells = <0>;
clock-frequency = <9600000>;
clock-output-names = "mclk";
qcom,micbias1-microvolt = <1800000>;
qcom,micbias2-microvolt = <1800000>;
qcom,micbias3-microvolt = <1800000>;
qcom,micbias4-microvolt = <1800000>;
clock-names = "extclk";
clocks = <&rpmhcc 2>;
#address-cells = <1>;
#size-cells = <1>;
gpioctrl@42 {
reg = <0x42 0x2>;
};
- };
+...
2.21.0