File Index
Files and directories
Sign in
FILE

qcom,wcd9335.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/sound/qcom,wcd9335.yaml YAML
  1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/sound/qcom,wcd9335.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: Qualcomm WCD9335 Audio Codec
  8
  9maintainers:
 10  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
 11
 12description:
 13  Qualcomm WCD9335 Codec is a standalone Hi-Fi audio codec IC with in-built
 14  Soundwire controller and interrupt mux. It supports both I2S/I2C and SLIMbus
 15  audio interfaces.
 16
 17properties:
 18  compatible:
 19    const: slim217,1a0
 20
 21  reg:
 22    maxItems: 1
 23
 24  clocks:
 25    maxItems: 2
 26
 27  clock-names:
 28    items:
 29      - const: mclk
 30      - const: slimbus
 31
 32  interrupts:
 33    maxItems: 2
 34
 35  interrupt-names:
 36    items:
 37      - const: intr1
 38      - const: intr2
 39
 40  interrupt-controller: true
 41
 42  '#interrupt-cells':
 43    const: 1
 44
 45  reset-gpios:
 46    maxItems: 1
 47
 48  slim-ifc-dev:
 49    description: SLIM IFC device interface
 50    $ref: /schemas/types.yaml#/definitions/phandle
 51
 52  '#sound-dai-cells':
 53    const: 1
 54
 55  vdd-buck-supply:
 56    description: 1.8V buck supply
 57
 58  vdd-buck-sido-supply:
 59    description: 1.8V SIDO buck supply
 60
 61  vdd-io-supply:
 62    description: 1.8V I/O supply
 63
 64  vdd-micbias-supply:
 65    description: micbias supply
 66
 67  vdd-rx-supply:
 68    description: 1.8V rx supply
 69
 70  vdd-tx-supply:
 71    description: 1.8V tx supply
 72
 73  vdd-vbat-supply:
 74    description: vbat supply
 75
 76required:
 77  - compatible
 78  - reg
 79
 80allOf:
 81  - $ref: dai-common.yaml#
 82  - if:
 83      required:
 84        - slim-ifc-dev
 85    then:
 86      required:
 87        - clocks
 88        - clock-names
 89        - interrupts
 90        - interrupt-names
 91        - interrupt-controller
 92        - '#interrupt-cells'
 93        - reset-gpios
 94        - slim-ifc-dev
 95        - '#sound-dai-cells'
 96        - vdd-buck-supply
 97        - vdd-buck-sido-supply
 98        - vdd-io-supply
 99        - vdd-rx-supply
100        - vdd-tx-supply
101    else:
102      properties:
103        clocks: false
104        clock-names: false
105        interrupts: false
106        interrupt-names: false
107        interrupt-controller: false
108        '#interrupt-cells': false
109        reset-gpios: false
110        slim-ifc-dev: false
111        '#sound-dai-cells': false
112        vdd-buck-supply: false
113        vdd-buck-sido-supply: false
114        vdd-io-supply: false
115        vdd-micbias-supply: false
116        vdd-rx-supply: false
117        vdd-tx-supply: false
118        vdd-vbat-supply: false
119
120additionalProperties: false
121
122examples:
123  - |
124    #include <dt-bindings/clock/qcom,rpmcc.h>
125    #include <dt-bindings/gpio/gpio.h>
126    #include <dt-bindings/interrupt-controller/irq.h>
127
128    tasha_ifd: codec@0,0 {
129        compatible = "slim217,1a0";
130        reg = <0 0>;
131    };
132
133    codec@1,0 {
134        compatible = "slim217,1a0";
135        reg = <1 0>;
136
137        clock-names = "mclk", "slimbus";
138        clocks = <&div1_mclk>, <&rpmcc RPM_SMD_BB_CLK1>;
139
140        interrupt-parent = <&tlmm>;
141        interrupts = <54 IRQ_TYPE_LEVEL_HIGH>,
142                     <53 IRQ_TYPE_LEVEL_HIGH>;
143        interrupt-names = "intr1", "intr2";
144        interrupt-controller;
145        #interrupt-cells = <1>;
146
147        reset-gpios = <&tlmm 64 GPIO_ACTIVE_LOW>;
148        slim-ifc-dev = <&tasha_ifd>;
149        #sound-dai-cells = <1>;
150
151        vdd-buck-supply = <&vreg_s4a_1p8>;
152        vdd-buck-sido-supply = <&vreg_s4a_1p8>;
153        vdd-tx-supply = <&vreg_s4a_1p8>;
154        vdd-rx-supply = <&vreg_s4a_1p8>;
155        vdd-io-supply = <&vreg_s4a_1p8>;
156    };
~/ Read-only file preview.