From: David Daney <ddaney@caviumnetworks.com>
To: David VomLehn <dvomlehn@cisco.com>
Cc: Grant Likely <grant.likely@secretlab.ca>,
Ralf Baechle <ralf@linux-mips.org>,
linux-mips@linux-mips.org, Imre Kaloz <kaloz@openwrt.org>,
Gabor Juhos <juhosg@openwrt.org>,
John Crispin <blogic@openwrt.org>,
"Dezhong Diao (dediao)" <dediao@cisco.com>,
Thomas Gleixner <tglx@linutronix.de>
Subject: Re: Converting MIPS to Device Tree
Date: Tue, 07 Jun 2011 16:22:16 -0700 [thread overview]
Message-ID: <4DEEB2A8.8050302@caviumnetworks.com> (raw)
In-Reply-To: <20110607230218.GA23552@dvomlehn-lnx2.corp.sa.net>
On 06/07/2011 04:02 PM, David VomLehn wrote:
> On Sun, Jun 05, 2011 at 11:41:10PM -0500, Grant Likely wrote:
>> On Sun, Jun 5, 2011 at 7:07 PM, Ralf Baechle<ralf@linux-mips.org> wrote:
>>> Over the past few days I've started to convert arch/mips to use DT.
>>
>> Nice!
>>
>>> So
>>> far none of the platforms (except maybe PowerTV?) seems to have a
>>> firmware that is passing a DT nor is there any 2nd stage bootloader that
>>> could do so.
>>
>> FWIW, U-Boot now has pretty generic support for manipulating and
>> passing a dtb at boot. That doesn't do much good for existing
>> deployed systems though.
>
> I took a look at the issue of passing device trees to the kernel and started
> by surveying the methods currently in use for passing information from the
> bootloader to the kernel. I came up with the ten approaches:
>
> How MIPS Bootloaders Pass Information to the Kernel
> ---------------------------------------------------
> Apologies for any errors; this was meant more to be a quick survey
> rather than a detailed analysis.
>
[...]
>
> 5. a0 - unused
> a1 - unused
> a2 - unused
> Boot descriptor in a3.
> Platforms: cavium-octeon
>
I have augmented the boot descriptor with a field that contains the
*physical* address of the DTB.
[...]
> 10. a0 - argc
> a1 - argv
> a2 - unused
> a3 - memory size
> The command line is assumed to already be a single string, pointed
> to by argv.
> Platforms: powertv
>
> It seems like everything ultimately does create a command line. We could then
> use a parameter like "devtree=<virtual-address>" on the command line, passed
> in any way the bootloader likes.
Some u-boots for non-mips platforms pass it in the environment of the
bootm protocol.
I would say to pass the pointer to the DTB in the environment, but not
all platforms (like powertv) have an environment. So I guess the
command line has to do.
Also I think we should pass the physical address of the DTB, not the
virtual address. It would be the kernel's responsibility to figure out
what the virtual address is.
David Daney
> In this case, the<virtual-address> will be
> a kseg0 address so we don't have to set up any mappings. If we allow multiple
> device trees to be built in or appended to the end of the kernel, we can use
> the existing "dtb_compat" command line parameter to select which one to use.
> I would propose that "devtree" take precedence over "dtb_compat", but that's
> really just a desire to pick one over the other, whichever is the preferred
> one.
next prev parent reply other threads:[~2011-06-07 23:22 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-06 1:07 Converting MIPS to Device Tree Ralf Baechle
2011-06-06 4:41 ` Grant Likely
2011-06-07 23:02 ` David VomLehn
2011-06-07 23:22 ` David Daney [this message]
2011-06-08 1:09 ` David VomLehn
2011-06-10 18:57 ` Ralf Baechle
2011-06-10 19:00 ` David Daney
2011-06-08 7:15 ` Geert Uytterhoeven
2011-06-08 10:10 ` Florian Fainelli
2011-06-12 18:20 ` Florian Fainelli
2011-06-13 5:10 ` Grant Likely
2011-06-09 2:19 ` Tonyliu
2011-06-09 2:19 ` Tonyliu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4DEEB2A8.8050302@caviumnetworks.com \
--to=ddaney@caviumnetworks.com \
--cc=blogic@openwrt.org \
--cc=dediao@cisco.com \
--cc=dvomlehn@cisco.com \
--cc=grant.likely@secretlab.ca \
--cc=juhosg@openwrt.org \
--cc=kaloz@openwrt.org \
--cc=linux-mips@linux-mips.org \
--cc=ralf@linux-mips.org \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox