デバイスドライバ開発めも

LINUXでLANドライバを調査したときのめも。
Etherドライバだけ見てたので、他を見落としてた。

 

・Etherドライバ
IntelとかRealtekのコントローラチップ制御

・EtherPHY
MIIとかRGMIIの物理レイヤー

・EtherPHYを制御するインターフェース
MDIOなどのバスIF

 

・ソフトウェアの構成

Etherドライバ
+ BUS(BUS IF driver) / BUS interface
+ PHY(Driver PHY) / PHY device

BUS
+ PHY(Driver PHY) / PHY device

 

・Etherドライバ(driver/net/ethernet)
バスとPHY層を生成し、制御をする。
・BUS IF(driver/net/phy/mdio_bus.c)
接続されたPHYを制御する。
・PHYデバイス(driver/net/phy/phy_device.c)
制御コマンドを実行する。