サイト内検索

Intel:Cyclone® V SoC FPGA の Ethernet MAC Controller について、MDIO/MDC の使い方を教えてください。

SoC FPGA

カテゴリ:SoC
ツール:-
デバイス:Cyclone® V


MDIO の制御は、下記の 2つのレジスタで行います。
・Register 4 (GMII Address Register)
・Register 5 (GMII Data Register)

トリガに関しては、Register 4 の gb ビット(bit0)で与える仕組みとなります。

リード時は、gb ビットに 1:Busy をセットする事で MDIO の送受信が開始され、完了すると gb ビットが 0:Not Busy にクリアされます。
(その後で Register 5 のデータを参照。)

ライト時は、Register 5 に書き込むデータをセットした後で、Register 4 をセット(gb=1:Busy)します。
リード時と同様に gb ビットに 1:Busy をセットする事で MDIO の送受信が開始され、完了すると gb ビットが 0:Not Busy にクリアされます。

参考にできる情報として、u-boot, linux のドライバ処理が参照できます。
それぞれ下記のファイル/関数にて、Register 4/5 の制御を行っています。

u-boot
ファイル:drivers/net/designware.c
関数:eth_mdio_read, eth_mdio_write

linux
ファイル:drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c
関数:stmmac_mdio_read, stmmac_mdio_write


経験豊富なFAEが
無料でご相談を承ります。

特定製品の仕様からパーツの選定まで、当社のFAEが皆様のテクニカルなお悩みに無料で回答します。ぜひ、お気軽にご相談ください。