网卡驱动9-linux内核3.0.8的mdio_bus\phy_device\phy_driver

本文详细介绍了Linux内核3.0.8中针对网卡驱动和PHY设备的交互,涉及GMII、RGMII接口,以及MDIO总线、PHY设备和驱动的使用。在启动过程中,PHY设备通过读取MII寄存器ID进行匹配注册,驱动程序如genphy_driver会尝试连接PHY设备。对于特定PHY设备如Realtek RTL8211EG,若内核中没有匹配的驱动,则会使用通用驱动genphy_driver。
摘要由CSDN通过智能技术生成

上次说了MII

还有RMII GMII RGMII、SGMII等,

GMII:

与MII接口相比,GMII的数据宽度由4位变为8位, 发送参考时钟GTX_CLK和接收参考时钟RX_CLK的频率均为125MHz(1000Mbps/8=125MHz)。支持MII模式。这个GMII可用于1000M网。

RGMII:

由于GMII线太多,RGMII把数据位宽变为4位,在时钟的上升沿和下降沿都采样数据。

本人现在用的1000M网卡用的急速RGMII接口。同时支持MII。

 

我当前用的SOC集成了MAC,有两个MAC,支持MII和RGMII,一个MDIO接口。

我的硬件是有两个网口,一个MAC对应一个PHY,一个MDIO总线上接两个PHY。一个PHY地址ID为1,另一个为2。内核驱动STMicroelectronics 公司的stmmac/,版本linux-3.0.8

看一下stmmac的源码,可以看出phy管理用的不是我们上篇说的mii.c。而是drivers/net/phy/下的东西。

我们关心的代码是phy.c phy_device.c mdio_bus.c 还有include /linux/phy.h

这些东西的使用和上次的mii.c使用比较的话,会给人一种总线、设备、驱动的概念。不是想上次的mii就是提供mdio读写去操作mii接口。

Bus:

struct mii_bus {
	const char *name;
	char id[MII_BUS_ID_SIZE];
	void *priv;
	int (*read)(struct mii_bus *bus, int phy_id, int regnum);
	int (*write)(struct mii_bus *bus, int phy_id, int regnum, u16 val);
	int (*reset)(struct mii_bus *bus);

	/*
	 * A lock to ensure that only one thing can read/write
	 * the MDIO bus at a time
	 */
	struct mutex mdio_lock;

	struct device *parent;
	enum {
		MDIOBUS_A
adas智能辅驾-v3.0.8_20180330_092714.apk是一款车载安全辅助应用程序。它的名字中的ADAS代表高级驾驶辅助系统(Advanced Driver Assistance Systems)。随着科技的不断进步,ADAS成为了现代汽车领域的一个重要发展方向。 这个apk文件的版本号为v3.0.8,时间戳为20180330_092714,意味着它是在2018年3月30日上午9点27分14秒发布的最新版本。这表明该应用程序经过了一定的开发和改进工作。 ADAS智能辅驾通过使用不同的传感器和摄像头,采集车辆周围的实时数据,以帮助驾驶员更安全地驾驶。它可以提供许多功能,包括车道偏离警示、碰撞警报、行人识别、交通标志识别和自适应巡航控制等。 车道偏离警示功能可以通过识别车辆是否偏离车道,并向驾驶员发出提示或警告,帮助驾驶员保持车辆在正确的车道上行驶。碰撞警报功能可以检测前方的障碍物,并在可能发生碰撞的情况下向驾驶员发出警示,以避免事故的发生。 行人识别功能可以通过识别行人的存在,并在必要时向驾驶员发出警告,以避免撞人事故的发生。交通标志识别功能可以识别道路上的交通标志,并在驾驶员靠近或超过相关标志时提醒驾驶员了解相关的交通规则和限制。 自适应巡航控制功能可以根据前方车辆的速度和跟车距离自动调节车辆的速度,以维持安全的跟车距离,减少驾驶员的操作压力。 ADAS智能辅驾-v3.0.8_20180330_092714.apk是一款非常有用的车载应用程序,它可以提高驾驶安全性,减少事故发生的可能性,为驾驶员提供更好的驾驶体验。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值