ak491980

ak491980

0个粉丝

34

问答

0

专栏

8

资料

ak491980  发布于  2020-02-29 19:20:42
采纳率 0%
34个问答
3102

Atheros 8035型号的phy使用注意事项

 
该型号的PHY在GTX_CLK管脚上的延迟需要通过配置debug寄存器来实现,而不是像通用的PHY一样,在硬件链路上通过添加器件实现

相关寄存器描述如下:


通过mdio操作如下寄存器可以对debug寄存器进行读写操作:





操作示例如下:
uboot下:

[code]mw 0x101c0014 0x5
mw 0x101c0010 0x1743
mw 0x101c0014 0x0100
mw 0x101c0010 0x1783
[/code]

kernel下:
在drivers/net/stmmac/stmmac_main.c文件的stmmac_open函数中加入如下操作:
priv->mii->write(priv->mii, 0x2, 0x1d, 0x5);
priv->mii->write(priv->mii, 0x2, 0x1e, 0x0100);

[code]该型号的PHY调试中出现过boot下百兆不通,读寄存器发现被适应成千兆;这是因为该PHY寄存器0F的读取值应该为0x2000,但实际值为0xA000,这样驱动的算法会得出该速率为千兆的能力[/code]

解决办法请直接注掉uboot下文件common/miiphyutil.c中红色部分

[code]函数int miiphy_speed (char *devname, unsigned char addr)
{
        u16 bmcr, anlpar;
        u16 btsr, val;
        miiphy_read(devname,addr,PHY_BMSR,&val);
        if(val & BMSR_ESTATEN){
#if 0
                if (miiphy_is_1000base_x (devname, addr)) {
                        return _1000BASET;
                }
#endif
[/code]


我来回答
回答1个
时间排序
认可量排序

qn1579076259

0个粉丝

2

问答

0

专栏

0

资料

qn1579076259 2020-03-05 10:45:09
认可0
终于搞定了,楼主牛逼,谢谢分享:)
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区