刚买的板子 PHY 为 RTL8201, 而 SDK 里的是 RTL8211. 刚开始没注意到这个问题, 烧录后发现网络不通. 需要更改 uboot 及 kernel. 现在记录如下:
一: UBOOT
修改 /include/configs/hi3516a.h
/*-----------------------------------------------------------------------
* network config
-----------------------------------------------------------------------*/
.....
#define CONFIG_CMD_MII
#define CONFIG_CMD_RMII // justchen 增加: RMII RTL8201
#define CONFIG_SYS_FAULT_ECHO_LINK_DOWN 1
/*-----------------------------------------------------------------------
* HIETH-GMAC driver
-----------------------------------------------------------------------*/
..
/* #define CONFIG_HIGMAC_PHY2_ADDR 2 */
#define CONFIG_HIGMAC_PHY1_INTERFACE_MODE 1 // justchen 修改: 0:MII 1:RMII 2:GRMII
/* #define CONFIG_HIGMAC_PHY2_INTERFACE_MODE 2 */
...
其实在这里还可以把默认 IP 这些改改, 注意 phy 地址与 RMII MII 模式需要与原理图对应
修改好后编译 uboot.bin
然后还需要修改 excel 中的 muxctrl_reg93 项 , 将值改为 2. 在 uboot 模式下应该能顺利连网了
二: 内核
在内核 menuconfig 中找不到 rmii rgmii 的选项. 不过在 http://www.ebaina.com/bbs/thread-7876-1-1.html 中有大神提到
hieth-gmac phy0 interface mode. |
| 1---MII, |
| 5---RMII, |
| 6---RGMII. |
| Symbol: HIGMAC_PHY0_INTERFACE_MODE [=5] |
| Type : integer |
| Range : [1 6] |
| Prompt: hieth-gmac phy0 interface mode |
| Defined at drivers/net/ethernet/hieth-gmac/Kconfig:46 |
| Depends on: NETDEVICES [=y] && ETHERNET [=y] && HIETH_GMAC [=y] |
| Location: |
| -> Device Drivers |
| -> Network device support (NETDEVICES [=y]) |
| -> Ethernet driver support (ETHERNET [=y]) |
| -> hieth gmac family network device support (HIETH_GMAC [=y])
所以找到 hieth-gmac phy0 interface mode 将默认的 6 改为 5 即 RMII 模式. 收工!
正文完