From: Eric Nelson <eric.nelson-Q5RJGjKts06CY9SHAMCTRUEOCMrvLtNR@public.gmane.org>
To: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>
Cc: Olof Johansson <olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org>,
"devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: KConfig and DTS files
Date: Wed, 07 May 2014 12:07:02 -0700 [thread overview]
Message-ID: <536A8456.1040208@boundarydevices.com> (raw)
In-Reply-To: <142702592.Qpp2HrZZke@wuerfel>
Hi Arnd,
On 05/07/2014 11:38 AM, Arnd Bergmann wrote:
> On Wednesday 07 May 2014 11:35:12 Eric Nelson wrote:
>>
>> On 05/07/2014 11:10 AM, Arnd Bergmann wrote:
>>> On Wednesday 07 May 2014 10:47:27 Eric Nelson wrote:
>>>>
>>>> It seems reasonable to tell the kernel to skip this if the
>>>> WiFi driver isn't configured into the kernel (i.e. there's
>>>> no point in enumerating), so I was hoping to surround this
>>>> USDHC2 block with #ifdefs:
>>>>
>>>> https://github.com/boundarydevices/linux-imx6/blob/boundary-imx_3.10.17_1.0.0_ga/arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi#L640
>>>>
>>>> The alternative aren't very nice:
>>>> populate extra parts to drive these signals, or
>>>> copy the DTB and strip out the unused parts
>>>>
>>>> The first is wasteful (and environmentally un-friendly), and
>>>> the second doesn't scale very well and pollutes the Git tree.
>>>>
>>>
>>> It's fine to have two .dtb files (as Olof and Jason also suggested)
>>> and you can even have both in the kernel and just pick the right
>>> one for your machine.
>>>
>>> Another option that works is to have the boot loader set up the
>>> present devices. With u-boot, you can easily manipulate the binary dtb
>>> and change a 'status="disabled"' to 'status="ok"' or vice versa
>>> for devices that are only sometimes populated, or you can change
>>> the amount of installed RAM as detected by the loader.
>>>
>>
>> Easily is such a relative term
>>
>> Thanks for the advice.
>
> I haven't done it myself, but I'm told that you can do it from the
> boot script as normal commands, without having to modify the source.
>
It turns out not to be so difficult, but it is kinda quirky.
Once the fdt is loaded and the address set with "fdt addr",
the "fdt" command can print all or parts of the tree:
U-Boot > fdt print /v4l2_out
v4l2_out {
compatible = "fsl,mxc_v4l2_output";
status = "okay";
};
And you can read parts of it into variables. This example
sets the "v4lstat" variable to the value of /v4l2_out.status:
U-Boot > fdt get value v4lstat /v4l2_out status
U-Boot > echo $v4lstat
okay
For me, setting the status to "disabled" required a
"resize" first:
U-Boot > fdt set /v4l2_out status disabled
libfdt fdt_setprop(): FDT_ERR_NOSPACE
U-Boot > fdt resize
U-Boot > fdt set /v4l2_out status disabled
U-Boot > fdt print /v4l2_out
v4l2_out {
compatible = "fsl,mxc_v4l2_output";
status = "disabled";
};
Regards,
Eric
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2014-05-07 19:07 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-07 17:12 KConfig and DTS files Eric Nelson
[not found] ` <536A697D.3020002-Q5RJGjKts06CY9SHAMCTRUEOCMrvLtNR@public.gmane.org>
2014-05-07 17:24 ` Olof Johansson
[not found] ` <CAOesGMiHRQV+XngH4ABSeT8KDeP=iKn1ogvTA0j1BdyBwAaWSA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-05-07 17:47 ` Eric Nelson
[not found] ` <536A71AF.1010907-Q5RJGjKts06CY9SHAMCTRUEOCMrvLtNR@public.gmane.org>
2014-05-07 17:55 ` Olof Johansson
[not found] ` <CAOesGMhMeLkzEeVKHM2G9Vqth6qypURN6mxbNdySVvKhQBCs5A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-05-08 3:25 ` Maxime Ripard
2014-05-08 6:57 ` David Gibson
2014-05-07 18:10 ` Arnd Bergmann
2014-05-07 18:35 ` Eric Nelson
[not found] ` <536A7CE0.6070005-Q5RJGjKts06CY9SHAMCTRUEOCMrvLtNR@public.gmane.org>
2014-05-07 18:38 ` Arnd Bergmann
2014-05-07 19:07 ` Eric Nelson [this message]
[not found] ` <536A8456.1040208-Q5RJGjKts06CY9SHAMCTRUEOCMrvLtNR@public.gmane.org>
2014-05-07 19:15 ` Arnd Bergmann
2014-05-07 19:52 ` Eric Nelson
[not found] ` <536A8F03.5070509-Q5RJGjKts06CY9SHAMCTRUEOCMrvLtNR@public.gmane.org>
2014-05-07 22:20 ` Bjorn Andersson
[not found] ` <CAJAp7OjNdmsomhm9jJ9-jP01z1Uz9snVgRCD07zOFdMYAhQ6Lw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-05-07 23:06 ` Eric Nelson
[not found] ` <536ABC89.8060301-Q5RJGjKts06CY9SHAMCTRUEOCMrvLtNR@public.gmane.org>
2014-05-08 10:37 ` Arnd Bergmann
2014-05-08 14:56 ` Eric Nelson
2014-05-08 11:55 ` Jason Cooper
[not found] ` <20140508115532.GJ28159-u4khhh1J0LxI1Ri9qeTfzeTW4wlIGRCZ@public.gmane.org>
2014-05-08 15:06 ` Eric Nelson
2014-05-07 18:01 ` Jason Cooper
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=536A8456.1040208@boundarydevices.com \
--to=eric.nelson-q5rjgjkts06cy9shamctrueocmrvltnr@public.gmane.org \
--cc=arnd-r2nGTMty4D4@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=olof-nZhT3qVonbNeoWH0uzbU5w@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).