Kernel

BCLK/LRCLK出力しかないRaspberry Piで旭化成のDAC IC(AK449xシリーズ)を鳴らす実験

Raspberry PiでDAI/ASRC/CPLDなどのクロック生成周辺回路を用いず、旭化成のDAC AK449Xシリーズを使用する方法についてメモ。 Raspberry PiのDACにAK449xシリーズの採用が少ない原因のひとつとして、AK449xの要求するMCLKをRaspberry Piから供給できない点が…

Linux向けAK449x Codec Driverの紹介

旭化成エレクトロニクス製 AK4490/AK4495/AK4497/AK4493向けLinux Driverの紹介です。NanoPi NEO2でAK449xシリーズを鳴らすために作成しました。 ALSA SoC Codecドライバとして実装しています。NanoPi NEO2/Raspberry Pi Zeroで動作確認済み。そのほかのSBC…

Raspberry Pi ZeroのI2Sオーディオドライバに非Codecドライバを追加登録する方法

概要 ALSA SoCドライバで電子ボリュームを利用する方法を調べてみた。 今回は電子ボリューム内蔵ヘッドフォンアンプIC TPA6130A2ドライバをhifiberry-dacドライバに登録してみる。 仕組み TPA6130A2のドライバはsound/soc/codecs/tpa6130a2.cを使用する TPA6…

Raspberry Pi ZeroのI2S DACとポップノイズの関係 その2 まっとうにMUTE制御

概要 NosPiDAC Zeroなどで音楽を楽しんでいるときに気になるポップノイズについて調べたこと・やったことをメモ。 その2はCodecドライバを修正し、外部MUTE制御との連動を試してみます。 外部MUTE制御用のサンプルコード付。 MUTE機能つきのHPA IC(MAX9722…

Raspberry Pi ZeroでRJフォーマットDACを鳴らす方法のメモ

概要 TDA1545AやTDA1543AなどRJフォーマットを採用しているDACをRaspberry Piで鳴らす方法のメモです。 NosPiDACでTDA1545Aを鳴らしたかったので、調査・検証してみました。 仕組み 通常ALSAのSoCドライバではdai linkを設定するdriverでPCMフォーマットを設…

Raspberry Pi ZeroのI2S DACとポップノイズの関係 その1 力技でポップノイズを抑制

概要 NosPiDAC Zeroなどで音楽を楽しんでいるときに気になるポップノイズについて調べたこと・やったことをメモ。 ポップノイズは再生・停止・曲間で発生します。 発生メカニズムが確定では無いですが、RPi ZeroのI2SドライバがI2Sのクロックを止めることか…

NanoPi Neo2のビルド環境構築(公式サイトからToolchain取得)

概要 過去記事でNEO2用のビルド環境構築を解説したけど、MediafireからToolchainを持ってきたりでちょっと怪しい感じだったので、Linaroから直接Toolchainをとってきてビルドする手順を確認したのでメモします。 Ubuntu 18.04LTS AMD64環境で確認しました。3…

moode audioのカーネルをクロスビルドする手順メモ

moode audioで使用しているRaspbianのカーネルイメージをクロスビルドするにあたっていろいろハマったのでメモして置きます。 Ubuntu 18.04LTS AMD64環境で確認 ターゲットはRaspberry Pi Zero用。RPi3とか64bitの奴はツールチェインやビルドオプションが変…

NanoPi Neo2 I2S Audio Kernel alpha1 release

これは何? NanoPi Neo2用のカーネルにI2Sオーディオ関連のパッチを当てたものになります。 カーネルのみのリリースとなります。音を出すにはSoXやmpdなどを自力で導入する必要があります。 手軽に音を出したい方は、本カーネルを適用したVolumio2を作成予定…

NanoPiNEO2 HiFiBerry DAC+対応 β版

HiFiBerry DAC+ PRO対応のβ版リリース HiFiBerry DAC+ PROに対応しました。 twitterには書いてましたがこっちにも簡単にまとめます。 HiFiBerry DAC+ PROにて動作確認しています。クローンもたぶん動くはず。 HiFiBerry DAC+(外部クロックなし)は未検証で…

NanoPiNEO2 HiFiBerry DAC+対応 調査メモその1

HiFiBerry DACとはなんぞ? RaspberryPi向けの高音質DAC いくつか種類があり、RPiのクロックで動くものと、DACに乗っけたクロックで動くものがある。 RPi向けAudio用のディストロで対応したカーネルが配られている で? NanoPi NEO2でDAC側にマスタークロッ…

NanoPi NEO2 I2S AUDIO でMCLKを出すメモ

前提 Allwinner H5ではMCLKの出力が可能 PA6にアサイン可能 NanoPi Neo2でもこのPin(PA6)は出てる 作業内容とか dtsのi2s0 pinctrlにPA6を追加するもエラー PA6にi2s0のfunction設定が無いっぽい functionはpinctrlのdrivers/pinctrl/sunxi/pinctrl-sun50i-h…

NanoPi NEO2 I2S AUDIO 24bit再生でNG メモ

現象 16/32bitは再生OK 24bit再生はホワイトノイズ(かすかに音楽が聞こえる)となる 発生環境 20170909版のオフィシャルイメージ npi-configでPCM5102Aを選択 play(sox)で24/96,24/192フォーマットのFlacデータを再生 原因 24/32bit再生時の下記2レジスタの…

NanoPi NEO2 4.11系カーネルビルド手順メモ

概要 NanoPi NEO2用の4.11.xカーネルビルド方法のメモ。 公式イメージ20170909版のカーネルは本手順で生成できます。 公式ページの手順は3.10のころのものが混ざってる模様。 Ubuntu 16.04.3で確認 2018/07/21追記 Mediafireではなく、Linaroから直接Toolcha…