powerpc挂以太网PHY使用MII模式
时间:2010-09-10
来源:互联网
我用的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 = <0x0>;
device_type = "network";
compatible = "ibm,emac-405ex", "ibm,emac4sync";
interrupt-parent = <&EMAC0>;
interrupts = <0x0 0x1>;
#interrupt-cells = <1>;
#address-cells = <0>;
#size-cells = <0>;
interrupt-map = </*Status*/ 0x0 &UIC0 0x18 0x4
/*Wake*/ 0x1 &UIC1 0x1d 0x4>;
reg = <0xef600900 0x000000c4>;
local-mac-address = [000000000000]; /* Filled in by U-Boot */
mal-device = <&MAL0>;
mal-tx-channel = <0>;
mal-rx-channel = <0>;
cell-index = <0>;
max-frame-size = <9000>;
rx-fifo-size = <4096>;
tx-fifo-size = <2048>;
phy-mode = "mii";
phy-address = <1>;
rgmii-device = <&RGMII0>;
rgmii-channel = <0>;
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 = <0x0>;
device_type = "network";
compatible = "ibm,emac-405ex", "ibm,emac4sync";
interrupt-parent = <&EMAC0>;
interrupts = <0x0 0x1>;
#interrupt-cells = <1>;
#address-cells = <0>;
#size-cells = <0>;
interrupt-map = </*Status*/ 0x0 &UIC0 0x18 0x4
/*Wake*/ 0x1 &UIC1 0x1d 0x4>;
reg = <0xef600900 0x000000c4>;
local-mac-address = [000000000000]; /* Filled in by U-Boot */
mal-device = <&MAL0>;
mal-tx-channel = <0>;
mal-rx-channel = <0>;
cell-index = <0>;
max-frame-size = <9000>;
rx-fifo-size = <4096>;
tx-fifo-size = <2048>;
phy-mode = "mii";
phy-address = <1>;
rgmii-device = <&RGMII0>;
rgmii-channel = <0>;
has-inverted-stacr-oc;
has-new-stacr-staopc;
};
但是改了之后网络还是不行,哪位大侠能否给我指点指点?
作者: driversun 发布时间: 2010-09-10
回复 driversun
有谁熟悉的能否给指点一下哈。
有谁熟悉的能否给指点一下哈。
作者: driversun 发布时间: 2010-09-11
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28