ubuntu 在 R40e 上 還有 Debian 在 Sempron 2600 上

2014年2月21日 星期五

ALSA Asoc Layer. . reading notes

ref: ALSA Asoc

ALSA driver 新增一個 ASoc Layer 是為了 embedded system

讓 codec driver 獨立於 platform 之外,不用為每一個 embedded system chip 都寫一份 codec driver
在沒有 ASoc Layer 之前,codec WM8731 在 kernel 中總共寫了4 個 driver, 分別為了四個不同的 chip

目的簡述:
  • 獨立出 codec driver,不用針對chip platform 寫作
  • 簡化 I2S/PCM 介面,讓 連接 Soc 更容易
  • 電源管理
  • 統一 Pop, Click 聲的消除 介面
  • 允許 machine 增加對 sound card 的控制, 例如 AMP volume

.. 看來 都是介面 定義。

所以 ASoc Layer 把 audio system 分成:
  • Codec Driver : codec 本身控制,
  • Platform Driver : 例如 I2S, PCM 等 interface
  • Machine Driver : Audio 控制,例如 play pause audio

ref:
  • http://opensource.wolfsonmicro.com/cgi-bin/gitweb.cgi?p=linux-2.6-asoc.git;a=summary

沒有留言:

標籤

網誌存檔