[meta-freescale] kernel can't find Ethernet on p5040 DS using SDK 1.4 QorIQ

Erich Nahum gmane at nahum.org
Mon Nov 11 06:44:35 PST 2013

Hi Folks,

I am trying to get a system up and running a Freescale P5040 RDB and having
a problem.  The system came with the following in the flash and boots with
no problem:

Kernel 3.0.51-rt75 based on Yocto 1.2

However, I am using the QorIQ SDK 1.4 which uses 3.0.51-rt75.  The P5040 is
a supported board in this SDK ("fsl-setup-poky -m p5040ds").

I have built everything from scratch using the stock configuration (i.e., I
have not changed any recipes and used the default .config generated),
following the SDK instructions as best I can.

I built fsl-image-core which produced uImage, uImage-p5040ds.dtb, and
fsl-image-core-p5040ds.ext2.gz.u-boot. I do not build or change u-boot.  At
the uboot prompt, I tftp everything over as follows:

=> tftp 1000000 uImage
=> tftp 2000000 fsl-image-core-p5040ds.ext2.gz.u-boot
=> tftp c00000 uImage-p5040ds.dtb
=> bootm 1000000 2000000 c00000

The machine boots up fine but can't seem to find the network devices:

# ifconfig fm1-gb2
fm1-gb2: error fetching interface information: Device not found

I compared the dmesg logs from the original kernel in the flash and the
generated one.  The original has the following:

| Freescale PowerQUICC MII Bus: probed mdio_bus mdio at ffe4e1120:
/soc at ffe000000/fman at 400000/mdio at e1120/hydra-rg has invalid PHY address
| mdio_bus mdio at ffe4e1120:
/soc at ffe000000/fman at 400000/mdio at e1120/hydra-sg-slot1 has invalid PHY address
| Freescale XGMAC MDIO Bus: probed mdio_bus mdio at ffe4f1000:
/soc at ffe000000/fman at 400000/mdio at f1000/hydra-xg-slot1 has invalid PHY address
| mdio_bus mdio at ffe4f1000: /soc at ffe000000/fman at 400000/mdio at f1000/hydra
xg-slot2 has invalid PHY address

but this doesn't seem to prevent it from finding the MACs:

fsl_mac: mac.c:411:mac_load() fsl_mac: FSL FMan MAC API based driver ()
fsl_mac ffe4e0000.ethernet: FMan dTSEC version: 0x08240101
fsl_mac ffe4e0000.ethernet: FMan MAC address: 00:04:9f:02:a9:a9

The dmesg log from the SDK-generated kernel, however, has the following:

[    0.728635] mdio-mux-mmioreg fffdf0009.mdio-mux-emi1: failed to register
mdio-mux bus /localbus at ffe124000/board-control at 3,0/mdio-mux-emi1
[    0.739675] platform fffdf0009.mdio-mux-emi1: Driver mdio-mux-mmioreg
requests probe deferral
[    0.769892] libphy: Freescale XGMAC MDIO Bus: probed
[    0.782012]  FMAN(0) Fifo size settings:
[    0.784621]   - Total buffers available(512 - 256B/buffer)
[    0.788796]   - Total throughput(13Gbps)
[    0.791408]   - Max frame size(1522B)
[    0.793758]   - 1G ports TX 3(12 bufs set (min: 12))
[    0.797408]   - 1G ports RX 3(30 bufs set (min: 14))
[    0.801078]   - 10G ports TX 1(18 bufs set (min: 18))
[    0.804819]   - 10G ports RX 1(303 bufs set (min: 14))
[    0.941550] fsl_mac: mac.c:417:mac_load() fsl_mac: FSL FMan MAC API based
driver ()
[    0.948019] fsl_mac ffe4e0000.ethernet: No PHY (or fixed link) found
[    0.953072] fsl_mac: probe of ffe4e0000.ethernet failed with error -22

That last few entries about fsl_mac is my guess as to where things are going
wrong, but I don't understand how.  I've also compared the .config files for
the kernels, and everything looks OK, although there are a lot of
differences since there are a bunch of changes between 3.0.51 and 3.8.13.

Any help/suggestions appreciated.



More information about the meta-freescale mailing list