在u-boot和linux里面都是这样
我用的ppc405ex的CPU,网口用的PHY是Micrel KSZ8041,连成了MII模式,把uboot和linux都改了点东西,但是改了后在u-boot里面和linux里面网口发送和接收数据好像都不行。但是把板子通过网口连到电脑上,电脑的网络显示是连接的。还有一个现象是把板子连到电脑上后在板子上ping电脑,发现板子网口上有一个LED灯是常亮的,还有一个闪的比较慢,基本上过一两秒钟闪一下,在u-boot和linux里面都是这样。
我在u-boot里改了include/configs/kilauea.h文件(因为用的CPU是ppc405ex,所以也借用了AMCC的kilauea demo板的配置),把网络部分改成下面:
#define CONFIG_MII 1
//# define CONFIG_PHY_CLOCK_FREQ 25000000
//#define CONFIG_M88E1111_PHY 1
#define CONFIG_IBM_EMAC4_V4 1
//#define CONFIG_EMAC_PHY_MODE EMAC_PHY_MODE_RGMII_RGMII
#define CONFIG_EMAC_PHY_MODE EMAC_PHY_MODE_NONE_MII
#define CONFIG_PHY_ADDR 1 /* PHY address, See schematics */
#define CONFIG_PHY_RESET 1 /* reset phy upon startup */
//#define CONFIG_PHY_GIGE 1 /*disable Include GbE speed/duplex detection */
#define CONFIG_HAS_ETH0 1
//#define CONFIG_HAS_ETH1 1 /* disable add support for "eth1addr" */
//#define CONFIG_PHY1_ADDR 2
把linux的设备树(dtb)也改了一下(arch/powerpc/boot/dts/kilauea.dts) ,重新编译出kilauea.dtb。kilauea.dts的网络部分修改如下(主要是phy-mode改成MII):
EMAC0: ethernet@ef600900 {