Skip to contentSkip to conversation

eth0: Could not attach to PHY

DISCUSSION wael showair 7 participants 8 messages Jan 21, 2009 – Jan 23, 2009 1 message not in the archive

lore
Share & tools
lore
#0 lore raw

Hi All,
i have a board with MPC8555 processor
uboot version 1.1.6
linux kernel 2.6.19-rc5
ltib version: 6.2.2-sv
gcc 3.4.3

it boots successfully
i want to upgrade my linux kernel to 2.6.27
i upgraded the following:
ltib version 8.1.2-sv
gcc 4.1
linux kernel 2.6.27
& i kept the uboot with the same version 1.1.6

the kernel booting stucks as follows:

*****************************************************************************
U-Boot 1.1.6 (Feb 8 2007 - 14:00:17)

CPU:   8555, Version: 1.1, (0x80790011)
Core:  E500, Version: 2.0, (0x80200020)
Clock Configuration:
       CPU: 833 MHz, CCB: 333 MHz,
       DDR: 166 MHz, LBC:  83 MHz
L1:    D-cache 32 kB enabled
       I-cache 32 kB enabled
Board: MPC8555AMC
I2C:   ready
DRAM:  Initializing
    DDR: 256 MB
FLASH: 16 MB
L2 cache 256KB: enabled
In:    serial
Out:   serial
Err:   serial
Net:   TSEC0, TSEC1
Hit any key to stop autoboot:  0
Speed: 100, full duplex

Using TSEC0 device
TFTP from server 172.25.25.146; our IP address is 172.25.25.150 Filename 'zImage'.
Load address: 0x1000000
Loading: #################################################################

         #################################################################
         #################################################################
         ##############################################
done
Bytes transferred = 1229983 (12c49f hex)
## Booting image at 01000000 ...
   Image Name:   Linux-2.6.27
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    1229919 Bytes =  1.2 MB

Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
Booting using flat device tree at 0xfff60000
Loading Device Tree to 007fd000, end 007fdbad ... Using MPC85xx AMC
machine description
Memory CAM mapping: CAM0=256Mb, CAM1=0Mb, CAM2=0Mb residual: 0Mb Linux version 2.6.27 (test@linux-i869) (gcc version 4.1.2 (Sourcery G++ Lite 4.1-78)) #1 Wed Jan 21 22:52:58 EET 2009
Found legacy serial port 0 for /soc8555@e0000000/serial@4500
mem=e0004500, taddr=e0004500, irq=0, clk=333330000, speed=0
console [udbg0] enabled
setup_arch: bootmem
mpc85xx_amc_setup_arch()
MPC85xx AMC board from Freescale Semiconductor
arch: exit
Top of RAM: 0x10000000, Total RAM: 0x10000000
Memory hole size: 0MB
Zone PFN ranges:
DMA 0x00000000 -> 0x00010000
Normal 0x00010000 -> 0x00010000
Movable zone start PFN for each node
early_node_map[1] active PFN ranges

    0: 0x00000000 -> 0x00010000

On node 0 totalpages: 65536
free_area_init_node: node 0, pgdat c0278be4, node_mem_map c0297000
DMA zone: 65024 pages, LIFO batch:15
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 65024 Kernel command line: root=/dev/nfs rw nfsroot=172.25.25.146:/exports/freescale1_rootfs ip=dhcp console=ttyS0,115200
mpic: Setting up MPIC " OpenPIC " version 1.2 at e0040000, max 1 CPUs
mpic: ISU size: 4, shift: 2, mask: 3
mpic: Initializing for 60 sources
PID hash table entries: 1024 (order: 10, 4096 bytes)
time_init: decrementer frequency = 41.666250 MHz
time_init: processor frequency = 833.325000 MHz
clocksource: timebase mult[60003ef] shift[22] registered
clockevent: decrementer mult[aaa] shift[16] cpu[0]
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Memory: 256896k/262144k available (2440k kernel code, 4936k reserved, 96k data, 88k bss, 140k init)
Calibrating delay loop... 83.20 BogoMIPS (lpj=166400) Mount-cache hash table entries: 512
device-tree: Duplicate name in /, renamed to "chosen#1"
net_namespace: 288 bytes
NET: Registered protocol family 16

rstcr compatible register does not exist!
NET: Registered protocol family 2
IP route cache hash table entries: 2048 (order: 1, 8192 bytes) TCP established hash table entries: 8192 (order: 4, 65536 bytes) TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
TCP reno registered
NET: Registered protocol family 1
JFFS2 version 2.2. (NAND) 2001-2006 Red Hat, Inc.
msgmni has been set to 502
io scheduler noop registered (default)
Generic RTC Driver v1.07
Serial: 8250/16550 driver4 ports, IRQ sharing enabled serial8250.0: ttyS0 at MMIO 0xe0004500 (irq = 26) is a 16550A
console
handover: boot [udbg0] -> real [ttyS0]
brd: module loaded
loop: module loaded
eth0: Gianfar Ethernet Controller Version 1.2, 00:14:85:a7:72:1b
eth0: Running with NAPI enabled
eth0: 256/256 RX/TX BD ring size
eth1: Gianfar Ethernet Controller Version 1.2, 00:00:00:00:00:00
eth1: Running with NAPI enabled
eth1: 256/256 RX/TX BD ring size
physmap platform flash device: 01000000 at ff000000 physmap-flash.0: Found 2 x16 devices at 0x0 in 32-bit bank
Amd/Fujitsu Extended Query Table at 0x0040
physmap-flash.0: CFI does not contain boot bank location. Assuming top. number of CFI chips: 1
cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness. RedBoot partition parsing not available
i2c /dev entries driver
TCP cubic registered
NET: Registered protocol family 17
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
24520:10 not found
eth0: Could not attach to PHY
IP-Config: Failed to open eth0
IP-Config: Failed to open eth1
IP-Config: No network devices available.
Looking up port of RPC 100003/2 on 172.25.25.146
rpcbind: server 172.25.25.146 not responding, timed out

******************************************************************************

i have seen this error message across the mailing list but i reached nothing,
i m sure the dts is correct since i boot kernel version 2.6.19-rc5 successfully
i did not change the dts & ikeep it
is there any hint to solve this bug?

thanks in advance for ur help

Signature · 2 lines
View this message in context: http://www.nabble.com/eth0%3A-Could-not-attach-to-PHY-tp21589420p21589420.html
Sent from the linuxppc-dev mailing list archive at Nabble.com.
#1 lore raw
Quoted 16 lines · wael showair

Hi All,
i have a board with MPC8555 processor
uboot version 1.1.6
linux kernel 2.6.19-rc5
ltib version: 6.2.2-sv
gcc 3.4.3

it boots successfully
i want to upgrade my linux kernel to 2.6.27
i upgraded the following:
ltib version 8.1.2-sv
gcc 4.1
linux kernel 2.6.27
& i kept the uboot with the same version 1.1.6

Quoted 1 line

the kernel booting stucks as follows:

You probably need to add an mdio node to your device tree and add a phy-handle to the ethernet node. See powerpc/boot/dts/mpc8555cds.dts for an example. (Look at the mdio@25520 and ethernet@24000 nodes)

g.

Signature · 2 lines
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.

A message that is not in the archive (sent off-list or not yet received): [email protected]

#3 lore raw

Hello wael,

Quoted 18 lines · wael showair

i have a board with MPC8555 processor
uboot version 1.1.6
linux kernel 2.6.19-rc5
ltib version: 6.2.2-sv
gcc 3.4.3

it boots successfully
i want to upgrade my linux kernel to 2.6.27
i upgraded the following:
ltib version 8.1.2-sv
gcc 4.1
linux kernel 2.6.27
& i kept the uboot with the same version 1.1.6

the kernel booting stucks as follows:

*****************************************************************************
U-Boot 1.1.6 (Feb 8 2007 - 14:00:17)

[...]

Quoted 3 lines

RPC: Registered tcp transport module.
24520:10 not found
eth0: Could not attach to PHY

Here is your problem. For some reason, your network driver couldnt find the PHY ... Maybe there is something changed between 2.6.19-rc5 and 2.6.27.

Quoted 3 lines

IP-Config: Failed to open eth0
IP-Config: Failed to open eth1
IP-Config: No network devices available.

and so, there is no network device ...

I have no 85xx board, but maybe following commit is something for you:

gianfar: Convert gianfar to an of_platform_driver
author Andy Fleming <[email protected]>

	Tue, 16 Dec 2008 23:29:15 +0000 (15:29 -0800)
committer	David S. Miller <[email protected]>
	Tue, 16 Dec 2008 23:29:15 +0000 (15:29 -0800)

commit b31a1d8b41513b96e9c7ec2f68c5734cef0b26a4
tree f8643c2fd1b137dd6c00bcd385ad36adfca4f540 tree | snapshot
parent 257d938a0c17838c740eb68f0005b041444ac2c2 commit | diff
gianfar: Convert gianfar to an of_platform_driver

Does the same for the accompanying MDIO driver, and then modifies the TBI configuration method. The old way used fields in einfo, which no longer exists. The new way is to create an MDIO device-tree node for each instance of gianfar, and create a tbi-handle property to associate ethernet controllers with the TBI PHYs they are connected to.

----------------------------------------------------------------------

bye
Heiko

Signature · 2 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
#4 lore raw
Quoted 20 lines · Heiko Schocher

Hello wael,

Quoted 16 lines · wael showair

i have a board with MPC8555 processor
uboot version 1.1.6
linux kernel 2.6.19-rc5
ltib version: 6.2.2-sv
gcc 3.4.3

it boots successfully
i want to upgrade my linux kernel to 2.6.27
i upgraded the following:
ltib version 8.1.2-sv
gcc 4.1
linux kernel 2.6.27
& i kept the uboot with the same version 1.1.6

the kernel booting stucks as follows:

If you have a board which is not an evaluation board please check you phy address.

Signature · 6 lines
-_-
.

Regards,
R.S.Shree Ram
GDA Technologies Ltd.
#5 lore raw
In reply to Heiko Schocher

first of all,thanks Heiko for ur reply.
but i m afraid that i understand nothing from ur answer, can u give me the steps to do ur suggestion?

is ur suggestion is about to change the device tree of my board? Here is the dts file of my board, if so what are the modifictions i have to do to execute ur suggestions
*****************************************************************************
/*
* MPC8555 AMC Device Tree Source
*
* Copyright 2006 Freescale Semiconductor Inc.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation; either version 2 of the License, or (at your
* option) any later version.
*/

/ {
	model = "MPC8555AMC";
	compatible = "mpc85xx";
	#address-cells = <1>;
	#size-cells = <1>;

	cpus {
		#cpus = <1>;
		#address-cells = <1>;
		#size-cells = <0>;

		PowerPC,8555@0 {
			device_type = "cpu";
			reg = <0>;
			d-cache-line-size = <20>;	// 32 bytes
			i-cache-line-size = <20>;	// 32 bytes
			d-cache-size = <8000>;		// L1, 32K
			i-cache-size = <8000>;		// L1, 32K
			timebase-frequency = <0>;	// 33 MHz, from uboot
			bus-frequency = <0>;		// From uboot
			clock-frequency = <0>;		// From uboot
			32-bit;
			linux,boot-cpu;
		};
	};

	memory {
		device_type = "memory";
		reg = <00000000 20000000>;	
	};

	soc8555@e0000000 {
		#address-cells = <1>;
		#size-cells = <1>;
		#interrupt-cells = <2>;
		device_type = "soc";
		ranges = <0 e0000000 00100000>;
		reg = <e0000000 00100000>;	// CCSRBAR 1M
		bus-frequency = <0>;

		i2c@3000 {
			device_type = "i2c";
			compatible = "fsl-i2c";
			reg = <3000 100>;
			interrupts = <1b 2>;
			interrupt-parent = <40000>;
			dfsrr;
		};

		mdio@24520 {
			#address-cells = <1>;
			#size-cells = <0>;
			device_type = "mdio";
			compatible = "gianfar";
			reg = <24520 20>;
			linux,phandle = <24520>;
			ethernet-phy@10 {
				linux,phandle = <2452010>;
				interrupt-parent = <40000>;
				interrupts = <30 1>;
				reg = <10>;
				device_type = "ethernet-phy";
			};
			ethernet-phy@11 {
				linux,phandle = <2452011>;
				interrupt-parent = <40000>;
				interrupts = <30 1>;
				reg = <11>;
				device_type = "ethernet-phy";
			};
		};

		ethernet@24000 {
			#address-cells = <1>;
			#size-cells = <0>;
			device_type = "network";
			model = "TSEC";
			compatible = "gianfar";
			reg = <24000 1000>;
			mac-address = [ 00 E0 0C 00 73 00 ];
			interrupts = <d 2 e 2 12 2>;
			interrupt-parent = <40000>;
			phy-handle = <2452010>;
		};

		ethernet@25000 {
			#address-cells = <1>;
			#size-cells = <0>;
			device_type = "network";
			model = "TSEC";
			compatible = "gianfar";
			reg = <25000 1000>;
			mac-address = [ 00 E0 0C 00 73 01 ];
			interrupts = <13 2 14 2 18 2>;
			interrupt-parent = <40000>;
			phy-handle = <2452011>;
		};
		
		serial@4500 {
			device_type = "serial";
			compatible = "ns16550";
			reg = <4500 100>;
			clock-frequency = <0>;
			interrupts = <1a 2>;
			interrupt-parent = <40000>;
		};

		dma@21300 {    //Create DMA controller node, the address is @DMA general
status reg
			#address-cells = <1>;
			#size-cells = <1>;
			compatible = "fsl,mpc8555-dma";
			reg = <21300 4>;  //register mapping for DMA general status reg
			ranges = <0 21100 200>;
			cell-index = <0>;  //controller index.  0 for controller @ 0x21000, 1 for

controller @ 0xc000

			dma-channel@0 {  //Create DMA channel nodes
				compatible = "fsl,mpc8555-dma-channel";
				reg = <0 80>;  //DMA registers are from offset 0x21100 to 0x21180
				cell-index = <0>; //DMA Channel 0
				interrupts = <4 2>;  //interrupt number is 0x04 and the level is 2 that
maps to active high level sensitive type enabled
				interrupt-parent = <40000>;
			};
		};

		dspb@50080 {
				reg = <0 A0>;  //EIVPR4 since DSP-B will interrupt the PQ on EX-IRQ4
				interrupts = <34 1>;  //interrupt# is 0x34 and the level is 1 that maps
to level sensitive,active low interrupt
				interrupt-parent = <40000>;
			};

		pic@40000 {
			linux,phandle = <40000>;
			clock-frequency = <0>;
			interrupt-controller;
			#address-cells = <0>;
			#interrupt-cells = <2>;
			reg = <40000 40000>;
			built-in;
			compatible = "chrp,open-pic";
			device_type = "open-pic";
                        big-endian;
			interrupts = <
				0 2 1 2 2 2 3 2
				4 2 5 2 6 2 7 2
				8 2 9 2 a 2 b 2
				c 2 d 2 e 2 f 2
				10 2 11 2 12 2 13 2
				14 2 15 2 16 2 17 2
				18 2 19 2 1a 2 1b 2
				1c 2 1d 2 1e 2 1f 2
				20 2 21 2 22 2 23 2
				24 2 25 2 26 2 27 2
				28 2 29 2 2a 2 2b 2
				2c 2 2d 2 2e 2 2f 2
				30 1
				>;
			interrupt-parent = <40000>;
		};
	};
};

*****************************************************************************

Quoted 74 lines · Heiko Schocher

Hello wael,

Quoted 18 lines · wael showair

i have a board with MPC8555 processor
uboot version 1.1.6
linux kernel 2.6.19-rc5
ltib version: 6.2.2-sv
gcc 3.4.3

it boots successfully
i want to upgrade my linux kernel to 2.6.27
i upgraded the following:
ltib version 8.1.2-sv
gcc 4.1
linux kernel 2.6.27
& i kept the uboot with the same version 1.1.6

the kernel booting stucks as follows:

*****************************************************************************
U-Boot 1.1.6 (Feb 8 2007 - 14:00:17)

[...]

Quoted 3 lines

RPC: Registered tcp transport module.
24520:10 not found
eth0: Could not attach to PHY

Here is your problem. For some reason, your network driver couldnt find the PHY ... Maybe there is something changed between 2.6.19-rc5 and 2.6.27.

Quoted 3 lines

IP-Config: Failed to open eth0
IP-Config: Failed to open eth1
IP-Config: No network devices available.

and so, there is no network device ...

I have no 85xx board, but maybe following commit is something for you:

gianfar: Convert gianfar to an of_platform_driver
author Andy Fleming <[email protected]>

	Tue, 16 Dec 2008 23:29:15 +0000 (15:29 -0800)
committer	David S. Miller <[email protected]>
	Tue, 16 Dec 2008 23:29:15 +0000 (15:29 -0800)

commit b31a1d8b41513b96e9c7ec2f68c5734cef0b26a4
tree f8643c2fd1b137dd6c00bcd385ad36adfca4f540 tree | snapshot
parent 257d938a0c17838c740eb68f0005b041444ac2c2 commit | diff
gianfar: Convert gianfar to an of_platform_driver

Does the same for the accompanying MDIO driver, and then modifies the TBI configuration method. The old way used fields in einfo, which no longer exists. The new way is to create an MDIO device-tree node for each instance
of gianfar, and create a tbi-handle property to associate ethernet controllers
with the TBI PHYs they are connected to.

----------------------------------------------------------------------

bye
Heiko

Signature · 6 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
_______________________________________________
Linuxppc-dev mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-dev
Signature · 2 lines
View this message in context: http://www.nabble.com/eth0%3A-Could-not-attach-to-PHY-tp21589420p21605367.html
Sent from the linuxppc-dev mailing list archive at Nabble.com.
#6 lore raw
Quoted 7 lines · wael showair
		mdio@24520 {
			#address-cells = <1>;
			#size-cells = <0>;
			device_type = "mdio";
			compatible = "gianfar";
			reg = <24520 20>;
			linux,phandle = <24520>;

Change compatible to "gianfar-mdio".

Haiying

#7 lore raw
Quoted 11 lines · Haiying Wang
Quoted 7 lines · wael showair
		mdio@24520 {
			#address-cells = <1>;
			#size-cells = <0>;
			device_type = "mdio";
			compatible = "gianfar";
			reg = <24520 20>;
			linux,phandle = <24520>;

Change compatible to "gianfar-mdio".

"fsl,gianfar-mdio"

-Scott

#8 lore raw

Hi
The device tree format has changed from linux-2.6.24. You need to port the U-Boot to the latest version. Even I faced the same issue.

Regards
Ratheesh

Quoted 21 lines · Scott Wood
Quoted 11 lines · Haiying Wang
Quoted 7 lines · wael showair
            mdio@24520 {
                    #address-cells = <1>;
                    #size-cells = <0>;
                    device_type = "mdio";
                    compatible = "gianfar";
                    reg = <24520 20>;
                    linux,phandle = <24520>;

Change compatible to "gianfar-mdio".

"fsl,gianfar-mdio"

-Scott
_______________________________________________
Linuxppc-dev mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-dev