GETH(RGMII)でリセットが解除されない。

Tip / ログイン to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
toratora_th
Level 3
Level 3
Distributor - Macnica (Japan)
25 sign-ins 5 questions asked First solution authored

TC397を使用してPHYのない状態でGETHを動作させ、ノイズを評価する回路を動作させようとしています。

PHYインターフェイスはRGMIIを使用してTXdataを出力させたいと思っています。

PHYはないので、データは出力しっぱなしになります。

外部で125MHzのクロックを作ってGREFCLKRXCLKに供給しています。

しかし、GETHDMA_MODE.SWRが解除されません。

レジスタGPCTL.B.EPR = 1;(RGMII)GPCTL.B.ALTI0 = 2GPCTL.B.ALTI1 = 2、としています。

RXCLKC:P12.0

MDIOC:P12.1

なぜ、リセットが解除されないのかご教示お願いします。

0 件の賞賛
1 解決策
toratora_th
Level 3
Level 3
Distributor - Macnica (Japan)
25 sign-ins 5 questions asked First solution authored

情報ありがとうございました。

まだ不明点はあるのですが、RXCLKAに2.5MHzを供給することで、リセットが解除されました。ご対応いただき助かりました。誠にありがとうございました。

元の投稿で解決策を見る

8 返答(返信)
Takashi_M
Moderator
Moderator
Moderator
1000 replies posted 500 solutions authored 750 replies posted

只今、確認しております。

分かり次第、ご連絡申し上げます。

0 件の賞賛
toratora_th
Level 3
Level 3
Distributor - Macnica (Japan)
25 sign-ins 5 questions asked First solution authored

コメントありがとうございます。

色々試して、1つ発見したことがあります。

処理開始時にCLC.B.DISR = 0を行ってGETHクロックを有効にしますが、その瞬間からSWR=1となって解除されません。念のため、情報として共有させていただきます。

0 件の賞賛

CLC=0の時点でSWRビットが立っているとのことですが、CCUCONでGETHモジュールへのクロック供給は正しくされているでしょうか。

CCUCON5の設定値をご覧いただいてもよろしいでしょうか。

0 件の賞賛
toratora_th
Level 3
Level 3
Distributor - Macnica (Japan)
25 sign-ins 5 questions asked First solution authored

コメントありがとうございます。

fGETHは150MHzで供給されております。

CCUCON5=0x132、fPLL0=300MHz、

fGeth = IfxScuCcu_getGethFrequency();でも確認しました。fGeth=1.5E+08です。

0 件の賞賛

ご確認ありがとうございます、承知いたしました。

その場合ですとGREFCLKとRXCLKが正しく入力されていない事が考えられます。GREFCLK,RXCLKのポートは正しくトグルしているでしょうか。

なお、RGMIIをご使用の際、DatasheetにはRGMII can use RXCLKA onlyと記載がございますが、RXCLKCに入力されているようです。こちらはご記載の通りでしょうか。RXCLKAに信号を入力すると状況は変わるでしょうか。

(追記:最新のTC39xのデータシートではRGMIIはRXCLKAのみという注記が消えておりました、失礼いたしました。)

0 件の賞賛
toratora_th
Level 3
Level 3
Distributor - Macnica (Japan)
25 sign-ins 5 questions asked First solution authored

情報ありがとうございました。

まだ不明点はあるのですが、RXCLKAに2.5MHzを供給することで、リセットが解除されました。ご対応いただき助かりました。誠にありがとうございました。

toratora_th様、

RXCLKCに供給したまま、GPCTL.ALT1=2としてリセットビットが解除されるのを待ってから、GPCTL.EPR=1に設定するといかがでしょうか。

私の手元のデバッガ環境ではRXCLKCにクロックを供給した状態で(RXCLKAではなく)上記の通り設定するとリセットが解除されました。

0 件の賞賛
toratora_th
Level 3
Level 3
Distributor - Macnica (Japan)
25 sign-ins 5 questions asked First solution authored

再度情報共有させていただきます。

我々の評価ボードでは、起動時からGREFCLKとRXCLKに125MHzのクロックを供給しています。これが問題なのでしょうか。

0 件の賞賛