yt8531s net phy调试记录

yt8531s net phy调试记录本文详细记录了针对 YT8531S 网络 PHY 的驱动调试过程 包括链路原理 寄存器访问方法 MDIO 通讯和 RK3399 平台的配置

大家好,欢迎来到IT知识分享网。

双网卡调试记录
1.主链路:
这里插入图片描述

2.链路原理:
主要目的是完成由MCU控制的yt8531,实现该phy的光电转换,输入可以是光信号或者插入光信号的电信号;
将光信号变成电信号;然后经过rk3399控制的yt8531;
3.yt8531寄存器介绍:
在这里插入图片描述

寄存器类型及访问方法:
分三类:
MII 寄存器( Media independent interface MII register,以下简写为 mii_reg)
Ext扩展寄存器( extendedregister,以下简写为 ext_reg)
MMD 寄存器(MDIO Managable Device 简写为 mmd_reg)
地址空间:
在这里插入图片描述

//ext 寄存器写
void yt8531s_ext_write(uint8_t phyaddr, uint16_t regaddr, uint16_t data)
{

yt8531_mdio_write(phyaddr,0x1e,regaddr);
yt8531_mdio_write(phyaddr,0x1f,data);
}
//ext 寄存器读
uint16_t yt8531s_ext_read(uint8_t phyaddr, uint16_t regaddr)
{

uint16_t data=0;
yt8531_mdio_write(phyaddr,0x1e,regaddr);
data=yt8531_mdio_read(phyaddr,0x1f);
return data;
}
MII寄存器写
void yt8531_mdio_write(uint8_t phyaddr, uint8_t regaddr, uint16_t data)
MII寄存器读
uint16_t yt8531_mdio_read(uint8_t phyaddr, uint8_t regaddr)
注意:读写
3.1访问ext寄存器时(包括 commom ext 跟sds ext,及phy ext);用法如下:
写: yt8531s_ext_write(phyaddr, regaddr, data)
或者 yt8531_mdio_write(phyaddr,0x1e,regaddr);
yt8531_mdio_write(phyaddr,0x1f,data);
读: yt8531s_ext_read(phyaddr, regaddr)
yt8531_mdio_write(phyaddr,0x1e,regaddr);
data = yt8531_mdio_read(phyaddr,0x1f);

3.2访问SDS MII寄存器
必须先切换数据到SDS yt8531s_ext_write(phyaddr,0xa000, 0x2)
写: yt8531_mdio_write(phyaddr, regaddr, data);

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/147867.html

(0)
上一篇 2025-04-04 15:10
下一篇 2025-04-04 15:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信