Thread (1 message) 1 message, 1 author, 2012-01-19

[PATCH v6 9/9] ARM: vexpress: Add Device Tree for V2P-CA15 core tile (TC1 variant)

From: Grant Likely <hidden>
Date: 2012-01-19 22:07:37
Also in: linux-devicetree

On Thu, Jan 19, 2012 at 11:09 AM, Nicolas Pitre [off-list ref] wrote:
On Thu, 19 Jan 2012, Grant Likely wrote:
quoted
On Thu, Jan 19, 2012 at 10:50 AM, Russell King - ARM Linux
[off-list ref] wrote:
quoted
On Thu, Jan 19, 2012 at 05:27:15PM +0000, Pawel Moll wrote:
quoted
On Thu, 2012-01-19 at 17:00 +0000, David Vrabel wrote:
quoted
The problem wasn't with including skeleton.dtsi.
Including as it is creates two device_type="memory" nodes, one with
regs=<0 0>, which is definitely wrong.
quoted
With
CONFIG_ARM_ATAG_DTB_COMPAT the zImage decompressor modifies the appended
DTB using information from the ATAGs (see atags_to_fdt()).

If there's an ATAG giving the amount of RAM the DTB's "memory" node is
replaced with a new one. ?Since the vexpress DTBs don't have a "memory"
node it's added and the DTB ends up with two nodes describing memory.
The "memory at address" node name is in my opinion perfectly legal - p. 3.4
of the DT spec says "The name component of the node name (see 2.2.1)
shall be memory.". So the decompressor code may be wrong in looking for
adress-less "memory" node...
I don't think you can expect such early code to properly parse a DT tree
with a variability in how memory stuff is declared into that DT tree.

What if you have two memory nodes specified in the DT file, and the
ATAG data contains one?
Yes, just because it is technically legal doesn't make it okay. ?The
pragmatic approach here is that the skeleton.dtsi file calls the node
"memory", so this .dts file must do the same.
quoted
The more I look at this, the more I'm convinced that Grant's idea that
DT should entirely override ATAGs all the way to the kernel proper was
the wrong solution - at least in the kernel, if we had both available,
we could make a choice there, and have the full DT library to be able
to manipulate the DT blob.
Hey! ?I was originally lobbying for the dt pointer carried by an ATAG.
?Nico conviced me otherwise. ?:-)
Hey! ?I was originally lobbying for people to have a fully DT aware
bootloader if they wanted to play with DT, otherwise there is no
incentive for updated bootloaders. ?But someone else convinced me
otherwise. ?:-)

Mixed bags always have loose ends.
Hahaha.  Having said that though, I still strongly agree with what we
have.  Giving the kernel only one or the other avoids any weirdness
about which the kernel should choose when both are present.  The
bootwrapper atag-to-dt conversion is a migration and development tool,
and it should not do any DT manipulation must be kept to a bare
minimum.

g.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help