[meta-freescale] [QORIQ] MDIO MUX HAS PROBLEM TO COMMUNICATE WITH MY PHY 1G

Luo Zhenhua-B19537 B19537 at freescale.com
Sun Aug 18 20:55:33 PDT 2013


More comments.


> root at p3041ds:~# insmod /media/mmcblk0p1/fsl_pq_mdio.ko

> libphy: Freescale PowerQUICC MII Bus: probed

> libphy: mdio_mux: probed

> Oops: Machine check, sig: 7 [#1]

> SMP NR_CPUS=4 P3041 DS

> Modules linked in: fsl_pq_mdio

It should not have gone directly to "Oops: Machine check..." without printing MCSR.  The only way I can see that that might have happened is if fsl_rio_mcheck_exception() is claiming it, but MCSR fails to stay cleared in silent_out.



Or, perhaps some output got lost.  Try calling oops_begin()/oops_end() in machine_check_e500mc().


Best Regards,

Zhenhua

From: meta-freescale-bounces at yoctoproject.org [mailto:meta-freescale-bounces at yoctoproject.org] On Behalf Of Luo Zhenhua-B19537
Sent: Thursday, August 15, 2013 2:46 PM
To: Mercier Ivan
Cc: meta-freescale at yoctoproject.org
Subject: Re: [meta-freescale] [QORIQ] MDIO MUX HAS PROBLEM TO COMMUNICATE WITH MY PHY 1G

The log shows "mdio-mux-mmioreg fffdf0009.mdio-mux-emi1: failed to register mdio-mux bus /localbus at ffe124000/board-control at 3,0/mdio-mux-emi1".

For the custom board using 1G Marvell 88E1118 PHY, it needs appropriate configuration for MDIO and  PHY address in DTS according to the actual value defined in the board RM.


Best Regards,

Zhenhua

From: meta-freescale-bounces at yoctoproject.org [mailto:meta-freescale-bounces at yoctoproject.org] On Behalf Of Mercier Ivan
Sent: Wednesday, August 14, 2013 10:45 PM
To: meta-freescale at yoctoproject.org
Subject: [meta-freescale] [QORIQ] MDIO MUX HAS PROBLEM TO COMMUNICATE WITH MY PHY 1G

Hi everybody,
I'm trying to make my 1G Ethernet working on a qoriq p3041 custom board using a phy 1G Marvell 88E1118.
It works on uboot on my board and works on uboot and Linux on p3041ds eval board(which use a phy VItesse VSC8244XHG).
It appears that the problem comes from module fsl_pq_mdio

root at p3041ds:~# insmod /media/mmcblk0p1/fsl_pq_mdio.ko
libphy: Freescale PowerQUICC MII Bus: probed
libphy: mdio_mux: probed
Oops: Machine check, sig: 7 [#1]
SMP NR_CPUS=4 P3041 DS
Modules linked in: fsl_pq_mdio
NIP: c0016e94 LR: c0344848 CTR: 00000000
REGS: ee68ff10 TRAP: 0204   Not tainted  (3.8.13-rt9-DEBUG-WP6-04558-gf4c757e-dirty)
MSR: 00029002 <CE,EE,ME>  CR: 48002022  XER: 00000000
TASK = ea687570[29] 'kworker/u:1' THREAD: ea6c8000 CPU: 2
GPR00: fffffff4 ea6c9c70 ea687570 f1172009 f0541215 ea007b90 ffdf0000 0000fffd
GPR08: f0541215 ea007b90 00000000 00000000 22002024 00000000 c0056210 ea09fdec
GPR16: 00000000 00000000 00000000 eadaa9e0 c06bc988 c06bc964 c06bc928 c0783f90
GPR24: c06bc948 c06bc90c e78c3648 c066db20 00000008 e799add0 eadaa9d0 f1172009
NIP [c0016e94] ioread8+0x4/0x20
LR [c0344848] mdio_mux_mmioreg_switch_fn.part.1+0x38/0xc0
Call Trace:
[ea6c9c70] [c0344838] mdio_mux_mmioreg_switch_fn.part.1+0x28/0xc0 (unreliable)
[ea6c9c88] [c03444f4] mdio_mux_read+0x44/0xa0
[ea6c9ca8] [c0343880] mdiobus_read+0x50/0x80
[ea6c9cc0] [c034298c] get_phy_device+0xbc/0x100
[ea6c9d08] [c043f2b8] of_mdiobus_register.part.2+0xd8/0x210
[ea6c9d58] [c0344368] mdio_mux_init+0x198/0x240
[ea6c9d98] [c0344738] mdio_mux_mmioreg_probe+0x1b8/0x290
[ea6c9de8] [c02e2120] platform_drv_probe+0x20/0x30
[ea6c9df0] [c02e0290] really_probe+0x90/0x390
[ea6c9e10] [c02de270] bus_for_each_drv+0x70/0xb0
[ea6c9e38] [c02e0698] device_attach+0xc8/0xf0
[ea6c9e50] [c02df504] bus_probe_device+0xa4/0xc0
[ea6c9e68] [c02dfb80] deferred_probe_work_func+0xa0/0xf0
[ea6c9e88] [c004b6b0] process_one_work+0x170/0x4f0
[ea6c9eb8] [c004be54] worker_thread+0x154/0x360
[ea6c9ef0] [c00562a8] kthread+0x98/0xa0
[ea6c9f40] [c00102a0] ret_from_kernel_thread+0x64/0x6c
Instruction dump:
60000000 60000000 60000000 2f840005 38600002 4d9e0020 38600000 4e800020
00000000 00000000 00000000 7c0004ac <88630000> 0c030000 4c00012c 4c00018c
---[ end trace 001bd1cff2c97bfc ]---
When I'm trying to use the network interface with this module, I got:
root at p3041ds:~#ifconfig fm1-gb3 10.0.0.36
fsl_dpa ethernet.14 fm1-gb3: Could not connect to PHY /localbus at ffe124000/board-control at 3,0/mdio-mux-emi1/rgmii-mdio at 8/ethernet-phy at 0
fsl_dpa ethernet.14 fm1-gb3: init_phy() = -19
SIOCSIFFLAGS: No such device

To me, this is a problem of phy address declared in device tree.
Am I right?
Does anybody know how to configure the dts to adapt it for a different phy?

attached, you can find my Linux boot log, my Linux config and the device tree source which is the original one.
Thanks a lot in advance.
Best Regards,
Ivan Mercier


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/meta-freescale/attachments/20130819/41332861/attachment.html>


More information about the meta-freescale mailing list