开发板用的网络芯片是RTL8201
uboot:
我在u-boot/drivers/net中没找到RTL8201的驱动文件,只看见
rtl8019.c
rtl8139.c
rtl8169.c
并且我对uboot重新编译后也没发现该文件夹下生成任何.o文件,
那么uboot是怎么把网络芯片的驱动编译进去的呢?
在u-boot/include/configs/seeddvs365.h发现网络配置如下:
/*==================================*/
/* Network & Ethernet Configuration */
/*==================================*/
#define CONFIG_DRIVER_TI_EMAC
#define CONFIG_MII
#define CONFIG_BOOTP_DEFAULT
#define CONFIG_BOOTP_DNS
#define CONFIG_BOOTP_DNS2
#define CONFIG_BOOTP_SEND_HOSTNAME
#define CONFIG_NET_RETRY_COUNT 10
好像也跟RTL8201没关系?
内核:
在内核配置菜单中没看见选中任何phy芯片的驱动
Device Drivers/Network device support/PHY device support
— PHY Device support and infrastructure — MII PHY device drivers < > Drivers for Marvell PHYs < > Drivers for Davicom PHYs < > Drivers for Quality Semiconductor PHYs < > Drivers for the Intel LXT PHYs < > Drivers for the Cicada PHYs < > Drivers for the Vitesse PHYs < > Drivers for SMSC PHYs < > Drivers for ICPlus PHYs < > Drivers for Broadcom PHYs < > Drivers for PHY emulation on fixed speed/link
在驱动的文件夹下也没找到RTL8201的驱动文件,内核又是怎么把驱动编译进去的呢?
zhimin zhu:
回复 sheng zhou:
既然不用驱动,那我的PHY可以随便更换么?我的dm368的uboot可以找到phy,可我的linux kernel却找不到phy?难道ti的dm368 uboot和linux kernel网络之间有关联?谢谢
sheng zhou:
回复 zhimin zhu:
可以更换PHY芯片的,常用的是可以的,他们的寄存器定义基本上一致,如果不一样,可以更改寄存器定义
zhimin zhu:
回复 sheng zhou:
你好,你说DM368自带MAC,请问实现网卡的驱动文件在哪里?我不是很明白,linux的网卡驱动是指实现mac的驱动?那为什么linux的网络驱动里还有实现rtl8109, cs8900等phy的驱动呢?谢谢
zhimin zhu:
回复 zhimin zhu:
那网卡驱动到底是什么呢?既然 phy是通用的,那网卡驱动就是实现mac的了?那为什么在linux的网络驱动里还有很多phy的网卡驱动文件呢?谢谢
sheng zhou:
回复 zhimin zhu:
linux的网络驱动除了对几个特定的PHY芯片的寄存器进行特殊处理外,没有什么驱动,你例举芯片请查清是带MAC的吗?不再回复
zhimin zhu:
回复 sheng zhou:
基本明白了,非常感谢你的讲解