Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3fb79338 authored by Rupjyoti Sarmah's avatar Rupjyoti Sarmah Committed by Benjamin Herrenschmidt
Browse files

powerpc/4xx: Adding PCIe MSI support



This patch adds MSI support for 440SPe, 460Ex, 460Sx and 405Ex.

Signed-off-by: default avatarRupjyoti Sarmah <rsarmah@apm.com>
Signed-off-by: default avatarTirumala R Marri <tmarri@apm.com>
Acked-by: default avatarJosh Boyer <jwboyer@linux.vnet.ibm.com>
Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
parent 4dd60290
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -530,5 +530,23 @@
				0x0 0x0 0x0 0x3 &UIC3 0x12 0x4 /* swizzled int C */
				0x0 0x0 0x0 0x4 &UIC3 0x13 0x4 /* swizzled int D */>;
		};

		MSI: ppc4xx-msi@C10000000 {
			compatible = "amcc,ppc4xx-msi", "ppc4xx-msi";
			reg = < 0xC 0x10000000 0x100>;
			sdr-base = <0x36C>;
			msi-data = <0x00000000>;
			msi-mask = <0x44440000>;
			interrupt-count = <3>;
			interrupts = <0 1 2 3>;
			interrupt-parent = <&UIC3>;
			#interrupt-cells = <1>;
			#address-cells = <0>;
			#size-cells = <0>;
			interrupt-map = <0 &UIC3 0x18 1
					1 &UIC3 0x19 1
					2 &UIC3 0x1A 1
					3 &UIC3 0x1B 1>;
		};
	};
};
+18 −0
Original line number Diff line number Diff line
@@ -442,6 +442,24 @@
				0x0 0x0 0x0 0x4 &UIC3 0xb 0x4 /* swizzled int D */>;
		};

		MSI: ppc4xx-msi@400300000 {
				compatible = "amcc,ppc4xx-msi", "ppc4xx-msi";
				reg = < 0x4 0x00300000 0x100>;
				sdr-base = <0x3B0>;
				msi-data = <0x00000000>;
				msi-mask = <0x44440000>;
				interrupt-count = <3>;
				interrupts =<0 1 2 3>;
				interrupt-parent = <&UIC0>;
				#interrupt-cells = <1>;
				#address-cells = <0>;
				#size-cells = <0>;
				interrupt-map = <0 &UIC0 0xC 1
					1 &UIC0 0x0D 1
					2 &UIC0 0x0E 1
					3 &UIC0 0x0F 1>;
		};

		I2O: i2o@400100000 {
			compatible = "ibm,i2o-440spe";
			reg = <0x00000004 0x00100000 0x100>;
+28 −0
Original line number Diff line number Diff line
@@ -403,5 +403,33 @@
				0x0 0x0 0x0 0x3 &UIC2 0xd 0x4 /* swizzled int C */
				0x0 0x0 0x0 0x4 &UIC2 0xe 0x4 /* swizzled int D */>;
		};

		MSI: ppc4xx-msi@C10000000 {
			compatible = "amcc,ppc4xx-msi", "ppc4xx-msi";
			reg = < 0x0 0xEF620000 0x100>;
			sdr-base = <0x4B0>;
			msi-data = <0x00000000>;
			msi-mask = <0x44440000>;
			interrupt-count = <12>;
			interrupts = <0 1 2 3 4 5 6 7 8 9 0xA 0xB 0xC 0xD>;
			interrupt-parent = <&UIC2>;
			#interrupt-cells = <1>;
			#address-cells = <0>;
			#size-cells = <0>;
			interrupt-map = <0 &UIC2 0x10 1
					1 &UIC2 0x11 1
					2 &UIC2 0x12 1
					2 &UIC2 0x13 1
					2 &UIC2 0x14 1
					2 &UIC2 0x15 1
					2 &UIC2 0x16 1
					2 &UIC2 0x17 1
					2 &UIC2 0x18 1
					2 &UIC2 0x19 1
					2 &UIC2 0x1A 1
					2 &UIC2 0x1B 1
					2 &UIC2 0x1C 1
					3 &UIC2 0x1D 1>;
		};
	};
};
+20 −0
Original line number Diff line number Diff line
@@ -358,8 +358,28 @@
				0x0 0x0 0x0 0x4 &UIC3 0xb 0x4 /* swizzled int D */>;
		};

		MSI: ppc4xx-msi@400300000 {
				compatible = "amcc,ppc4xx-msi", "ppc4xx-msi";
				reg = < 0x4 0x00300000 0x100
					0x4 0x00300000 0x100>;
				sdr-base = <0x3B0>;
				msi-data = <0x00000000>;
				msi-mask = <0x44440000>;
				interrupt-count = <3>;
				interrupts =<0 1 2 3>;
				interrupt-parent = <&UIC0>;
				#interrupt-cells = <1>;
				#address-cells = <0>;
				#size-cells = <0>;
				interrupt-map = <0 &UIC0 0xC 1
					1 &UIC0 0x0D 1
					2 &UIC0 0x0E 1
					3 &UIC0 0x0F 1>;
		};

	};


	chosen {
		linux,stdout-path = "/plb/opb/serial@ef600200";
	};
+2 −0
Original line number Diff line number Diff line
@@ -57,6 +57,8 @@ config KILAUEA
	select 405EX
	select PPC40x_SIMPLE
	select PPC4xx_PCI_EXPRESS
	select PCI_MSI
	select PPC4xx_MSI
	help
	  This option enables support for the AMCC PPC405EX evaluation board.

Loading