On 11/19/2013 01:39 PM, Jason Cooper wrote: > On Tue, Nov 19, 2013 at 12:53:07PM -0700, Stephen Warren wrote: ... >> d) Finally, boot.scr needs to load the DTB. This requires knowing which >> DTB to load. Again, the distro shouldn't have to detect which board >> they're running on, and either install the correct DTB to a static >> filename, or make a decision on the DTB filename to load. Instead, >> distros should simply install all DTBs generated by the kernel build, >> and use some run-time information to calculate the DTB filename using a >> completely HW-agnostic and generic algorithm. >> >> To support this, U-Boot can be configured to add certain standard >> environment variables to the default environment. These define which SoC >> and board the code is running on. These are ${soc} and ${board}. If you >> then calculate the DTB filename as ${soc}-${board}.dtb, that should work >> anywhere. This is why keeping the current in-kernel DTB filenames is >> important, so they match the assumption that this algorithm works. >> >> Note: if the firmware contains an embedded DTB, boot.scr could detect >> this e.g. by the standard variable $fdt_addr being set, and hence skiip >> loading a DTB. IIRC, this is how Calxeda boards are set up. > > Ok, so the ${soc}-${board} is a work-around until all bootloaders are > providing a dtb, or until all bootloaders are providing a stable dtb? I suppose so yes. However, I'm not really convinced we'll see that many products with a DT embedded into them that's stable, complete[1], and based on upstream bindings, in the particularly near future. I think distros will likely need to deal with DTs-in-filesystems for a while yet. But anyway, either way should work out just fine. [1] For example, we aren't that far off some reasonably stable basic bindings for Tegra now . However, there are still devices we haven't added to DT at all, so while the DT ABI stability issue is fading, the need-to-upgrade-your-DTB case still exists to get new features, and upgrading the DTB via the filesystem is a lot easier and more convenient than doing so via firmware updates or firmware flashing commands. -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html