调试交换芯片RTL8364总结

调试平台

主控芯片:IMX8MM
交换芯片:RTL8364
Linux内核版本:5.4.47
采用方式:mac to mac

设备树上的配置

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210209102119541.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L25ld2JlZV9zY2Nj,size_16,color_FFFFFF,t_70#pic_center)
交换芯片挂载在i2c2下,主控芯片通过i2c对交换芯片进行控制。对其完成初始化之后,就再也没有其他的操作了,完成初始化之后,把交换芯片配置成强制1000M模式,所以采用的连接应该是macTomac的方式。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210209102211976.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L25ld2JlZV9zY2Nj,size_16,color_FFFFFF,t_70#pic_center)
主控芯片采用固定连接的方式,把它强制设置成1000M双工模式,一般来说,只要主控芯片的配置如下所示,那么你用示波器去量取cpu发出的时钟信号,应该是能量取得到的,如果没有,需要与硬件进行沟通,是不是主控芯片的mac控制器没有使能(我做这个的时候,前面配置好了但是一直量取不到时钟信号,我以为是我配置错了,后面硬件才明白过来需要一个使能电压来让mac控制器工作)。

​ 对于RGMII来说,特别注意一下phy-mode模式的选择,如下:

 * "rgmii" (RX and TX delays are added by the MAC when required)
  * "rgmii-id" (RGMII with internal RX and TX delays provided by the PHY, the
     MAC should not add the RX or TX delays in this case)
  * "rgmii-rxid" (RGMII with internal RX delay provided by the PHY, the MAC
     should not add an RX delay in this case)
  * "rgmii-txid" (RGMII with internal TX delay provided by the PHY, the MAC
     should not add an TX delay in this case)
对于TX delay和RX delay来说,这个是可以在交换芯片的配置上实现的,具体的要看RTL8364NB的代码与芯片手册了。注意delay的值调试的时候最好不要设置成0,我拿到代码的时候,TX_delay就是0值,结果会导致CPU收不到包,只能看到CPU的TX一直发出去的包。
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值