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