1 Qualcomm Audio Front End (Q6AFE) binding
3 AFE is one of the APR audio service on Q6DSP
4 Please refer to qcom,apr.txt for details of the common apr service bindings
5 used by all apr services. Must contain the following properties.
9 Value type: <stringlist>
10 Definition: must be "qcom,q6afe-v<MAJOR-NUMBER>.<MINOR-NUMBER>"
11 Or "qcom,q6afe" where the version number can be queried
15 = AFE DAIs (Digial Audio Interface)
16 "dais" subnode of the AFE node. It represents afe dais, each afe dai is a
17 subnode of "dais" representing board specific dai setup.
18 "dais" node should have following properties followed by dai children.
22 Value type: <stringlist>
23 Definition: must be "qcom,q6afe-dais"
40 == AFE DAI is subnode of "dais" and represent a dai, it includes board specific
41 configuration of each dai. Must contain the following properties.
46 Definition: Must be dai id
49 Usage: required for mi2s interface
50 Value type: <prop-encoded-array>
51 Definition: Must be list of serial data lines used by this dai.
52 should be one or more of the 0-3 sd lines.
55 Usage: required for tdm interface
56 Value type: <prop-encoded-array>
57 Definition: Synchronization mode.
58 0 - Short sync bit mode
60 2 - Short sync slot mode
63 Usage: required for tdm interface
64 Value type: <prop-encoded-array>
65 Definition: Synchronization source.
70 Usage: required for tdm interface
71 Value type: <prop-encoded-array>
72 Definition: Data out signal to drive with other masters.
76 - qcom,tdm-invert-sync:
77 Usage: required for tdm interface
78 Value type: <prop-encoded-array>
79 Definition: Invert the sync.
83 - qcom,tdm-data-delay:
84 Usage: required for tdm interface
85 Value type: <prop-encoded-array>
86 Definition: Number of bit clock to delay data
87 with respect to sync edge.
92 - qcom,tdm-data-align:
93 Usage: required for tdm interface
94 Value type: <prop-encoded-array>
95 Definition: Indicate how data is packed
96 within the slot. For example, 32 slot width in case of
97 sample bit width is 24.
102 "clocks" subnode of the AFE node. It represents q6afe clocks
103 "clocks" node should have following properties.
106 Value type: <stringlist>
107 Definition: must be "qcom,q6afe-clocks"
112 Definition: Must be 2. Clock Id followed by
113 below valid clock coupling attributes.
114 1 - for no coupled clock
115 2 - for dividend of the coupled clock
116 3 - for divisor of the coupled clock
117 4 - for inverted and no couple clock
122 compatible = "qcom,q6afe";
126 compatible = "qcom,q6afe-dais";
127 #sound-dai-cells = <1>;
128 #address-cells = <1>;
136 reg = <PRIMARY_TDM_RX_0>;
137 qcom,tdm-sync-mode = <1>:
138 qcom,tdm-sync-src = <1>;
139 qcom,tdm-data-out = <0>;
140 qcom,tdm-invert-sync = <1>;
141 qcom,tdm-data-delay = <1>;
142 qcom,tdm-data-align = <0>;
147 reg = <PRIMARY_TDM_TX_0>;
148 qcom,tdm-sync-mode = <1>:
149 qcom,tdm-sync-src = <1>;
150 qcom,tdm-data-out = <0>;
151 qcom,tdm-invert-sync = <1>;
152 qcom,tdm-data-delay <1>:
153 qcom,tdm-data-align = <0>;
157 reg = <PRIMARY_MI2S_RX>;
158 qcom,sd-lines = <0 2>;
162 reg = <PRIMARY_MI2S_TX>;
167 reg = <SECONDARY_MI2S_RX>;
168 qcom,sd-lines = <0 3>;
172 reg = <SECONDARY_MI2S_TX>;
177 reg = <TERTIARY_MI2S_RX>;
178 qcom,sd-lines = <1 3>;
182 reg = <TERTIARY_MI2S_TX>;
187 reg = <QUATERNARY_MI2S_RX>;
192 reg = <QUATERNARY_MI2S_TX>;
198 compatible = "qcom,q6afe-clocks";