日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

海思3559:百兆网口的配置

發(fā)布時間:2023/12/20 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 海思3559:百兆网口的配置 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前言

??海思3559的開發(fā)板網(wǎng)口是默認(rèn)支持千兆/百兆的,這里的自適應(yīng),是從RJ45出來后和PC側(cè)的自適應(yīng),而實(shí)際上3559對于網(wǎng)口的設(shè)置,默認(rèn)都是RGMII模式,除了對應(yīng)的軟件配置,硬件部分需要通過上拉電阻的方法和phy芯片的的支持決定3559最終要選擇那個模式,比如PHY芯片只支持到百兆,硬件部分就需要配置成RMII模式,對應(yīng)的軟件配置也需要對應(yīng)的改為RMII,官方文檔不知道是沒有寫還是太雜了沒找到,這里補(bǔ)充完整的移植方法。此外,不同的SDK版本需要改不同的參數(shù),這里給出Hi3559AV100_SDK_V2.0.3.1的改法用于參考

Uboot:

配置表格:

??/Hi3559AV100_SDK_V2.0.3.1/osdrv/tools/pc/uboot_tools/Hi3559AV100-DMEB_8L_T-DDR4_2664M_4GB_16bitx4-A73_1608M.xlsm其中的IOCFG_REG87要從0x91改為0x94,具體含義參考pinout表格

頭文件

??/Hi3559AV100_SDK_V2.0.3.1/osdrv/opensource/uboot/u-boot-2016.11/include/configs/hi3559av100.h要把phy0(看具體使用情況)工作模式同樣改為rmii

kernel

設(shè)備樹:

??Hi3559AV100_SDK_V2.0.3.1/osdrv/opensource/kernel/linux-4.9.y_multi-core/arch/arm64/boot/dts/hisilicon路徑下
??.hi3559av100-demb-flash.dtb.dts.tmp修改

??hi3559av100-demb.dts修改

補(bǔ)充說明

??phy的具體配置可以參考廠家提供的技術(shù)手冊
??軟件到手后,最基本的可以在uboot階段通過mii指令,讀到phy寄存器正確的狀態(tài)

mii

mii - MII utility commands
Usage:
mii device - list available devices
mii device - set current device
mii info - display MII PHY info
mii read - read MII PHY register
mii write - write MII PHY register
mii dump - pretty-print (0-5 only)

??mii device示例,會輸出MDC/MDIO總線設(shè)備

uboot>mii device MII devices: 'FSL_MDIO0' 'FM_TGEC_MDIO' Current device: 'FSL_MDIO0'

??mii info打印輸出,PHY后面跟的就是addr

uboot> mii info PHY 0x00: OUI = 0x5043, Model = 0x1D, Rev = 0x01, 1000baseT, FDX PHY 0x01: OUI = 0x0000, Model = 0x00, Rev = 0x00, 10baseT, HDX PHY 0x02: OUI = 0x0000, Model = 0x00, Rev = 0x00, 10baseT, HDX PHY 0x03: OUI = 0x0000, Model = 0x00, Rev = 0x00, 10baseT, HDX PHY 0x04: OUI = 0x0000, Model = 0x00, Rev = 0x00, 10baseT, HDX PHY 0x05: OUI = 0x0000, Model = 0x00, Rev = 0x00, 10baseT, HDX PHY 0x06: OUI = 0x0000, Model = 0x00, Rev = 0x00, 10baseT, HDX PHY 0x07: OUI = 0x0000, Model = 0x00, Rev = 0x00, 10baseT, HDX

??mii read - read MII PHY register
??mii write - write MII PHY register

??上述兩個命令,需要根據(jù)具體的芯片手冊寄存器設(shè)置來進(jìn)行配置。以下命令為示例

mii write 0 0 0x8000 向地址為0的phy芯片的0寄存器寫入0x8000mii read 0 0 讀取地址為0的phy芯片的寄存器0的值

??部分uboot也支持直接使用mdio指令,需要時自行查錄

奇怪的問題:讀寄存器狀態(tài)不對

??如果連讀寄存器的狀態(tài)都存在問題時,(博主遇到了讀同樣的寄存器,連著讀讀到的值竟然不一樣,有00有ff有正常的0x7949)首先需要協(xié)調(diào)硬件工程師 就復(fù)位,時鐘,電源挨個檢查,大概率是硬件問題。最后果然檢查到電源部分有個電阻阻值不對,導(dǎo)致工作電壓不穩(wěn)定進(jìn)而影響了寄存器的配置

總結(jié)

以上是生活随笔為你收集整理的海思3559:百兆网口的配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。