4

imx28 CPU に基づくカスタム ボードがあります。CPU のシリアル ポートは、モデムの PCM 出力に接続されています。モデムの PCM インターフェイスを ALSA SoC の一部にするためのドライバーを開発する必要があります。私のセットアップで再構築するカーネル ツリー内のドライバーをいくつか指摘してもらえますか?

4

1 に答える 1

3

Documentation/sound/alsa/socLinux ソースのディレクトリを参照してください。ASoC ドライバーがどのように 3 つのカテゴリに分類されるかについて説明します。

  • コーデック ドライバー: これらは、オーディオ コントロール、インターフェイス機能、DAPM 定義、およびコーデック I/O 機能を定義します。この場合、「コーデック」と見なされるのはモデムです。その場合、CODEC ドライバーはおそらく非常に最小限で、PCM サンプル レート (8000 サンプル/秒などのように固定されていると仮定) とデータ形式 (16 ビット リニアなど) を定義するだけです。
    • のソースコードを見てくださいsound/soc/codecs
      • i.MX28 EVK (評価キット) をお持ちの場合はsgtl5000.cmxs_spdif.c特に i.MX28 EVK にはこれら 2 つの CODEC があり、ドライバーがそれらをどのように機能させるかを確認できます。
  • プラットフォーム ドライバー: プラットフォーム用のオーディオ 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 に答える