Move up AHB/IOMMU to register them earlier than others. IOMMU needs
AHB, and IOMMU needs to register all platform devices as
IOMMU'able. So AHB/IOMMU needs to be instanciated at very beginning.

Signed-off-by: Hiroshi Doyu <[email protected]>
---
 arch/arm/boot/dts/tegra30.dtsi | 33 +++++++++++++++++----------------
 1 file changed, 17 insertions(+), 16 deletions(-)

diff --git a/arch/arm/boot/dts/tegra30.dtsi b/arch/arm/boot/dts/tegra30.dtsi
index 3fcee3f..7c480f2 100644
--- a/arch/arm/boot/dts/tegra30.dtsi
+++ b/arch/arm/boot/dts/tegra30.dtsi
@@ -17,6 +17,23 @@
                serial4 = &uarte;
        };
 
+       /* FIXME: ahb/iommu needs to be populated first. */
+       ahb: ahb {
+               compatible = "nvidia,tegra30-ahb";
+               reg = <0x6000c004 0x14c>; /* AHB Arbitration + Gizmo Controller 
*/
+       };
+
+       iommu {
+               compatible = "nvidia,tegra30-smmu";
+               reg = <0x7000f010 0x02c
+                      0x7000f1f0 0x010
+                      0x7000f228 0x05c>;
+               nvidia,#asids = <4>;            /* # of ASIDs */
+               dma-window = <0 0x40000000>;    /* IOVA start & length */
+               nvidia,swgroups = <0x00000000 0x000779ff>;
+               nvidia,ahb = <&ahb>;
+       };
+
        host1x {
                compatible = "nvidia,tegra30-host1x", "simple-bus";
                reg = <0x50000000 0x00024000>;
@@ -213,11 +230,6 @@
                clocks = <&tegra_car TEGRA30_CLK_APBDMA>;
        };
 
-       ahb: ahb {
-               compatible = "nvidia,tegra30-ahb";
-               reg = <0x6000c004 0x14c>; /* AHB Arbitration + Gizmo Controller 
*/
-       };
-
        gpio: gpio {
                compatible = "nvidia,tegra30-gpio";
                reg = <0x6000d000 0x1000>;
@@ -469,17 +481,6 @@
                interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
        };
 
-       iommu {
-               compatible = "nvidia,tegra30-smmu";
-               reg = <0x7000f010 0x02c
-                      0x7000f1f0 0x010
-                      0x7000f228 0x05c>;
-               nvidia,#asids = <4>;            /* # of ASIDs */
-               dma-window = <0 0x40000000>;    /* IOVA start & length */
-               nvidia,swgroups = <0x00000000 0x000779ff>;
-               nvidia,ahb = <&ahb>;
-       };
-
        ahub {
                compatible = "nvidia,tegra30-ahub";
                reg = <0x70080000 0x200
-- 
1.8.1.5

--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to