3519v101的uboot的RTL8201百兆网卡配置

1.烧写

其中部分文件我已经修改过,下面全面描述修改的过程。

2.修改头文件配置

1)修改配置文件hi3519v101.h

2)修改内容为:

3)修改原因:

在\u-boot-2010.06\drivers\net\higmacv300中看到网卡的设备信息为:

a.设置PHY的工作模式

struct higmac_board_info

         enum if_mode phy_intf;

                   enum if_mode

因为RTL8201最大支持百兆,因此选择interface_mode_rmii;也就是枚举的第二个元素,下标为1;

#define CONFIG_HIGMAC_PHY1_INTERFACE_MODE   1

b.设置PHY的地址

这个地址是和PHY的硬件配置是一致的。我们来看下:

因此PHY地址为0x1,也就是1;

#define CONFIG_HIGMAC_PHY1_ADDR           1

3.修改配置excell

hisilicon\hi3519v101\hi3519v101\osdrv\tools\pc\uboot_tools\Hi3519V101-DMEB-uboot-DDR3_1866M_32bit_1GB-A7_792M-A17_930M-BUS_200M.xls

a.首先要知道,一般uboot默认是千兆网卡RGMII,同时支持RMII。那么如何将RGMII改成RMII模式,需要对硬件接线图有个了解:

 我们可以明显看出:数据线个数不一样,时钟不一样。先不管数据线,RGMII的MAC和PHY的时钟收发有两个TXCLK和RXCLK,而RMII的时钟MAC和PHY是共用的。这是个配置的点!

b.我们在数据手册中搜索下RMII,找个关于RMII的寄存器:

这个我们不管。

一般来说,我们在头文件中定义了RMII模式,这里不需要再设置了,我们先不管,如果有错我们再来改。

  这里我们没有修改什么!

c.管脚复用,我们找到管脚分布表,打开,在《3.管脚复用寄存器模块》查找RMII的内容

E:\嵌入式软件及资料\Hisilicon\Hi3519v101\Hi3519V101R001C02SPC030\Hi3519V101R001C02SPC030\00.hardware\chip\document_cn

这里既是我们需要设置的RMII_CLK。数据线是共用的,PHY会自动识别是几根线并使用,如果用不到就不管。

那我们再回到配置表中:修改reg80的寄存器的值为3:

至此我们的修改全部完成。我们点击按钮生成配置reg bin文件:

4.编译----》拷贝-----》生成uboot.bin文件

         make ARCH=arm CROSS_COMPILE=arm-hisiv600-linux- hi3519v101 _config

         make ARCH=arm CROSS_COMPILE=arm-hisiv600-linux-

将生成的 u-boot.bin 复制到 osdrv/tools/pc_tools/uboot_tools/ 目录

         ./mkboot.sh reg_info.bin uboot.bin

         将生成可用的 uboot.bin 镜像文件

 

5.再次烧录与ping

成功!