Hello Adam and Martin,

I hope you do not mind I join this conversation. I am facing the exactly same problem Martin has. except I am using imx6q.

So I got the same result that dtb seems be read in but does not take effect as Martin reported.

And I got this from log

Machine model: L4Linux (DT)

and now digging into the code how dtb are read and used. Please help!

-Yunchuan


On 08/19/2014 01:13 AM, Adam Lackorzynski wrote:
On Mon Aug 18, 2014 at 19:38:54 +0200, Martin Schröder wrote:
Am 13.08.2014 um 22:40 schrieb Adam Lackorzynski:

So it worked before using DTBs? Some config/setting issue?

Yes, both network of my imx28 worked withou DTB. I is some config issue:

After searching a while, I am sure that the Device Tree is not used in my
configuration at all. As I wrote in an older thread "IO configuration
language" I am using on the vbus the strings
   "imx28-fec.mydev0" => wrap(hw-root.NIC0)
to get the platform device added in mach_setup.c. This is done by a custom
handler in the callbacks which captures the "imx28-fec.mydev0" and
"imx28-fec.mydev1" devices and creates the platform device.
After renaming the device to "imx28-fec" (and thus disabling the private
callback), I see that the device is still added in a generic way (IRQ, MEM,
PORT) in copy_platform_device, but without the required additional data (Phy
Interface Mode). So Ethernet is still probed but due to the wring mode not
working.

Now I removed the strings from the io configuration. Mach_setup.c is no
longer adding platform devices and ... Ethernet is no longer probed. I also
verified that the DTB was loaded, but for some reasons the DTB is
unfortunately not used or does not match.

I am using the imx28-evk.dts where I replaced the "model" and "compatible"
line by what I found in simple.dts.
Ok, that's one thing to do. Does Linux say that it uses a DT? Like:
[    0.000000] Machine model: L4Linux (DT)



Adam