1Qualcomm SoundWire Controller Bindings
2
3
4This binding describes the Qualcomm SoundWire Controller along with its
5board specific bus parameters.
6
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.
21
22- interrupts:
23	Usage: required
24	Value type: <prop-encoded-array>
25	Definition: should specify the SoundWire Controller IRQ
26
27- clock-names:
28	Usage: required
29	Value type: <stringlist>
30	Definition: should be "iface" for SoundWire Controller interface clock
31
32- clocks:
33	Usage: required
34	Value type: <prop-encoded-array>
35	Definition: should specify the SoundWire Controller interface clock
36
37- #sound-dai-cells:
38	Usage: required
39	Value type: <u32>
40	Definition: must be 1 for digital audio interfaces on the controller.
41
42- qcom,dout-ports:
43	Usage: required
44	Value type: <u32>
45	Definition: must be count of data out ports
46
47- qcom,din-ports:
48	Usage: required
49	Value type: <u32>
50	Definition: must be count of data in ports
51
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		    Value of 0xFF indicates that this option is not implemented
58		    or applicable for the respective data port.
59		    More info in MIPI Alliance SoundWire 1.0 Specifications.
60
61- qcom,ports-offset2:
62	Usage: required
63	Value type: <prop-encoded-array>
64	Definition: should specify payload transport window offset2 of each
65		    data port. Out ports followed by In ports.
66		    Value of 0xFF indicates that this option is not implemented
67		    or applicable for the respective data port.
68		    More info in MIPI Alliance SoundWire 1.0 Specifications.
69
70- qcom,ports-sinterval-low:
71	Usage: required
72	Value type: <prop-encoded-array>
73	Definition: should be sample interval low of each data port.
74		    Out ports followed by In ports. Used for Sample Interval
75		    calculation.
76		    Value of 0xFF indicates that this option is not implemented
77		    or applicable for the respective data port.
78		    More info in MIPI Alliance SoundWire 1.0 Specifications.
79
80- qcom,ports-word-length:
81	Usage: optional
82	Value type: <prop-encoded-array>
83	Definition: should be size of payload channel sample.
84		    Value of 0xFF indicates that this option is not implemented
85		    or applicable for the respective data port.
86		    More info in MIPI Alliance SoundWire 1.0 Specifications.
87
88- qcom,ports-block-pack-mode:
89	Usage: optional
90	Value type: <prop-encoded-array>
91	Definition: should be 0 or 1 to indicate the block packing mode.
92		    0 to indicate Blocks are per Channel
93		    1 to indicate Blocks are per Port.
94		    Out ports followed by In ports.
95		    Value of 0xFF indicates that this option is not implemented
96		    or applicable for the respective data port.
97		    More info in MIPI Alliance SoundWire 1.0 Specifications.
98
99- qcom,ports-block-group-count:
100	Usage: optional
101	Value type: <prop-encoded-array>
102	Definition: should be in range 1 to 4 to indicate how many sample
103		    intervals are combined into a payload.
104		    Out ports followed by In ports.
105		    Value of 0xFF indicates that this option is not implemented
106		    or applicable for the respective data port.
107		    More info in MIPI Alliance SoundWire 1.0 Specifications.
108
109- qcom,ports-lane-control:
110	Usage: optional
111	Value type: <prop-encoded-array>
112	Definition: should be in range 0 to 7 to identify which	data lane
113		    the data port uses.
114		    Out ports followed by In ports.
115		    Value of 0xFF indicates that this option is not implemented
116		    or applicable for the respective data port.
117		    More info in MIPI Alliance SoundWire 1.0 Specifications.
118
119- qcom,ports-hstart:
120	Usage: optional
121	Value type: <prop-encoded-array>
122	Definition: should be number identifying lowerst numbered coloum in
123		    SoundWire Frame, i.e. left edge of the Transport sub-frame
124		    for each port. Values between 0 and 15 are valid.
125		    Out ports followed by In ports.
126		    Value of 0xFF indicates that this option is not implemented
127		    or applicable for the respective data port.
128		    More info in MIPI Alliance SoundWire 1.0 Specifications.
129
130- qcom,ports-hstop:
131	Usage: optional
132	Value type: <prop-encoded-array>
133	Definition: should be number identifying highest numbered coloum in
134		    SoundWire Frame, i.e. the right edge of the Transport
135		    sub-frame for each port. Values between 0 and 15 are valid.
136		    Out ports followed by In ports.
137		    Value of 0xFF indicates that this option is not implemented
138		    or applicable for the respective data port.
139		    More info in MIPI Alliance SoundWire 1.0 Specifications.
140
141- qcom,dports-type:
142	Usage: optional
143	Value type: <prop-encoded-array>
144	Definition: should be one of the following types
145		    0 for reduced port
146		    1 for simple ports
147		    2 for full port
148		    Out ports followed by In ports.
149		    Value of 0xFF indicates that this option is not implemented
150		    or applicable for the respective data port.
151		    More info in MIPI Alliance SoundWire 1.0 Specifications.
152
153Note:
154	More Information on detail of encoding of these fields can be
155found in MIPI Alliance SoundWire 1.0 Specifications.
156
157= SoundWire devices
158Each subnode of the bus represents SoundWire device attached to it.
159The properties of these nodes are defined by the individual bindings.
160
161= EXAMPLE
162The following example represents a SoundWire controller on DB845c board
163which has controller integrated inside WCD934x codec on SDM845 SoC.
164
165soundwire: soundwire@c85 {
166	compatible = "qcom,soundwire-v1.3.0";
167	reg = <0xc85 0x20>;
168	interrupts = <20 IRQ_TYPE_EDGE_RISING>;
169	clocks = <&wcc>;
170	clock-names = "iface";
171	#sound-dai-cells = <1>;
172	qcom,dports-type = <0>;
173	qcom,dout-ports	= <6>;
174	qcom,din-ports	= <2>;
175	qcom,ports-sinterval-low = /bits/ 8  <0x07 0x1F 0x3F 0x7 0x1F 0x3F 0x0F 0x0F>;
176	qcom,ports-offset1 = /bits/ 8 <0x01 0x02 0x0C 0x6 0x12 0x0D 0x07 0x0A >;
177	qcom,ports-offset2 = /bits/ 8 <0x00 0x00 0x1F 0x00 0x00 0x1F 0x00 0x00>;
178
179	/* Left Speaker */
180	left{
181		....
182	};
183
184	/* Right Speaker */
185	right{
186		....
187	};
188};
189