+ -
当前位置:首页 → 问答吧 → powerpc挂以太网PHY使用MII模式

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;
                        };

但是改了之后网络还是不行,哪位大侠能否给我指点指点?

作者: driversun   发布时间: 2010-09-10

回复 driversun


    有谁熟悉的能否给指点一下哈。

作者: driversun   发布时间: 2010-09-11