工具与软件:
我们 正在 RMII 从配置中使用 TI DP83825I 以太网 PHY、其配备的 Ambarella CV25 SOC 运行 Linux 内核5.4。
通过以下设备树绑定配置、我们能够使以太网在 RMII 主模式下工作。 应根据电路板正确配置 pinctrls、电源和复位 GPIO。
DTSI:
mac0:以太网@e000e000{
兼容="ambarella、eth";
#address-cells =<1>;
#size-cells =<0>;
REG =<0xe000e000 0x2000>;
interrupts =<0 58 0x4>;
pinctrl-names ="默认值";
pinctrl-0 =<&RMII_PINS>;
PHY 模式="RMII";
AMB、RCT-regmap =<&RCT_SYSCON>;
AMB、SCR-regmap =<&scratchpad_SYSCON>;
AMB、TX-Ring-Size =<32>;
AMB、Rx-Ring-Size =<64>;
AMB、IPC-TX;
AMB、IPC-Rx;
Amb、增强;
AMB、AHB-12MHz-div =<5>;
时钟名称="ptp_ref";
Clocks=(&O);
};
DTS:
mac0:以太网@e000e000{
状态="正常";
pinctrl-0 =<&RMII_PINS &enet_2nd_ref_clk_pins_a>;
PHY 模式="RMII";
amb、tx-clk-invert;
PHY@0{
REG =<0>;
PWR-GPIO =<&GPIO 94 0x1>;
RST-GPIO =<&GPIO 35 0x0>;
txen-skave-ps =<0>;
rxdv-skyte-ps =<0>;
rxd0-skyte-ps =<0>;
rxd1-skyte-ps =<0>;
rxd2-skyte-ps =<0>;
rxd3-skyte-ps =<0>;
txd0-skave-ps =<0>;
txd1-skave-ps =<0>;
txd2-skave-ps =<0>;
txd3-skave-ps =<0>;
};
};
我们无法使以太网在 RMII 从模式下工作、"eth0"接口使用 IP 地址但 ping 无效。
我们已在硬件配置中将 DP83825I 的"RX_D1"设置为"1"。 我们已确保为 TI DP83825I PHY 提供50 MHz 时钟以支持从操作。 此外、还为 MAC 提供了相同的50 MHz 时钟。

在从模式下配置时、我们将获得 ifconfig、ethtool 和 IP 命令的以下输出。
# ifconfig
eth0 Link encap:以太网 HWaddr 2E:35:4D:41:BF
iNet addr:192.168.1.250 Bcast:192.168.1.255 掩码:255.255.255.0
上广播多播 MTU:1500 公制:1
RX 数据包:0错误:0丢弃:0溢出:0帧:0
TX 数据包:0错误:0丢弃:0溢出:0载波:0
冲突:0 txqueuelen:1000
RX 字节:0 (0.0 B) TX 字节:0 (0.0 B)
中断:28
LO Link encap:局部环回
iNet 地址:127.0.0.1 掩码:255.0.0.0
运行 MTU:65536 公制:1的上环回
RX 数据包:0错误:0丢弃:0溢出:0帧:0
TX 数据包:0错误:0丢弃:0溢出:0载波:0
冲突:0 txqueuelen:1000
RX 字节:0 (0.0 B) TX 字节:0 (0.0 B)
# ethtool eth0
eth0的设置:
支持的端口:[ TP MII ]
支持的链接模式: 未报告
支持的暂停帧使用:仅对称接收
支持自动协商:否
通告的链路模式: 未报告
广播的暂停帧使用:否
广播的自动协商:否
速度:10MB/s
双工:半双工
端口:MII
PHYAD:0
收发器:内部
自动协商:关闭
当前消息级别:0x00000001 (1)
DRV
检测到链路:否
# IP A
1:低: MTU 65536 qdisc noqueue qlen 1000
链接/回送00:00:00:00:00:00 BRD 00:00:00:00:00:00
INET 127.0.0.1/8 范围主机
VALID_LFT FOREVER PREFPTED_LFT FOREVER
2:eth0: MTU 1500 qdisc pfifo_fast qlen 1000
Link/ether 2e:35:35:4D:41:bf brd ff:ff:ff:ff:ff:ff
INET 192.168.1.250/24 BRD 192.168.1.255范围全局 noprefixroute eth0
VALID_LFT FOREVER PREFPTED_LFT FOREVER
环回 ping 在从模式下正常工作:
# ping 127.0.0.1
Ping 127.0.0.1 (127.0.0.1):56个数据字节
64字节、从 127.0.0.1开始:Seq=0 TTL=64时间=0.132ms
从 127.0.0.1开始的64个字节:SEQ=1 TTL=64时间=0.049ms
您能否说明为了实现 RMII 从模式运行、需要对软件进行哪些 DTSI/DTS 更改?



