1 Qualcomm SoundWire Controller Bindings
4 This binding describes the Qualcomm SoundWire Controller along with its
5 board specific bus parameters.
9 Value type: <stringlist>
10 Definition: must be "qcom,soundwire-v<MAJOR>.<MINOR>.<STEP>",
12 "qcom,soundwire-v1.3.0"
13 "qcom,soundwire-v1.5.0"
14 "qcom,soundwire-v1.6.0"
17 Value type: <prop-encoded-array>
18 Definition: the base address and size of SoundWire controller
23 Value type: <prop-encoded-array>
24 Definition: should specify the SoundWire Controller IRQ
28 Value type: <stringlist>
29 Definition: should be "iface" for SoundWire Controller interface clock
33 Value type: <prop-encoded-array>
34 Definition: should specify the SoundWire Controller interface clock
39 Definition: must be 1 for digital audio interfaces on the controller.
44 Definition: must be count of data out ports
49 Definition: must be count of data in ports
53 Value type: <prop-encoded-array>
54 Definition: should specify payload transport window offset1 of each
55 data port. Out ports followed by In ports.
56 More info in MIPI Alliance SoundWire 1.0 Specifications.
60 Value type: <prop-encoded-array>
61 Definition: should specify payload transport window offset2 of each
62 data port. Out ports followed by In ports.
63 More info in MIPI Alliance SoundWire 1.0 Specifications.
65 - qcom,ports-sinterval-low:
67 Value type: <prop-encoded-array>
68 Definition: should be sample interval low of each data port.
69 Out ports followed by In ports. Used for Sample Interval
71 More info in MIPI Alliance SoundWire 1.0 Specifications.
73 - qcom,ports-word-length:
75 Value type: <prop-encoded-array>
76 Definition: should be size of payload channel sample.
77 More info in MIPI Alliance SoundWire 1.0 Specifications.
79 - qcom,ports-block-pack-mode:
81 Value type: <prop-encoded-array>
82 Definition: should be 0 or 1 to indicate the block packing mode.
83 0 to indicate Blocks are per Channel
84 1 to indicate Blocks are per Port.
85 Out ports followed by In ports.
86 More info in MIPI Alliance SoundWire 1.0 Specifications.
88 - qcom,ports-block-group-count:
90 Value type: <prop-encoded-array>
91 Definition: should be in range 1 to 4 to indicate how many sample
92 intervals are combined into a payload.
93 Out ports followed by In ports.
94 More info in MIPI Alliance SoundWire 1.0 Specifications.
96 - qcom,ports-lane-control:
98 Value type: <prop-encoded-array>
99 Definition: should be in range 0 to 7 to identify which data lane
101 Out ports followed by In ports.
102 More info in MIPI Alliance SoundWire 1.0 Specifications.
106 Value type: <prop-encoded-array>
107 Definition: should be number identifying lowerst numbered coloum in
108 SoundWire Frame, i.e. left edge of the Transport sub-frame
109 for each port. Values between 0 and 15 are valid.
110 Out ports followed by In ports.
111 More info in MIPI Alliance SoundWire 1.0 Specifications.
115 Value type: <prop-encoded-array>
116 Definition: should be number identifying highest numbered coloum in
117 SoundWire Frame, i.e. the right edge of the Transport
118 sub-frame for each port. Values between 0 and 15 are valid.
119 Out ports followed by In ports.
120 More info in MIPI Alliance SoundWire 1.0 Specifications.
124 Value type: <prop-encoded-array>
125 Definition: should be one of the following types
129 Out ports followed by In ports.
130 More info in MIPI Alliance SoundWire 1.0 Specifications.
133 More Information on detail of encoding of these fields can be
134 found in MIPI Alliance SoundWire 1.0 Specifications.
137 Each subnode of the bus represents SoundWire device attached to it.
138 The properties of these nodes are defined by the individual bindings.
141 The following example represents a SoundWire controller on DB845c board
142 which has controller integrated inside WCD934x codec on SDM845 SoC.
144 soundwire: soundwire@c85 {
145 compatible = "qcom,soundwire-v1.3.0";
147 interrupts = <20 IRQ_TYPE_EDGE_RISING>;
149 clock-names = "iface";
150 #sound-dai-cells = <1>;
151 qcom,dports-type = <0>;
152 qcom,dout-ports = <6>;
153 qcom,din-ports = <2>;
154 qcom,ports-sinterval-low = /bits/ 8 <0x07 0x1F 0x3F 0x7 0x1F 0x3F 0x0F 0x0F>;
155 qcom,ports-offset1 = /bits/ 8 <0x01 0x02 0x0C 0x6 0x12 0x0D 0x07 0x0A >;
156 qcom,ports-offset2 = /bits/ 8 <0x00 0x00 0x1F 0x00 0x00 0x1F 0x00 0x00>;