Subject: Re: PHY not found after migration of gianfar driver to anof_platform_driver

From: Michael Guntsche <[email-masked]>
Date: Mon, 02 Mar 2009 12:58:56 +0100

On Sun, 1 Mar 2009 18:15:32 -0700, Grant Likely <[email-masked]>
wrote:
> 
> So, what you need is a new adapter which parses the data passed in by
> routerboot (maybe call it routerImage?) and modifies the .dtb blob to
> match.  You can use simpleImage as a starting point.
I had a look at that. And this is what I understood so-far.
SimpleImage just takes the dtb from the segment and parses it as the new
device tree. 

  _dtb_start = .;
  .kernel:dtb : { *(.kernel:dtb) }
  _dtb_end = .;

No I do understand that dtb_start points to this device tree. I also know
that the standard kernel boot-process
is able to read he device tree out of the firmware/bootloader (it works if
I just put with a standard kernel image) but I cannot figure out, where
exactly (in the code) it is doing that. My problem is now that I have zero
documentation of the existing bootloader. All I know is that the prom code
is able to find and parse it.
So now my question, is there a way to get to the device tree at this stage
of the boot process?

>> Can't I just add them in the rbppc.c specific init stuff
programmatically
>> withouth a DTS file?
> 
> You need a device tree.  You could theoretically generate the entire
> tree programmatically, but that is the long way around.  What you want
> is a base .dts file and a new bootwrapper to fill in the missing bits
> at boot time.
Well the board already provides a device tree so all I would need is the
missing entries so the PHYs are detected correctly. So I would modify an
existing tree.

thanks for your help,
Michael