imx8mp + nxp linux6.1.55カーネルで Wi-Fi をデバッグしているときに、PCIe で次の問題が発生しました: 内部クロックをテストしても波形が表示されず、reset-GPIO がハイレベルでした
( https://github.com/nxp-imx/linux-imx/tree/lf-6.1.y )。)
root@imx8mpevk:~# dmesg|grep pcie
[2.241914] imx6q-pcie 33800000.pcie:ホストブリッジ /soc@0/pcie@33800000 範囲:
[2.249233] imx6q-pcie 33800000.pcie:IO 0x001ff80000..0x001ff8ffff -> 0x0000000000
[2.257455] imx6q-pcie 33800000.pcie:MEM 0x0018000000..0x001fefffff -> 0x0018000000
[2.322972] phy phy-32f00000.pcie-phy.4:PHY電源投入失敗 --> -110
[2.322980] imx6q-pcie 33800000.pcie:PHY準備完了タイムアウトを待っています!
[ 2.323033] imx6q-pcie: 33800000.pcie のプローブがエラー -110 で失敗しました
デバイスツリー:
選択された場合
[4.081133]imx8-pcie-phy 32f00000.pcie-phy:IMX PCIe PHYクロックの取得に失敗しました
[4.088341]imx8-pcie-phy 32f00000.pcie-phy:IMX PCIe PHYクロックの取得に失敗しました: -517
[13.028064]imx8-pcie-phy 32f00000.pcie-phy:IMX PCIe PHYクロックの取得に失敗しました
[13.035248]imx8-pcie-phy 32f00000.pcie-phy:IMX PCIe PHYクロックの取得に失敗しました: -517
[13.049053]プラットフォーム 33800000.pcie:調査延期保留中
[13.060015]プラットフォーム 32f00000.pcie-phy:調査延期保留中
何が問題だったのでしょうか?助けてください!ありがとうございます!
こんにちは、 @gaotaoさん
お元気でお過ごしのことと思います。
DTSのreset-gpio = <&gpio3 25 GPIO_ACTIVE_LOW>とreset-gpio-active-highは矛盾しています。
GPIO 指定子からreset-gpio-active-highを削除し、 GPIO_ACTIVE_LOWのみを残すか、ハードウェアにインバータがある場合はGPIO_ACTIVE_HIGHに変更してください。
また、以下のパッチを適用してみてください。
https://www.spinics.net/lists/devicetree/msg558950.html
https://www.spinics.net/lists/devicetree/msg558947.html
https://www.spinics.net/lists/devicetree/msg558949.html
https://www.spinics.net/lists/devicetree/msg558948.html
これらはimx8mp-blk-ctrl.cをパッチします。ドライバーが適切なPLLクロックを公開し設定します。
よろしくお願いいたします。
サラス。
@Manuel_Salas さん、ご返信ありがとうございます。
どうやら問題は以前とは違うようです。「Phylinkが起動しなかった」と表示されます。PCIe自体に問題があるのでしょうか、それとも周辺機器に問題があるのでしょうか?
root@imx8mpevk:~/rtw# dmesg|grep pcie
[2.264927] imx8-pcie-phy 32f00000.pcie-phy:WiFi PCIe リファレンスクロック: 100000000 Hz
[2.274508] imx6q-pcie 33800000.pcie:ホストブリッジ /soc@0/pcie@33800000 範囲:
[2.281827] imx6q-pcie 33800000.pcie:IO 0x001ff80000..0x001ff8ffff -> 0x0000000000
[2.290063] imx6q-pcie 33800000.pcie:MEM 0x0018000000..0x001fefffff -> 0x0018000000
[2.336901] imx6q-pcie 33800000.pcie:iATU: アンロール T、4 ob、4 ib、アライン 64K、制限 16G
[3.410666] imx6q-pcie 33800000.pcie:Phyリンクは一度も話題にならなかった1
[4.481178] imx6q-pcie 33800000.pcie:Phyリンクは一度も話題にならなかった1
[4.487067] imx6q-pcie 33800000.pcie:PCIホストブリッジからバス0000:00へ
[4.570576] pcieポート0000:00:00.0:PME: IRQ 223によるシグナリング
私の周辺機器は8822ce Wi-Fiチップを使用していますが、手動でロードしても自動でロードしても、何も情報が出力されません。
root@imx8mpevk:~/rtw# insmod rtw88_core.ko
root@imx8mpevk:~/rtw# insmod rtw88_pci.ko
root@imx8mpevk:~/rtw# insmod rtw88_8822c.ko
root@imx8mpevk:~/rtw# insmod rtw88_8822ce.ko
root@imx8mpevk:~/rtw#
root@imx8mpevk:~/rtw# lsmod | grep rtw
rtw88_8822ce 16384 0
rtw88_8822c 475136 1 rtw88_8822ce
rtw88_pci 28672 1 rtw88_8822ce
rtw88_core 208896 2 rtw88_pci,rtw88_8822c
root@imx8mpevk:~/rtw# lspci
00:00.0クラス0604: 16c3:abcd
今回は何が問題なのでしょうか?起動が安定した後、基準クロック波形を測定できませんでした(私のハードウェアでは波形を測定するためにネットワークカードを取り外す必要がありました)が、少なくともPCIe出力は変化しました...