[Armadillo:04331] Re: mxc-alsa-i2s.cのレジスタ設定について
大木朋春
email@hidden
2009年 6月 12日 (金) 11:01:56 JST
竹之下様
大木です。
いつもお世話になっております。
ご回答ありがとうございます。
下記了解しました。
安心してat12に移行することができます。
どうもありがとうございました。
--------------
大木 朋春
09/06/08 Takenoshita Koyo <email@hidden>:
>> 当方、2.6.18-at8を使って開発をしているのですが、at12に移行すべく、at8とat12の差異を
>> 調査しております。
>> その中で、mxc-alsa-i2s.cの
>>
>> diff -r -b linux-2.6.18-at8/sound/arm/mxc-alsa-i2s.c
>> linux-2.6.18-at12/sound/arm/mxc-alsa-i2s.c
>> (略)
>> 958c974
>> < tlv320aic_setreg(TLV_DIFORM, 0x002);
>> ---
>> > tlv320aic_setreg(TLV_DIFORM, 0x042);
>>
>> の部分がわからないので、ご教示いただければと思います。
>> レジスタ設定が0x002から0x042に変更されていますが、
>> 0x002 : スレーブ設定
>> 0x042 : マスタ設定
>> という違いがあります。
> 上記変更は、以下の修正に伴うものです。
> http://armadillo.atmark-techno.com/files/downloads/armadillo-500/history.txt
> Armadillo-500 ファイル更新履歴
> --- 2009/03/24 ---
> ○ linux-kernel (linux-2.6.18-at)
> - オーディオドライバの録音時にポップノイズが入る問題を修正
>
> Armadillo-500 開発ボードでは、当初i.MX31をマスタ、audio codecをスレーブ
> として動作させていました。しかし、録音中にポップノイズが入るという問題
> が発見されたため、対策としてlinux-2.6.18-at11以降はi.MX31をスレーブ、
> audio codecをマスタとして動作させています。
>
>> このマスタ/スレーブというのは、特に気にする必要はないのでしょうか。
> アプリケーションから使用する分には、特に気をつけることはないと思います。
>
>> また、他のi2c/i2s関連で何か他に影響を及ぼすことはないのでしょうか。
> 他のモジュールには影響を及ぼしません。
>
>
> 修正内容の詳細
> ==============
> ポップノイズの発生原因は、i.MX31のSSIモジュールとaudio codecで異なるク
> ロックソースを使用していたため、クロックのずれが発生したことによるもの
> でした。i.MX31のSSIモジュールとaudio codecはi2sで接続されています。修正
> 前は、i.MX31のSSIモジュールをi2sマスタとし、audio codecをスレーブとして
> 動作させていました。i2sのBCLKは、マスタであるSSIモジュールから出力され
> ており、これはi.MX31 へのCPUクロックに同期した信号です。一方、audio
> codecのMCLCKは、CPUクロックとは別の外部発信器から供給していました。その
> ため、BCLKとMCLKでクロックのずれが生じ、サンプリングのタイミングが合わ
> ない場合があり、それがポップノイズとなっていました。
>
> 対策として、linux-2.6.18-at11以降はaudio codecをi2sマスタとし、i.MX31の
> SSIモジュールをスレーブとして動作させています。そのことにより、BCLKは
> audio codecのMCLKに同期した信号となるため、サンプリングタイミングのずれ
> は生じなくなります。
>
> --
> Koyo Takenoshita
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
>
--
armadillo メーリングリストの案内