(1)以太網(wǎng)PHY芯片驅(qū)動(dòng)及接口
瑞芯微在設(shè)計(jì)RK 系列主控芯片時(shí),有內(nèi)置以太網(wǎng)MAC 控制器,通常只需要搭配一顆以太網(wǎng)PHY芯片,即可實(shí)現(xiàn)以太網(wǎng)卡功能。
根據(jù)規(guī)范,不同廠家的PHY芯片,一般有一部分寄存器的定義是通用的,只需配置了這些通用的寄存器,基本上PHY 就可以正常工作。對(duì)應(yīng)Linux 系統(tǒng),一般驅(qū)動(dòng)中會(huì)自帶有通用的PHY 驅(qū)動(dòng)。特另是RK3288之前芯片所配套的SDK 中使用的都是通用驅(qū)動(dòng),如果不需要使用PHY 廠家提供的自定義的寄存器配置實(shí)現(xiàn)一些個(gè)性化的功能,那么PHY 的驅(qū)動(dòng)就不需要修改。從RK3288 之后的SDK 開始,原廠則帶有各個(gè)PHY 廠家在Linux 上提供驅(qū)動(dòng)的配置,但基本上,各家的驅(qū)動(dòng)差異很小,基本上也是調(diào)用通用驅(qū)動(dòng)的接口,像目前10/100M 以太網(wǎng)PHY 與MAC 之間的接口主要有MII 和RMII,而10/100/1000M 以太網(wǎng)PHY 與MAC 之間的接口則主要為RGMII。從這個(gè)角度來(lái)講,RK主控基本上是支持大部分PHY芯片。如需獲取PHY驅(qū)動(dòng)移植更多設(shè)置信息,歡迎隨時(shí)交流:QQ:2335804557,手機(jī):18576699326,孫生。
(2)RK3288常配合的以太網(wǎng)PHY芯片
10M/100M網(wǎng)絡(luò)PHY芯片:LAN8720(SMSC,目前屬于MicroChip)、RTL8201F (REALTEK)、AR8032(Atheros)、IP101GR(ICPLUS)、DM9161(Davicom);
10M/100M/1000M網(wǎng)絡(luò)PHY芯片:RTL8211E(REALTEK)、RTL8211F(REALTEK);
(3)MAC地址設(shè)置問(wèn)題
每個(gè)以太網(wǎng)設(shè)備只有唯一的MAC 地址,所以需要有一個(gè)地方用來(lái)存儲(chǔ)這個(gè)唯一的地址,同時(shí)在打開以太網(wǎng)時(shí)讀取出這個(gè)地址,并寫入PHY 寄存器。SDK 提供了四種獲取以太網(wǎng)MAC 地址的方法:
a.存儲(chǔ)在NAND的IDB中
首先要保證kernel中的配置CONFIG_ETH_MAC_FROM_IDB已打開其次要使用燒,寫工具UpgradeDllTool將地址寫入,燒寫工具在SDK 中有提供。
b.存儲(chǔ)在EEPROM中
首先要保證kernel中的配置CONFIG_ETH_MAC_FROM_EEPROM已打開,其次EEPROM 的驅(qū)動(dòng)見drivers/staging/rk29/eeprom,根據(jù)不同型號(hào)請(qǐng)自行作相應(yīng)修改
c.使用WiFi的MAC地址
該種方法的原理是在系統(tǒng)啟動(dòng)時(shí)自動(dòng)加載一次Wi-Fi驅(qū)動(dòng),同時(shí)將Wi-Fi 的MAC 地址
讀出并存儲(chǔ)在/data分區(qū)的一個(gè)文件中,以太網(wǎng)打開時(shí),讀取該文件中的地址。首先要保證kernel中的配置CONFIG_ETH_MAC_FROM_WIFI_MAC已打開,其次要保證Android 上wlan_mac 程序存在,且已在init.rc或init.rkxx.rc中已添加如下
腳本
servicewlan_mac /system/bin/wlan_mac
classmain
oneshot
以太網(wǎng)驅(qū)動(dòng)讀取地址的代碼存于drivers/net/eth_mac,請(qǐng)根據(jù)實(shí)際需求修改此代碼。
由于不同的網(wǎng)絡(luò)設(shè)備的MAC 地址必須是唯一的,所以請(qǐng)考慮使用這種方法的風(fēng)險(xiǎn)性。
d.使用隨機(jī)地址
若上述三種方法均未采用,驅(qū)動(dòng)中會(huì)在每次打開以太網(wǎng)時(shí)隨機(jī)生成MAC 地址
由于不同的網(wǎng)絡(luò)設(shè)備的MAC 地址必須是唯一的,所以請(qǐng)考慮使用這種方法的風(fēng)險(xiǎn)性。
(4)關(guān)于引腳復(fù)用問(wèn)題
對(duì)于RK3288,在使用以太網(wǎng)PHY時(shí),還需注意主控GMAC RGMII IO引腳與其它功能的復(fù)用,常見的復(fù)用包括RMII與sdmmc, Flash與sdio1復(fù)用,,需要確認(rèn)IOMUX 狀態(tài)是否正確,可通過(guò)io命令直接查看GRF 寄存器確認(rèn)。
欲了解更多PHY芯片調(diào)試信息,歡迎隨時(shí)交流:QQ:2335804557,手機(jī):18576699326,孫生。
(以上信息由深圳桑尼奇科技有限公司提供)
評(píng)論列表: