3.8.13 kernel can't find Ethernet on p5040 DS using SDK 1.4 QorIQ

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

3.8.13 kernel can't find Ethernet on p5040 DS using SDK 1.4 QorIQ

2,328 Views
erichnahum
Contributor II

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.

Thanks,

-Erich

Labels (1)
9 Replies

1,354 Views
addiyi
NXP Employee
NXP Employee

Hi Erich,

SDK 1.4 don't provide support for P5040RDB board, only for P5040DS. I checked the rcw and there are differences between RDB and DS (this be a reason that fm1-gb2 is not working for your board).

You can try attached rcw file, which is for RDB board.

Adrian

1,354 Views
erichnahum
Contributor II

Hey Adrian-Mihai,

After some more digging, it seems like the RCW file is loaded into flash

for u-boot. But I have not changed u-boot in my system. Does the RCW

file have an impact on the dtb file?

Thanks again,

-Erich

From:

Adrian-Mihai Stoica <admin@community.freescale.com>

To:

Erich M Nahum/Watson/IBM@IBMUS

Date:

11/12/2013 04:39 PM

Subject:

Re: - 3.8.13 kernel can't find Ethernet on p5040 DS

using SDK 1.4 QorIQ

3.8.13 kernel can't find Ethernet on p5040 DS using SDK 1.4 QorIQ

reply from Adrian-Mihai Stoica in QorIQ Processors - View the full

discussion

Hi Erich,

SDK 1.4 don't provide support for P5040RDB board, only for P5040DS. I

checked the rcw and there are differences between RDB and DS (this be a

reason that fm1-gb2 is not working for your board).

You can try attached rcw file, which is for RDB board.

Adrian

Reply to this message by replying to this email, or go to the message on

Freescale Community

Start a new discussion in QorIQ Processors by email or at Freescale

Community

Following 3.8.13 kernel can't find Ethernet on p5040 DS using SDK 1.4

QorIQ in these streams: Inbox

0 Kudos
Reply

1,354 Views
addiyi
NXP Employee
NXP Employee

Attached is the u-boot for 5040rdb board.

Please try this u-boot, together with the rcw file and let me know if this combination works for you. May not work, since the dtb, rootfs and u-Image are for 5040ds

Adrian

0 Kudos
Reply

1,354 Views
erichnahum
Contributor II

But I don't understand how this will help. The u-boot in the flash is

correctly built, the system boots using what seems to be the 1.2 SDK and

finds the interfaces.

It seems like what I need is the right recipes/configuration to produce

the proper uImage, dtd, and fs image.

Is there something key I'm not getting? (e.g., u-boot needs to be built in

sync with everything else)

Thanks again,

-Erich

From:

Adrian-Mihai Stoica <admin@community.freescale.com>

To:

Erich M Nahum/Watson/IBM@IBMUS

Date:

11/13/2013 09:17 AM

Subject:

Re: - Re: 3.8.13 kernel can't find Ethernet on p5040

DS using SDK 1.4 QorIQ

Re: 3.8.13 kernel can't find Ethernet on p5040 DS using SDK 1.4 QorIQ

reply from Adrian-Mihai Stoica in QorIQ Processors - View the full

discussion

Attached is the u-boot for 5040rdb board.

Please try this u-boot, together with the rcw file and let me know if this

combination works for you. May not work, since the dtb, rootfs and u-Image

are for 5040ds

Adrian

Reply to this message by replying to this email, or go to the message on

Freescale Community

Start a new discussion in QorIQ Processors by email or at Freescale

Community

Following Re: 3.8.13 kernel can't find Ethernet on p5040 DS using SDK 1.4

QorIQ in these streams: Inbox

0 Kudos
Reply

1,354 Views
addiyi
NXP Employee
NXP Employee

To be 100% that everything works fine for 5040rdb, this board should the supported in SDK 1.4 (this means every thing was tested for this board version). Using the rcw and u-boot which I sent to you, is a chance to work.

Adrian

0 Kudos
Reply

1,354 Views
zhavnis
Contributor I

Hello, Adrian

I have same problem with 5040RDB. QorIQ SDK does not support it (even ver.1.5). There is usb flash shipped with the board. But it contains only QorIQ_SDK_V1.3.2_p5040rdb_20130517_NOR_FLASH.bin (prebuilt u-boot/Linux image). How to compile custom kernel and rootfs for this board? How to use the latest QorIQ SDK with it? Where are device tree sources, needed to complete our own board with P5040 cpu?

thanks

0 Kudos
Reply

1,354 Views
addiyi
NXP Employee
NXP Employee

Hi,

Please contact your local Freescale representative to find the necessary steps for procuring the binary .iso image.

Adrian

0 Kudos
Reply

1,354 Views
erichnahum
Contributor II

Thanks for the response. I thought it might be that the board was a 5040 RDB, but someone told me it was the same as the DS.

Unfortunately, I'm new to embedded and don't know where to stick these files.  I assume they go somewhere in the tree and I remake, but I don't know where.

Thanks again,

-Erich

0 Kudos
Reply

1,354 Views
addiyi
NXP Employee
NXP Employee

You should program the rcw file in NOR starting with 0xE800_0000.

in u-boot:

=>tftp 1000000 <rcw_file_name>.bin

=>erase e8000000 +$filesize

=>cp.b 1000000 e8000000 $filesize

More information you can find at this link

Adrian

0 Kudos
Reply