2398624_ja-JP

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2398624_ja-JP

2398624_ja-JP

IMX8MP PCIe内部クロックPHYの電源投入に失敗しました --> -110

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 で失敗しました

デバイスツリー:

&pcie_phy {
    //clocks = <&hsio_blk_ctrl>;
クロック = < &clk IMX8MP_CLK_HSIO_AXI >;
時計名 = "ref" ;
fsl、clkreqはサポートされていません。
fsl、refclk-pad-mode = < IMX8_PCIE_REFCLK_PAD_OUTPUT >;
ステータス = "正常" ;
};

&pcie {
pinctrl-names = "default" ;
pinctrl-0 = < &pinctrl_pcie0 >;
reset-gpio = < &gpio3 25 GPIO_ACTIVE_LOW >;
GPIOアクティブハイをリセットします。
クロック = < &clk IMX8MP_CLK_HSIO_ROOT >,
< &clk IMX8MP_CLK_PCIE_ROOT >、
< &clk IMX8MP_CLK_HSIO_AXI >;
クロック名 = "pcie" , "pcie_aux" , "pcie_bus" ;
割り当てられたクロック = < &clk IMX8MP_CLK_PCIE_AUX >;
割り当てられたクロックレート = < 10000000 >;
割り当てられたクロックの親要素 = < &clk IMX8MP_SYS_PLL2_50M >;
    // vpcie-supply = <&reg_pcie0>;
ステータス = "正常" ;

    // wifi_wake_host {
    // compatible = "nxp,wifi-wake-host";
    // interrupt-parent = <&gpio5>;
    // 割り込み = <21 IRQ_TYPE_LEVEL_LOW>;
    // interrupt-names = "host-wake";
    // };
};


選択された場合

    clocks = <&hsio_blk_ctrl>; の代わりに clocks = <&clk IMX8MP_CLK_HSIO_AXI>; を使用します。

するとエラーが発生し、タイムアウトが発生します。
root@imx8mpevk:~# dmesg|grep pcie

[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_0-1784881982173.png


何が問題だったのでしょうか?助けてください!ありがとうございます!

 
 
 
 
 



i.MX 8M | i.MX 8M Mini | i.MX 8M NanoRe: imx8mp pcie内部时钟phy poweron failed --> -110

こんにちは、 @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クロックを公開し設定します。


よろしくお願いいたします。

サラス。

Re: imx8mp pcie内部时钟phy poweron failed --> -110ご指摘いただき、誠にありがとうございます。ハードウェア部門の同僚にこの件について調査を依頼いたします。進展がありましたら、改めてご連絡させていただきます。重ねてお礼申し上げます。Re: imx8mp pcie内部时钟phy poweron failed --> -110

@Manuel_Salas さん、ご返信ありがとうございます。

1. `reset-gpio-active-high;` という記述があることに気づき、既に削除しました。ご指摘ありがとうございました。

2. したがって、私は
clocks = < &hsio_blk_ctrl >; と設定し、代わりに以下の4つのドライバパッチを追加します。
clocks = <&clk IMX8MP_CLK_HSIO_AXI>; ですよね?

3. コミュニティの別の方が先ほど、その4つのパッチを使用したと返信しているのを見ましたが、残念ながら私たちの地域ではそのウェブサイトにアクセスできないようです。何か方法を考えます。もし可能であれば、パッチを直接投稿していただけると助かります。どうもありがとうございます!
Re: imx8mp pcie内部时钟phy poweron failed --> -110

どうやら問題は以前とは違うようです。「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出力は変化しました...

readl_poll_timeoutが成功したので、リセットがハイレベルであることを保証できるはずです。
タグ(1)
評価なし
バージョン履歴
最終更新日:
水曜日
更新者: