08 RK3568 MAC TO MAC直连 RTL8367S mdio

本文:采用rk3568 gamc0 通过rgmii直连 交换芯片的mac口 通信方法为mdio
主要流程为:(1)编写设备树配置gmac(2)编写mdio读写函数,将函数移植到交换芯片的接口中(3)编写8367的ko prob匹配函数,在函数中初始化交换芯片

1、修改rk3568的gamc0、mdio0

修改设备树,需要注意
(1)clock_in_out必须为输出保证
(2)所编译的设备树文件的gamc0内不存在phy的节点配置,否则fixed-link不生效,会报以下的错

rk_gmac-dwmac fe2a0000.ethernet eth1: Could not attach to PHY 
rk_gmac-dwmac fe2a0000.ethernet eth1: stmma
MDIO (Management Data Input/Output) 是一种广泛用于网络设备管理的串行接口标准,它允许通过一根线缆传输数据到网络控制器,如RTL8367S这样的嵌入式路由器芯片。控制RTL8367s的MDIO过程通常包括以下几个步骤: 1. **初始化**: 首先,需要配置系统硬件来连接MDIO总线,通常这涉及到设置相应的GPIO管脚作为MDIO的数据线(DIN)、地址线(MDIO_ADDR)以及片选信号(MDIO_CS)。 2. **选择地址**: MDIO操作时需要确定目标设备的地址。对于RTL8367s,你需要将MDIO_ADDR线上适当的值设为你要通信的子模块的地址(例如,MAC控制器的地址可能是0x10或0x11等)。 3. **发送命令**: 使用MDIO的数据线(DIN)发送你要读取或写的寄存器地址,通常会加上特定的前缀(比如0x00或0x1E)表示操作类型(读或写)。 4. **读取/写入**: 如果是读取,保持MDIO-CS低并等待数据从DOUT返回;如果是写入,则写入数据后释放MDIO-CS信号,让芯片接收数据。 5. **处理响应**: 对于读操作,收集返回的数据并解析;对于写操作,确认是否有ACK(确认应答)信号表示写操作成功。 6. **循环交互**: 可能需要多次的读写交互才能完成复杂的管理任务,例如获取状态信息、配置参数等。 **相关问题--:** 1. MDIO通常用于哪些具体的管理和监控操作? 2. 如何确保MDIO通信不会受到干扰或冲突? 3. 如何通过SDK或API进行MDIO编程?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值