[U-Boot] [PATCH v3 0/6] Run-time configuration of U-Boot via a flat device tree (fdt)
Simon Glass
sjg at chromium.org
Wed Oct 12 01:54:27 CEST 2011
Hi Stephen,
On Tue, Oct 11, 2011 at 4:37 PM, Stephen Warren <swarren at nvidia.com> wrote:
> Simon Glass wrote at Tuesday, October 11, 2011 4:26 PM:
> ...
>> and add some defines to your board (only ARM is currently supported):
>>
>> #define CONFIG_OF_CONTROL (to enable run-time config control via fdt)
>> #define CONFIG_OF_EMBED or CONFIG_OF_SEPARATE
>> (either build the fdt blob into U-Boot, or create a separate u-boot.dtb
>> and u-boot-dtb.bin)
>> #define CONFIG_DEFAULT_DEVICE_TREE "<your name>"
>> (to specify the name of the device tree file is
>> board/<vendor>/dts/<your name>.dts)
>>
>> Typically a CPU device tree include file is provided which defines all the
>> devices available on that CPU/SOC, with each set to 'status = "disabled"'.
>> Board device tree files should adjust only the devices they use, setting
>> 'status = 'ok"' in each case, and leaving the existing devices alone and
>> disabled.
>
> s/existing/other/ in the second-to-last line? Well, I guess given this is
> patch 0, that's not important.
Will fix.
>
> In the Linux kernel, things used to work exactly as described above, but
> the kernel has switched to having no "status" properties in the SoC base
> file (and hence everything defaults to enabled), with the per-board .dts
> files set 'status = "disabled"' where desired. I imagine U-Boot should
> follow the same practice.
>
> I forget the exact reason for this in the kernel; it may simply have been
> due to precedent on PowerPC. Grant Likely would know the details.
Well it's going to create a bit of work for boards that use only a
subset of these 30-peripheral SOCs, but perhaps the expectation is
that you would be buying a simpler SOC if you didn't need all the
features.
>
> ...
>> For example, for Tegra2 we might have in arch/arm/cpu/armv7/tegra2/config.mk
>> these lines:
>>
>> CONFIG_ARCH_DEVICE_TREE := tegra250
>>
>> This means that ARCH_CPU_DTS will point to arch/arm/dts/tegra250.dtsi.
>
> In the kernel, we renamed this to tegra20; "Tegra 250" is a marketing name,
> whereas "Tegra 20" is an engineering name. Engineering names should be more
> stable, and probably fewer in number, and so are more suitable for device-
> tree.
>
> (I guess that's not particularly important for this patchset, since it
> doesn't include tegra250.dtsi, but it'll be relevant soon I'm sure:-)
Yes I did see that on the list. I will change the message in this
patch set, and try to remember when we get to 'soon' :-)
Regards,
Simon
>
> --
> nvpublic
>
>
More information about the U-Boot
mailing list