From: Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>
To: Niklas Hernaeus
<niklas.hernaeus-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Cc: Grant Likely
<grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org
Subject: Re: dt confusion, for_each_matching_node...
Date: Thu, 28 Jul 2011 16:27:21 -0600 [thread overview]
Message-ID: <20110728222721.GH4674@ponder.secretlab.ca> (raw)
In-Reply-To: <CA+03iojnhNU7ksPR=GBYgHo10juXXOTWcnxYH0F9h3kTtHSZzw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
On Tue, Jul 26, 2011 at 10:15:56PM +0200, Niklas Hernaeus wrote:
> Hi Grant.
>
> I am afraid I am seriously confused about how the dt is supposed to work.
> Maybe I simply lack a detail, if I am lucky... perhaps it is to late in the
> day...
>
> Problem:
> I cannot get the for_each_matching_node macro to give me anything, so the I
> guess the of_find_matching_node cannot find anything.
> I am using the uarts in the test code. With the test code below the snowball
> dies.
> Anyone see my mistake?
>
> Thanks for any and all input.
> /Niklas.
The code looks fine, but as discussed on IRC, it looks like the dtb
isn't getting handed to the kernel in the first place, which would be
the root cause. :-)
g.
>
> Suggestion: I forgot some initialization somewhere?
>
> In this device tree I have:
>
> / {
> model = "ST-Ericsson Snowball";
> compatible = "snowball";
> #address-cells = <1>;
> #size-cells = <1>;
>
> #chosen {
> bootargs = "root=/dev/ram0 console=ttyAMA2,115200n8 debug
> earlyprintk";
> };
>
> #memory {
> reg = <0x90000000 0x20000000>;
> };
>
> #soc-u8500 {
> address-cells = <1>;
> size-cells = <1>;
> compatible = "simple-bus";
> periph1-base = <0x32000>;
>
> cpus {
> #address-cells = <1>;
> #size-cells = <0>;
> cpu@0 {
> compatible = "arm,cortex-a9";
> reg = <0>;
> };
> cpu@1 {
> compatible = "arm,cortex-a9";
> reg = <1>;
> };
> };
> };
>
> uart@80120000 {
> compatible = "arm,pl011";
> };
> uart@80121000 {
> compatible = "arm,pl011";
> };
> uart@80007000 {
> compatible = "arm,pl011";
> };
> };
>
>
> Test code:
>
> static const struct of_device_id snowball_uarts[] __initconst={
> {.compatible="arm,pl011"},
> {},
> };
>
> static void __init mop500_uart_init_dt(void)
> {
> struct device_node *node;
> u32 p0;
> int ret;
>
> /* Get device info from device-tree */
> for_each_matching_node(node, snowball_uarts) {
> goto doit; /* Got something, all ok */
> }
> goto die;
>
> doit:
> /* Standard init, no dt */
> db8500_add_uart0(&uart0_plat);
> db8500_add_uart1(&uart1_plat);
> db8500_add_uart2(&uart2_plat);
> die:
> ;
> };
prev parent reply other threads:[~2011-07-28 22:27 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-26 20:15 dt confusion, for_each_matching_node Niklas Hernaeus
[not found] ` <CA+03iojnhNU7ksPR=GBYgHo10juXXOTWcnxYH0F9h3kTtHSZzw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-07-28 22:27 ` Grant Likely [this message]
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=20110728222721.GH4674@ponder.secretlab.ca \
--to=grant.likely-s3s/wqlpoipyb63q8fvjnq@public.gmane.org \
--cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
--cc=grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=niklas.hernaeus-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
/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;
as well as URLs for NNTP newsgroup(s).