当前位置: 技术问答>linux和unix
powerpc挂以太网PHY使用MII模式
来源: 互联网 发布时间:2017-04-02
本文导语: 我用的ppc405ex的CPU,网口用的PHY是Micrel KSZ8041,连成了MII模式,把uboot和linux都改了点东西,但是改了后在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 {
linux,network-index = ;
device_type = "network";
compatible = "ibm,emac-405ex", "ibm,emac4sync";
interrupt-parent = ;
interrupts = ;
#interrupt-cells = ;
#address-cells = ;
#size-cells = ;
interrupt-map = ;
reg = ;
local-mac-address = [000000000000]; /* Filled in by U-Boot */
mal-device = ;
mal-tx-channel = ;
mal-rx-channel = ;
cell-index = ;
max-frame-size = ;
rx-fifo-size = ;
tx-fifo-size = ;
phy-mode = "mii";
phy-address = ;
rgmii-device = ;
rgmii-channel = ;
has-inverted-stacr-oc;
has-new-stacr-staopc;
};
但是改了之后网络还是不行,哪位大侠能否给我指点指点?
我在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 {
linux,network-index = ;
device_type = "network";
compatible = "ibm,emac-405ex", "ibm,emac4sync";
interrupt-parent = ;
interrupts = ;
#interrupt-cells = ;
#address-cells = ;
#size-cells = ;
interrupt-map = ;
reg = ;
local-mac-address = [000000000000]; /* Filled in by U-Boot */
mal-device = ;
mal-tx-channel = ;
mal-rx-channel = ;
cell-index = ;
max-frame-size = ;
rx-fifo-size = ;
tx-fifo-size = ;
phy-mode = "mii";
phy-address = ;
rgmii-device = ;
rgmii-channel = ;
has-inverted-stacr-oc;
has-new-stacr-staopc;
};
但是改了之后网络还是不行,哪位大侠能否给我指点指点?
|
改之前是可以的?
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。