cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Observer
Observer
2,130 Views
Registered: ‎06-16-2018

Re: Dual Marvell 88e1512 PHY Ethernet problem - Xilinx LInux

Jump to solution

could you share a example based on 88e1512 with me ?thanks

0 Kudos
Highlighted
Newbie
Newbie
1,426 Views
Registered: ‎03-19-2019

Re: Dual Marvell 88e1512 PHY Ethernet problem - Xilinx LInux

Jump to solution

Can you provide a complete device tree

0 Kudos
Highlighted
Observer
Observer
1,407 Views
Registered: ‎05-04-2015

Re: Dual Marvell 88e1512 PHY Ethernet problem - Xilinx LInux

Jump to solution
Hi,
Our board is a custom board, and all the relevant sections of the device tree have been posted.
0 Kudos
Highlighted
Observer
Observer
1,153 Views
Registered: ‎02-12-2019

Re: Dual Marvell 88e1512 PHY Ethernet problem - Xilinx LInux

Jump to solution

I had did as you said.

But the eth2 can't get IP. and there is no RX packages.

 

root@localhost:~# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0a:35:00:01:22
inet addr:192.168.1.101 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20a:35ff:fe00:122/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:12 errors:0 dropped:0 overruns:0 frame:0
TX packets:33 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3618 (3.6 KB) TX bytes:6211 (6.2 KB)
Interrupt:145 Base address:0xb000

eth2 Link encap:Ethernet HWaddr 00:0a:35:00:00:01
inet6 addr: fe80::20a:35ff:fe00:1/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:3854 (3.8 KB)
Interrupt:146 Base address:0xc000

0 Kudos
Highlighted
Adventurer
Adventurer
526 Views
Registered: ‎11-05-2018

Re: Dual Marvell 88e1512 PHY Ethernet problem - Xilinx LInux

Jump to solution

Hi,

I am having an issue where on our custom-board with Xilinx Ultrascale (RFSOC) device is connected to GbE via GEM3 using a SINGLE Marvell 88e1512 PHY. What I find is that the macb driver does not seem to detect the PHY device, and so eth0 does not get activate. In the boot log I see.

 

0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] arch_timer: cp15 timer(s) running at 50.00MHz (phys).
[ 5.497700] libphy: Fixed MDIO Bus: probed
[ 5.519795] macb ff0e0000.ethernet: Not enabling partial store and forward
[ 5.527034] libphy: MACB_mii_bus: probed

while what I expect to see is:

1.778017] macb ff0e0000.ethernet: Not enabling partial store and forward
[ 1.778391] libphy: MACB_mii_bus: probed
1.781754] macb ff0e0000.ethernet eth0: Cadence GEM rev 0x50070106 at 0xff0e0000 irq 31 (00:0a:35:00:22:01)
[ 1.781773] TI DP83867 ff0e0000.ethernet-ffffffff:0c: attached PHY driver [TI DP83867] (mii_bus:phy_addr=ff0e0000.ethernet-ffffffff:0c, irq=POLL)


When I setup debug commands in the macb driver I can infer that macb_mii_init function call returns an error, and so there is solid evidence that the macb driver cannot find/probe my PHY device using the macb driver call. 

I am trying to root-cause and solve. My device tree looks is.

 

/include/ "system-conf.dtsi"
/ {
compatible = "xlnx,zynqmp";

chosen {
bootargs = "console=ttyPS0,115200 earlycon clk_ignore_unused earlyprintk uio_pdrv_genirq.of_id=generic-uio";
stdout-path = "serial0:115200n8";
};

pss_ref_clk {
clock-frequency = <0x2faf080>;
};


mdio@0xff0e0000 {
compatible = "cdns,macb-mdio";
interrupt-parent = <&gic>;
interrupts = <0 63 4>, <0 63 4>;
reg = <0x0 0xff0e0000 0x0 0x1000>;
clock-names = "pclk", "hclk", "tx_clk";
#address-cells = <1>;
#size-cells = <0>;
phy-handle = <&phy1>;
phy-mode = "rgmii-id";
phy1: phy@1 {
reg = <1>;
compatible = "marvell";
device_type = "ethernet-phy";
ti,rx-internal-delay = <0x8>;
ti,tx-internal-delay = <0xa>;
ti,fifo-depth = <0x1>;
ti,rxctrl-strap-worka;
};
};
};


&gem3 {
status = "okay";
local-mac-address = [00 0a 35 00 22 05];
phy-handle = <&phy1>;
phy-mode = "rgmii-id";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gem3_default>;
fixed-link {
speed = <1000>;
full-duplex;
};
};

&pinctrl0 {
status = "okay";

pinctrl_usb0_default: usb0-default {
mux {
groups = "usb0_0_grp";
function = "usb0";
};

conf {
groups = "usb0_0_grp";
slew-rate = <1>;
io-standard = <1>;
};

conf-rx {
pins = "MIO52", "MIO53", "MIO55";
bias-high-impedance;
};

conf-tx {
pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59",
"MIO60", "MIO61", "MIO62", "MIO63";
bias-disable;
};
};

pinctrl_gem3_default: gem3-default {
mux {
function = "ethernet3";
groups = "ethernet3_0_grp";
};

conf {
groups = "ethernet3_0_grp";
slew-rate = <0x1>;
io-standard = <0x1>;
};

conf-rx {
pins = "MIO70", "MIO71", "MIO72", "MIO73", "MIO74", "MIO75";
bias-high-impedance;
low-power-disable;
};

conf-tx {
pins = "MIO64", "MIO65", "MIO66", "MIO67", "MIO68", "MIO69";
bias-disable;
low-power-enable;
};

mux-mdio {
function = "mdio3";
groups = "mdio3_0_grp";
};

conf-mdio {
groups = "mdio3_0_grp";
slew-rate = <0x1>;
io-standard = <0x1>;
bias-disable;
};
};
};

 

Lastly, and perhaps most puzzling piece is that the Ethernet port works ok during U-Boot since I boot off the network which validates the underlying hardware.

 

Any thoughts will be much appreciated.

Chintan

0 Kudos
Highlighted
Adventurer
Adventurer
99 Views
Registered: ‎03-06-2015

Re: Dual Marvell 88e1512 PHY Ethernet problem - Xilinx LInux

Jump to solution

we are also using same PHY and common MDIO for boath EMAC. zynq processor is XC7Z100FFG1156I.

 

and  @charleeh 

 

 

 

 

you said modify device tree at top level means which file?

 

plnx_project/components/plnx_workspace/device-tree/device-tree/ this folder contains

1) system-top.dts

2) system-conf.dtsi

and more but these are not editable. then in which file i need to modify?

0 Kudos