arm/dt: msm: Move I/O devices to a dedicated SoC node
The Device Tree specification suggests that memory-mapped
I/O devices should be declared within the 'soc' node rather
than being declared at the root level. Refactor the MSM
device tree files to follow to this design pattern.
Furthermore, declaring I/O devices with the 'soc' node
facilitates reuse of common DTSI files across device trees
whose root-level #address-cells and #size-cells properties
might be different.
Explicitly call of_platform_populate on the /soc node to
parent its devices to the root node, to preserve the kernel
ABI until userspace is updated.
Change-Id: Ib6a4a42c3a3d419b5f8d8c49706ed5d78c1b6adc
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
diff --git a/arch/arm/boot/dts/mpq8092.dtsi b/arch/arm/boot/dts/mpq8092.dtsi
index c92dad9..4dea9e0 100644
--- a/arch/arm/boot/dts/mpq8092.dtsi
+++ b/arch/arm/boot/dts/mpq8092.dtsi
@@ -11,15 +11,24 @@
*/
/include/ "skeleton.dtsi"
-/include/ "mpq8092-iommu.dtsi"
-/include/ "msm-gdsc.dtsi"
-/include/ "mpq8092-ion.dtsi"
/ {
model = "Qualcomm MPQ8092";
compatible = "qcom,mpq8092";
interrupt-parent = <&intc>;
+ soc: soc { };
+};
+
+/include/ "mpq8092-iommu.dtsi"
+/include/ "msm-gdsc.dtsi"
+/include/ "mpq8092-ion.dtsi"
+
+&soc {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
intc: interrupt-controller@f9000000 {
compatible = "qcom,msm-qgic2";
interrupt-controller;