0001 Qualcomm SoundWire Controller Bindings
0002
0003
0004 This binding describes the Qualcomm SoundWire Controller along with its
0005 board specific bus parameters.
0006
0007 - compatible:
0008 Usage: required
0009 Value type: <stringlist>
0010 Definition: must be "qcom,soundwire-v<MAJOR>.<MINOR>.<STEP>",
0011 Example:
0012 "qcom,soundwire-v1.3.0"
0013 "qcom,soundwire-v1.5.0"
0014 "qcom,soundwire-v1.5.1"
0015 "qcom,soundwire-v1.6.0"
0016 - reg:
0017 Usage: required
0018 Value type: <prop-encoded-array>
0019 Definition: the base address and size of SoundWire controller
0020 address space.
0021
0022 - interrupts:
0023 Usage: required
0024 Value type: <prop-encoded-array>
0025 Definition: should specify the SoundWire Controller core and optional
0026 wake IRQ
0027
0028 - interrupt-names:
0029 Usage: Optional
0030 Value type: boolean
0031 Value type: <stringlist>
0032 Definition: should be "core" for core and "wakeup" for wake interrupt.
0033
0034 - wakeup-source:
0035 Usage: Optional
0036 Value type: boolean
0037 Definition: should specify if SoundWire Controller is wake up capable.
0038
0039 - clock-names:
0040 Usage: required
0041 Value type: <stringlist>
0042 Definition: should be "iface" for SoundWire Controller interface clock
0043
0044 - clocks:
0045 Usage: required
0046 Value type: <prop-encoded-array>
0047 Definition: should specify the SoundWire Controller interface clock
0048
0049 - #sound-dai-cells:
0050 Usage: required
0051 Value type: <u32>
0052 Definition: must be 1 for digital audio interfaces on the controller.
0053
0054 - qcom,dout-ports:
0055 Usage: required
0056 Value type: <u32>
0057 Definition: must be count of data out ports
0058
0059 - qcom,din-ports:
0060 Usage: required
0061 Value type: <u32>
0062 Definition: must be count of data in ports
0063
0064 - qcom,ports-offset1:
0065 Usage: required
0066 Value type: <prop-encoded-array>
0067 Definition: should specify payload transport window offset1 of each
0068 data port. Out ports followed by In ports.
0069 Value of 0xFF indicates that this option is not implemented
0070 or applicable for the respective data port.
0071 More info in MIPI Alliance SoundWire 1.0 Specifications.
0072
0073 - qcom,ports-offset2:
0074 Usage: required
0075 Value type: <prop-encoded-array>
0076 Definition: should specify payload transport window offset2 of each
0077 data port. Out ports followed by In ports.
0078 Value of 0xFF indicates that this option is not implemented
0079 or applicable for the respective data port.
0080 More info in MIPI Alliance SoundWire 1.0 Specifications.
0081
0082 - qcom,ports-sinterval-low:
0083 Usage: required
0084 Value type: <prop-encoded-array>
0085 Definition: should be sample interval low of each data port.
0086 Out ports followed by In ports. Used for Sample Interval
0087 calculation.
0088 Value of 0xFF indicates that this option is not implemented
0089 or applicable for the respective data port.
0090 More info in MIPI Alliance SoundWire 1.0 Specifications.
0091
0092 - qcom,ports-word-length:
0093 Usage: optional
0094 Value type: <prop-encoded-array>
0095 Definition: should be size of payload channel sample.
0096 Value of 0xFF indicates that this option is not implemented
0097 or applicable for the respective data port.
0098 More info in MIPI Alliance SoundWire 1.0 Specifications.
0099
0100 - qcom,ports-block-pack-mode:
0101 Usage: optional
0102 Value type: <prop-encoded-array>
0103 Definition: should be 0 or 1 to indicate the block packing mode.
0104 0 to indicate Blocks are per Channel
0105 1 to indicate Blocks are per Port.
0106 Out ports followed by In ports.
0107 Value of 0xFF indicates that this option is not implemented
0108 or applicable for the respective data port.
0109 More info in MIPI Alliance SoundWire 1.0 Specifications.
0110
0111 - qcom,ports-block-group-count:
0112 Usage: optional
0113 Value type: <prop-encoded-array>
0114 Definition: should be in range 1 to 4 to indicate how many sample
0115 intervals are combined into a payload.
0116 Out ports followed by In ports.
0117 Value of 0xFF indicates that this option is not implemented
0118 or applicable for the respective data port.
0119 More info in MIPI Alliance SoundWire 1.0 Specifications.
0120
0121 - qcom,ports-lane-control:
0122 Usage: optional
0123 Value type: <prop-encoded-array>
0124 Definition: should be in range 0 to 7 to identify which data lane
0125 the data port uses.
0126 Out ports followed by In ports.
0127 Value of 0xFF indicates that this option is not implemented
0128 or applicable for the respective data port.
0129 More info in MIPI Alliance SoundWire 1.0 Specifications.
0130
0131 - qcom,ports-hstart:
0132 Usage: optional
0133 Value type: <prop-encoded-array>
0134 Definition: should be number identifying lowerst numbered coloum in
0135 SoundWire Frame, i.e. left edge of the Transport sub-frame
0136 for each port. Values between 0 and 15 are valid.
0137 Out ports followed by In ports.
0138 Value of 0xFF indicates that this option is not implemented
0139 or applicable for the respective data port.
0140 More info in MIPI Alliance SoundWire 1.0 Specifications.
0141
0142 - qcom,ports-hstop:
0143 Usage: optional
0144 Value type: <prop-encoded-array>
0145 Definition: should be number identifying highest numbered coloum in
0146 SoundWire Frame, i.e. the right edge of the Transport
0147 sub-frame for each port. Values between 0 and 15 are valid.
0148 Out ports followed by In ports.
0149 Value of 0xFF indicates that this option is not implemented
0150 or applicable for the respective data port.
0151 More info in MIPI Alliance SoundWire 1.0 Specifications.
0152
0153 - qcom,dports-type:
0154 Usage: optional
0155 Value type: <prop-encoded-array>
0156 Definition: should be one of the following types
0157 0 for reduced port
0158 1 for simple ports
0159 2 for full port
0160 Out ports followed by In ports.
0161 Value of 0xFF indicates that this option is not implemented
0162 or applicable for the respective data port.
0163 More info in MIPI Alliance SoundWire 1.0 Specifications.
0164
0165 - reset:
0166 Usage: optional
0167 Value type: <prop-encoded-array>
0168 Definition: Should specify the SoundWire audio CSR reset controller interface,
0169 which is required for SoundWire version 1.6.0 and above.
0170
0171 - reset-names:
0172 Usage: optional
0173 Value type: <stringlist>
0174 Definition: should be "swr_audio_cgcr" for SoundWire audio CSR reset
0175 controller interface.
0176
0177 Note:
0178 More Information on detail of encoding of these fields can be
0179 found in MIPI Alliance SoundWire 1.0 Specifications.
0180
0181 = SoundWire devices
0182 Each subnode of the bus represents SoundWire device attached to it.
0183 The properties of these nodes are defined by the individual bindings.
0184
0185 = EXAMPLE
0186 The following example represents a SoundWire controller on DB845c board
0187 which has controller integrated inside WCD934x codec on SDM845 SoC.
0188
0189 soundwire: soundwire@c85 {
0190 compatible = "qcom,soundwire-v1.3.0";
0191 reg = <0xc85 0x20>;
0192 interrupts = <20 IRQ_TYPE_EDGE_RISING>;
0193 clocks = <&wcc>;
0194 clock-names = "iface";
0195 resets = <&lpass_audiocc LPASS_AUDIO_SWR_TX_CGCR>;
0196 reset-names = "swr_audio_cgcr";
0197 #sound-dai-cells = <1>;
0198 qcom,dports-type = <0>;
0199 qcom,dout-ports = <6>;
0200 qcom,din-ports = <2>;
0201 qcom,ports-sinterval-low = /bits/ 8 <0x07 0x1F 0x3F 0x7 0x1F 0x3F 0x0F 0x0F>;
0202 qcom,ports-offset1 = /bits/ 8 <0x01 0x02 0x0C 0x6 0x12 0x0D 0x07 0x0A >;
0203 qcom,ports-offset2 = /bits/ 8 <0x00 0x00 0x1F 0x00 0x00 0x1F 0x00 0x00>;
0204
0205 /* Left Speaker */
0206 left{
0207 ....
0208 };
0209
0210 /* Right Speaker */
0211 right{
0212 ....
0213 };
0214 };