2019-05-01から1日間の記事一覧

簡易外部クロック化について 補足

必要なスペック DAI(I2Sコントローラ)側 高いBCLK入力に対応可能であること NEO2(H5)では98.304MHzでも動いてた。ただし、12.288MHzより高い周波数はスペック範囲外となる。 RPi Zero(BCM2835)では24.576MHzまで確認。それ以上は未確認。 CBM_CFS動作が可能…

AK449Xの簡易外部クロック化について

旭化成のDAC AK449Xシリーズにて、複雑なクロック生成回路ではなく単純な発振器を用いて外部クロック化する手法の紹介。 前回(BCLK/LRCLK出力しかないRaspberry Piで旭化成のDAC IC(AK449xシリーズ)を鳴らす実験 - _tkz_ memo])は外部回路追加無しでしたが…

ALSA SoCドライバメモ No.004 外部クロック関連

外部クロックを使う場合 外部クロックを使うときのクロック制御はDAI LINKに組み込むか、CODECに組み込むか。どちらでも良さそう。 PCM5122のGPIOとDividerを利用しているHiFiBerry DAC+PROではdai link (sound/soc/bcm/hifiberry-dacpro.c)でやっている PCM…

ALSA SoCドライバメモ No.003 callbackシーケンス

ALSA SoCドライバ開発でいちいちgrepするのが面倒な情報をメモしておく Callbackシーケンスのメモ 制御でよく使いそうなhw_paramsとshutdownのみ ポイントは開始時はdai_link->codecs->cpudai。終了時はcpudai->codecs->dai_linkとなること codecsが複数ある…

ALSA SoCドライバメモ No.002 private data

ALSA SoCドライバ開発でいちいちgrepするのが面倒な情報をメモしておく それぞれのドライバでprivate dataをどこに置くのか? dai link snd_soc_cardが自分の持ち物 設定方法 (probe時にsnd_soc_register_card前にやる) snd_soc_card_set_drvdata(&hoge_card…

ALSA SoCドライバメモ No.001 ドライバ構成

ALSA SoCドライバの構成 ファイルの説明 DAI LINKドライバ 例: sound/soc/bcm/hifiberry-dac.c 関連するドライバをまとめ(dai link)て登録(snd_soc_register_card)するドライバ hifiberry-dac.cではほとんど制御は行わず、登録のみを行っている。 hifiberry-…

Raspberry Pi ZeroのI2S DACとポップノイズの関係 その3 MUTE制御の動き

概要 NosPiDAC Zeroなどで音楽を楽しんでいるときに気になるポップノイズについて調べたこと・やったことをメモ。 ちょっと時間が空いてしまいましたが、その3ではALSA SoCのCallbackを追っかけたメモを置いておきます。 調査 まずはsoc_pcm階層からのコー…