]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
arm64: zynqmp: Make SMMU a separate node outside amba
authorHarini Katakam <harini.katakam@xilinx.com>
Wed, 5 Sep 2018 11:17:26 +0000 (16:47 +0530)
committerMichal Simek <michal.simek@xilinx.com>
Wed, 27 Feb 2019 07:53:07 +0000 (08:53 +0100)
Drivers dependent on IOMMU expect SMMU to be probed first and
in PM flow, suspended last and resumed first.

This can ideally be achieved by adding PM support in arm-smmu and
maintaining the above expected order. This series on LKML proposes
the same:
https://patchwork.ozlabs.org/cover/885035/

But this is still under review and would require pulling in more
framework changes on the current xilinx tree. Hence this patch
provides a temporary fix until the above solution is finalized.
The expected order is maintained by moving SMMU node outside amba node
in the devicetree.

Signed-off-by: Harini Katakam <harini.katakam@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
arch/arm/dts/zynqmp.dtsi

index ff5a2314bfe663e401629c0d9543c5bc4907e367..f40319789759693a6e71bedb61b438e8203a6e30 100644 (file)
                };
        };
 
+       smmu: smmu@fd800000 {
+               compatible = "arm,mmu-500";
+               reg = <0x0 0xfd800000 0x0 0x20000>;
+               #iommu-cells = <1>;
+               status = "okay";
+               #global-interrupts = <1>;
+               interrupt-parent = <&gic>;
+               interrupts = <0 155 4>,
+                       <0 155 4>, <0 155 4>, <0 155 4>, <0 155 4>,
+                       <0 155 4>, <0 155 4>, <0 155 4>, <0 155 4>,
+                       <0 155 4>, <0 155 4>, <0 155 4>, <0 155 4>,
+                       <0 155 4>, <0 155 4>, <0 155 4>, <0 155 4>;
+       };
+
        amba: amba {
                compatible = "simple-bus";
                u-boot,dm-pre-reloc;
                        nvmem-cell-names = "soc_revision";
                };
 
-               smmu: smmu@fd800000 {
-                       compatible = "arm,mmu-500";
-                       reg = <0x0 0xfd800000 0x0 0x20000>;
-                       #iommu-cells = <1>;
-                       status = "okay";
-                       #global-interrupts = <1>;
-                       interrupt-parent = <&gic>;
-                       interrupts = <0 155 4>,
-                               <0 155 4>, <0 155 4>, <0 155 4>, <0 155 4>,
-                               <0 155 4>, <0 155 4>, <0 155 4>, <0 155 4>,
-                               <0 155 4>, <0 155 4>, <0 155 4>, <0 155 4>,
-                               <0 155 4>, <0 155 4>, <0 155 4>, <0 155 4>;
-               };
-
                spi0: spi@ff040000 {
                        compatible = "cdns,spi-r1p6";
                        status = "disabled";