
On 05/31/12 19:50, Stephen Warren wrote:
On 05/31/2012 04:13 AM, Marek Vasut wrote:
Dear Igor Grinberg,
On 05/30/12 19:45, Stephen Warren wrote:
From: Stephen Warren swarren@nvidia.com
Fix the .dts file USB unit addresses not to duplicate each-other.
Fix the board name string to indicate the vendor is Compulab not NVIDIA.
Signed-off-by: Stephen Warren swarren@nvidia.com
Acked-by: Igor Grinberg grinberg@compulab.co.il
Do we have one copy of the dts files here and one in Linux kernel tree? Are they the same?
Both U-Boot and the kernel have their own copies of the .dts files.
In general, the U-Boot copy would be identical to what's in the kernel, or a pure subset since mostly the kernel's driver support is more advanced, so we've added more nodes to the DT.
That said, there are unfortunately some bizarre quirks in the way the U-Boot parses the device tree, such as requiring the /aliases node in order to enumerate at least some devices, the use of the Tegra clock binding that hasn't been incorporated into the kernel yet and is used for both clock and module reset functionality even though it's really only intended for clock functionality, and various other small properties that are U-Boot specific (although I forget if we managed to eliminate these all or not). These all end up causing differences between the two device tree files:-(
Thanks for the information.
I don't see any problem with having differences between the .dts files in kernel and U-Boot, because the way I see it: The .dts file we have in kernel should provide a way for a DT aware kernel to boot on even non-DT aware U-Boot (as the DT blob can be appended to the kernel binary). The .dts file in U-Boot can have a basic settings and the binary DT blob can be updated by U-Boot at run time, just before loading kernel.
Also, IIRC, the intension was to remove the kernel .dts files after "all bootloaders" know to boot the DT kernel...