Hi,
On one of our custom board with a 66AK2E05 Soc, we have only one MAC to PHY Interface on slave port 0 (eth0). The board is working on ARM Linux using base image from MCSDK 3.1.4 (03.01.04.07) and u-boot is the default code for evm for NAND boot.
Based on the configuration for eval board, we changed the k2e-net.dtsi (see below) to remove the second MAC to PHY interface used for the evaluation board.
By boot up the eth0 Interface is recognized but is not working (Host unreachable by ping). After a first test I defined DEBUG symbol to get more Infos (see the log below).
What is really strange is that we tried the same board with 2 MAC to PHY Interfaces and then the first interface eth0 is working. We looked at the PHY Registers and there are different on the first port, depending if there is a second MAC to PHY interface or not?
What is different by netcp linux driver that makes the lack of a second Interface disturb the first port?
[ 29.301841] usb 1-1.1: configuration #1 chosen from 1 choice [ 29.302495] usb 1-1.1: Successful Endpoint Configure command [ 29.302569] usb 1-1.1: adding 1-1.1:1.0 (config #1, interface 0) [ 29.302842] usb-storage 1-1.1:1.0: usb_probe_interface [ 29.302854] usb-storage 1-1.1:1.0: usb_probe_interface - got id [ 29.302863] usb-storage 1-1.1:1.0: USB Mass Storage device detected [ 29.309935] scsi0 : usb-storage 1-1.1:1.0 [ 29.314679] hub 1-1:1.0: state 7 ports 4 chg 0000 evt 0002 [ 29.314781] hub 2-1:1.0: state 7 ports 4 chg 0000 evt 0000 [ 29.314985] hub 2-1:1.0: hub_suspend [ 29.340602] usb 2-1: usb auto-suspend, wakeup 1 [ 29.360599] hub 2-0:1.0: hub_suspend [ 29.360613] usb usb2: bus auto-suspend, wakeup 1 [ 30.333516] scsi 0:0:0:0: Direct-Access USB DISK 2.0 PMAP PQ: 0 ANSI: 0 CCS [ 30.343272] sd 0:0:0:0: Attached scsi generic sg0 type 0 [ 30.360629] UBI: scanning is finished [ 30.371022] UBI warning: print_rsvd_warning: cannot reserve enough PEBs for bad PEB handling, reserved 40, need 76 [ 30.383499] UBI: attached mtd2 (name "ubifs", size 510 MiB) to ubi0 [ 30.389753] UBI: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes [ 30.396534] UBI: min./max. I/O unit sizes: 2048/2048, sub-page size 2048 [ 30.403228] UBI: VID header offset: 2048 (aligned 2048), data offset: 4096 [ 30.410092] UBI: good PEBs: 4080, bad PEBs: 4, corrupted PEBs: 0 [ 30.416083] UBI: user volume: 5, internal volumes: 1, max. volumes count: 128 [ 30.423207] UBI: max/mean erase counter: 2/0, WL threshold: 4096, image sequence number: 802536635 [ 30.432152] UBI: available PEBs: 0, total reserved PEBs: 4080, PEBs reserved for bad PEB handling: 40 [ 30.441366] UBI: background thread "ubi_bgt0d" started, PID 1362 [ 31.727732] sd 0:0:0:0: [sda] 15634432 512-byte logical blocks: (8.00 GB/7.45 GiB) [ 31.740202] sd 0:0:0:0: [sda] Write Protect is off [ 31.744983] sd 0:0:0:0: [sda] Mode Sense: 23 00 00 00 [ 31.749893] sd 0:0:0:0: [sda] No Caching mode page found [ 31.755193] sd 0:0:0:0: [sda] Assuming drive cache: write through [ 31.774272] sd 0:0:0:0: [sda] No Caching mode page found [ 31.779580] sd 0:0:0:0: [sda] Assuming drive cache: write through [ 31.807477] sda: sda1 [ 31.820243] sd 0:0:0:0: [sda] No Caching mode page found [ 31.825543] sd 0:0:0:0: [sda] Assuming drive cache: write through [ 31.831630] sd 0:0:0:0: [sda] Attached SCSI removable disk [ 31.837295] UBIFS: parse sync [ 31.840744] UBIFS: background thread "ubifs_bgt0_2" started, PID 1368 [ 31.865085] UBIFS: recovery needed [ 31.940477] UBIFS: recovery completed [ 31.944179] UBIFS: mounted UBI device 0, volume 2, name "rootfs" [ 31.950179] UBIFS: LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes [ 31.959301] UBIFS: FS size: 468795392 bytes (447 MiB, 3692 LEBs), journal size 9023488 bytes (8 MiB, 72 LEBs) [ 31.969200] UBIFS: reserved for root: 0 bytes (0 KiB) [ 31.974239] UBIFS: media format: w4/r0 (latest is w4/r0), UUID 9A608203-D9BB-435B-8B24-7F33D12D3904, small LPT model [ 31.985195] VFS: Mounted root (ubifs filesystem) on device 0:12. [ 31.992603] devtmpfs: mounted [ 31.995699] Freeing unused kernel memory: 328K (c0734000 - c0786000) [ 32.563384] udevd[1394]: starting version 182 [ 33.363153] net eth0: rx_pool[0] depth 128, size 1536 [ 33.363162] net eth0: rx_pool[1] depth 128, size 4096 [ 33.363752] net eth0: opened RX channel: ee39b634 [ 33.363780] keystone-netcp 24000000.netcp: initializing cpsw version 1.0 (7) SGMII identification value 0x4ee5 [ 33.373899] net eth0: txpipe nettx0: invalid -> interrupt [ 33.373906] net eth0: opened tx pipe nettx0, depth 32, pause/resume 8/8 [ 33.373913] keystone-netcp 24000000.netcp: Created a cpsw ale engine [ 34.773479] FAT-fs (sda1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck. [ 35.380186] keystone-netcp 24000000.netcp: phy found: id is: 0x24200f00.mdio:00 [ 35.536822] pps pps0: new PPS source ptp0 [ 35.540844] cpts rftclk rate(625000000 HZ),mult(4096),shift(9),div(5) [ 35.547741] keystone-netcp 24000000.netcp: Packet Accelerator PDSP 0 Firmware Version 0x03000105 [ 35.556511] keystone-netcp 24000000.netcp: Packet Accelerator PDSP 1 Firmware Version 0x03000105 [ 35.565288] keystone-netcp 24000000.netcp: Packet Accelerator PDSP 2 Firmware Version 0x03000105 [ 35.574063] keystone-netcp 24000000.netcp: Packet Accelerator PDSP 3 Firmware Version 0x03000105 [ 35.582837] keystone-netcp 24000000.netcp: Packet Accelerator PDSP 4 Firmware Version 0x03000105 [ 35.591707] keystone-netcp 24000000.netcp: Packet Accelerator PDSP 5 Firmware Version 0x03000105 [ 35.600482] keystone-netcp 24000000.netcp: Packet Accelerator PDSP 6 Firmware Version 0x03000105 [ 35.609257] keystone-netcp 24000000.netcp: Packet Accelerator PDSP 7 Firmware Version 0x03000105 [ 35.618030] keystone-netcp 24000000.netcp: Packet Accelerator PDSP 8 Firmware Version 0x03000105 [ 35.626803] keystone-netcp 24000000.netcp: Packet Accelerator PDSP 9 Firmware Version 0x03000105 [ 35.635572] keystone-netcp 24000000.netcp: Packet Accelerator PDSP 10 Firmware Version 0x03000105 [ 35.644436] keystone-netcp 24000000.netcp: Packet Accelerator PDSP 11 Firmware Version 0x03000105 [ 35.653297] keystone-netcp 24000000.netcp: Packet Accelerator PDSP 12 Firmware Version 0x03000105 [ 35.662157] keystone-netcp 24000000.netcp: Packet Accelerator PDSP 13 Firmware Version 0x03000105 [ 35.671018] keystone-netcp 24000000.netcp: Packet Accelerator PDSP 14 Firmware Version 0x03000105 [ 35.681086] net eth0: txpipe patx-pdsp5-0: invalid -> interrupt [ 35.681093] net eth0: opened tx pipe patx-pdsp5-0, depth 1024, pause/resume 17/17 [ 35.727107] net eth0: txpipe qos-bypass-0: invalid -> interrupt [ 35.727115] net eth0: opened tx pipe qos-bypass-0, depth 1024, pause/resume 17/17 [ 35.729243] net eth0: txpipe qos0: invalid -> interrupt [ 35.729250] net eth0: opened tx pipe qos0, depth 64, pause/resume 16/16 [ 35.729375] net eth0: txpipe qos1: invalid -> interrupt [ 35.729381] net eth0: opened tx pipe qos1, depth 64, pause/resume 16/16 [ 35.729497] net eth0: txpipe qos2: invalid -> interrupt [ 35.729503] net eth0: opened tx pipe qos2, depth 64, pause/resume 16/16 [ 35.729620] net eth0: txpipe qos3: invalid -> interrupt [ 35.729626] net eth0: opened tx pipe qos3, depth 64, pause/resume 16/16 [ 35.729747] net eth0: txpipe qos4: invalid -> interrupt [ 35.729753] net eth0: opened tx pipe qos4, depth 64, pause/resume 16/16 [ 35.729877] net eth0: txpipe qos5: invalid -> interrupt [ 35.729884] net eth0: opened tx pipe qos5, depth 64, pause/resume 16/16 [ 35.786596] net eth0: txpipe satx-0: invalid -> interrupt [ 35.786603] net eth0: opened tx pipe satx-0, depth 32, pause/resume 8/8 [ 35.906678] net eth0: netcp device eth0 opened [ 35.911114] net eth0: adding address ff:ff:ff:ff:ff:ff, type 4 [ 35.911137] net eth0: adding address 08:00:28:32:ad:da, type 1 [ 35.911863] net eth0: adding address 33:33:00:00:00:01, type 3 [ 35.912635] net eth0: adding address 01:00:5e:00:00:01, type 3 [ 35.913349] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready [ 35.919196] 8021q: adding VLAN 0 to HW filter on device eth0 [ 35.924843] net eth0: adding rx vlan id: 0 [ 37.375609] libphy: 24200f00.mdio:00 - Link is Down [ 40.373664] libphy: 24200f00.mdio:00 - Link is Up - 1000/Full [ 40.379404] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready [ 40.385794] net eth0: adding address 33:33:ff:32:ad:da, type 3 [ 40.403420] net eth0: packet c0789a80 txs, size 90 (0): 33330000001608002832adda86dd6000ff0200000000000000000001ff32adda [ 40.403436] net eth0: txpipe qos-bypass-0: interrupt -> scheduled [ 40.403450] net eth0: txpipe qos-bypass-0: scheduled -> poll [ 40.403460] net eth0: txpipe qos-bypass-0: poll -> interrupt [ 40.403469] net eth0: txpipe qos-bypass-0 poll count 1024, packets 1 [ 40.473357] net eth0: packet c0789a40 txs, size 78 (1): 3333ff32adda08002832adda86dd6000fe80000000000000080028000132adda [ 40.473369] net eth0: txpipe qos-bypass-0: interrupt -> scheduled [ 40.473379] net eth0: txpipe qos-bypass-0: scheduled -> poll [ 40.473387] net eth0: txpipe qos-bypass-0: poll -> interrupt [ 40.473395] net eth0: txpipe qos-bypass-0 poll count 1024, packets 1 [ 40.533315] net eth0: packet c0789a80 txs, size 90 (3890): 33330000001608002832adda86dd6000ff0200000000000000000001ff32adda [ 40.533327] net eth0: txpipe qos-bypass-0: interrupt -> scheduled [ 40.533337] net eth0: txpipe qos-bypass-0: scheduled -> poll [ 40.533345] net eth0: txpipe qos-bypass-0: poll -> interrupt [ 40.533352] net eth0: txpipe qos-bypass-0 poll count 1024, packets 1 [ 41.472715] net eth0: packet c0789a80 txs, size 70 (-1065439104): 33330000000208002832adda86dd60008500bf1400000000010108002832adda [ 41.472727] net eth0: txpipe qos-bypass-0: interrupt -> scheduled [ 41.472742] net eth0: txpipe qos-bypass-0: scheduled -> poll [ 41.472750] net eth0: txpipe qos-bypass-0: poll -> interrupt [ 41.472758] net eth0: txpipe qos-bypass-0 poll count 1024, packets 1 [ 42.372125] net eth0: packet eca3ba80 txs, size 342 (40): ffffffffffff08002832adda0800450000000000000000000000000000000000 [ 42.372139] net eth0: txpipe qos-bypass-0: interrupt -> scheduled [ 42.372148] net eth0: txpipe qos-bypass-0: scheduled -> poll [ 42.372156] net eth0: txpipe qos-bypass-0: poll -> interrupt [ 42.372164] net eth0: txpipe qos-bypass-0 poll count 1024, packets 1 [ 45.480106] net eth0: packet c0789ac0 txs, size 70 (0): 33330000000208002832adda86dd60008500bf1400000000010108002832adda [ 45.480126] net eth0: txpipe qos-bypass-0: interrupt -> scheduled [ 45.480270] net eth0: txpipe qos-bypass-0: scheduled -> poll [ 45.480282] net eth0: txpipe qos-bypass-0: poll -> interrupt [ 45.480292] net eth0: txpipe qos-bypass-0 poll count 1024, packets 1 [ 45.892194] net eth0: adding address 33:33:00:00:02:02, type 3 [ 45.909831] net eth0: packet ed391ac0 txs, size 90 (-1059344736): 33330000001608002832adda86dd6000ff020000000000000000000000000202 [ 45.909853] net eth0: txpipe qos-bypass-0: interrupt -> scheduled [ 45.909866] net eth0: txpipe qos-bypass-0: scheduled -> poll [ 45.909879] net eth0: txpipe qos-bypass-0: poll -> interrupt [ 45.909891] net eth0: txpipe qos-bypass-0 poll count 1024, packets 1 [ 49.487501] net eth0: packet c0789ac0 txs, size 70 (70): 33330000000208002832adda86dd60008500bf1400000000010108002832adda [ 49.487525] net eth0: txpipe qos-bypass-0: interrupt -> scheduled [ 49.487541] net eth0: txpipe qos-bypass-0: scheduled -> poll [ 49.487554] net eth0: txpipe qos-bypass-0: poll -> interrupt [ 49.487563] net eth0: txpipe qos-bypass-0 poll count 1024, packets 1 [ 49.647386] net eth0: packet ee0d3ac0 txs, size 90 (0): 33330000001608002832adda86dd6000ff020000000000000000000000000202 [ 49.647403] net eth0: txpipe qos-bypass-0: interrupt -> scheduled [ 49.647415] net eth0: txpipe qos-bypass-0: scheduled -> poll [ 49.647425] net eth0: txpipe qos-bypass-0: poll -> interrupt [ 49.647433] net eth0: txpipe qos-bypass-0 poll count 1024, packets 1 [ 65.497063] net eth0: packet ed19ba80 txs, size 342 (40): ffffffffffff08002832adda0800450000000000000000000000000000000000 [ 65.497086] net eth0: txpipe qos-bypass-0: interrupt -> scheduled [ 65.497099] net eth0: txpipe qos-bypass-0: scheduled -> poll [ 65.497111] net eth0: txpipe qos-bypass-0: poll -> interrupt [ 65.497121] net eth0: txpipe qos-bypass-0 poll count 1024, packets 1 [ 68.615025] net eth0: packet ed19ba80 txs, size 342 (40): ffffffffffff08002832adda0800450000000000000000000000000000000000 [ 68.615041] net eth0: txpipe qos-bypass-0: interrupt -> scheduled [ 68.615053] net eth0: txpipe qos-bypass-0: scheduled -> poll [ 68.615063] net eth0: txpipe qos-bypass-0: poll -> interrupt [ 68.615072] net eth0: txpipe qos-bypass-0 poll count 1024, packets 1
Here the change I made in k2e-net.dtsi:
mdio: mdio@24200f00 {
compatible = "ti,davinci_mdio";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x24200f00 0x100>;
bus_freq = <2500000>;
clocks = <&clkcpgmac>;
clock-names = "fck";
phy0: phy@0 {
compatible = "marvell,88e1510";
reg = <0>;
};
};
and by netcp:
slaves {
slave0 {
label = "slave0";
link-interface = <1>;
phy-handle = <&phy0>;
};
slave1 {
label = "slave1";
link-interface = <2>;
};
slave2 {
label = "slave2";
link-interface = <2>;
};
slave3 {
label = "slave3";
link-interface = <2>;
};
slave4 {
label = "slave4";
link-interface = <2>;
};
slave5 {
label = "slave5";
link-interface = <2>;
};
slave6 {
label = "slave6";
link-interface = <2>;
};
slave7 {
label = "slave7";
link-interface = <2>;
};
};
