cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
carl711
Visitor
Visitor
1,122 Views
Registered: ‎05-29-2019

Ethernet error: PHY not found

Hi,

I am working on a custom board, we have used KSZ9031 Gigabit Ethernet Transceiver.

When I boot the board in u-boot it says 

(1) mdio_register: non unique device name 'eth0'

(2)No ethernet found

 

And in the Kernel it says fixed-link has invalid PHY ADDRESS.

This is my device-tree

&gem0 {
	status = "okay";
 	xlnx,has-mdio = <0x01>;
	phy-handle = <&phy0>;
	phy-mode = "rgmii-id";
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_gem0_default>;
	local-mac-address = [00 0a 35 00 02 92];
	fixed-link {
		speed = <100>;
		full-duplex;
	};
	
	phy0: phy@0 {
		reg = <0x00>;
		device_type = "ethernet-phy";
		compatible = "micrel,ksz9031";
	};
};


pinctrl_gem0_default: gem0-default {
		mux {
			function = "ethernet0";
			groups = "ethernet0_0_grp";
		};

		conf {
			groups = "ethernet0_0_grp";
			slew-rate = <SLEW_RATE_SLOW>;
			io-standard = <IO_STANDARD_LVCMOS33>;
		};

		conf-rx {
			pins = "MIO32", "MIO33", "MIO34", "MIO35", "MIO36",
									"MIO37";
			bias-high-impedance;
			low-power-disable;
		};

		conf-tx {
			pins = "MIO26", "MIO27", "MIO28", "MIO29", "MIO30",
									"MIO31";
			bias-disable;
			low-power-enable;
		};

		mux-mdio {
			function = "mdio0";
			groups = "mdio0_0_grp";
		};

		conf-mdio {
			groups = "mdio0_0_grp";
			slew-rate = <SLEW_RATE_SLOW>;
			io-standard = <IO_STANDARD_LVCMOS33>;
			bias-disable;
		};
	};

What could be the issue?

0 Kudos
3 Replies
shabbirk
Moderator
Moderator
1,030 Views
Registered: ‎12-04-2016

Hi @carl711 

Can you try changing the phy node to remove device_type = "ethernet-phy"; compatible = "micrel,ksz9031"; and just keep the reg property something like this:

phy0: phy@0 {
		reg = <0x00>;
	    };

 

 

Best Regards

Shabbir 

0 Kudos
carl711
Visitor
Visitor
970 Views
Registered: ‎05-29-2019

Thanks @shabbirk  for your reply.

I tried using your sugession, but didn't work for me.

 

And i would like to mention one more thing...

When my board boots , when it enters the u-boot stage I see this:

U-Boot 2019.01 (Jan 04 2020 - 18:23:12 +0530)

Board: Xilinx ZynqMP
DRAM:  1 GiB
EL Level:                                                                                                                                                       EL2
Chip ID:                                                                                                                                                        zu19eg
MMC:   sdhci@ff160000: 1, sdhci@ff170000: 0
Loading Environment from FAT... OK
In:    serial@ff000000
Out:   serial@ff000000
Err:   serial@ff000000
Net:   ZYNQ GEM: ff0b0000, phyaddr 0, interface rgmii-id
PHY is not detected
GEM PHY init failed
eth-1: ethernet@ff0b0000
Hit any key to stop autoboot:  0 

Please note the line in bold.

And if I stop in u-boot and do mdio list, this is what I get:

ZynqMP> mdio list
eth0:
ZynqMP> 

Why am I seeing "eth0:" instead of "eth1:" ?? 

As seen before in u-boot , the bolded line.

0 Kudos
carl711
Visitor
Visitor
902 Views
Registered: ‎05-29-2019

Hey @shabbirk  could you give your input on this.

0 Kudos