Back to home page

OSCL-LXR

 
 

    


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 };