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

成功!