WIP FPC-III support
[linux/fpc-iii.git] / Documentation / devicetree / bindings / soundwire / qcom,sdw.txt
blobb104be131235db792adb10d428583edde0b8b724
1 Qualcomm SoundWire Controller Bindings
4 This binding describes the Qualcomm SoundWire Controller along with its
5 board specific bus parameters.
7 - compatible:
8         Usage: required
9         Value type: <stringlist>
10         Definition: must be "qcom,soundwire-v<MAJOR>.<MINOR>.<STEP>",
11                     Example:
12                         "qcom,soundwire-v1.3.0"
13                         "qcom,soundwire-v1.5.0"
14                         "qcom,soundwire-v1.5.1"
15                         "qcom,soundwire-v1.6.0"
16 - reg:
17         Usage: required
18         Value type: <prop-encoded-array>
19         Definition: the base address and size of SoundWire controller
20                     address space.
22 - interrupts:
23         Usage: required
24         Value type: <prop-encoded-array>
25         Definition: should specify the SoundWire Controller IRQ
27 - clock-names:
28         Usage: required
29         Value type: <stringlist>
30         Definition: should be "iface" for SoundWire Controller interface clock
32 - clocks:
33         Usage: required
34         Value type: <prop-encoded-array>
35         Definition: should specify the SoundWire Controller interface clock
37 - #sound-dai-cells:
38         Usage: required
39         Value type: <u32>
40         Definition: must be 1 for digital audio interfaces on the controller.
42 - qcom,dout-ports:
43         Usage: required
44         Value type: <u32>
45         Definition: must be count of data out ports
47 - qcom,din-ports:
48         Usage: required
49         Value type: <u32>
50         Definition: must be count of data in ports
52 - qcom,ports-offset1:
53         Usage: required
54         Value type: <prop-encoded-array>
55         Definition: should specify payload transport window offset1 of each
56                     data port. Out ports followed by In ports.
57                     More info in MIPI Alliance SoundWire 1.0 Specifications.
59 - qcom,ports-offset2:
60         Usage: required
61         Value type: <prop-encoded-array>
62         Definition: should specify payload transport window offset2 of each
63                     data port. Out ports followed by In ports.
64                     More info in MIPI Alliance SoundWire 1.0 Specifications.
66 - qcom,ports-sinterval-low:
67         Usage: required
68         Value type: <prop-encoded-array>
69         Definition: should be sample interval low of each data port.
70                     Out ports followed by In ports. Used for Sample Interval
71                     calculation.
72                     More info in MIPI Alliance SoundWire 1.0 Specifications.
74 - qcom,ports-word-length:
75         Usage: optional
76         Value type: <prop-encoded-array>
77         Definition: should be size of payload channel sample.
78                     More info in MIPI Alliance SoundWire 1.0 Specifications.
80 - qcom,ports-block-pack-mode:
81         Usage: optional
82         Value type: <prop-encoded-array>
83         Definition: should be 0 or 1 to indicate the block packing mode.
84                     0 to indicate Blocks are per Channel
85                     1 to indicate Blocks are per Port.
86                     Out ports followed by In ports.
87                     More info in MIPI Alliance SoundWire 1.0 Specifications.
89 - qcom,ports-block-group-count:
90         Usage: optional
91         Value type: <prop-encoded-array>
92         Definition: should be in range 1 to 4 to indicate how many sample
93                     intervals are combined into a payload.
94                     Out ports followed by In ports.
95                     More info in MIPI Alliance SoundWire 1.0 Specifications.
97 - qcom,ports-lane-control:
98         Usage: optional
99         Value type: <prop-encoded-array>
100         Definition: should be in range 0 to 7 to identify which data lane
101                     the data port uses.
102                     Out ports followed by In ports.
103                     More info in MIPI Alliance SoundWire 1.0 Specifications.
105 - qcom,ports-hstart:
106         Usage: optional
107         Value type: <prop-encoded-array>
108         Definition: should be number identifying lowerst numbered coloum in
109                     SoundWire Frame, i.e. left edge of the Transport sub-frame
110                     for each port. Values between 0 and 15 are valid.
111                     Out ports followed by In ports.
112                     More info in MIPI Alliance SoundWire 1.0 Specifications.
114 - qcom,ports-hstop:
115         Usage: optional
116         Value type: <prop-encoded-array>
117         Definition: should be number identifying highest numbered coloum in
118                     SoundWire Frame, i.e. the right edge of the Transport
119                     sub-frame for each port. Values between 0 and 15 are valid.
120                     Out ports followed by In ports.
121                     More info in MIPI Alliance SoundWire 1.0 Specifications.
123 - qcom,dports-type:
124         Usage: optional
125         Value type: <prop-encoded-array>
126         Definition: should be one of the following types
127                     0 for reduced port
128                     1 for simple ports
129                     2 for full port
130                     Out ports followed by In ports.
131                     More info in MIPI Alliance SoundWire 1.0 Specifications.
133 Note:
134         More Information on detail of encoding of these fields can be
135 found in MIPI Alliance SoundWire 1.0 Specifications.
137 = SoundWire devices
138 Each subnode of the bus represents SoundWire device attached to it.
139 The properties of these nodes are defined by the individual bindings.
141 = EXAMPLE
142 The following example represents a SoundWire controller on DB845c board
143 which has controller integrated inside WCD934x codec on SDM845 SoC.
145 soundwire: soundwire@c85 {
146         compatible = "qcom,soundwire-v1.3.0";
147         reg = <0xc85 0x20>;
148         interrupts = <20 IRQ_TYPE_EDGE_RISING>;
149         clocks = <&wcc>;
150         clock-names = "iface";
151         #sound-dai-cells = <1>;
152         qcom,dports-type = <0>;
153         qcom,dout-ports = <6>;
154         qcom,din-ports  = <2>;
155         qcom,ports-sinterval-low = /bits/ 8  <0x07 0x1F 0x3F 0x7 0x1F 0x3F 0x0F 0x0F>;
156         qcom,ports-offset1 = /bits/ 8 <0x01 0x02 0x0C 0x6 0x12 0x0D 0x07 0x0A >;
157         qcom,ports-offset2 = /bits/ 8 <0x00 0x00 0x1F 0x00 0x00 0x1F 0x00 0x00>;
159         /* Left Speaker */
160         left{
161                 ....
162         };
164         /* Right Speaker */
165         right{
166                 ....
167         };