NanoPiNEO2 HiFiBerry DAC+対応 調査メモその1
HiFiBerry DACとはなんぞ?
- RaspberryPi向けの高音質DAC
- いくつか種類があり、RPiのクロックで動くものと、DACに乗っけたクロックで動くものがある。
- RPi向けAudio用のディストロで対応したカーネルが配られている
で?
ドライバの構造調査
- soc/bcm/bcm2708-i2s.c
- CPUのI2S制御コード
- ここは、sun8i-i2s.cに置き換える
- 不足機能をsun8i-i2s.cに追加する感じ
- soc/bcm/hifiberry_dacplus.c
- I2SとCODECの制御コード
- ここで、外部マスター有か無しか判定してる
- 小改造で流用する感じ
- soc/codecs/pcm512x.c/*_i2c.cあたり
- CODEC(PCM5122)の制御コード
- 実際にPCM5122を引っ叩いてるコード
- 完全流用したい
対応が必要そうな項目のざっくり洗い出し
- i2sドライバの修正
- SND_SOC_DAIFMT_CBM_CFM(I2S Slave/Codec Master)対応
- 現状はMCLKのON/OFFしかしていない
- BCK/LRCKのin/outも変更するコードを入れる感じ
- hifiberry制御ドライバの移植
- daiをbcm2708から変更?
- なんかprobeでnode検索してるから、対応要らないかも
- hifiberryのnodeからi2s-controllerを探して設定してる
- なのでi2s-controller=sun8i-h3-i2sとか書いたら行けるかも
- codecの動作確認