Is nesting indirect buses allowed? It seems to introduce a lot of
complication if so, and my guess is that it should just be explicitly
forbidden in the specification, but I'd like to know.
For example:
/ {
parent {
compatible = "indirect-bus";
child {
compatible = "indirect-bus";
peripheral@deadbeef { /* ... */ };
};
};
};
If this is allowed, what are the semantics for mapping in
peripheral@deadbeef above in the address-map property of a
"cpus,cluster" node?
-
If I map in parent, do I automatically get peripheral@deadbeef
too even if I don't map child?
- If so, via what address map translation through
child?
- If not, does that mean I can simply ignore any "indirect-bus"
node, along with all of its children, that aren't mapped
explicitly (assuming peripheral@deadbeef is not present in the
address-map property)?
-
If I map in child but not parent, how can I generate an
equivalent devicetree? Do I need to lift child to be under the
root node or something like that?
Is nesting indirect buses allowed? It seems to introduce a lot of
complication if so, and my guess is that it should just be explicitly
forbidden in the specification, but I'd like to know.
For example:
If this is allowed, what are the semantics for mapping in
peripheral@deadbeefabove in theaddress-mapproperty of a"cpus,cluster" node?
If I map in
parent, do I automatically getperipheral@deadbeeftoo even if I don't map
child?child?node, along with all of its children, that aren't mapped
explicitly (assuming
peripheral@deadbeefis not present in theaddress-mapproperty)?If I map in
childbut notparent, how can I generate anequivalent devicetree? Do I need to lift
childto be under theroot node or something like that?