[Pdbg] [PATCH 02/11] dts: Populate all possible chips in bmc-kernel device tree

Amitay Isaacs amitay at ozlabs.org
Thu Apr 30 13:05:35 AEST 2020


Signed-off-by: Amitay Isaacs <amitay at ozlabs.org>
---
 bmc-kernel.dts.m4 | 166 ++++++++++++++++++++++++++--------------------
 1 file changed, 93 insertions(+), 73 deletions(-)

diff --git a/bmc-kernel.dts.m4 b/bmc-kernel.dts.m4
index 5c8010f..7cf43cf 100644
--- a/bmc-kernel.dts.m4
+++ b/bmc-kernel.dts.m4
@@ -1,90 +1,110 @@
-/dts-v1/;
+dnl
+dnl PIB([addr], [index], [path-index])
+dnl
+define(`PIB',
+`
+	pib@$1 {
+		#address-cells = <0x2>;
+		#size-cells = <0x1>;
+		reg = <0x0 0x$1 0x7>;
+		compatible = "ibm,kernel-pib";
+		index = <0x$2>;
+		device-path = "/dev/scom$3";
+		system-path = "/proc$2/pib";
+	};
+')dnl
 
-/ {
-	#address-cells = <0x1>;
-	#size-cells = <0x0>;
+dnl
+dnl SBEFIFO([index], [path-index])
+dnl
+define(`SBEFIFO',
+`
+	sbefifo at 2400 { /* Bogus address */
+		reg = <0x0 0x2400 0x7>;
+		compatible = "ibm,kernel-sbefifo";
+		index = <0x$1>;
+		device-path = "/dev/sbefifo$2";
+
+		sbefifo-mem {
+			compatible = "ibm,sbefifo-mem";
+			index = <0x$1>;
+			system-path = "/mem$1";
+		};
+
+		sbefifo-pba {
+			compatible = "ibm,sbefifo-mem-pba";
+			index = <0x$1>;
+			system-path = "/mempba$1";
+		};
+
+		sbefifo-chipop {
+			compatible = "ibm,sbefifo-chipop";
+			index = <0x$1>;
+		};
+	};
+')dnl
 
-	fsi0: kernelfsi at 0 {
+dnl
+dnl FSI_PRE([addr], [index], [path-index])
+dnl
+define(`FSI_PRE',
+`
+	fsi@$1 {
 		#address-cells = <0x2>;
 		#size-cells = <0x1>;
+		reg = <0x0 0x$1 0x8000>;
 		compatible = "ibm,kernel-fsi";
-		reg = <0x0 0x0 0x0>;
-		index = <0x0>;
+		index = <0x$2>;
+		system-path = "/proc$2/fsi";
 		status = "mustexist";
-		system-path = "/proc0/fsi";
 
-		pib at 1000 {
-			#address-cells = <0x2>;
-			#size-cells = <0x1>;
-			reg = <0x0 0x1000 0x7>;
-			index = <0x0>;
-			compatible = "ibm,kernel-pib";
-			device-path = "/dev/scom1";
-			system-path = "/proc0/pib";
-		};
-
-		sbefifo at 2400 { /* Bogus address */
-			reg = <0x0 0x2400 0x7>;
-			index = <0x0>;
-			compatible = "ibm,kernel-sbefifo";
-			device-path = "/dev/sbefifo1";
+		PIB(1000, $2, $3)
+		SBEFIFO($2, $3)
+')dnl
 
-			sbefifo-mem {
-				compatible = "ibm,sbefifo-mem";
-				system-path = "/mem0";
-			};
+dnl
+dnl FSI_POST()
+dnl
+define(`FSI_POST',
+`
+	};
+')dnl
 
-			sbefifo-pba {
-				compatible = "ibm,sbefifo-mem-pba";
-				system-path = "/mempba0";
-			};
+dnl
+dnl HMFSI([addr], [port], [index], [path-index])
+dnl
+define(`HMFSI',
+`
+	hmfsi@$1 {
+		#address-cells = <0x2>;
+		#size-cells = <0x1>;
+		reg = <0x0 0x$1 0x8000>;
+		compatible = "ibm,fsi-hmfsi";
+		port = <0x$2>;
+		index = <0x$3>;
+		system-path = "/proc$3/fsi";
 
-			sbefifo-chipop {
-				compatible = "ibm,sbefifo-chipop";
-				index = <0x0>;
-			};
-		};
+		PIB(1000, $3, $4)
+		SBEFIFO($3, $4)
+	};
+')dnl
 
-		hmfsi at 100000 {
-			#address-cells = <0x2>;
-			#size-cells = <0x1>;
-			compatible = "ibm,fsi-hmfsi";
-			reg = <0x0 0x100000 0x8000>;
-			port = <0x1>;
-			index = <0x1>;
-			system-path = "/proc1/fsi";
 
-			pib at 1000 {
-				#address-cells = <0x2>;
-				#size-cells = <0x1>;
-				reg = <0x0 0x1000 0x7>;
-				index = <0x1>;
-				compatible = "ibm,kernel-pib";
-				device-path = "/dev/scom2";
-				system-path = "/proc1/pib";
-			};
+/dts-v1/;
 
-			sbefifo at 2400 { /* Bogus address */
-				reg = <0x0 0x2400 0x7>;
-				index = <0x1>;
-				compatible = "ibm,kernel-sbefifo";
-				device-path = "/dev/sbefifo2";
+/ {
+	#address-cells = <0x1>;
+	#size-cells = <0x0>;
 
-				sbefifo-mem {
-					compatible = "ibm,sbefifo-mem";
-					system-path = "/mem1";
-				};
+	FSI_PRE(0, 0, 1)
 
-				sbefifo-pba {
-					compatible = "ibm,sbefifo-mem-pba";
-					system-path = "/mempba1";
-				};
+	HMFSI(100000, 1, 1, 2)
+	HMFSI(180000, 2, 2, 3)
+	HMFSI(200000, 3, 3, 4)
+	HMFSI(280000, 4, 4, 5)
+	HMFSI(300000, 5, 5, 6)
+	HMFSI(380000, 6, 6, 7)
+	HMFSI(400000, 7, 7, 8)
 
-				sbefifo-chipop {
-					compatible = "ibm,sbefifo-chipop";
-					index = <0x1>;
-				};
-			};
-		};
-	};
+	FSI_POST()
 };
-- 
2.25.4



More information about the Pdbg mailing list