工具与软件:
你(们)好
我们在 定制 AM64X 板中使用 Linux 上的 CPSW 端口。
无法对 PC 执行 ping 操作。
AM64x 定制板 IP:192.168.1.10
PC IP:192.168.1.100
PHY DP83822通过 RMII 接口连接到 AM64x。
以下是 dmesg 日志
[ 1.287904] Davinci_MDIO 8000f00.MDIO:在手动模式下配置 MDIO
[ 1.321722] Davinci_MDIO 8000f00.MDIO:Davinci MDIO 修订版9.7、总线频率1000000
[ 1.329227] TI DP83822 8000f00.MDIO:00:dp83822_Read_strap MII_DP83822_SOR1[0x467] VAL:[0x43f3]*****
[ 1.329245] TI DP83822 8000f00.MDIO:00:dp83822_config_intrxxx *
[ 1.329889] Davinci_MDIO 8000f00.MDIO:PHY[0]:器件8000f00.MDIO:00、驱动程序 TI DP83822
[1.330103] am65-cpsw-nuss 8000000.ethernet:initialized cpsw ale version 1.4
[ 1.335939] am65-cpsw-nuss 8000000.ethernet:cpts ver 0x4e8a010c、freq:500000000、add_val:1pps:0
[ 1.353671] am65-cpsw-nuss 8000000.ethernet:set new flow-id-base 16.
[ 1.373892] am65-cpts 39000000.cpts:cpts ver 0x4e8a010c、freq:500000000、add_val:1pps:0
[ 14.757272] am65-cpsw-nuss 80000.ethernet eth0:phy [8000f00.MDIO:00]驱动器[TI DP83822](IRQ=poll)
[ 14.757303] am65-cpsw-nuss 8000000.ethernet eth0:配置 phy/RMII 链路模式
[ 17.828388] IPv6:ADDRCONF (NETDEV_CHANGE):eth0:链路准备就绪
我们就能够读取 PHY DP83822寄存器
其他信息如下。
root@am64xx-evm:~# ifconfig
eth0:flags=4163 MTU 1500
INET 192.168.1.10 网络掩码255.255.255.0 广播192.168.1.255
inet6 fe80::1e63:49ff:fe10:63d1 prefixlen 64 scopeid 0x20.
以太网1c:63:49:10:63:D1 txqueuelen 1000 (以太网)
RX 数据包0 字节0 (0.0B)
RX 错误0 丢弃0 溢出0 帧0
TX 数据包38 字节4838 (4.7KiB)
TX 错误0 丢弃0溢出0 载波0 冲突0
Lo: flags=73. MTU 65536
INET 127.0.0.1 网络掩码255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10.
loop txqueuelen 1000 (本地环回)
RX 数据包95 字节7834 (7.6 KiB)
RX 错误0 丢弃0 溢出0 帧0
TX 数据包95 字节7834 (7.6 KiB)
TX 错误0 丢弃0溢出0 载波0 冲突0
root@am64xx-evm:~# ethtool eth0
eth0的设置:
支持的端口:[ TP MII ]
支持的链路模式: 10baseT/half 10baseT/full
100baseT/half 100baseT/Full
支持的暂停帧使用:对称
支持自动协商:可以
支持的 FEC 模式:未报告
广播链路模式: 10baseT/half 10baseT/full
100baseT/half 100baseT/Full
广播暂停帧使用:对称
广播的自动协商:是
通告的 FEC 模式:未报告
链路伙伴通告的链路模式: 10BaseT /半10 baseT/full
100baseT/half 100baseT/Full
连接方广播的暂停帧使用:对称仅接收
连接方广播了自动协商:是
连接伙伴通告的 FEC 模式:未报告
速度:100MB/s
双工:全双工
自动协商:开启
端口:双绞线
PHYAD:0
收发器:外部
MDI-X:未知
支持唤醒:GS
唤醒:d.
SecureOn 密码:00:00:00:00:00
当前消息级别:0x000020f7 (8439)
对于 ifup rx_err tx_err HW、请使用 DRV probe 链路 ifdown
检测到链路:是
我们的修改后的器件树
cpsw3g (&C){
状态="正常";
pinctrl-names ="默认值";
pinctrl-0 =<&R mii1_pins_default>;
/*将 HW8_TS_PUSH 映射到 GENF1 */
/* CPTS@3d000 {
ti、pps =<7 1>;
};*/
};
&cpsw3g_mdio{
状态="正常";
pinctrl-names ="默认值";
pinctrl-0 =<&mdio1_pins_default>;
// RESET-GPIOs = <&MCU_GPIO0 4 GPIO_ACTIVE_LOW>; //由我们注释
// reset-delay-us =<2>; //由我们注释
cpsw3g_py0:ethernet-phy@0{
状态="正常";
Compatible ="ti、dp83822"、"ethernet-phy-IEEE802.3-c22"、"TI DP83822";
REG =<0>;
};
};
rmii1_pins_default:rmii1-pins-default{
PINCTL-SINGLE、PINS =<
AM64X_IOPAD (0x0154、PIN_INPUT、5)/*(V12) PRG1_PRU1_GPO19.RMII1_CRS_DV */
AM64X_IOPAD (0x0124、PIN_INPUT、5)/*(V15) PRG1_PRU1_GPO7.RMII1_RXD0 */
AM64X_IOPAD (0x012c、PIN_INPUT、5)/*(V14) PRG1_PRU1_GPO9.RMII1_RXD1 */
AM64X_IOPAD (0x00dc、PIN_INPUT、5)/*(U15) PRG1_PRU0_GPO9.RMII1_RX_ER */
AM64X_IOPAD (0x0130、PIN_OUTPUT、5)/*(W14) PRG1_PRU1_GPO10.RMII1_TXD0 */
AM64X_IOPAD (0x014c、PIN_OUTPUT、5)/*(AA14) PRG1_PRU1_GPO17.RMII1_TXD1 */
AM64X_IOPAD (0x0150、PIN_OUTPUT、5)/*(Y13) PRG1_PRU1_GPO18.RMII1_TX_EN */
AM64X_IOPAD (0x00e0、PIN_OUTPUT、5)/*(U14) PRG1_PRU0_GPO10.RMII_REF_CLK */
>;
};
cpsw_port1{
状态="正常";
PHY 模式="RMII";
phy-handle =<&cpsw3g_phy0>;
};
请帮助 我们解决问题。




