主题中讨论的其他器件:AM625
您好、TI!
我使用 SDK :08_06_00_42
内核:TI-RT-Linux-5.10.y
我的定制电路板 使用 RMII ETH PHY RTL8201和 ETH PHY DP83822。
为了支持 PHY RTL8201和 DP83822,配置内核
CONFIG_NET_VENDOR_REALTEK=y CONFIG_DP83822_PHY=y CONFIG_REALTEK_PHY=y
并修改 k3-am62x-sk-common.dtsi、
&main_pmx0 {
main_mdio1_pins_default: main-mdio1-pins-default {
pinctrl-single,pins = <
AM62X_IOPAD(0x160, PIN_OUTPUT, 0) /* (AD24) MDIO0_MDC */
AM62X_IOPAD(0x15c, PIN_INPUT, 0) /* (AB22) MDIO0_MDIO */
>;
};
main_rmii1_pins_default: main-rmii1-pins-default {
pinctrl-single,pins = <
AM62X_IOPAD(0x14c, PIN_INPUT, 1) /* (AB17) RMII1_RXD0 */
AM62X_IOPAD(0x150, PIN_INPUT, 1) /* (AC17) RMII1_RXD1 */
AM62X_IOPAD(0x148, PIN_INPUT, 1) /* (AD17) RMII1_REF_CLK */
AM62X_IOPAD(0x144, PIN_INPUT, 1) /* (AE17) RMII1_RX_ER */
AM62X_IOPAD(0x134, PIN_OUTPUT, 1) /* (AE20) RMII1_TXD0 */
AM62X_IOPAD(0x138, PIN_OUTPUT, 1) /* (AD20) RMII1_TXD1 */
AM62X_IOPAD(0x130, PIN_OUTPUT, 1) /* (AE19) RMII1_CRS_DV */
AM62X_IOPAD(0x12c, PIN_OUTPUT, 1) /* (AD19) RMII1_TX_EN */
>;
};
main_rmii2_pins_default: main-rmii2-pins-default {
pinctrl-single,pins = <
AM62X_IOPAD(0x184, PIN_INPUT, 1) /* (AE23) RMII2_RXD0 */
AM62X_IOPAD(0x188, PIN_INPUT, 1) /* (AB20) RMII2_RXD1 */
AM62X_IOPAD(0x180, PIN_INPUT, 1) /* (AD23) RMII2_REF_CLK */
AM62X_IOPAD(0x17c, PIN_INPUT, 1) /* (AD22) RMII2_RX_ER */
AM62X_IOPAD(0x16c, PIN_OUTPUT, 1) /* (Y18) RMII2_TXD0 */
AM62X_IOPAD(0x170, PIN_OUTPUT, 1) /* (AA18) RMII2_TXD1 */
AM62X_IOPAD(0x168, PIN_OUTPUT, 1) /* (AE21) RMII2_CRS_DV */
AM62X_IOPAD(0x164, PIN_OUTPUT, 1) /* (AA19) RMII2_TX_EN */
>;
};
}
&cpsw3g {
pinctrl-0 = <&main_mdio1_pins_default
&main_rmii1_pins_default
&main_rmii2_pins_default>;
};
&cpsw_port1 {
phy-mode = "rmii";
phy-handle = <&cpsw3g_phy0>;
};
&cpsw_port2 {
phy-mode = "rmii";
phy-handle = <&cpsw3g_phy1>;
};
&cpsw3g_mdio {
#address-cells = <1>;
#size-cells = <0>;
cpsw3g_phy0: ethernet-phy@0 {
reg = <0>;
};
cpsw3g_phy1: ethernet-phy@1 {
reg = <1>;
rx-internal-delay-ps = <1>;
tx-internal-delay-ps = <1>;
};
};
tnen i boot board ,
1.
有一个特殊情况, 我只连接 一个端口上的 ethnet ,
但启动日志中显示 了两个端口检测 ethnet 连接 开启。
Dtsi 设置错误吗? 如何设置是正确的?
[ 9.754121] am65-cpsw-nuss 8000000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
[ 9.754240] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 10.617878] am65-cpsw-nuss 8000000.ethernet eth1: Link is Up - 100Mbps/Full - flow control rx/tx
[ 10.617953] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
2.
当我使用 ping 时,得到错误作为 folw,驱动程序是否有问题?
root@am62xx-evm:~# ifconfig eth0 192.168.1.55 root@am62xx-evm:~# ping 192.168.1.10 PING 192.168.1.10 (192.168.1.10): 56 data bytes [ 202.038374] ------------[ cut here ]------------ [ 202.038393] NETDEV WATCHDOG: eth1 (am65-cpsw-nuss): transmit queue 0 timed out [ 202.038478] WARNING: CPU: 1 PID: 22 at net/sched/sch_generic.c:467 dev_watchdog+0x374/0x380 [ 202.038509] Modules linked in: xhci_plat_hcd xhci_hcd usbcore rpmsg_char dwc3 udc_core usb_common cdns_csi2rx v4l2_fwnode irq_pruss_intc pru_rproc crct10dif_ce snd_soc_simple_card snd_soc_simple_card_utils ti_k3_r5_remoteproc virtio_rpmsg_bus dwc3_am62 rti_wdt ti_k3_m4_remoteproc j721e_csi2rx videobuf2_dma_contig sa2ul sha512_generic mcrc videobuf2_memops authenc cdns_dphy pruss videobuf2_v4l2 videobuf2_common tps6598x typec roles snd_soc_tlv320aic3x sch_fq_codel cryptodev(O) ipv6 [ 202.038608] CPU: 1 PID: 22 Comm: ksoftirqd/1 Tainted: G O 5.10.168-rt83-geae3e59505 #1 [ 202.038618] Hardware name: Texas Instruments AM625 SK (DT) [ 202.038623] pstate: 40000005 (nZcv daif -PAN -UAO -TCO BTYPE=--) [ 202.038630] pc : dev_watchdog+0x374/0x380 [ 202.038637] lr : dev_watchdog+0x374/0x380 [ 202.038642] sp : ffff800011473c20 [ 202.038644] x29: ffff800011473c20 x28: ffff0000013d7b00 [ 202.038650] x27: 0000000000000004 x26: 0000000000000180 [ 202.038656] x25: 00000000ffffffff x24: 0000000000000001 [ 202.038662] x23: ffff00000171f3e0 x22: ffff00000171f000 [ 202.038667] x21: ffff00000171f4b0 x20: ffff8000110e9000 [ 202.038673] x19: 0000000000000000 x18: 0000000000000000 [ 202.038679] x17: 0000000000000000 x16: 0000000000000000 [ 202.038684] x15: ffff000000160560 x14: ffffffffffffffff [ 202.038690] x13: ffff800011224b86 x12: ffff800011224b79 [ 202.038695] x11: 0000000000000001 x10: ffff80001110adc8 [ 202.038701] x9 : 00000000fffffffe x8 : 64656d6974203020 [ 202.038706] x7 : 6575657571207469 x6 : ffff800011473a70 [ 202.038712] x5 : ffff00003fda3b40 x4 : 0000000000000000 [ 202.038717] x3 : 0000000000000027 x2 : 0000000100000000 [ 202.038723] x1 : b415e6dc6b870e00 x0 : 0000000000000000 [ 202.038729] Call trace: [ 202.038733] dev_watchdog+0x374/0x380 [ 202.038739] call_timer_fn.isra.0+0x24/0x80 [ 202.038754] run_timer_softirq+0x4d4/0x548 [ 202.038761] efi_header_end+0x110/0x214 [ 202.038768] run_ksoftirqd+0x50/0xb8 [ 202.038775] smpboot_thread_fn+0x2e4/0x330 [ 202.038783] kthread+0x174/0x198 [ 202.038791] ret_from_fork+0x10/0x30 [ 202.038798] ---[ end trace 0000000000000002 ]--- [ 203.039052] am65-cpsw-nuss 8000000.ethernet eth1: txq:0 DRV_XOFF:0 tmo:9800 dql_avail:-2 free_desc:507 [ 207.926394] am65-cpsw-nuss 8000000.ethernet eth1: txq:0 DRV_XOFF:0 tmo:14688 dql_avail:-2 free_desc:507 [ 213.046388] am65-cpsw-nuss 8000000.ethernet eth1: txq:0 DRV_XOFF:0 tmo:19808 dql_avail:-2 free_desc:507 [ 217.910390] am65-cpsw-nuss 8000000.ethernet eth1: txq:0 DRV_XOFF:0 tmo:24672 dql_avail:-2 free_desc:507 [ 223.030390] am65-cpsw-nuss 8000000.ethernet eth1: txq:0 DRV_XOFF:0 tmo:29792 dql_avail:-2 free_desc:507 [ 227.894387] am65-cpsw-nuss 8000000.ethernet eth1: txq:0 DRV_XOFF:0 tmo:34656 dql_avail:-2 free_desc:507 [ 233.014387] am65-cpsw-nuss 8000000.ethernet eth1: txq:0 DRV_XOFF:0 tmo:39776 dql_avail:-2 free_desc:507 [ 238.134391] am65-cpsw-nuss 8000000.ethernet eth1: txq:0 DRV_XOFF:0 tmo:44896 dql_avail:-2 free_desc:507 [ 242.998389] am65-cpsw-nuss 8000000.ethernet eth1: txq:0 DRV_XOFF:0 tmo:49760 dql_avail:-2 free_desc:507 [ 248.118390] am65-cpsw-nuss 8000000.ethernet eth1: txq:0 DRV_XOFF:0 tmo:54880 dql_avail:-2 free_desc:507 [ 252.982389] am65-cpsw-nuss 8000000.ethernet eth1: txq:0 DRV_XOFF:0 tmo:59744 dql_avail:-2 free_desc:507 [ 258.102389] am65-cpsw-nuss 8000000.ethernet eth1: txq:0 DRV_XOFF:0 tmo:64864 dql_avail:-2 free_desc:507 [ 262.966386] am65-cpsw-nuss 8000000.ethernet eth1: txq:0 DRV_XOFF:0 tmo:69728 dql_avail:-2 free_desc:507 [ 268.086392] am65-cpsw-nuss 8000000.ethernet eth1: txq:0 DRV_XOFF:0 tmo:74848 dql_avail:-2 free_desc:506 [ 271.926388] am65-cpsw-nuss 8000000.ethernet eth0: txq:0 DRV_XOFF:0 tmo:7600 dql_avail:-334 free_desc:506 [ 272.950388] am65-cpsw-nuss 8000000.ethernet eth1: txq:0 DRV_XOFF:0 tmo:79712 dql_avail:-2 free_desc:506 [ 277.046386] am65-cpsw-nuss 8000000.ethernet eth0: txq:0 DRV_XOFF:0 tmo:12720 dql_avail:-334 free_desc:506 [ 278.070390] am65-cpsw-nuss 8000000.ethernet eth1: txq:0 DRV_XOFF:0 tmo:84832 dql_avail:-2 free_desc:506 [ 281.910393] am65-cpsw-nuss 8000000.ethernet eth0: txq:0 DRV_XOFF:0 tmo:17584 dql_avail:-334 free_desc:506 [ 282.934388] am65-cpsw-nuss 8000000.ethernet eth1: txq:0 DRV_XOFF:0 tmo:89696 dql_avail:-2 free_desc:506 [ 287.030389] am65-cpsw-nuss 8000000.ethernet eth0: txq:0 DRV_XOFF:0 tmo:22704 dql_avail:-334 free_desc:506 [ 288.054389] am65-cpsw-nuss 8000000.ethernet eth1: txq:0 DRV_XOFF:0 tmo:94816 dql_avail:-2 free_desc:506 [ 291.894390] am65-cpsw-nuss 8000000.ethernet eth0: txq:0 DRV_XOFF:0 tmo:27568 dql_avail:-334 free_desc:506 [ 292.918391] am65-cpsw-nuss 8000000.ethernet eth1: txq:0 DRV_XOFF:0 tmo:99680 dql_avail:-2 free_desc:506