iMX6 SoloX千兆以太网Linux PHY驱动调试

简介: 最近在iMX6 SoloX平台上调试千兆以太网Linux PHY驱动调试,使用的是RGMII接口类型。RGMII即Reduced GMII,是RGMII的简化版本,将接口信号线数量从24根减少到14根(COL/CRS端口状态指示信号,这里没有画出),时钟频率仍旧为125MHz,TX/RX数据宽度从8为变为4位,为了保持1000Mbps的传输速率不变,RGMII接口在时钟的上升沿和下降沿都采样数据。

在这里有一点需要特别说明下,那就是发送参考时钟GTX_CLK,它和MII接口中的TX_CLK是不同的,MII接口中的TX_CLK是由PHY芯片提供给MAC芯片的,而RGMII接口中的GTX_CLK是由MAC芯片提供给PHY芯片的。
接下来是调试过程以及解决问题:

首先确保MAC控制器驱动fec_main.c和PHY驱动正常加载
根据硬件原理图以及参考板dts文件配置fec1如下:
&fec1 {

pinctrl-names = "default";
pinctrl-0 = <&pinctrl_enet1>;
phy-mode = "rgmii";
phy-handle = <&ethphy1>;
status = "okay";

mdio {
    #address-cells = <1>;
    #size-cells = <0>;

    ethphy1: ethernet-phy@1 {
        reg = <1>;
    };

};

};

相关文章
|
8天前
|
存储 监控 物联网
|
8天前
|
算法 量子技术
|
8天前
|
监控 数据中心 网络架构
|
3月前
|
NoSQL Linux C语言
Linux GDB 调试
Linux GDB 调试
57 10
|
3月前
|
Java Linux API
Linux设备驱动开发详解2
Linux设备驱动开发详解
41 6
|
3月前
|
消息中间件 算法 Unix
Linux设备驱动开发详解1
Linux设备驱动开发详解
46 5
|
3月前
|
NoSQL Linux C语言
嵌入式GDB调试Linux C程序或交叉编译(开发板)
【8月更文挑战第24天】本文档介绍了如何在嵌入式环境下使用GDB调试Linux C程序及进行交叉编译。调试步骤包括:编译程序时加入`-g`选项以生成调试信息;启动GDB并加载程序;设置断点;运行程序至断点;单步执行代码;查看变量值;继续执行或退出GDB。对于交叉编译,需安装对应架构的交叉编译工具链,配置编译环境,使用工具链编译程序,并将程序传输到开发板进行调试。过程中可能遇到工具链不匹配等问题,需针对性解决。
|
3月前
|
Ubuntu Linux
内核实验(四):Qemu调试Linux内核,实现NFS挂载
本文介绍了在Qemu虚拟机中配置NFS挂载的过程,包括服务端的NFS服务器安装、配置和启动,客户端的DHCP脚本添加和开机脚本修改,以及在Qemu中挂载NFS、测试连通性和解决挂载失败的方法。
141 0
内核实验(四):Qemu调试Linux内核,实现NFS挂载
|
3月前
|
Ubuntu NoSQL Linux
Linux内核和驱动
Linux内核和驱动
25 2
|
3月前
|
数据采集 Linux
Linux源码阅读笔记20-PCI设备驱动详解
Linux源码阅读笔记20-PCI设备驱动详解