Skip to content

Commit 41b4b75

Browse files
ujfalusilgirdwood
authored andcommitted
topology2: document HDA backend ID assignments
Document the fixed HDA backend IDs assigned by the kernel machine driver alongside the corresponding topology IDs and variables. HDA topologies hard-code the analog BE ID, while iDisp, DMIC and UAOL IDs are derived or supplied through topology variables. Recording both sides makes mismatches visible when either the machine driver or topology definitions change. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
1 parent e1a99f7 commit 41b4b75

1 file changed

Lines changed: 23 additions & 0 deletions

File tree

‎tools/topology/topology2/README.md‎

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -276,6 +276,29 @@ default ID ranges for the same endpoint types.
276276
| Deep Buffer | 31 | `DEEP_BUFFER_PCM_ID` |
277277
| Compress HDA Analog | 50 | `COMPR_PCM_ID` |
278278

279+
**Intel HDA Backend DAI Link IDs:**
280+
281+
These IDs match the fixed backend DAI-link IDs defined by the kernel machine
282+
driver. They are independent of PCM IDs and pipeline indexes. The kernel defines
283+
base IDs for iDisp HDMI, HDA, and UAOL. The HDA helper increments the iDisp and
284+
HDA base IDs when it creates additional links; UAOL stream backends also use
285+
consecutive IDs.
286+
287+
| Backend | DAI Link ID | Kernel Define | Topology Variable |
288+
|---|---:|---|---|
289+
| iDisp HDMI 1 | 1 | `IDISP_HDMI_BE_ID` | `HDMI1_ID` |
290+
| iDisp HDMI 2 | 2 | `IDISP_HDMI_BE_ID + 1` | `HDMI2_ID` |
291+
| iDisp HDMI 3 | 3 | `IDISP_HDMI_BE_ID + 2` | `HDMI3_ID` |
292+
| HDA Analog | 4 | `HDA_BE_ID` | Hard-coded as `id 4` |
293+
| HDA Digital | 5 | `HDA_BE_ID + 1` | — |
294+
| DMIC01 | 6 | `DMIC01_BE_ID` | `DMIC0_ID` |
295+
| DMIC 16 kHz | 7 | `DMIC16K_BE_ID` | `DMIC1_ID` |
296+
| Bluetooth Offload | 8 | `BT_OFFLOAD_BE_ID` | Not used by HDA generic |
297+
| UAOL Play0 | 9 | `UAOL_BE_ID` | `UAOL_PB_BE_ID` |
298+
| UAOL Cap0 | 10 | `UAOL_BE_ID + 1` | `UAOL_CP_BE_ID` |
299+
| UAOL Play1 | 11 | `UAOL_BE_ID + 2` | `UAOL_PB1_BE_ID` |
300+
| UAOL Cap1 | 12 | `UAOL_BE_ID + 3` | `UAOL_CP1_BE_ID` |
301+
279302
Key rules:
280303

281304
* PCM ID 0 is always the primary playback endpoint

0 commit comments

Comments
 (0)