Linux: WM8753ドライバーはPi用に構築されていません

作成日 2016年01月27日  ·  6コメント  ·  ソース: raspberrypi/linux

WM8753サウンドチップをPiover i2cで動作させようとしていますが、アドレスに登録されているにもかかわらず、WM8753をi2cバスで応答させることができません。 ここで、カーネルにWM8753ドライバーを含めるように依頼するように指示されました。手伝ってもらえますか?

最も参考になるコメント

それでは、WM8753をWindowsに接続してみましたか? 利用可能なドライバの形式があれば非常に驚きます。I2SおよびI2CインターフェイスはPCでは一般的ではありません。USB、PCIe、またはFirewireが推奨され、処理がはるかに簡単です。 USBを除いて、これらのインターフェイスはSBCではあまり一般的ではありません。

モジュールを追加すると、すべての人のカーネルディストリビューションのサイズが大きくなり、一部のモジュールにはパフォーマンスの低下もあります。 そのため、モジュールがデフォルトでビルドされる前に、何かが機能することを証明する一般的な要求があります。 変更された構成を使用して独自のカーネルをビルドできるようにするための完全な手順が利用可能であるため、デフォルトのビルドにあることに依存しているわけではありません。

ところで、 https: //www.cirrus.com/en/products/eol/detail/EOL421.htmlに気づきましたか?

WM8753
EOL日付:2017年7月31日

1年以内にEOLに移行するものに基づいて新製品を構築することは、それほど素晴らしい計画ではないかもしれません。 代替品としてリストされているWM8750およびWM8758とは比較していません。

全てのコメント6件

@KevinStartupは問題を解決しましたか? その場合は、この問題を閉じてください。 ありがとう。

このチップをサポートするカスタムi2c / i2sドライバーを開発しました。 それは一種の作業ですが、もっと注意が必要です。 ご覧のとおり、このサイトからはまったく助けがありませんでした。

@KevinStartup正確に何を求めていますか? CONFIG_SND_SOC_WM8753=mはデフォルトのRPi構成に追加されるので、コーデックドライバーはモジュールとして構築されますか?

ASoCマシンドライバーについてサポートが必要な場合は、「機能している」コードを提示し、実際には機能していないものを教えてください。人々が提案や支援を提供できる可能性があります。

@DigitalDreamtime
私が提案しているのは、システムに実際に含まれているすべてのCODECをカーネルにロードして構成できるということだと思います。 コーデックはwm8753や他の多くのサウンドチップ用に存在しますが、ASoCおよびALSAを使用してUNIXカーネル内でこれらを機能させるにはかなりの作業が必要です。 私たちは実際に別の会社にローダーをまとめて、ロードできるようにカーネル内のモジュールとしてドライバーを構成するように依頼しました。 現在は動作しますが、サウンドソフトウェアが使用している「メモリマップ」モードでALSAを使用するとフォールオーバーするため、さらに作業が必要です。 詳細は複雑で、私自身の能力を超えています。誰かが興味を持っている場合は、ここで使用しているコードを投稿できますが、実際にテストして操作するには、i2cを介してwm8753チップに接続されたPiが必要です。
ここでの私の全体的な提案は、Piにもっと多くのサウンドチップサポートを取り入れようとすることだと思います。 利用可能なコーデックがありますが、それらを機能させるのは困難です。 これは、Piをより適切に開発できると思う場所の1つです。 Windowsは、今日考えられるほとんどすべてのサウンドカードをサポートしていますが、Piのハードウェアサポートは制限されており、複雑です。 Piをさまざまなオーディオおよびビジュアルデバイスと統合するためのより簡単なシステムに移行するのは良いことだと思います。 また、Piで動作するカスタムLCD画面があり、これは注意が必要ですが、少なくともデバイスツリーのみを変更し、config.txtに数行を追加する必要があるため、構成は簡単です。
ユーザーの観点からは、作業の半分が幅広いサウンドチップとディスプレイをサポートするために行われたように見えますが、最終的なユーザー構成は非常にトリッキーであり、専門知識が必要です。 個人的には改善の余地があると思います。
wm8753開発コードを希望し、それをご覧になりたい方がいらっしゃいましたら、お知らせください。投稿できます。
Cheerz
ケビン

それでは、WM8753をWindowsに接続してみましたか? 利用可能なドライバの形式があれば非常に驚きます。I2SおよびI2CインターフェイスはPCでは一般的ではありません。USB、PCIe、またはFirewireが推奨され、処理がはるかに簡単です。 USBを除いて、これらのインターフェイスはSBCではあまり一般的ではありません。

モジュールを追加すると、すべての人のカーネルディストリビューションのサイズが大きくなり、一部のモジュールにはパフォーマンスの低下もあります。 そのため、モジュールがデフォルトでビルドされる前に、何かが機能することを証明する一般的な要求があります。 変更された構成を使用して独自のカーネルをビルドできるようにするための完全な手順が利用可能であるため、デフォルトのビルドにあることに依存しているわけではありません。

ところで、 https: //www.cirrus.com/en/products/eol/detail/EOL421.htmlに気づきましたか?

WM8753
EOL日付:2017年7月31日

1年以内にEOLに移行するものに基づいて新製品を構築することは、それほど素晴らしい計画ではないかもしれません。 代替品としてリストされているWM8750およびWM8758とは比較していません。

@ 6by9
非常に便利なEOLリンクをありがとう、このチップを使用することに決めた人にそれを送りました。 これは主にソフトウェアとの下位互換性のために使用されており、PCBとソフトウェアアプリケーションにすべてコード化されているこのチップからの多くのオーディオ入力と出力を使用するため、多くのものを再コード化する必要がありません。対処するためにPCBとアプリケーションソフトウェアを再調整するのではなく、それを使い続けます(私の決定ではなく、記録のために、私はそれに反対しましたが、それは別の話です)

私も同意します。USBも前進の道だと思います。wm8753はおそらくPCでは機能せず、i2cを介した他のほとんどのものも機能しないというあなたの意見を受け入れます。 私たちはこれに多大なコストをかけて取り組んできました。最終的なPCBとアプリケーション開発の作業を節約できるかどうかは時が経てばわかりますが、金庫用にWM8753のジョブロットを購入する時期かもしれません。

新しいチップの1つ、具体的にはオーディオボードにロードされたCirrus Logic(WM5102)に進むことを検討しましたが、残念ながら、チップが小さすぎて製造機械で装着できないため、古いチップを使用する必要がありました。 CirrusがPiで構成するためのすべての作業を行ったので、それは本当に残念でした。

あなたが正しいと思います、私たちは存在するハードウェアのすべてのビットをサポートすることを期待することはできません、そしてそれを機能させるためのメカニズムがあります-それは本当に本当に難しいです! とにかく私には難しすぎて、より大きな頭脳を持つ誰かにそれを試してもらう必要がありました。

参加してくれてありがとう、少なくとも返事をもらえてよかったです。 このスレッドを閉じて、Ruffioを片付けます:)

良い夜を
ケビン

このページは役に立ちましたか?
0 / 5 - 0 評価