ALSA音效卡驅動的 DAPM

2021-10-07 13:26:30 字數 2093 閱讀 5836

參考文章

alsa音效卡驅動的 dapm

dapm是dynamic audio power management的縮寫,直譯過來就是動態音訊電源管理的意思,dapm是為了使基於linux的移動裝置上的音訊子系統,在任何時候都工作在最小功耗狀態下。dapm對使用者空間的應用程式來說是透明的,所有與電源相關的開關都在asoc core中完成。使用者空間的應用程式無需對**做出修改,也無需重新編譯,dapm根據當前啟用的音訊流(playback/capture)和音效卡中的mixer等的配置來決定那些音訊控制項的電源開關被開啟或關閉。

dapm是基於kcontrol改進過後的相應框架,增加了相應的電源管理機制,其電源管理機制其實就是按照相應的音訊路徑,完美的對各種部件的電源進行控制,而且按照某種順序進行。

dapm的基本單位widget:

widget把kcontrol和動態電源管理進行了有機的結合,同時還具備音訊路徑的鏈結功能,乙個widget可以與它相鄰的widget有某種動態的鏈結關係。

wight 有很多種類

snd_soc_dapm_input     該widget對應乙個輸入引腳。

snd_soc_dapm_output 該widget對應乙個輸出引腳。

snd_soc_dapm_mux 該widget對應乙個mux控制項。

snd_soc_dapm_virt_mux 該widget對應乙個虛擬的mux控制項。

snd_soc_dapm_value_mux 該widget對應乙個value型別的mux控制項。

snd_soc_dapm_mixer 該widget對應乙個mixer控制項。

snd_soc_dapm_mixer_named_ctl 該widget對應乙個mixer控制項,但是對應的kcontrol的名字不會加入widget的名字作為字首。

snd_soc_dapm_pga 該widget對應乙個pga控制項(可程式設計增益控制項)。

snd_soc_dapm_out_drv 該widget對應乙個輸出驅動控制項

snd_soc_dapm_adc 該widget對應乙個adc

snd_soc_dapm_dac 該widget對應乙個dac

snd_soc_dapm_micbias 該widget對應乙個麥克風偏置電壓控制項

snd_soc_dapm_mic 該widget對應乙個麥克風。

snd_soc_dapm_hp 該widget對應乙個耳機。

snd_soc_dapm_spk 該widget對應乙個揚聲器。

snd_soc_dapm_line 該widget對應乙個線路輸入。

snd_soc_dapm_switch 該widget對應乙個模擬開關。

snd_soc_dapm_vmid 該widget對應乙個codec的vmid偏置電壓。

snd_soc_dapm_pre machine級別的專用widget,會先於其它widget執行檢查操作。

snd_soc_dapm_post machine級別的專用widget,會後於其它widget執行檢查操作。

snd_soc_dapm_supply 對應乙個電源或是時鐘源。

snd_soc_dapm_regulator_supply 對應乙個外部regulator穩壓器。

snd_soc_dapm_clock_supply 對應乙個外部時鐘源。

snd_soc_dapm_aif_in 對應乙個數字音訊輸入介面,比如i2s介面的輸入端。

snd_soc_dapm_aif_out 對應乙個數字音訊輸出介面,比如i2s介面的輸出端。

snd_soc_dapm_siggen 對應乙個訊號發生器。

snd_soc_dapm_dai_in 對應乙個platform或codec域的輸入dai結構。

snd_soc_dapm_dai_out 對應乙個platform或codec域的輸出dai結構。

snd_soc_dapm_dai_link 用於鏈結一對輸入/輸出dai結構。

ALSA音效卡驅動中的DAPM詳解

alsa音效卡驅動中的dapm詳解之一 kcontrol alsa音效卡驅動中的dapm詳解之二 widget 具備路徑和電源管理資訊的kcontrol alsa音效卡驅動中的dapm詳解之三 如何定義各種widget alsa音效卡驅動中的dapm詳解之四 在驅動程式中初始化並註冊widget和r...

ALSA驅動Debian音效卡

在最初使用debian的時候並沒有仔細的注意過linux的音效卡驅動,雖然在早一些的時候就已經曉得了alsa是乙個相當不錯的音效卡驅動,但是因為自己的安裝使用經歷一直比較的順利,也便沒有安裝這個來驅動音效卡,但是最近幾天,debian不曉得是怎麼了,不高興的樣子,想要聽個 來輕鬆,竟然一點也唱不起來...

linux音效卡驅動框架 ALSA簡介

alsa的 檔案在 sound core 該目錄包含了alsa驅動的中間層,它是整個alsa驅動的核心部分 core oss 包含模擬舊的oss架構的pcm和mixer模組 core seq 有關音序器相關的 include alsa驅動的公共頭檔案目錄,該目錄的標頭檔案需要匯出給使用者空間的應用程...