hc
2023-02-18 a08c8b75ee83d7f62c9aefc23bfb42082aa4076c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
QCOM WCD9335 Codec
 
Qualcomm WCD9335 Codec is a standalone Hi-Fi audio codec IC, supports
Qualcomm Technologies, Inc. (QTI) multimedia solutions, including
the MSM8996, MSM8976, and MSM8956 chipsets. It has in-built
Soundwire controller, interrupt mux. It supports both I2S/I2C and
SLIMbus audio interfaces.
 
Required properties with SLIMbus Interface:
 
- compatible:
   Usage: required
   Value type: <stringlist>
   Definition: For SLIMbus interface it should be "slimMID,PID",
           textual representation of Manufacturer ID, Product Code,
           shall be in lower case hexadecimal with leading zeroes
           suppressed.  Refer to slimbus/bus.txt for details.
           Should be:
           "slim217,1a0" for MSM8996 and APQ8096 SoCs with SLIMbus.
 
- reg
   Usage: required
   Value type: <u32 u32>
   Definition: Should be ('Device index', 'Instance ID')
 
- interrupts
   Usage: required
   Value type: <prop-encoded-array>
   Definition: Interrupts via WCD INTR1 and INTR2 pins
 
- interrupt-names:
   Usage: required
   Value type: <String array>
   Definition: Interrupt names of WCD INTR1 and INTR2
   Should be: "intr1", "intr2"
 
- reset-gpio:
   Usage: required
   Value type: <String Array>
   Definition: Reset gpio line
 
- qcom,ifd:
   Usage: required
   Value type: <phandle>
   Definition: SLIM interface device
 
- clocks:
   Usage: required
   Value type: <prop-encoded-array>
   Definition: See clock-bindings.txt section "consumers". List of
                three clock specifiers for mclk, mclk2 and slimbus clock.
 
- clock-names:
   Usage: required
   Value type: <string>
   Definition: Must contain "mclk", "mclk2" and "slimbus" strings.
 
- vdd-buck-supply:
   Usage: required
   Value type: <phandle>
   Definition: Should contain a reference to the 1.8V buck supply
 
- vdd-buck-sido-supply:
   Usage: required
   Value type: <phandle>
   Definition: Should contain a reference to the 1.8V SIDO buck supply
 
- vdd-rx-supply:
   Usage: required
   Value type: <phandle>
   Definition: Should contain a reference to the 1.8V rx supply
 
- vdd-tx-supply:
   Usage: required
   Value type: <phandle>
   Definition: Should contain a reference to the 1.8V tx supply
 
- vdd-vbat-supply:
   Usage: Optional
   Value type: <phandle>
   Definition: Should contain a reference to the vbat supply
 
- vdd-micbias-supply:
   Usage: required
   Value type: <phandle>
   Definition: Should contain a reference to the micbias supply
 
- vdd-io-supply:
   Usage: required
   Value type: <phandle>
   Definition: Should contain a reference to the 1.8V io supply
 
- interrupt-controller:
   Usage: required
   Definition: Indicating that this is a interrupt controller
 
- #interrupt-cells:
   Usage: required
   Value type: <int>
   Definition: should be 1
 
#sound-dai-cells
   Usage: required
   Value type: <u32>
   Definition: Must be 1
 
codec@1{
   compatible = "slim217,1a0";
   reg  = <1 0>;
   interrupts = <&msmgpio 54 IRQ_TYPE_LEVEL_HIGH>;
   interrupt-names = "intr2"
   reset-gpio = <&msmgpio 64 0>;
   qcom,ifd  = <&wc9335_ifd>;
   clock-names = "mclk", "native";
   clocks = <&rpmcc RPM_SMD_DIV_CLK1>,
        <&rpmcc RPM_SMD_BB_CLK1>;
   vdd-buck-supply = <&pm8994_s4>;
   vdd-rx-supply = <&pm8994_s4>;
   vdd-buck-sido-supply = <&pm8994_s4>;
   vdd-tx-supply = <&pm8994_s4>;
   vdd-io-supply = <&pm8994_s4>;
   #sound-dai-cells = <1>;
}