Logo

Linux 核心

6.16.0-rc4

快速搜尋

目錄

  • 開發過程
  • 提交補丁
  • 行為準則
  • 維護者手冊
  • 所有開發過程文件
  • 核心 API
  • 驅動程式 API
  • 子系統
    • 核心子系統
    • 人機介面
      • 輸入文件
      • 人機介面裝置 (HID)
      • 聲音子系統文件
      • GPU 驅動開發者指南
      • 幀緩衝
      • LEDs
    • 網路介面
    • 儲存介面
    • 其他子系統
  • 鎖定
  • 許可規則
  • 編寫文件
  • 開發工具
  • 測試指南
  • Hacking 指南
  • 追蹤
  • 故障注入
  • 熱補丁
  • Rust
  • 管理
  • 構建系統
  • 報告問題
  • 使用者空間工具
  • 使用者空間 API
  • 韌體
  • 韌體和裝置樹
  • CPU 架構
  • 未分類文件
  • 翻譯

本頁

  • 顯示源

Intel 平臺上的 HDAudio 多鏈路擴充套件¶

版權:

© 2023 Intel Corporation

本檔案記錄了 2015 年隨 Skylake 處理器引入並最近在更新的 Intel 平臺上擴充套件的“多鏈路結構”。

HDAudio 現有鏈路對映(2015 年 Skylake 新增)¶

外部 HDAudio 編解碼器透過鏈路 #0 處理,而 HDMI/DisplayPort 的 iDISP 編解碼器透過鏈路 #1 處理。

2015 年定義中唯一的更改是 LCAP.ALT=0x0 的宣告——由於 ALT 位之前是保留的,這是一個向後相容的更改。

LCTL.SPA 和 LCTL.CPA 在退出復位時自動設定。它們僅在現有驅動程式中,當 SCF 值需要修正時使用。

HDAudio 編解碼器的基本結構¶

+-----------+
| ML cap #0 |
+-----------+
| ML cap #1 |---+
+-----------+   |
                |
                +--> 0x0 +---------------+ LCAP
                         | ALT=0         |
                         +---------------+
                         | S192          |
                         +---------------+
                         | S96           |
                         +---------------+
                         | S48           |
                         +---------------+
                         | S24           |
                         +---------------+
                         | S12           |
                         +---------------+
                         | S6            |
                         +---------------+

                     0x4 +---------------+ LCTL
                         | INTSTS        |
                         +---------------+
                         | CPA           |
                         +---------------+
                         | SPA           |
                         +---------------+
                         | SCF           |
                         +---------------+

                     0x8 +---------------+ LOSIDV
                         | L1OSIVD15     |
                         +---------------+
                         | L1OSIDV..     |
                         +---------------+
                         | L1OSIDV1      |
                         +---------------+

                     0xC +---------------+ LSDIID
                         | SDIID14       |
                         +---------------+
                         | SDIID...      |
                         +---------------+
                         | SDIID0        |
                         +---------------+

SoundWire HDAudio 擴充套件鏈路對映¶

當 LCAP.ALT=1 且 LEPTR.ID=0 時,SoundWire 擴充套件鏈路被識別。

DMA 控制使用現有 LOSIDV 暫存器。

更改包括對早期版本中不存在的列舉的額外描述。

  • 多鏈路同步:LCAP.LSS 中的功能和 LSYNC 中的控制

  • LCAP.LSCOUNT 中的子鏈路數量(管理器 IP)

  • 電源管理從 SHIM 移至 LCTL.SPA 位

  • 移交給 DSP 以訪問多鏈路暫存器,SHIM/IP 使用 LCTL.OFLEN

  • SoundWire 編解碼器到 SDI ID 位的對映

  • SHIM 和 Cadence 暫存器移動到不同的偏移量,功能沒有改變。LEPTR.PTR 值是 ML 地址的偏移量,預設值為 0x30000。

SoundWire 擴充套件結構(假設有 4 個管理器 IP)¶

+-----------+
| ML cap #0 |
+-----------+
| ML cap #1 |
+-----------+
| ML cap #2 |---+
+-----------+   |
                |
                +--> 0x0 +---------------+ LCAP
                         | ALT=1         |
                         +---------------+
                         | INTC          |
                         +---------------+
                         | OFLS          |
                         +---------------+
                         | LSS           |
                         +---------------+
                         | SLCOUNT=4     |-----------+
                         +---------------+           |
                                                     |
                     0x4 +---------------+ LCTL      |
                         | INTSTS        |           |
                         +---------------+           |
                         | CPA (x bits)  |           |
                         +---------------+           |
                         | SPA (x bits)  |           |
                         +---------------+         for each sublink x
                         | INTEN         |           |
                         +---------------+           |
                         | OFLEN         |           |
                         +---------------+           |
                                                     |
                     0x8 +---------------+ LOSIDV    |
                         | L1OSIVD15     |           |
                         +---------------+           |
                         | L1OSIDV..     |           |
                         +---------------+           |
                         | L1OSIDV1      |       +---+----------------------------------------------------------+
                         +---------------+       |                                                              |
                                                 v                                                              |
           0xC + 0x2 * x +---------------+ LSDIIDx    +---> 0x30000  +-----------------+  0x00030000            |
                         | SDIID14       |            |              | SoundWire SHIM  |                        |
                         +---------------+            |              | generic         |                        |
                         | SDIID...      |            |              +-----------------+  0x00030100            |
                         +---------------+            |              | SoundWire IP    |                        |
                         | SDIID0        |            |              +-----------------+  0x00036000            |
                         +---------------+            |              | SoundWire SHIM  |                        |
                                                      |              | vendor-specific |                        |
                    0x1C +---------------+ LSYNC      |              +-----------------+                        |
                         | CMDSYNC       |            |                                                         v
                         +---------------+            |              +-----------------+  0x00030000 + 0x8000 * x
                         | SYNCGO        |            |              | SoundWire SHIM  |
                         +---------------+            |              | generic         |
                         | SYNCPU        |            |              +-----------------+  0x00030100 + 0x8000 * x
                         +---------------+            |              | SoundWire IP    |
                         | SYNPRD        |            |              +-----------------+  0x00036000 + 0x8000 * x
                         +---------------+            |              | SoundWire SHIM  |
                                                      |              | vendor-specific |
                    0x20 +---------------+ LEPTR      |              +-----------------+
                         | ID = 0        |            |
                         +---------------+            |
                         | VER           |            |
                         +---------------+            |
                         | PTR           |------------+
                         +---------------+

DMIC HDAudio 擴充套件鏈路對映¶

當 LCAP.ALT=1 且 LEPTR.ID=0xC1 設定時,DMIC 擴充套件鏈路被識別。

DMA 控制使用現有 LOSIDV 暫存器

更改包括對早期版本中不存在的列舉的額外描述。

  • 多鏈路同步:LCAP.LSS 中的功能和 LSYNC 中的控制

  • 使用 LCTL.SPA 位進行電源管理

  • 移交給 DSP 以訪問多鏈路暫存器,SHIM/IP 使用 LCTL.OFLEN

  • DMIC 暫存器移動到不同的偏移量,功能沒有改變。LEPTR.PTR 值是 ML 地址的偏移量,預設值為 0x10000。

DMIC 擴充套件結構¶

+-----------+
| ML cap #0 |
+-----------+
| ML cap #1 |
+-----------+
| ML cap #2 |---+
+-----------+   |
                |
                +--> 0x0 +---------------+ LCAP
                         | ALT=1         |
                         +---------------+
                         | INTC          |
                         +---------------+
                         | OFLS          |
                         +---------------+
                         | SLCOUNT=1     |
                         +---------------+

                     0x4 +---------------+ LCTL
                         | INTSTS        |
                         +---------------+
                         | CPA           |
                         +---------------+
                         | SPA           |
                         +---------------+
                         | INTEN         |
                         +---------------+
                         | OFLEN         |
                         +---------------+           +---> 0x10000  +-----------------+  0x00010000
                                                     |              | DMIC SHIM       |
                     0x8 +---------------+ LOSIDV    |              | generic         |
                         | L1OSIVD15     |           |              +-----------------+  0x00010100
                         +---------------+           |              | DMIC IP         |
                         | L1OSIDV..     |           |              +-----------------+  0x00016000
                         +---------------+           |              | DMIC SHIM       |
                         | L1OSIDV1      |           |              | vendor-specific |
                         +---------------+           |              +-----------------+
                                                     |
                    0x20 +---------------+ LEPTR     |
                         | ID = 0xC1     |           |
                         +---------------+           |
                         | VER           |           |
                         +---------------+           |
                         | PTR           |-----------+
                         +---------------+

SSP HDAudio 擴充套件鏈路對映¶

當 LCAP.ALT=1 且 LEPTR.ID=0xC0 設定時,DMIC 擴充套件鏈路被識別。

DMA 控制使用現有 LOSIDV 暫存器

更改包括對早期版本中不存在的列舉和控制的額外描述: - LCAP.LSCOUNT 中的子鏈路數量(SSP IP 例項) - 電源管理從 SHIM 移至 LCTL.SPA 位 - 移交給 DSP 以訪問多鏈路暫存器,SHIM/IP 使用 LCTL.OFLEN - SHIM 和 SSP IP 暫存器移動到不同的偏移量,功能沒有改變。LEPTR.PTR 值是 ML 地址的偏移量,預設值為 0x28000。

SSP 擴充套件結構(假設有 3 個 IP 例項)¶

+-----------+
| ML cap #0 |
+-----------+
| ML cap #1 |
+-----------+
| ML cap #2 |---+
+-----------+   |
                |
                +--> 0x0 +---------------+ LCAP
                         | ALT=1         |
                         +---------------+
                         | INTC          |
                         +---------------+
                         | OFLS          |
                         +---------------+
                         | SLCOUNT=3     |-------------------------for each sublink x -------------------------+
                         +---------------+                                                                     |
                                                                                                               |
                     0x4 +---------------+ LCTL                                                                |
                         | INTSTS        |                                                                     |
                         +---------------+                                                                     |
                         | CPA (x bits)  |                                                                     |
                         +---------------+                                                                     |
                         | SPA (x bits)  |                                                                     |
                         +---------------+                                                                     |
                         | INTEN         |                                                                     |
                         +---------------+                                                                     |
                         | OFLEN         |                                                                     |
                         +---------------+           +---> 0x28000  +-----------------+  0x00028000            |
                                                     |              | SSP SHIM        |                        |
                     0x8 +---------------+ LOSIDV    |              | generic         |                        |
                         | L1OSIVD15     |           |              +-----------------+  0x00028100            |
                         +---------------+           |              | SSP IP          |                        |
                         | L1OSIDV..     |           |              +-----------------+  0x00028C00            |
                         +---------------+           |              | SSP SHIM        |                        |
                         | L1OSIDV1      |           |              | vendor-specific |                        |
                         +---------------+           |              +-----------------+                        |
                                                     |                                                         v
                    0x20 +---------------+ LEPTR     |              +-----------------+  0x00028000 + 0x1000 * x
                         | ID = 0xC0     |           |              | SSP SHIM        |
                         +---------------+           |              | generic         |
                         | VER           |           |              +-----------------+  0x00028100 + 0x1000 * x
                         +---------------+           |              | SSP IP          |
                         | PTR           |-----------+              +-----------------+  0x00028C00 + 0x1000 * x
                         +---------------+                          | SSP SHIM        |
                                                                    | vendor-specific |
                                                                    +-----------------+
©核心開發社群。| 由 Sphinx 5.3.0 & Alabaster 0.7.16 提供支援 | 頁面源