On 08/16/2013 02:43 PM, Brendan Conoboy wrote:
On 08/16/2013 09:14 AM, Tom Rini wrote:
On 08/16/2013 11:40 AM, Peter Robinson wrote: Arguably, if we expect firmware/bootloader to know where a device tree is (because it came with the hardware) it should load it to fdt_addr, and fdt_addr_r is for a user-specified (in their extlinux.conf or whatever) tree, rather than how it's often used today (fdtaddr or fdt_addr or fdt_addr_r all around, with very few using both fdt_addr and fdt_addr_r).
That's exactly the sort of argument I would make. Correctly describing the platform to the kernel is first and foremost the firmware's business. History tells us that it is useful for the OS to be able to override that information, but this should only be looked at as a backup plan when what's shipped is incompatible with the OS's needs.
I'll just note there's debate on if DT should be allowed to be generated, ala OpenFirmware or must be stored as a DT and passed in. But yes, so long as it's possible, the firmware should put DT somewhere for the kernel to use.
I'm sorry, but I don't see the answer to my question here. The long term plan is that DTs are not bundled with the kernel nor with U-Boot but live on their own. So I guess I'm thinking / asking, is a file in the SD card good enough for the non-volatile storage side of things (and U-Boot looks for, loads the 'master' DT into fdt_addr and then user/distro can override into fdt_addr_r however they like).
If they're separate from the firmware and separate from the kernel what are they attached to? Since I'm take the position that DTB informations is uBoot's problem to solve I would say it's up to the provider of uBoot to ensure the right DTB is loaded whether or not it is part of upstream uBoot. In Fedora's case that means we would add a DTB package that our uBoot package depends upon. Hopefully there will be a centralized site for DTBs in this scenario.
The argument being put forth over in the devicetrees@vger thread and elsewhere I believe is that the device tree isn't attached to anything.