On 04/15/2016 10:30 AM, Tom Rini wrote:
On Fri, Apr 15, 2016 at 05:23:54PM +0200, Andreas Färber wrote:
Am 15.04.2016 um 12:59 schrieb Heiko Schocher:
Fix following warnings for all mips based boards:
mips: + pic32mzdask
+Warning (unit_address_vs_reg): Node /memory has a reg or ranges property, but
no unit name
+Warning (unit_address_vs_reg): Node /cpus/cpu@0 has a unit name, but no reg
property
Note that I am quite out-of-the-loop on these warning. I wrote the dtc
patch that triggers them years ago, but it's only recently been applied
due to Rob's efforts. I'm at most tangentially aware of the discussions
surrounding applying it now.
diff --git a/arch/mips/dts/pic32mzda.dtsi b/arch/mips/dts/pic32mzda.dtsi
cpus {
- cpu@0 {
+ cpu {
compatible = "mips,mips14kc";
Surely the correct fix is to add a reg property? (Of course, this
depends on the binding definition; for ARM my assertion would certainly
be true). If not, what does MIPS do about SMP? Even if you write, say, 4
nodes with name "cpu" they'll all become the same single node in the DTB.
diff --git a/arch/mips/dts/skeleton.dtsi b/arch/mips/dts/skeleton.dtsi
- memory {
+ memory@0 {
I have just been told on linux-rockchip mailing list that such a change
should not be done as /memory is being special-cased in dtc warnings for
the benefit of U-Boot. Supposedly U-Boot cannot handle updating memory
size on /memory@0.
If that is untrue, please someone object on the Linux mailing lists.
Uh, what? From dtc:
I vaguely recall seeing discussion that /memory *would* be
special-cased, but as you point out obviously isn't yet. I doubt it's
anything to do with U-Boot itself, but rather the more general problem
that if /memory@NNNN changes name based on what RAM is present, it's not
possible for any bootloader to update it in a sane way (what node name
do you search for to edit), or any OS to read it in a sane way (what
node name do you search for to find out where memory is). As such, a
special case is logically required.
commit c9d9121683b35281239305e15adddfff2b462cf9
Author: Stephen Warren <swar...@nvidia.com>
Date: Fri Feb 19 15:59:29 2016 +1100
Warn on node name unit-address presence/absence mismatch
ePAPR 1.1 section 2.2.1.1 "Node Name Requirements" specifies that any
node that has a reg property must include a unit address in its name
with value matching the first entry in its reg property. Conversely, if
a node does not have a reg property, the node name must not include a
unit address. Also allow ranges property as it is deemed valid, but ePAPR
is not clear about it.
Implement a check for this. The code doesn't validate the format of the
unit address; ePAPR implies this may vary from (containing bus) binding
to binding, so doing so would be much more complex.
Signed-off-by: Stephen Warren <swar...@nvidia.com>
[robh: also allow non-empty ranges]
Signed-off-by: Rob Herring <r...@kernel.org>
[moved new test in check_table]
Signed-off-by: David Gibson <da...@gibson.dropbear.id.au>
That's where that warning comes from.
But some real quick grepping makes it seem like the cpu@0 error is also
a sign of a bigger problem in the dts file
But I would suggest that whomever is making special case warnings for
U-Boot bring that up on the U-Boot mailing list or otherwise ask? We're
not a black box...
Equally though, anyone working on DT in U-Boot should be hanging out on
the device tree mailing list, and getting actively involved in
discussions, rather than hiding here.
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot