diff mbox series

[1/2] arm64: dts: ls1088: add smmu device node

Message ID 1545109016-1779-1-git-send-email-nipun.gupta@nxp.com
State New
Headers show
Series [1/2] arm64: dts: ls1088: add smmu device node | expand

Commit Message

Nipun Gupta Dec. 18, 2018, 4:51 a.m. UTC
This patch also adds the iommu-map property in fsl-mc node, so
that fsl-mc can use iommu.

Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>

---
These patches are based over:
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git,
as there are couple of changes related to fsl-mc bus in this tree:
https://lore.kernel.org/patchwork/patch/1021020/

 arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi | 92 +++++++++++++++++++++++++-
 1 file changed, 91 insertions(+), 1 deletion(-)

-- 
1.9.1

Comments

Shawn Guo Jan. 11, 2019, 8:39 a.m. UTC | #1
On Tue, Dec 18, 2018 at 04:51:58AM +0000, Nipun Gupta wrote:
> This patch also adds the iommu-map property in fsl-mc node, so

> that fsl-mc can use iommu.

> 

> Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>

> ---

> These patches are based over:

> git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git,

> as there are couple of changes related to fsl-mc bus in this tree:

> https://lore.kernel.org/patchwork/patch/1021020/

> 

>  arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi | 92 +++++++++++++++++++++++++-

>  1 file changed, 91 insertions(+), 1 deletion(-)

> 

> diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi

> index de93b42..dec0c2d 100644

> --- a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi

> +++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi

> @@ -576,6 +576,7 @@

>  			reg = <0x00000008 0x0c000000 0 0x40>,	 /* MC portal base */

>  			      <0x00000000 0x08340000 0 0x40000>; /* MC control reg */

>  			msi-parent = <&its>;

> +			iommu-map = <0 &smmu 0 0>;	/* This is fixed-up by u-boot */

>  			#address-cells = <3>;

>  			#size-cells = <1>;

>  

> @@ -641,6 +642,96 @@

>  				};

>  			};

>  		};

> +

> +		smmu: iommu@5000000 {


We are trying to keep the nodes with unit-address sorted in the address.
I move the node to where it should be, and applied both patches.

Shawn

> +			compatible = "arm,mmu-500";

> +			reg = <0 0x5000000 0 0x800000>;

> +			#iommu-cells = <1>;

> +			stream-match-mask = <0x7C00>;

> +			#global-interrupts = <12>;

> +				     // global secure fault

> +			interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,

> +				     // combined secure

> +				     <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,

> +				     // global non-secure fault

> +				     <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,

> +				     // combined non-secure

> +				     <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,

> +				     // performance counter interrupts 0-7

> +				     <GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH>,

> +				     // per context interrupt, 64 interrupts

> +				     <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 172 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 179 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>,

> +				     <GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>;

> +		};

>  	};

>  

>  	firmware {

> @@ -649,5 +740,4 @@

>  			method = "smc";

>  		};

>  	};

> -

>  };

> -- 

> 1.9.1

> 

> 

> _______________________________________________

> linux-arm-kernel mailing list

> linux-arm-kernel@lists.infradead.org

> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Nipun Gupta Jan. 11, 2019, 8:45 a.m. UTC | #2
> -----Original Message-----

> From: Shawn Guo [mailto:shawnguo@kernel.org]

> Sent: Friday, January 11, 2019 2:10 PM

> To: Nipun Gupta <nipun.gupta@nxp.com>

> Cc: Leo Li <leoyang.li@nxp.com>; robh+dt@kernel.org;

> mark.rutland@arm.com; robin.murphy@arm.com; will.deacon@arm.com;

> linux-arm-kernel@lists.infradead.org; devicetree@vger.kernel.org; linux-

> kernel@vger.kernel.org

> Subject: Re: [PATCH 1/2] arm64: dts: ls1088: add smmu device node

> 

> On Tue, Dec 18, 2018 at 04:51:58AM +0000, Nipun Gupta wrote:

> > This patch also adds the iommu-map property in fsl-mc node, so

> > that fsl-mc can use iommu.

> >

> > Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>

> > ---

> > These patches are based over:

> > git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git,

> > as there are couple of changes related to fsl-mc bus in this tree:

> >

> https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flor

> e.kernel.org%2Fpatchwork%2Fpatch%2F1021020%2F&amp;data=02%7C01%

> 7Cnipun.gupta%40nxp.com%7C32db0a82c058487b3b9b08d677a0686c%7C686

> ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C636827928177177279&amp;s

> data=owEtCHfG%2Bc4pjO5lkb0TODYs6xORn2jXgLv4qJ95u8o%3D&amp;reser

> ved=0

> >

> >  arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi | 92

> +++++++++++++++++++++++++-

> >  1 file changed, 91 insertions(+), 1 deletion(-)

> >

> > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi

> b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi

> > index de93b42..dec0c2d 100644

> > --- a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi

> > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi

> > @@ -576,6 +576,7 @@

> >  			reg = <0x00000008 0x0c000000 0 0x40>,	 /* MC portal

> base */

> >  			      <0x00000000 0x08340000 0 0x40000>; /* MC

> control reg */

> >  			msi-parent = <&its>;

> > +			iommu-map = <0 &smmu 0 0>;	/* This is fixed-up by

> u-boot */

> >  			#address-cells = <3>;

> >  			#size-cells = <1>;

> >

> > @@ -641,6 +642,96 @@

> >  				};

> >  			};

> >  		};

> > +

> > +		smmu: iommu@5000000 {

> 

> We are trying to keep the nodes with unit-address sorted in the address.

> I move the node to where it should be, and applied both patches.


Thank you.
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
index de93b42..dec0c2d 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
@@ -576,6 +576,7 @@ 
 			reg = <0x00000008 0x0c000000 0 0x40>,	 /* MC portal base */
 			      <0x00000000 0x08340000 0 0x40000>; /* MC control reg */
 			msi-parent = <&its>;
+			iommu-map = <0 &smmu 0 0>;	/* This is fixed-up by u-boot */
 			#address-cells = <3>;
 			#size-cells = <1>;
 
@@ -641,6 +642,96 @@ 
 				};
 			};
 		};
+
+		smmu: iommu@5000000 {
+			compatible = "arm,mmu-500";
+			reg = <0 0x5000000 0 0x800000>;
+			#iommu-cells = <1>;
+			stream-match-mask = <0x7C00>;
+			#global-interrupts = <12>;
+				     // global secure fault
+			interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
+				     // combined secure
+				     <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
+				     // global non-secure fault
+				     <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
+				     // combined non-secure
+				     <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
+				     // performance counter interrupts 0-7
+				     <GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH>,
+				     // per context interrupt, 64 interrupts
+				     <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 172 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 179 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>;
+		};
 	};
 
 	firmware {
@@ -649,5 +740,4 @@ 
 			method = "smc";
 		};
 	};
-
 };