imx28 CPU に基づくカスタム ボードがあります。CPU のシリアル ポートは、モデムの PCM 出力に接続されています。モデムの PCM インターフェイスを ALSA SoC の一部にするためのドライバーを開発する必要があります。私のセットアップで再構築するカーネル ツリー内のドライバーをいくつか指摘してもらえますか?
質問する
1341 次
1 に答える
3
Documentation/sound/alsa/soc
Linux ソースのディレクトリを参照してください。ASoC ドライバーがどのように 3 つのカテゴリに分類されるかについて説明します。
- コーデック ドライバー: これらは、オーディオ コントロール、インターフェイス機能、DAPM 定義、およびコーデック I/O 機能を定義します。この場合、「コーデック」と見なされるのはモデムです。その場合、CODEC ドライバーはおそらく非常に最小限で、PCM サンプル レート (8000 サンプル/秒などのように固定されていると仮定) とデータ形式 (16 ビット リニアなど) を定義するだけです。
- のソースコードを見てください
sound/soc/codecs
- i.MX28 EVK (評価キット) をお持ちの場合は
sgtl5000.c
、mxs_spdif.c
特に i.MX28 EVK にはこれら 2 つの CODEC があり、ドライバーがそれらをどのように機能させるかを確認できます。
- i.MX28 EVK (評価キット) をお持ちの場合は
- のソースコードを見てください
- プラットフォーム ドライバー: プラットフォーム用のオーディオ DMA エンジンとオーディオ インターフェイス ドライバー (具体的には、この場合は PCM)。プラットフォームは Freescale MXS チップ ファミリーです。
- マシン ドライバー: マシン固有のコントロールとオーディオ イベント。
プラットフォーム ドライバーとマシン ドライバーについては、 の次のファイルを参照してくださいsound/soc/mxs
。どちらが「プラットフォーム ドライバー」と見なされ、どれが「マシン ドライバー」と見なされるかについては、明確に述べられていないため、明確ではありません。
mxs-spdif.c
およびmxs-spdif-dai.c
は、S/PDIF CODEC への S/PDIF インターフェイス用です (出力のみ)。mxs-devb.c
およびmxs-dai.c
は、SGTL5000 CODEC への SAIF インターフェイス用です。mxs-pcm.c
これはDMAのものを処理すると思います。
しかし、i.MX28 に同期シリアル ポート (SSP) ペリフェラルのサンプル コードがあるかどうかはわかりません。これは、あなたが興味を持っているものです。
于 2012-11-15T22:52:58.243 に答える