Reusing DTSI files across trees with differing numbers of address-cells
Stepan Moskovchenko
stepanm at codeaurora.org
Sat Apr 27 09:17:52 EST 2013
Hello. I am creating a DTS file for an ARM (Qualcomm MSM) target which
supports LPAE, meaning that the target is capable of addressing memory
beyond the standard 4GB boundary. To account for the fact that the
memory node can contain reg addresses that exceed 32 bits, I am setting
#address-cells and #size-cells to 2 at the top level of my tree, since
this is what the kernel will use when parsing the memory node.
However, my internal tree contains multiple DTSI files with definitions
for some hardware blocks that are used across multiple MSM targets,
including ones that have #address-cells and #size-cells set to 1 at the
top level, I would like to re-use some of these files in the tree for my
LPAE-based target. Additionally, most MSM I/O devices are declared at
the top level of the tree, rather than on a dedicated simple-bus.
To allow reuse of common hardware block definitions, I am considering
moving all the MSM memory-mapped I/O devices to a dedicated /soc node
(per the Power spec), declaring this node as a simple-bus with
#address-cells and #size-cells of 1, and using the ranges property to
map this bus into the top-level address space. Since MSM I/O devices are
located at addresses below 4GB, I believe it is okay to keep them on a
simple-bus with #address-cells=1.
Does this seem like a reasonable approach?
Thanks
Steve
--
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
More information about the devicetree-discuss
mailing list