All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/2] dts: arm64: add DPAA 1 support for ARM based SoCs
@ 2017-03-01 15:35 ` Madalin Bucur
  0 siblings, 0 replies; 30+ messages in thread
From: Madalin Bucur @ 2017-03-01 15:35 UTC (permalink / raw)
  To: robh+dt
  Cc: devicetree, shawnguo, mark.rutland, catalin.marinas, will.deacon,
	linux-arm-kernel, linux-kernel, Madalin Bucur

Add DPAA 1 nodes for LS1043A/LS1046A and networking support for RDB
and QDS boards with these SoCs.

changes from v1: addressed comment from Rob Herring on using SPDX
		 license identifiers

Madalin Bucur (2):
  dts: arm64: add LS1043A DPAA support
  dts: arm64: add LS1046A DPAA support

 arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi | 41 +++++++++++
 arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts  |  2 +
 arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts  | 75 ++++++++++++++++++++
 arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi     | 73 +++++++++++++++++++-
 arch/arm64/boot/dts/freescale/fsl-ls1046-post.dtsi | 45 ++++++++++++
 arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts  |  2 +
 arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts  | 62 +++++++++++++++++
 arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi     | 66 +++++++++++++++++-
 .../boot/dts/freescale/qoriq-bman1-portals.dtsi    | 67 ++++++++++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi    | 42 ++++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-10g-1.dtsi    | 42 ++++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi     | 41 +++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi     | 41 +++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi     | 41 +++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi     | 41 +++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi     | 41 +++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi     | 41 +++++++++++
 arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi   | 80 ++++++++++++++++++++++
 .../boot/dts/freescale/qoriq-qman1-portals.dtsi    | 76 ++++++++++++++++++++
 19 files changed, 917 insertions(+), 2 deletions(-)
 create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1046-post.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-bman1-portals.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-1.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-qman1-portals.dtsi

-- 
2.1.0

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH v2 0/2] dts: arm64: add DPAA 1 support for ARM based SoCs
@ 2017-03-01 15:35 ` Madalin Bucur
  0 siblings, 0 replies; 30+ messages in thread
From: Madalin Bucur @ 2017-03-01 15:35 UTC (permalink / raw)
  To: robh+dt-DgEjT+Ai2ygdnm+yROfE0A
  Cc: devicetree-u79uwXL29TY76Z2rM5mHXA,
	shawnguo-DgEjT+Ai2ygdnm+yROfE0A, mark.rutland-5wv7dgnIgG8,
	catalin.marinas-5wv7dgnIgG8, will.deacon-5wv7dgnIgG8,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA, Madalin Bucur

Add DPAA 1 nodes for LS1043A/LS1046A and networking support for RDB
and QDS boards with these SoCs.

changes from v1: addressed comment from Rob Herring on using SPDX
		 license identifiers

Madalin Bucur (2):
  dts: arm64: add LS1043A DPAA support
  dts: arm64: add LS1046A DPAA support

 arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi | 41 +++++++++++
 arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts  |  2 +
 arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts  | 75 ++++++++++++++++++++
 arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi     | 73 +++++++++++++++++++-
 arch/arm64/boot/dts/freescale/fsl-ls1046-post.dtsi | 45 ++++++++++++
 arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts  |  2 +
 arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts  | 62 +++++++++++++++++
 arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi     | 66 +++++++++++++++++-
 .../boot/dts/freescale/qoriq-bman1-portals.dtsi    | 67 ++++++++++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi    | 42 ++++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-10g-1.dtsi    | 42 ++++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi     | 41 +++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi     | 41 +++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi     | 41 +++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi     | 41 +++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi     | 41 +++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi     | 41 +++++++++++
 arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi   | 80 ++++++++++++++++++++++
 .../boot/dts/freescale/qoriq-qman1-portals.dtsi    | 76 ++++++++++++++++++++
 19 files changed, 917 insertions(+), 2 deletions(-)
 create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1046-post.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-bman1-portals.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-1.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-qman1-portals.dtsi

-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH v2 0/2] dts: arm64: add DPAA 1 support for ARM based SoCs
@ 2017-03-01 15:35 ` Madalin Bucur
  0 siblings, 0 replies; 30+ messages in thread
From: Madalin Bucur @ 2017-03-01 15:35 UTC (permalink / raw)
  To: linux-arm-kernel

Add DPAA 1 nodes for LS1043A/LS1046A and networking support for RDB
and QDS boards with these SoCs.

changes from v1: addressed comment from Rob Herring on using SPDX
		 license identifiers

Madalin Bucur (2):
  dts: arm64: add LS1043A DPAA support
  dts: arm64: add LS1046A DPAA support

 arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi | 41 +++++++++++
 arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts  |  2 +
 arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts  | 75 ++++++++++++++++++++
 arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi     | 73 +++++++++++++++++++-
 arch/arm64/boot/dts/freescale/fsl-ls1046-post.dtsi | 45 ++++++++++++
 arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts  |  2 +
 arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts  | 62 +++++++++++++++++
 arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi     | 66 +++++++++++++++++-
 .../boot/dts/freescale/qoriq-bman1-portals.dtsi    | 67 ++++++++++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi    | 42 ++++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-10g-1.dtsi    | 42 ++++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi     | 41 +++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi     | 41 +++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi     | 41 +++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi     | 41 +++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi     | 41 +++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi     | 41 +++++++++++
 arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi   | 80 ++++++++++++++++++++++
 .../boot/dts/freescale/qoriq-qman1-portals.dtsi    | 76 ++++++++++++++++++++
 19 files changed, 917 insertions(+), 2 deletions(-)
 create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1046-post.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-bman1-portals.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-1.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-qman1-portals.dtsi

-- 
2.1.0

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support
  2017-03-01 15:35 ` Madalin Bucur
  (?)
@ 2017-03-01 15:35   ` Madalin Bucur
  -1 siblings, 0 replies; 30+ messages in thread
From: Madalin Bucur @ 2017-03-01 15:35 UTC (permalink / raw)
  To: robh+dt
  Cc: devicetree, shawnguo, mark.rutland, catalin.marinas, will.deacon,
	linux-arm-kernel, linux-kernel, Madalin Bucur

Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
---
 arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi | 41 +++++++++++
 arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts  |  2 +
 arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts  | 75 ++++++++++++++++++++
 arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi     | 73 +++++++++++++++++++-
 .../boot/dts/freescale/qoriq-bman1-portals.dtsi    | 67 ++++++++++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi    | 42 ++++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi     | 41 +++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi     | 41 +++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi     | 41 +++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi     | 41 +++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi     | 41 +++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi     | 41 +++++++++++
 arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi   | 80 ++++++++++++++++++++++
 .../boot/dts/freescale/qoriq-qman1-portals.dtsi    | 76 ++++++++++++++++++++
 14 files changed, 701 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-bman1-portals.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-qman1-portals.dtsi

diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi
new file mode 100644
index 0000000..bf443d2
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi
@@ -0,0 +1,41 @@
+/*
+ * QorIQ FMan v3 device tree nodes for ls1043
+ *
+ * Copyright 2015-2016 Freescale Semiconductor Inc.
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+ */
+
+&soc {
+
+/include/ "qoriq-fman3-0.dtsi"
+/include/ "qoriq-fman3-0-1g-0.dtsi"
+/include/ "qoriq-fman3-0-1g-1.dtsi"
+/include/ "qoriq-fman3-0-1g-2.dtsi"
+/include/ "qoriq-fman3-0-1g-3.dtsi"
+/include/ "qoriq-fman3-0-1g-4.dtsi"
+/include/ "qoriq-fman3-0-1g-5.dtsi"
+/include/ "qoriq-fman3-0-10g-0.dtsi"
+	fman@1a00000 {
+		enet0: ethernet@e0000 {
+		};
+
+		enet1: ethernet@e2000 {
+		};
+
+		enet2: ethernet@e4000 {
+		};
+
+		enet3: ethernet@e6000 {
+		};
+
+		enet4: ethernet@e8000 {
+		};
+
+		enet5: ethernet@ea000 {
+		};
+
+		enet6: ethernet@f0000 {
+		};
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
index 0989d63..ee66bb2 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
@@ -181,3 +181,5 @@
 		reg = <0>;
 	};
 };
+
+/include/ "fsl-ls1043-post.dtsi"
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
index c37110b..d94f003 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
@@ -139,3 +139,78 @@
 &duart1 {
 	status = "okay";
 };
+
+/include/ "fsl-ls1043-post.dtsi"
+
+&soc {
+	fman@1a00000 {
+		ethernet@e0000 {
+			phy-handle = <&qsgmii_phy1>;
+			phy-connection-type = "qsgmii";
+		};
+
+		ethernet@e2000 {
+			phy-handle = <&qsgmii_phy2>;
+			phy-connection-type = "qsgmii";
+		};
+
+		ethernet@e4000 {
+			phy-handle = <&rgmii_phy1>;
+			phy-connection-type = "rgmii";
+		};
+
+		ethernet@e6000 {
+			phy-handle = <&rgmii_phy2>;
+			phy-connection-type = "rgmii";
+		};
+
+		ethernet@e8000 {
+			phy-handle = <&qsgmii_phy3>;
+			phy-connection-type = "qsgmii";
+		};
+
+		ethernet@ea000 {
+			phy-handle = <&qsgmii_phy4>;
+			phy-connection-type = "qsgmii";
+		};
+
+		ethernet@f0000 { /* 10GEC1 */
+			phy-handle = <&aqr105_phy>;
+			phy-connection-type = "xgmii";
+		};
+
+		mdio@fc000 {
+			rgmii_phy1: ethernet-phy@1 {
+				reg = <0x1>;
+			};
+
+			rgmii_phy2: ethernet-phy@2 {
+				reg = <0x2>;
+			};
+
+			qsgmii_phy1: ethernet-phy@3 {
+				reg = <0x4>;
+			};
+
+			qsgmii_phy2: ethernet-phy@4 {
+				reg = <0x5>;
+			};
+
+			qsgmii_phy3: ethernet-phy@5 {
+				reg = <0x6>;
+			};
+
+			qsgmii_phy4: ethernet-phy@6 {
+				reg = <0x7>;
+			};
+		};
+
+		mdio@fd000 {
+			aqr105_phy: ethernet-phy@c {
+				compatible = "ethernet-phy-ieee802.3-c45";
+				interrupts = <0 132 4>;
+				reg = <0x1>;
+			};
+		};
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
index ec13a6e..ac1e0af 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
@@ -52,6 +52,17 @@
 	#address-cells = <2>;
 	#size-cells = <2>;
 
+	aliases {
+		fman0 = &fman0;
+		ethernet0 = &enet0;
+		ethernet1 = &enet1;
+		ethernet2 = &enet2;
+		ethernet3 = &enet3;
+		ethernet4 = &enet4;
+		ethernet5 = &enet5;
+		ethernet6 = &enet6;
+	};
+
 	cpus {
 		#address-cells = <1>;
 		#size-cells = <0>;
@@ -106,6 +117,36 @@
 		      /* DRAM space 1, size: 2GiB DRAM */
 	};
 
+	reserved-memory {
+		#address-cells = <2>;
+		#size-cells = <2>;
+		ranges;
+
+		bman_fbpr: bman-fbpr {
+			size = <0 0x1000000>;
+			alignment = <0 0x1000000>;
+		};
+
+		qman_fqd: qman-fqd {
+			size = <0 0x400000>;
+			alignment = <0 0x400000>;
+		};
+
+		qman_pfdr: qman-pfdr {
+			size = <0 0x2000000>;
+			alignment = <0 0x2000000>;
+		};
+	};
+
+	bportals: bman-portals@508000000 {
+		ranges = <0x0 0x5 0x08000000 0x8000000>;
+	};
+
+	qportals: qman-portals@500000000 {
+		ranges = <0x0 0x5 0x00000000 0x8000000>;
+	};
+
+
 	sysclk: sysclk {
 		compatible = "fixed-clock";
 		#clock-cells = <0>;
@@ -152,7 +193,7 @@
 		interrupts = <1 9 0xf08>;
 	};
 
-	soc {
+	soc: soc {
 		compatible = "simple-bus";
 		#address-cells = <2>;
 		#size-cells = <2>;
@@ -333,6 +374,18 @@
 			};
 		};
 
+		qman: qman@1880000 {
+			compatible = "fsl,qman";
+			reg = <0x00 0x1880000 0x0 0x10000>;
+			interrupts = <0 45 0x4>;
+		};
+
+		bman: bman@1890000 {
+			compatible = "fsl,bman";
+			reg = <0x00 0x1890000 0x0 0x10000>;
+			interrupts = <0 45 0x4>;
+		};
+
 		dspi0: dspi@2100000 {
 			compatible = "fsl,ls1043a-dspi", "fsl,ls1021a-v1.0-dspi";
 			#address-cells = <1>;
@@ -686,3 +739,21 @@
 	};
 
 };
+
+&bman_fbpr {
+	compatible = "fsl,bman-fbpr";
+	alloc-ranges = <0 0 0x10000 0>;
+};
+
+&qman_fqd {
+	compatible = "fsl,qman-fqd";
+	alloc-ranges = <0 0 0x10000 0>;
+};
+
+&qman_pfdr {
+	compatible = "fsl,qman-pfdr";
+	alloc-ranges = <0 0 0x10000 0>;
+};
+
+/include/ "qoriq-qman1-portals.dtsi"
+/include/ "qoriq-bman1-portals.dtsi"
diff --git a/arch/arm64/boot/dts/freescale/qoriq-bman1-portals.dtsi b/arch/arm64/boot/dts/freescale/qoriq-bman1-portals.dtsi
new file mode 100644
index 0000000..b007344
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/qoriq-bman1-portals.dtsi
@@ -0,0 +1,67 @@
+/*
+ * QorIQ BMan Portals device tree
+ *
+ * Copyright 2011-2016 Freescale Semiconductor Inc.
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+ */
+
+&bportals {
+	#address-cells = <1>;
+	#size-cells = <1>;
+	compatible = "simple-bus";
+
+	bman-portal@0 {
+		compatible = "fsl,bman-portal";
+		reg = <0x0 0x4000 0x4000000 0x4000>;
+		interrupts = <0 173 0x4>;
+	};
+
+	bman-portal@10000 {
+		compatible = "fsl,bman-portal";
+		reg = <0x10000 0x4000 0x4010000 0x4000>;
+		interrupts = <0 175 0x4>;
+	};
+
+	bman-portal@20000 {
+		compatible = "fsl,bman-portal";
+		reg = <0x20000 0x4000 0x4020000 0x4000>;
+		interrupts = <0 177 0x4>;
+	};
+
+	bman-portal@30000 {
+		compatible = "fsl,bman-portal";
+		reg = <0x30000 0x4000 0x4030000 0x4000>;
+		interrupts = <0 179 0x4>;
+	};
+
+	bman-portal@40000 {
+		compatible = "fsl,bman-portal";
+		reg = <0x40000 0x4000 0x4040000 0x4000>;
+		interrupts = <0 181 0x4>;
+	};
+
+	bman-portal@50000 {
+		compatible = "fsl,bman-portal";
+		reg = <0x50000 0x4000 0x4050000 0x4000>;
+		interrupts = <0 183 0x4>;
+	};
+
+	bman-portal@60000 {
+		compatible = "fsl,bman-portal";
+		reg = <0x60000 0x4000 0x4060000 0x4000>;
+		interrupts = <0 185 0x4>;
+	};
+
+	bman-portal@70000 {
+		compatible = "fsl,bman-portal";
+		reg = <0x70000 0x4000 0x4070000 0x4000>;
+		interrupts = <0 187 0x4>;
+	};
+
+	bman-portal@80000 {
+		compatible = "fsl,bman-portal";
+		reg = <0x80000 0x4000 0x4080000 0x4000>;
+		interrupts = <0 189 0x4>;
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi
new file mode 100644
index 0000000..ecdffe7
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi
@@ -0,0 +1,42 @@
+/*
+ * QorIQ FMan v3 10g port #0 device tree
+ *
+ * Copyright 2012-2015 Freescale Semiconductor Inc.
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+ */
+
+fman@1a00000 {
+	fman0_rx_0x10: port@90000 {
+		cell-index = <0x10>;
+		compatible = "fsl,fman-v3-port-rx";
+		reg = <0x90000 0x1000>;
+		fsl,fman-10g-port;
+	};
+
+	fman0_tx_0x30: port@b0000 {
+		cell-index = <0x30>;
+		compatible = "fsl,fman-v3-port-tx";
+		reg = <0xb0000 0x1000>;
+		fsl,fman-10g-port;
+	};
+
+	ethernet@f0000 {
+		cell-index = <0x8>;
+		compatible = "fsl,fman-memac";
+		reg = <0xf0000 0x1000>;
+		fsl,fman-ports = <&fman0_rx_0x10 &fman0_tx_0x30>;
+		pcsphy-handle = <&pcsphy6>;
+	};
+
+	mdio@f1000 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
+		reg = <0xf1000 0x1000>;
+
+		pcsphy6: ethernet-phy@0 {
+			reg = <0x0>;
+		};
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi
new file mode 100644
index 0000000..d600786
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi
@@ -0,0 +1,41 @@
+/*
+ * QorIQ FMan v3 1g port #0 device tree
+ *
+ * Copyright 2012-2015 Freescale Semiconductor Inc.
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+ */
+
+fman@1a00000 {
+	fman0_rx_0x08: port@88000 {
+		cell-index = <0x8>;
+		compatible = "fsl,fman-v3-port-rx";
+		reg = <0x88000 0x1000>;
+	};
+
+	fman0_tx_0x28: port@a8000 {
+		cell-index = <0x28>;
+		compatible = "fsl,fman-v3-port-tx";
+		reg = <0xa8000 0x1000>;
+	};
+
+	ethernet@e0000 {
+		cell-index = <0>;
+		compatible = "fsl,fman-memac";
+		reg = <0xe0000 0x1000>;
+		fsl,fman-ports = <&fman0_rx_0x08 &fman0_tx_0x28>;
+		ptp-timer = <&ptp_timer0>;
+		pcsphy-handle = <&pcsphy0>;
+	};
+
+	mdio@e1000 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
+		reg = <0xe1000 0x1000>;
+
+		pcsphy0: ethernet-phy@0 {
+			reg = <0x0>;
+		};
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi
new file mode 100644
index 0000000..3c0b76d
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi
@@ -0,0 +1,41 @@
+/*
+ * QorIQ FMan v3 1g port #1 device tree
+ *
+ * Copyright 2012-2015 Freescale Semiconductor Inc.
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+ */
+
+fman@1a00000 {
+	fman0_rx_0x09: port@89000 {
+		cell-index = <0x9>;
+		compatible = "fsl,fman-v3-port-rx";
+		reg = <0x89000 0x1000>;
+	};
+
+	fman0_tx_0x29: port@a9000 {
+		cell-index = <0x29>;
+		compatible = "fsl,fman-v3-port-tx";
+		reg = <0xa9000 0x1000>;
+	};
+
+	ethernet@e2000 {
+		cell-index = <1>;
+		compatible = "fsl,fman-memac";
+		reg = <0xe2000 0x1000>;
+		fsl,fman-ports = <&fman0_rx_0x09 &fman0_tx_0x29>;
+		ptp-timer = <&ptp_timer0>;
+		pcsphy-handle = <&pcsphy1>;
+	};
+
+	mdio@e3000 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
+		reg = <0xe3000 0x1000>;
+
+		pcsphy1: ethernet-phy@0 {
+			reg = <0x0>;
+		};
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi
new file mode 100644
index 0000000..89633af
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi
@@ -0,0 +1,41 @@
+/*
+ * QorIQ FMan v3 1g port #2 device tree
+ *
+ * Copyright 2012-2015 Freescale Semiconductor Inc.
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+ */
+
+fman@1a00000 {
+	fman0_rx_0x0a: port@8a000 {
+		cell-index = <0xa>;
+		compatible = "fsl,fman-v3-port-rx";
+		reg = <0x8a000 0x1000>;
+	};
+
+	fman0_tx_0x2a: port@aa000 {
+		cell-index = <0x2a>;
+		compatible = "fsl,fman-v3-port-tx";
+		reg = <0xaa000 0x1000>;
+	};
+
+	ethernet@e4000 {
+		cell-index = <2>;
+		compatible = "fsl,fman-memac";
+		reg = <0xe4000 0x1000>;
+		fsl,fman-ports = <&fman0_rx_0x0a &fman0_tx_0x2a>;
+		ptp-timer = <&ptp_timer0>;
+		pcsphy-handle = <&pcsphy2>;
+	};
+
+	mdio@e5000 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
+		reg = <0xe5000 0x1000>;
+
+		pcsphy2: ethernet-phy@0 {
+			reg = <0x0>;
+		};
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi
new file mode 100644
index 0000000..87c2b70
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi
@@ -0,0 +1,41 @@
+/*
+ * QorIQ FMan v3 1g port #3 device tree
+ *
+ * Copyright 2012-2015 Freescale Semiconductor Inc.
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+ */
+
+fman@1a00000 {
+	fman0_rx_0x0b: port@8b000 {
+		cell-index = <0xb>;
+		compatible = "fsl,fman-v3-port-rx";
+		reg = <0x8b000 0x1000>;
+	};
+
+	fman0_tx_0x2b: port@ab000 {
+		cell-index = <0x2b>;
+		compatible = "fsl,fman-v3-port-tx";
+		reg = <0xab000 0x1000>;
+	};
+
+	ethernet@e6000 {
+		cell-index = <3>;
+		compatible = "fsl,fman-memac";
+		reg = <0xe6000 0x1000>;
+		fsl,fman-ports = <&fman0_rx_0x0b &fman0_tx_0x2b>;
+		ptp-timer = <&ptp_timer0>;
+		pcsphy-handle = <&pcsphy3>;
+	};
+
+	mdio@e7000 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
+		reg = <0xe7000 0x1000>;
+
+		pcsphy3: ethernet-phy@0 {
+			reg = <0x0>;
+		};
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi
new file mode 100644
index 0000000..8f4d74b
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi
@@ -0,0 +1,41 @@
+/*
+ * QorIQ FMan v3 1g port #4 device tree
+ *
+ * Copyright 2012-2015 Freescale Semiconductor Inc.
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+ */
+
+fman@1a00000 {
+	fman0_rx_0x0c: port@8c000 {
+		cell-index = <0xc>;
+		compatible = "fsl,fman-v3-port-rx";
+		reg = <0x8c000 0x1000>;
+	};
+
+	fman0_tx_0x2c: port@ac000 {
+		cell-index = <0x2c>;
+		compatible = "fsl,fman-v3-port-tx";
+		reg = <0xac000 0x1000>;
+	};
+
+	ethernet@e8000 {
+		cell-index = <4>;
+		compatible = "fsl,fman-memac";
+		reg = <0xe8000 0x1000>;
+		fsl,fman-ports = <&fman0_rx_0x0c &fman0_tx_0x2c>;
+		ptp-timer = <&ptp_timer0>;
+		pcsphy-handle = <&pcsphy4>;
+	};
+
+	mdio@e9000 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
+		reg = <0xe9000 0x1000>;
+
+		pcsphy4: ethernet-phy@0 {
+			reg = <0x0>;
+		};
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi
new file mode 100644
index 0000000..d534f77
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi
@@ -0,0 +1,41 @@
+/*
+ * QorIQ FMan v3 1g port #5 device tree
+ *
+ * Copyright 2012-2015 Freescale Semiconductor Inc.
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+ */
+
+fman@1a00000 {
+	fman0_rx_0x0d: port@8d000 {
+		cell-index = <0xd>;
+		compatible = "fsl,fman-v3-port-rx";
+		reg = <0x8d000 0x1000>;
+	};
+
+	fman0_tx_0x2d: port@ad000 {
+		cell-index = <0x2d>;
+		compatible = "fsl,fman-v3-port-tx";
+		reg = <0xad000 0x1000>;
+	};
+
+	ethernet@ea000 {
+		cell-index = <5>;
+		compatible = "fsl,fman-memac";
+		reg = <0xea000 0x1000>;
+		fsl,fman-ports = <&fman0_rx_0x0d &fman0_tx_0x2d>;
+		ptp-timer = <&ptp_timer0>;
+		pcsphy-handle = <&pcsphy5>;
+	};
+
+	mdio@eb000 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
+		reg = <0xeb000 0x1000>;
+
+		pcsphy5: ethernet-phy@0 {
+			reg = <0x0>;
+		};
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi
new file mode 100644
index 0000000..a559441
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi
@@ -0,0 +1,80 @@
+/*
+ * QorIQ FMan v3 device tree
+ *
+ * Copyright 2012-2015 Freescale Semiconductor Inc.
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+ */
+
+fman0: fman@1a00000 {
+	#address-cells = <1>;
+	#size-cells = <1>;
+	cell-index = <0>;
+	compatible = "fsl,fman";
+	ranges = <0x0 0x00 0x1a00000 0x100000>;
+	reg = <0x0 0x1a00000 0x0 0x100000>;
+	interrupts = <0 44 0x4>, <0 45 0x4>;
+	clocks = <&clockgen 3 0>;
+	clock-names = "fmanclk";
+	fsl,qman-channel-range = <0x800 0x10>;
+
+	muram@0 {
+		compatible = "fsl,fman-muram";
+		reg = <0x0 0x60000>;
+	};
+
+	fman0_oh_0x2: port@82000 {
+		cell-index = <0x2>;
+		compatible = "fsl,fman-v3-port-oh";
+		reg = <0x82000 0x1000>;
+	};
+
+	fman0_oh_0x3: port@83000 {
+		cell-index = <0x3>;
+		compatible = "fsl,fman-v3-port-oh";
+		reg = <0x83000 0x1000>;
+	};
+
+	fman0_oh_0x4: port@84000 {
+		cell-index = <0x4>;
+		compatible = "fsl,fman-v3-port-oh";
+		reg = <0x84000 0x1000>;
+	};
+
+	fman0_oh_0x5: port@85000 {
+		cell-index = <0x5>;
+		compatible = "fsl,fman-v3-port-oh";
+		reg = <0x85000 0x1000>;
+	};
+
+	fman0_oh_0x6: port@86000 {
+		cell-index = <0x6>;
+		compatible = "fsl,fman-v3-port-oh";
+		reg = <0x86000 0x1000>;
+	};
+
+	fman0_oh_0x7: port@87000 {
+		cell-index = <0x7>;
+		compatible = "fsl,fman-v3-port-oh";
+		reg = <0x87000 0x1000>;
+	};
+
+	mdio0: mdio@fc000 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
+		reg = <0xfc000 0x1000>;
+	};
+
+	xmdio0: mdio@fd000 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
+		reg = <0xfd000 0x1000>;
+	};
+
+	ptp_timer0: ptp-timer@fe000 {
+		compatible = "fsl,fman-ptp-timer";
+		reg = <0xfe000 0x1000>;
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/qoriq-qman1-portals.dtsi b/arch/arm64/boot/dts/freescale/qoriq-qman1-portals.dtsi
new file mode 100644
index 0000000..4baec2c
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/qoriq-qman1-portals.dtsi
@@ -0,0 +1,76 @@
+/*
+ * QorIQ QMan Portals device tree
+ *
+ * Copyright 2011-2016 Freescale Semiconductor Inc.
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+ */
+
+&qportals {
+	#address-cells = <1>;
+	#size-cells = <1>;
+	compatible = "simple-bus";
+
+	qportal0: qman-portal@0 {
+		compatible = "fsl,qman-portal";
+		reg = <0x0 0x4000 0x4000000 0x4000>;
+		interrupts = <0 172 0x4>;
+		cell-index = <0>;
+	};
+
+	qportal1: qman-portal@10000 {
+		compatible = "fsl,qman-portal";
+		reg = <0x10000 0x4000 0x4010000 0x4000>;
+		interrupts = <0 174 0x4>;
+		cell-index = <1>;
+	};
+
+	qportal2: qman-portal@20000 {
+		compatible = "fsl,qman-portal";
+		reg = <0x20000 0x4000 0x4020000 0x4000>;
+		interrupts = <0 176 0x4>;
+		cell-index = <2>;
+	};
+
+	qportal3: qman-portal@30000 {
+		compatible = "fsl,qman-portal";
+		reg = <0x30000 0x4000 0x4030000 0x4000>;
+		interrupts = <0 178 0x4>;
+		cell-index = <3>;
+	};
+
+	qportal4: qman-portal@40000 {
+		compatible = "fsl,qman-portal";
+		reg = <0x40000 0x4000 0x4040000 0x4000>;
+		interrupts = <0 180 0x4>;
+		cell-index = <4>;
+	};
+
+	qportal5: qman-portal@50000 {
+		compatible = "fsl,qman-portal";
+		reg = <0x50000 0x4000 0x4050000 0x4000>;
+		interrupts = <0 182 0x4>;
+		cell-index = <5>;
+	};
+
+	qportal6: qman-portal@60000 {
+		compatible = "fsl,qman-portal";
+		reg = <0x60000 0x4000 0x4060000 0x4000>;
+		interrupts = <0 184 0x4>;
+		cell-index = <6>;
+	};
+
+	qportal7: qman-portal@70000 {
+		compatible = "fsl,qman-portal";
+		reg = <0x70000 0x4000 0x4070000 0x4000>;
+		interrupts = <0 186 0x4>;
+		cell-index = <7>;
+	};
+
+	qportal8: qman-portal@80000 {
+		compatible = "fsl,qman-portal";
+		reg = <0x80000 0x4000 0x4080000 0x4000>;
+		interrupts = <0 188 0x4>;
+		cell-index = <8>;
+	};
+};
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support
@ 2017-03-01 15:35   ` Madalin Bucur
  0 siblings, 0 replies; 30+ messages in thread
From: Madalin Bucur @ 2017-03-01 15:35 UTC (permalink / raw)
  To: robh+dt
  Cc: devicetree, shawnguo, mark.rutland, catalin.marinas, will.deacon,
	linux-arm-kernel, linux-kernel, Madalin Bucur

Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
---
 arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi | 41 +++++++++++
 arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts  |  2 +
 arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts  | 75 ++++++++++++++++++++
 arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi     | 73 +++++++++++++++++++-
 .../boot/dts/freescale/qoriq-bman1-portals.dtsi    | 67 ++++++++++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi    | 42 ++++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi     | 41 +++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi     | 41 +++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi     | 41 +++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi     | 41 +++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi     | 41 +++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi     | 41 +++++++++++
 arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi   | 80 ++++++++++++++++++++++
 .../boot/dts/freescale/qoriq-qman1-portals.dtsi    | 76 ++++++++++++++++++++
 14 files changed, 701 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-bman1-portals.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-qman1-portals.dtsi

diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi
new file mode 100644
index 0000000..bf443d2
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi
@@ -0,0 +1,41 @@
+/*
+ * QorIQ FMan v3 device tree nodes for ls1043
+ *
+ * Copyright 2015-2016 Freescale Semiconductor Inc.
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+ */
+
+&soc {
+
+/include/ "qoriq-fman3-0.dtsi"
+/include/ "qoriq-fman3-0-1g-0.dtsi"
+/include/ "qoriq-fman3-0-1g-1.dtsi"
+/include/ "qoriq-fman3-0-1g-2.dtsi"
+/include/ "qoriq-fman3-0-1g-3.dtsi"
+/include/ "qoriq-fman3-0-1g-4.dtsi"
+/include/ "qoriq-fman3-0-1g-5.dtsi"
+/include/ "qoriq-fman3-0-10g-0.dtsi"
+	fman@1a00000 {
+		enet0: ethernet@e0000 {
+		};
+
+		enet1: ethernet@e2000 {
+		};
+
+		enet2: ethernet@e4000 {
+		};
+
+		enet3: ethernet@e6000 {
+		};
+
+		enet4: ethernet@e8000 {
+		};
+
+		enet5: ethernet@ea000 {
+		};
+
+		enet6: ethernet@f0000 {
+		};
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
index 0989d63..ee66bb2 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
@@ -181,3 +181,5 @@
 		reg = <0>;
 	};
 };
+
+/include/ "fsl-ls1043-post.dtsi"
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
index c37110b..d94f003 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
@@ -139,3 +139,78 @@
 &duart1 {
 	status = "okay";
 };
+
+/include/ "fsl-ls1043-post.dtsi"
+
+&soc {
+	fman@1a00000 {
+		ethernet@e0000 {
+			phy-handle = <&qsgmii_phy1>;
+			phy-connection-type = "qsgmii";
+		};
+
+		ethernet@e2000 {
+			phy-handle = <&qsgmii_phy2>;
+			phy-connection-type = "qsgmii";
+		};
+
+		ethernet@e4000 {
+			phy-handle = <&rgmii_phy1>;
+			phy-connection-type = "rgmii";
+		};
+
+		ethernet@e6000 {
+			phy-handle = <&rgmii_phy2>;
+			phy-connection-type = "rgmii";
+		};
+
+		ethernet@e8000 {
+			phy-handle = <&qsgmii_phy3>;
+			phy-connection-type = "qsgmii";
+		};
+
+		ethernet@ea000 {
+			phy-handle = <&qsgmii_phy4>;
+			phy-connection-type = "qsgmii";
+		};
+
+		ethernet@f0000 { /* 10GEC1 */
+			phy-handle = <&aqr105_phy>;
+			phy-connection-type = "xgmii";
+		};
+
+		mdio@fc000 {
+			rgmii_phy1: ethernet-phy@1 {
+				reg = <0x1>;
+			};
+
+			rgmii_phy2: ethernet-phy@2 {
+				reg = <0x2>;
+			};
+
+			qsgmii_phy1: ethernet-phy@3 {
+				reg = <0x4>;
+			};
+
+			qsgmii_phy2: ethernet-phy@4 {
+				reg = <0x5>;
+			};
+
+			qsgmii_phy3: ethernet-phy@5 {
+				reg = <0x6>;
+			};
+
+			qsgmii_phy4: ethernet-phy@6 {
+				reg = <0x7>;
+			};
+		};
+
+		mdio@fd000 {
+			aqr105_phy: ethernet-phy@c {
+				compatible = "ethernet-phy-ieee802.3-c45";
+				interrupts = <0 132 4>;
+				reg = <0x1>;
+			};
+		};
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
index ec13a6e..ac1e0af 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
@@ -52,6 +52,17 @@
 	#address-cells = <2>;
 	#size-cells = <2>;
 
+	aliases {
+		fman0 = &fman0;
+		ethernet0 = &enet0;
+		ethernet1 = &enet1;
+		ethernet2 = &enet2;
+		ethernet3 = &enet3;
+		ethernet4 = &enet4;
+		ethernet5 = &enet5;
+		ethernet6 = &enet6;
+	};
+
 	cpus {
 		#address-cells = <1>;
 		#size-cells = <0>;
@@ -106,6 +117,36 @@
 		      /* DRAM space 1, size: 2GiB DRAM */
 	};
 
+	reserved-memory {
+		#address-cells = <2>;
+		#size-cells = <2>;
+		ranges;
+
+		bman_fbpr: bman-fbpr {
+			size = <0 0x1000000>;
+			alignment = <0 0x1000000>;
+		};
+
+		qman_fqd: qman-fqd {
+			size = <0 0x400000>;
+			alignment = <0 0x400000>;
+		};
+
+		qman_pfdr: qman-pfdr {
+			size = <0 0x2000000>;
+			alignment = <0 0x2000000>;
+		};
+	};
+
+	bportals: bman-portals@508000000 {
+		ranges = <0x0 0x5 0x08000000 0x8000000>;
+	};
+
+	qportals: qman-portals@500000000 {
+		ranges = <0x0 0x5 0x00000000 0x8000000>;
+	};
+
+
 	sysclk: sysclk {
 		compatible = "fixed-clock";
 		#clock-cells = <0>;
@@ -152,7 +193,7 @@
 		interrupts = <1 9 0xf08>;
 	};
 
-	soc {
+	soc: soc {
 		compatible = "simple-bus";
 		#address-cells = <2>;
 		#size-cells = <2>;
@@ -333,6 +374,18 @@
 			};
 		};
 
+		qman: qman@1880000 {
+			compatible = "fsl,qman";
+			reg = <0x00 0x1880000 0x0 0x10000>;
+			interrupts = <0 45 0x4>;
+		};
+
+		bman: bman@1890000 {
+			compatible = "fsl,bman";
+			reg = <0x00 0x1890000 0x0 0x10000>;
+			interrupts = <0 45 0x4>;
+		};
+
 		dspi0: dspi@2100000 {
 			compatible = "fsl,ls1043a-dspi", "fsl,ls1021a-v1.0-dspi";
 			#address-cells = <1>;
@@ -686,3 +739,21 @@
 	};
 
 };
+
+&bman_fbpr {
+	compatible = "fsl,bman-fbpr";
+	alloc-ranges = <0 0 0x10000 0>;
+};
+
+&qman_fqd {
+	compatible = "fsl,qman-fqd";
+	alloc-ranges = <0 0 0x10000 0>;
+};
+
+&qman_pfdr {
+	compatible = "fsl,qman-pfdr";
+	alloc-ranges = <0 0 0x10000 0>;
+};
+
+/include/ "qoriq-qman1-portals.dtsi"
+/include/ "qoriq-bman1-portals.dtsi"
diff --git a/arch/arm64/boot/dts/freescale/qoriq-bman1-portals.dtsi b/arch/arm64/boot/dts/freescale/qoriq-bman1-portals.dtsi
new file mode 100644
index 0000000..b007344
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/qoriq-bman1-portals.dtsi
@@ -0,0 +1,67 @@
+/*
+ * QorIQ BMan Portals device tree
+ *
+ * Copyright 2011-2016 Freescale Semiconductor Inc.
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+ */
+
+&bportals {
+	#address-cells = <1>;
+	#size-cells = <1>;
+	compatible = "simple-bus";
+
+	bman-portal@0 {
+		compatible = "fsl,bman-portal";
+		reg = <0x0 0x4000 0x4000000 0x4000>;
+		interrupts = <0 173 0x4>;
+	};
+
+	bman-portal@10000 {
+		compatible = "fsl,bman-portal";
+		reg = <0x10000 0x4000 0x4010000 0x4000>;
+		interrupts = <0 175 0x4>;
+	};
+
+	bman-portal@20000 {
+		compatible = "fsl,bman-portal";
+		reg = <0x20000 0x4000 0x4020000 0x4000>;
+		interrupts = <0 177 0x4>;
+	};
+
+	bman-portal@30000 {
+		compatible = "fsl,bman-portal";
+		reg = <0x30000 0x4000 0x4030000 0x4000>;
+		interrupts = <0 179 0x4>;
+	};
+
+	bman-portal@40000 {
+		compatible = "fsl,bman-portal";
+		reg = <0x40000 0x4000 0x4040000 0x4000>;
+		interrupts = <0 181 0x4>;
+	};
+
+	bman-portal@50000 {
+		compatible = "fsl,bman-portal";
+		reg = <0x50000 0x4000 0x4050000 0x4000>;
+		interrupts = <0 183 0x4>;
+	};
+
+	bman-portal@60000 {
+		compatible = "fsl,bman-portal";
+		reg = <0x60000 0x4000 0x4060000 0x4000>;
+		interrupts = <0 185 0x4>;
+	};
+
+	bman-portal@70000 {
+		compatible = "fsl,bman-portal";
+		reg = <0x70000 0x4000 0x4070000 0x4000>;
+		interrupts = <0 187 0x4>;
+	};
+
+	bman-portal@80000 {
+		compatible = "fsl,bman-portal";
+		reg = <0x80000 0x4000 0x4080000 0x4000>;
+		interrupts = <0 189 0x4>;
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi
new file mode 100644
index 0000000..ecdffe7
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi
@@ -0,0 +1,42 @@
+/*
+ * QorIQ FMan v3 10g port #0 device tree
+ *
+ * Copyright 2012-2015 Freescale Semiconductor Inc.
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+ */
+
+fman@1a00000 {
+	fman0_rx_0x10: port@90000 {
+		cell-index = <0x10>;
+		compatible = "fsl,fman-v3-port-rx";
+		reg = <0x90000 0x1000>;
+		fsl,fman-10g-port;
+	};
+
+	fman0_tx_0x30: port@b0000 {
+		cell-index = <0x30>;
+		compatible = "fsl,fman-v3-port-tx";
+		reg = <0xb0000 0x1000>;
+		fsl,fman-10g-port;
+	};
+
+	ethernet@f0000 {
+		cell-index = <0x8>;
+		compatible = "fsl,fman-memac";
+		reg = <0xf0000 0x1000>;
+		fsl,fman-ports = <&fman0_rx_0x10 &fman0_tx_0x30>;
+		pcsphy-handle = <&pcsphy6>;
+	};
+
+	mdio@f1000 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
+		reg = <0xf1000 0x1000>;
+
+		pcsphy6: ethernet-phy@0 {
+			reg = <0x0>;
+		};
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi
new file mode 100644
index 0000000..d600786
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi
@@ -0,0 +1,41 @@
+/*
+ * QorIQ FMan v3 1g port #0 device tree
+ *
+ * Copyright 2012-2015 Freescale Semiconductor Inc.
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+ */
+
+fman@1a00000 {
+	fman0_rx_0x08: port@88000 {
+		cell-index = <0x8>;
+		compatible = "fsl,fman-v3-port-rx";
+		reg = <0x88000 0x1000>;
+	};
+
+	fman0_tx_0x28: port@a8000 {
+		cell-index = <0x28>;
+		compatible = "fsl,fman-v3-port-tx";
+		reg = <0xa8000 0x1000>;
+	};
+
+	ethernet@e0000 {
+		cell-index = <0>;
+		compatible = "fsl,fman-memac";
+		reg = <0xe0000 0x1000>;
+		fsl,fman-ports = <&fman0_rx_0x08 &fman0_tx_0x28>;
+		ptp-timer = <&ptp_timer0>;
+		pcsphy-handle = <&pcsphy0>;
+	};
+
+	mdio@e1000 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
+		reg = <0xe1000 0x1000>;
+
+		pcsphy0: ethernet-phy@0 {
+			reg = <0x0>;
+		};
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi
new file mode 100644
index 0000000..3c0b76d
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi
@@ -0,0 +1,41 @@
+/*
+ * QorIQ FMan v3 1g port #1 device tree
+ *
+ * Copyright 2012-2015 Freescale Semiconductor Inc.
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+ */
+
+fman@1a00000 {
+	fman0_rx_0x09: port@89000 {
+		cell-index = <0x9>;
+		compatible = "fsl,fman-v3-port-rx";
+		reg = <0x89000 0x1000>;
+	};
+
+	fman0_tx_0x29: port@a9000 {
+		cell-index = <0x29>;
+		compatible = "fsl,fman-v3-port-tx";
+		reg = <0xa9000 0x1000>;
+	};
+
+	ethernet@e2000 {
+		cell-index = <1>;
+		compatible = "fsl,fman-memac";
+		reg = <0xe2000 0x1000>;
+		fsl,fman-ports = <&fman0_rx_0x09 &fman0_tx_0x29>;
+		ptp-timer = <&ptp_timer0>;
+		pcsphy-handle = <&pcsphy1>;
+	};
+
+	mdio@e3000 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
+		reg = <0xe3000 0x1000>;
+
+		pcsphy1: ethernet-phy@0 {
+			reg = <0x0>;
+		};
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi
new file mode 100644
index 0000000..89633af
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi
@@ -0,0 +1,41 @@
+/*
+ * QorIQ FMan v3 1g port #2 device tree
+ *
+ * Copyright 2012-2015 Freescale Semiconductor Inc.
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+ */
+
+fman@1a00000 {
+	fman0_rx_0x0a: port@8a000 {
+		cell-index = <0xa>;
+		compatible = "fsl,fman-v3-port-rx";
+		reg = <0x8a000 0x1000>;
+	};
+
+	fman0_tx_0x2a: port@aa000 {
+		cell-index = <0x2a>;
+		compatible = "fsl,fman-v3-port-tx";
+		reg = <0xaa000 0x1000>;
+	};
+
+	ethernet@e4000 {
+		cell-index = <2>;
+		compatible = "fsl,fman-memac";
+		reg = <0xe4000 0x1000>;
+		fsl,fman-ports = <&fman0_rx_0x0a &fman0_tx_0x2a>;
+		ptp-timer = <&ptp_timer0>;
+		pcsphy-handle = <&pcsphy2>;
+	};
+
+	mdio@e5000 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
+		reg = <0xe5000 0x1000>;
+
+		pcsphy2: ethernet-phy@0 {
+			reg = <0x0>;
+		};
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi
new file mode 100644
index 0000000..87c2b70
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi
@@ -0,0 +1,41 @@
+/*
+ * QorIQ FMan v3 1g port #3 device tree
+ *
+ * Copyright 2012-2015 Freescale Semiconductor Inc.
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+ */
+
+fman@1a00000 {
+	fman0_rx_0x0b: port@8b000 {
+		cell-index = <0xb>;
+		compatible = "fsl,fman-v3-port-rx";
+		reg = <0x8b000 0x1000>;
+	};
+
+	fman0_tx_0x2b: port@ab000 {
+		cell-index = <0x2b>;
+		compatible = "fsl,fman-v3-port-tx";
+		reg = <0xab000 0x1000>;
+	};
+
+	ethernet@e6000 {
+		cell-index = <3>;
+		compatible = "fsl,fman-memac";
+		reg = <0xe6000 0x1000>;
+		fsl,fman-ports = <&fman0_rx_0x0b &fman0_tx_0x2b>;
+		ptp-timer = <&ptp_timer0>;
+		pcsphy-handle = <&pcsphy3>;
+	};
+
+	mdio@e7000 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
+		reg = <0xe7000 0x1000>;
+
+		pcsphy3: ethernet-phy@0 {
+			reg = <0x0>;
+		};
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi
new file mode 100644
index 0000000..8f4d74b
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi
@@ -0,0 +1,41 @@
+/*
+ * QorIQ FMan v3 1g port #4 device tree
+ *
+ * Copyright 2012-2015 Freescale Semiconductor Inc.
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+ */
+
+fman@1a00000 {
+	fman0_rx_0x0c: port@8c000 {
+		cell-index = <0xc>;
+		compatible = "fsl,fman-v3-port-rx";
+		reg = <0x8c000 0x1000>;
+	};
+
+	fman0_tx_0x2c: port@ac000 {
+		cell-index = <0x2c>;
+		compatible = "fsl,fman-v3-port-tx";
+		reg = <0xac000 0x1000>;
+	};
+
+	ethernet@e8000 {
+		cell-index = <4>;
+		compatible = "fsl,fman-memac";
+		reg = <0xe8000 0x1000>;
+		fsl,fman-ports = <&fman0_rx_0x0c &fman0_tx_0x2c>;
+		ptp-timer = <&ptp_timer0>;
+		pcsphy-handle = <&pcsphy4>;
+	};
+
+	mdio@e9000 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
+		reg = <0xe9000 0x1000>;
+
+		pcsphy4: ethernet-phy@0 {
+			reg = <0x0>;
+		};
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi
new file mode 100644
index 0000000..d534f77
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi
@@ -0,0 +1,41 @@
+/*
+ * QorIQ FMan v3 1g port #5 device tree
+ *
+ * Copyright 2012-2015 Freescale Semiconductor Inc.
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+ */
+
+fman@1a00000 {
+	fman0_rx_0x0d: port@8d000 {
+		cell-index = <0xd>;
+		compatible = "fsl,fman-v3-port-rx";
+		reg = <0x8d000 0x1000>;
+	};
+
+	fman0_tx_0x2d: port@ad000 {
+		cell-index = <0x2d>;
+		compatible = "fsl,fman-v3-port-tx";
+		reg = <0xad000 0x1000>;
+	};
+
+	ethernet@ea000 {
+		cell-index = <5>;
+		compatible = "fsl,fman-memac";
+		reg = <0xea000 0x1000>;
+		fsl,fman-ports = <&fman0_rx_0x0d &fman0_tx_0x2d>;
+		ptp-timer = <&ptp_timer0>;
+		pcsphy-handle = <&pcsphy5>;
+	};
+
+	mdio@eb000 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
+		reg = <0xeb000 0x1000>;
+
+		pcsphy5: ethernet-phy@0 {
+			reg = <0x0>;
+		};
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi
new file mode 100644
index 0000000..a559441
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi
@@ -0,0 +1,80 @@
+/*
+ * QorIQ FMan v3 device tree
+ *
+ * Copyright 2012-2015 Freescale Semiconductor Inc.
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+ */
+
+fman0: fman@1a00000 {
+	#address-cells = <1>;
+	#size-cells = <1>;
+	cell-index = <0>;
+	compatible = "fsl,fman";
+	ranges = <0x0 0x00 0x1a00000 0x100000>;
+	reg = <0x0 0x1a00000 0x0 0x100000>;
+	interrupts = <0 44 0x4>, <0 45 0x4>;
+	clocks = <&clockgen 3 0>;
+	clock-names = "fmanclk";
+	fsl,qman-channel-range = <0x800 0x10>;
+
+	muram@0 {
+		compatible = "fsl,fman-muram";
+		reg = <0x0 0x60000>;
+	};
+
+	fman0_oh_0x2: port@82000 {
+		cell-index = <0x2>;
+		compatible = "fsl,fman-v3-port-oh";
+		reg = <0x82000 0x1000>;
+	};
+
+	fman0_oh_0x3: port@83000 {
+		cell-index = <0x3>;
+		compatible = "fsl,fman-v3-port-oh";
+		reg = <0x83000 0x1000>;
+	};
+
+	fman0_oh_0x4: port@84000 {
+		cell-index = <0x4>;
+		compatible = "fsl,fman-v3-port-oh";
+		reg = <0x84000 0x1000>;
+	};
+
+	fman0_oh_0x5: port@85000 {
+		cell-index = <0x5>;
+		compatible = "fsl,fman-v3-port-oh";
+		reg = <0x85000 0x1000>;
+	};
+
+	fman0_oh_0x6: port@86000 {
+		cell-index = <0x6>;
+		compatible = "fsl,fman-v3-port-oh";
+		reg = <0x86000 0x1000>;
+	};
+
+	fman0_oh_0x7: port@87000 {
+		cell-index = <0x7>;
+		compatible = "fsl,fman-v3-port-oh";
+		reg = <0x87000 0x1000>;
+	};
+
+	mdio0: mdio@fc000 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
+		reg = <0xfc000 0x1000>;
+	};
+
+	xmdio0: mdio@fd000 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
+		reg = <0xfd000 0x1000>;
+	};
+
+	ptp_timer0: ptp-timer@fe000 {
+		compatible = "fsl,fman-ptp-timer";
+		reg = <0xfe000 0x1000>;
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/qoriq-qman1-portals.dtsi b/arch/arm64/boot/dts/freescale/qoriq-qman1-portals.dtsi
new file mode 100644
index 0000000..4baec2c
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/qoriq-qman1-portals.dtsi
@@ -0,0 +1,76 @@
+/*
+ * QorIQ QMan Portals device tree
+ *
+ * Copyright 2011-2016 Freescale Semiconductor Inc.
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+ */
+
+&qportals {
+	#address-cells = <1>;
+	#size-cells = <1>;
+	compatible = "simple-bus";
+
+	qportal0: qman-portal@0 {
+		compatible = "fsl,qman-portal";
+		reg = <0x0 0x4000 0x4000000 0x4000>;
+		interrupts = <0 172 0x4>;
+		cell-index = <0>;
+	};
+
+	qportal1: qman-portal@10000 {
+		compatible = "fsl,qman-portal";
+		reg = <0x10000 0x4000 0x4010000 0x4000>;
+		interrupts = <0 174 0x4>;
+		cell-index = <1>;
+	};
+
+	qportal2: qman-portal@20000 {
+		compatible = "fsl,qman-portal";
+		reg = <0x20000 0x4000 0x4020000 0x4000>;
+		interrupts = <0 176 0x4>;
+		cell-index = <2>;
+	};
+
+	qportal3: qman-portal@30000 {
+		compatible = "fsl,qman-portal";
+		reg = <0x30000 0x4000 0x4030000 0x4000>;
+		interrupts = <0 178 0x4>;
+		cell-index = <3>;
+	};
+
+	qportal4: qman-portal@40000 {
+		compatible = "fsl,qman-portal";
+		reg = <0x40000 0x4000 0x4040000 0x4000>;
+		interrupts = <0 180 0x4>;
+		cell-index = <4>;
+	};
+
+	qportal5: qman-portal@50000 {
+		compatible = "fsl,qman-portal";
+		reg = <0x50000 0x4000 0x4050000 0x4000>;
+		interrupts = <0 182 0x4>;
+		cell-index = <5>;
+	};
+
+	qportal6: qman-portal@60000 {
+		compatible = "fsl,qman-portal";
+		reg = <0x60000 0x4000 0x4060000 0x4000>;
+		interrupts = <0 184 0x4>;
+		cell-index = <6>;
+	};
+
+	qportal7: qman-portal@70000 {
+		compatible = "fsl,qman-portal";
+		reg = <0x70000 0x4000 0x4070000 0x4000>;
+		interrupts = <0 186 0x4>;
+		cell-index = <7>;
+	};
+
+	qportal8: qman-portal@80000 {
+		compatible = "fsl,qman-portal";
+		reg = <0x80000 0x4000 0x4080000 0x4000>;
+		interrupts = <0 188 0x4>;
+		cell-index = <8>;
+	};
+};
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support
@ 2017-03-01 15:35   ` Madalin Bucur
  0 siblings, 0 replies; 30+ messages in thread
From: Madalin Bucur @ 2017-03-01 15:35 UTC (permalink / raw)
  To: linux-arm-kernel

Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
---
 arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi | 41 +++++++++++
 arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts  |  2 +
 arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts  | 75 ++++++++++++++++++++
 arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi     | 73 +++++++++++++++++++-
 .../boot/dts/freescale/qoriq-bman1-portals.dtsi    | 67 ++++++++++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi    | 42 ++++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi     | 41 +++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi     | 41 +++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi     | 41 +++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi     | 41 +++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi     | 41 +++++++++++
 .../boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi     | 41 +++++++++++
 arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi   | 80 ++++++++++++++++++++++
 .../boot/dts/freescale/qoriq-qman1-portals.dtsi    | 76 ++++++++++++++++++++
 14 files changed, 701 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-bman1-portals.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-qman1-portals.dtsi

diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi
new file mode 100644
index 0000000..bf443d2
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi
@@ -0,0 +1,41 @@
+/*
+ * QorIQ FMan v3 device tree nodes for ls1043
+ *
+ * Copyright 2015-2016 Freescale Semiconductor Inc.
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+ */
+
+&soc {
+
+/include/ "qoriq-fman3-0.dtsi"
+/include/ "qoriq-fman3-0-1g-0.dtsi"
+/include/ "qoriq-fman3-0-1g-1.dtsi"
+/include/ "qoriq-fman3-0-1g-2.dtsi"
+/include/ "qoriq-fman3-0-1g-3.dtsi"
+/include/ "qoriq-fman3-0-1g-4.dtsi"
+/include/ "qoriq-fman3-0-1g-5.dtsi"
+/include/ "qoriq-fman3-0-10g-0.dtsi"
+	fman at 1a00000 {
+		enet0: ethernet at e0000 {
+		};
+
+		enet1: ethernet at e2000 {
+		};
+
+		enet2: ethernet at e4000 {
+		};
+
+		enet3: ethernet at e6000 {
+		};
+
+		enet4: ethernet at e8000 {
+		};
+
+		enet5: ethernet at ea000 {
+		};
+
+		enet6: ethernet at f0000 {
+		};
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
index 0989d63..ee66bb2 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
@@ -181,3 +181,5 @@
 		reg = <0>;
 	};
 };
+
+/include/ "fsl-ls1043-post.dtsi"
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
index c37110b..d94f003 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
@@ -139,3 +139,78 @@
 &duart1 {
 	status = "okay";
 };
+
+/include/ "fsl-ls1043-post.dtsi"
+
+&soc {
+	fman at 1a00000 {
+		ethernet at e0000 {
+			phy-handle = <&qsgmii_phy1>;
+			phy-connection-type = "qsgmii";
+		};
+
+		ethernet at e2000 {
+			phy-handle = <&qsgmii_phy2>;
+			phy-connection-type = "qsgmii";
+		};
+
+		ethernet at e4000 {
+			phy-handle = <&rgmii_phy1>;
+			phy-connection-type = "rgmii";
+		};
+
+		ethernet at e6000 {
+			phy-handle = <&rgmii_phy2>;
+			phy-connection-type = "rgmii";
+		};
+
+		ethernet at e8000 {
+			phy-handle = <&qsgmii_phy3>;
+			phy-connection-type = "qsgmii";
+		};
+
+		ethernet at ea000 {
+			phy-handle = <&qsgmii_phy4>;
+			phy-connection-type = "qsgmii";
+		};
+
+		ethernet at f0000 { /* 10GEC1 */
+			phy-handle = <&aqr105_phy>;
+			phy-connection-type = "xgmii";
+		};
+
+		mdio at fc000 {
+			rgmii_phy1: ethernet-phy at 1 {
+				reg = <0x1>;
+			};
+
+			rgmii_phy2: ethernet-phy at 2 {
+				reg = <0x2>;
+			};
+
+			qsgmii_phy1: ethernet-phy at 3 {
+				reg = <0x4>;
+			};
+
+			qsgmii_phy2: ethernet-phy at 4 {
+				reg = <0x5>;
+			};
+
+			qsgmii_phy3: ethernet-phy at 5 {
+				reg = <0x6>;
+			};
+
+			qsgmii_phy4: ethernet-phy at 6 {
+				reg = <0x7>;
+			};
+		};
+
+		mdio at fd000 {
+			aqr105_phy: ethernet-phy at c {
+				compatible = "ethernet-phy-ieee802.3-c45";
+				interrupts = <0 132 4>;
+				reg = <0x1>;
+			};
+		};
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
index ec13a6e..ac1e0af 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
@@ -52,6 +52,17 @@
 	#address-cells = <2>;
 	#size-cells = <2>;
 
+	aliases {
+		fman0 = &fman0;
+		ethernet0 = &enet0;
+		ethernet1 = &enet1;
+		ethernet2 = &enet2;
+		ethernet3 = &enet3;
+		ethernet4 = &enet4;
+		ethernet5 = &enet5;
+		ethernet6 = &enet6;
+	};
+
 	cpus {
 		#address-cells = <1>;
 		#size-cells = <0>;
@@ -106,6 +117,36 @@
 		      /* DRAM space 1, size: 2GiB DRAM */
 	};
 
+	reserved-memory {
+		#address-cells = <2>;
+		#size-cells = <2>;
+		ranges;
+
+		bman_fbpr: bman-fbpr {
+			size = <0 0x1000000>;
+			alignment = <0 0x1000000>;
+		};
+
+		qman_fqd: qman-fqd {
+			size = <0 0x400000>;
+			alignment = <0 0x400000>;
+		};
+
+		qman_pfdr: qman-pfdr {
+			size = <0 0x2000000>;
+			alignment = <0 0x2000000>;
+		};
+	};
+
+	bportals: bman-portals at 508000000 {
+		ranges = <0x0 0x5 0x08000000 0x8000000>;
+	};
+
+	qportals: qman-portals at 500000000 {
+		ranges = <0x0 0x5 0x00000000 0x8000000>;
+	};
+
+
 	sysclk: sysclk {
 		compatible = "fixed-clock";
 		#clock-cells = <0>;
@@ -152,7 +193,7 @@
 		interrupts = <1 9 0xf08>;
 	};
 
-	soc {
+	soc: soc {
 		compatible = "simple-bus";
 		#address-cells = <2>;
 		#size-cells = <2>;
@@ -333,6 +374,18 @@
 			};
 		};
 
+		qman: qman at 1880000 {
+			compatible = "fsl,qman";
+			reg = <0x00 0x1880000 0x0 0x10000>;
+			interrupts = <0 45 0x4>;
+		};
+
+		bman: bman at 1890000 {
+			compatible = "fsl,bman";
+			reg = <0x00 0x1890000 0x0 0x10000>;
+			interrupts = <0 45 0x4>;
+		};
+
 		dspi0: dspi at 2100000 {
 			compatible = "fsl,ls1043a-dspi", "fsl,ls1021a-v1.0-dspi";
 			#address-cells = <1>;
@@ -686,3 +739,21 @@
 	};
 
 };
+
+&bman_fbpr {
+	compatible = "fsl,bman-fbpr";
+	alloc-ranges = <0 0 0x10000 0>;
+};
+
+&qman_fqd {
+	compatible = "fsl,qman-fqd";
+	alloc-ranges = <0 0 0x10000 0>;
+};
+
+&qman_pfdr {
+	compatible = "fsl,qman-pfdr";
+	alloc-ranges = <0 0 0x10000 0>;
+};
+
+/include/ "qoriq-qman1-portals.dtsi"
+/include/ "qoriq-bman1-portals.dtsi"
diff --git a/arch/arm64/boot/dts/freescale/qoriq-bman1-portals.dtsi b/arch/arm64/boot/dts/freescale/qoriq-bman1-portals.dtsi
new file mode 100644
index 0000000..b007344
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/qoriq-bman1-portals.dtsi
@@ -0,0 +1,67 @@
+/*
+ * QorIQ BMan Portals device tree
+ *
+ * Copyright 2011-2016 Freescale Semiconductor Inc.
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+ */
+
+&bportals {
+	#address-cells = <1>;
+	#size-cells = <1>;
+	compatible = "simple-bus";
+
+	bman-portal at 0 {
+		compatible = "fsl,bman-portal";
+		reg = <0x0 0x4000 0x4000000 0x4000>;
+		interrupts = <0 173 0x4>;
+	};
+
+	bman-portal at 10000 {
+		compatible = "fsl,bman-portal";
+		reg = <0x10000 0x4000 0x4010000 0x4000>;
+		interrupts = <0 175 0x4>;
+	};
+
+	bman-portal at 20000 {
+		compatible = "fsl,bman-portal";
+		reg = <0x20000 0x4000 0x4020000 0x4000>;
+		interrupts = <0 177 0x4>;
+	};
+
+	bman-portal at 30000 {
+		compatible = "fsl,bman-portal";
+		reg = <0x30000 0x4000 0x4030000 0x4000>;
+		interrupts = <0 179 0x4>;
+	};
+
+	bman-portal at 40000 {
+		compatible = "fsl,bman-portal";
+		reg = <0x40000 0x4000 0x4040000 0x4000>;
+		interrupts = <0 181 0x4>;
+	};
+
+	bman-portal at 50000 {
+		compatible = "fsl,bman-portal";
+		reg = <0x50000 0x4000 0x4050000 0x4000>;
+		interrupts = <0 183 0x4>;
+	};
+
+	bman-portal at 60000 {
+		compatible = "fsl,bman-portal";
+		reg = <0x60000 0x4000 0x4060000 0x4000>;
+		interrupts = <0 185 0x4>;
+	};
+
+	bman-portal at 70000 {
+		compatible = "fsl,bman-portal";
+		reg = <0x70000 0x4000 0x4070000 0x4000>;
+		interrupts = <0 187 0x4>;
+	};
+
+	bman-portal at 80000 {
+		compatible = "fsl,bman-portal";
+		reg = <0x80000 0x4000 0x4080000 0x4000>;
+		interrupts = <0 189 0x4>;
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi
new file mode 100644
index 0000000..ecdffe7
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi
@@ -0,0 +1,42 @@
+/*
+ * QorIQ FMan v3 10g port #0 device tree
+ *
+ * Copyright 2012-2015 Freescale Semiconductor Inc.
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+ */
+
+fman at 1a00000 {
+	fman0_rx_0x10: port at 90000 {
+		cell-index = <0x10>;
+		compatible = "fsl,fman-v3-port-rx";
+		reg = <0x90000 0x1000>;
+		fsl,fman-10g-port;
+	};
+
+	fman0_tx_0x30: port at b0000 {
+		cell-index = <0x30>;
+		compatible = "fsl,fman-v3-port-tx";
+		reg = <0xb0000 0x1000>;
+		fsl,fman-10g-port;
+	};
+
+	ethernet at f0000 {
+		cell-index = <0x8>;
+		compatible = "fsl,fman-memac";
+		reg = <0xf0000 0x1000>;
+		fsl,fman-ports = <&fman0_rx_0x10 &fman0_tx_0x30>;
+		pcsphy-handle = <&pcsphy6>;
+	};
+
+	mdio at f1000 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
+		reg = <0xf1000 0x1000>;
+
+		pcsphy6: ethernet-phy at 0 {
+			reg = <0x0>;
+		};
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi
new file mode 100644
index 0000000..d600786
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi
@@ -0,0 +1,41 @@
+/*
+ * QorIQ FMan v3 1g port #0 device tree
+ *
+ * Copyright 2012-2015 Freescale Semiconductor Inc.
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+ */
+
+fman at 1a00000 {
+	fman0_rx_0x08: port at 88000 {
+		cell-index = <0x8>;
+		compatible = "fsl,fman-v3-port-rx";
+		reg = <0x88000 0x1000>;
+	};
+
+	fman0_tx_0x28: port at a8000 {
+		cell-index = <0x28>;
+		compatible = "fsl,fman-v3-port-tx";
+		reg = <0xa8000 0x1000>;
+	};
+
+	ethernet at e0000 {
+		cell-index = <0>;
+		compatible = "fsl,fman-memac";
+		reg = <0xe0000 0x1000>;
+		fsl,fman-ports = <&fman0_rx_0x08 &fman0_tx_0x28>;
+		ptp-timer = <&ptp_timer0>;
+		pcsphy-handle = <&pcsphy0>;
+	};
+
+	mdio at e1000 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
+		reg = <0xe1000 0x1000>;
+
+		pcsphy0: ethernet-phy at 0 {
+			reg = <0x0>;
+		};
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi
new file mode 100644
index 0000000..3c0b76d
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi
@@ -0,0 +1,41 @@
+/*
+ * QorIQ FMan v3 1g port #1 device tree
+ *
+ * Copyright 2012-2015 Freescale Semiconductor Inc.
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+ */
+
+fman at 1a00000 {
+	fman0_rx_0x09: port at 89000 {
+		cell-index = <0x9>;
+		compatible = "fsl,fman-v3-port-rx";
+		reg = <0x89000 0x1000>;
+	};
+
+	fman0_tx_0x29: port at a9000 {
+		cell-index = <0x29>;
+		compatible = "fsl,fman-v3-port-tx";
+		reg = <0xa9000 0x1000>;
+	};
+
+	ethernet at e2000 {
+		cell-index = <1>;
+		compatible = "fsl,fman-memac";
+		reg = <0xe2000 0x1000>;
+		fsl,fman-ports = <&fman0_rx_0x09 &fman0_tx_0x29>;
+		ptp-timer = <&ptp_timer0>;
+		pcsphy-handle = <&pcsphy1>;
+	};
+
+	mdio at e3000 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
+		reg = <0xe3000 0x1000>;
+
+		pcsphy1: ethernet-phy at 0 {
+			reg = <0x0>;
+		};
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi
new file mode 100644
index 0000000..89633af
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi
@@ -0,0 +1,41 @@
+/*
+ * QorIQ FMan v3 1g port #2 device tree
+ *
+ * Copyright 2012-2015 Freescale Semiconductor Inc.
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+ */
+
+fman at 1a00000 {
+	fman0_rx_0x0a: port at 8a000 {
+		cell-index = <0xa>;
+		compatible = "fsl,fman-v3-port-rx";
+		reg = <0x8a000 0x1000>;
+	};
+
+	fman0_tx_0x2a: port at aa000 {
+		cell-index = <0x2a>;
+		compatible = "fsl,fman-v3-port-tx";
+		reg = <0xaa000 0x1000>;
+	};
+
+	ethernet at e4000 {
+		cell-index = <2>;
+		compatible = "fsl,fman-memac";
+		reg = <0xe4000 0x1000>;
+		fsl,fman-ports = <&fman0_rx_0x0a &fman0_tx_0x2a>;
+		ptp-timer = <&ptp_timer0>;
+		pcsphy-handle = <&pcsphy2>;
+	};
+
+	mdio at e5000 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
+		reg = <0xe5000 0x1000>;
+
+		pcsphy2: ethernet-phy at 0 {
+			reg = <0x0>;
+		};
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi
new file mode 100644
index 0000000..87c2b70
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi
@@ -0,0 +1,41 @@
+/*
+ * QorIQ FMan v3 1g port #3 device tree
+ *
+ * Copyright 2012-2015 Freescale Semiconductor Inc.
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+ */
+
+fman at 1a00000 {
+	fman0_rx_0x0b: port at 8b000 {
+		cell-index = <0xb>;
+		compatible = "fsl,fman-v3-port-rx";
+		reg = <0x8b000 0x1000>;
+	};
+
+	fman0_tx_0x2b: port at ab000 {
+		cell-index = <0x2b>;
+		compatible = "fsl,fman-v3-port-tx";
+		reg = <0xab000 0x1000>;
+	};
+
+	ethernet at e6000 {
+		cell-index = <3>;
+		compatible = "fsl,fman-memac";
+		reg = <0xe6000 0x1000>;
+		fsl,fman-ports = <&fman0_rx_0x0b &fman0_tx_0x2b>;
+		ptp-timer = <&ptp_timer0>;
+		pcsphy-handle = <&pcsphy3>;
+	};
+
+	mdio at e7000 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
+		reg = <0xe7000 0x1000>;
+
+		pcsphy3: ethernet-phy at 0 {
+			reg = <0x0>;
+		};
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi
new file mode 100644
index 0000000..8f4d74b
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi
@@ -0,0 +1,41 @@
+/*
+ * QorIQ FMan v3 1g port #4 device tree
+ *
+ * Copyright 2012-2015 Freescale Semiconductor Inc.
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+ */
+
+fman at 1a00000 {
+	fman0_rx_0x0c: port at 8c000 {
+		cell-index = <0xc>;
+		compatible = "fsl,fman-v3-port-rx";
+		reg = <0x8c000 0x1000>;
+	};
+
+	fman0_tx_0x2c: port at ac000 {
+		cell-index = <0x2c>;
+		compatible = "fsl,fman-v3-port-tx";
+		reg = <0xac000 0x1000>;
+	};
+
+	ethernet at e8000 {
+		cell-index = <4>;
+		compatible = "fsl,fman-memac";
+		reg = <0xe8000 0x1000>;
+		fsl,fman-ports = <&fman0_rx_0x0c &fman0_tx_0x2c>;
+		ptp-timer = <&ptp_timer0>;
+		pcsphy-handle = <&pcsphy4>;
+	};
+
+	mdio at e9000 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
+		reg = <0xe9000 0x1000>;
+
+		pcsphy4: ethernet-phy at 0 {
+			reg = <0x0>;
+		};
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi
new file mode 100644
index 0000000..d534f77
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi
@@ -0,0 +1,41 @@
+/*
+ * QorIQ FMan v3 1g port #5 device tree
+ *
+ * Copyright 2012-2015 Freescale Semiconductor Inc.
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+ */
+
+fman at 1a00000 {
+	fman0_rx_0x0d: port at 8d000 {
+		cell-index = <0xd>;
+		compatible = "fsl,fman-v3-port-rx";
+		reg = <0x8d000 0x1000>;
+	};
+
+	fman0_tx_0x2d: port at ad000 {
+		cell-index = <0x2d>;
+		compatible = "fsl,fman-v3-port-tx";
+		reg = <0xad000 0x1000>;
+	};
+
+	ethernet at ea000 {
+		cell-index = <5>;
+		compatible = "fsl,fman-memac";
+		reg = <0xea000 0x1000>;
+		fsl,fman-ports = <&fman0_rx_0x0d &fman0_tx_0x2d>;
+		ptp-timer = <&ptp_timer0>;
+		pcsphy-handle = <&pcsphy5>;
+	};
+
+	mdio at eb000 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
+		reg = <0xeb000 0x1000>;
+
+		pcsphy5: ethernet-phy at 0 {
+			reg = <0x0>;
+		};
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi
new file mode 100644
index 0000000..a559441
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi
@@ -0,0 +1,80 @@
+/*
+ * QorIQ FMan v3 device tree
+ *
+ * Copyright 2012-2015 Freescale Semiconductor Inc.
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+ */
+
+fman0: fman at 1a00000 {
+	#address-cells = <1>;
+	#size-cells = <1>;
+	cell-index = <0>;
+	compatible = "fsl,fman";
+	ranges = <0x0 0x00 0x1a00000 0x100000>;
+	reg = <0x0 0x1a00000 0x0 0x100000>;
+	interrupts = <0 44 0x4>, <0 45 0x4>;
+	clocks = <&clockgen 3 0>;
+	clock-names = "fmanclk";
+	fsl,qman-channel-range = <0x800 0x10>;
+
+	muram at 0 {
+		compatible = "fsl,fman-muram";
+		reg = <0x0 0x60000>;
+	};
+
+	fman0_oh_0x2: port at 82000 {
+		cell-index = <0x2>;
+		compatible = "fsl,fman-v3-port-oh";
+		reg = <0x82000 0x1000>;
+	};
+
+	fman0_oh_0x3: port at 83000 {
+		cell-index = <0x3>;
+		compatible = "fsl,fman-v3-port-oh";
+		reg = <0x83000 0x1000>;
+	};
+
+	fman0_oh_0x4: port at 84000 {
+		cell-index = <0x4>;
+		compatible = "fsl,fman-v3-port-oh";
+		reg = <0x84000 0x1000>;
+	};
+
+	fman0_oh_0x5: port at 85000 {
+		cell-index = <0x5>;
+		compatible = "fsl,fman-v3-port-oh";
+		reg = <0x85000 0x1000>;
+	};
+
+	fman0_oh_0x6: port at 86000 {
+		cell-index = <0x6>;
+		compatible = "fsl,fman-v3-port-oh";
+		reg = <0x86000 0x1000>;
+	};
+
+	fman0_oh_0x7: port at 87000 {
+		cell-index = <0x7>;
+		compatible = "fsl,fman-v3-port-oh";
+		reg = <0x87000 0x1000>;
+	};
+
+	mdio0: mdio at fc000 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
+		reg = <0xfc000 0x1000>;
+	};
+
+	xmdio0: mdio at fd000 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
+		reg = <0xfd000 0x1000>;
+	};
+
+	ptp_timer0: ptp-timer at fe000 {
+		compatible = "fsl,fman-ptp-timer";
+		reg = <0xfe000 0x1000>;
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/qoriq-qman1-portals.dtsi b/arch/arm64/boot/dts/freescale/qoriq-qman1-portals.dtsi
new file mode 100644
index 0000000..4baec2c
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/qoriq-qman1-portals.dtsi
@@ -0,0 +1,76 @@
+/*
+ * QorIQ QMan Portals device tree
+ *
+ * Copyright 2011-2016 Freescale Semiconductor Inc.
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+ */
+
+&qportals {
+	#address-cells = <1>;
+	#size-cells = <1>;
+	compatible = "simple-bus";
+
+	qportal0: qman-portal at 0 {
+		compatible = "fsl,qman-portal";
+		reg = <0x0 0x4000 0x4000000 0x4000>;
+		interrupts = <0 172 0x4>;
+		cell-index = <0>;
+	};
+
+	qportal1: qman-portal at 10000 {
+		compatible = "fsl,qman-portal";
+		reg = <0x10000 0x4000 0x4010000 0x4000>;
+		interrupts = <0 174 0x4>;
+		cell-index = <1>;
+	};
+
+	qportal2: qman-portal at 20000 {
+		compatible = "fsl,qman-portal";
+		reg = <0x20000 0x4000 0x4020000 0x4000>;
+		interrupts = <0 176 0x4>;
+		cell-index = <2>;
+	};
+
+	qportal3: qman-portal at 30000 {
+		compatible = "fsl,qman-portal";
+		reg = <0x30000 0x4000 0x4030000 0x4000>;
+		interrupts = <0 178 0x4>;
+		cell-index = <3>;
+	};
+
+	qportal4: qman-portal at 40000 {
+		compatible = "fsl,qman-portal";
+		reg = <0x40000 0x4000 0x4040000 0x4000>;
+		interrupts = <0 180 0x4>;
+		cell-index = <4>;
+	};
+
+	qportal5: qman-portal at 50000 {
+		compatible = "fsl,qman-portal";
+		reg = <0x50000 0x4000 0x4050000 0x4000>;
+		interrupts = <0 182 0x4>;
+		cell-index = <5>;
+	};
+
+	qportal6: qman-portal at 60000 {
+		compatible = "fsl,qman-portal";
+		reg = <0x60000 0x4000 0x4060000 0x4000>;
+		interrupts = <0 184 0x4>;
+		cell-index = <6>;
+	};
+
+	qportal7: qman-portal at 70000 {
+		compatible = "fsl,qman-portal";
+		reg = <0x70000 0x4000 0x4070000 0x4000>;
+		interrupts = <0 186 0x4>;
+		cell-index = <7>;
+	};
+
+	qportal8: qman-portal at 80000 {
+		compatible = "fsl,qman-portal";
+		reg = <0x80000 0x4000 0x4080000 0x4000>;
+		interrupts = <0 188 0x4>;
+		cell-index = <8>;
+	};
+};
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH v2 2/2] dts: arm64: add LS1046A DPAA support
@ 2017-03-01 15:35   ` Madalin Bucur
  0 siblings, 0 replies; 30+ messages in thread
From: Madalin Bucur @ 2017-03-01 15:35 UTC (permalink / raw)
  To: robh+dt
  Cc: devicetree, shawnguo, mark.rutland, catalin.marinas, will.deacon,
	linux-arm-kernel, linux-kernel, Madalin Bucur

Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
---
 arch/arm64/boot/dts/freescale/fsl-ls1046-post.dtsi | 45 +++++++++++++++
 arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts  |  2 +
 arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts  | 62 ++++++++++++++++++++
 arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi     | 66 +++++++++++++++++++++-
 .../boot/dts/freescale/qoriq-fman3-0-10g-1.dtsi    | 42 ++++++++++++++
 5 files changed, 216 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1046-post.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-1.dtsi

diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1046-post.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1046-post.dtsi
new file mode 100644
index 0000000..1a29045
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1046-post.dtsi
@@ -0,0 +1,45 @@
+/*
+ * QorIQ FMan v3 device tree nodes for ls1046
+ *
+ * Copyright 2015-2016 Freescale Semiconductor Inc.
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+ */
+
+&soc {
+
+/include/ "qoriq-fman3-0.dtsi"
+/include/ "qoriq-fman3-0-1g-0.dtsi"
+/include/ "qoriq-fman3-0-1g-1.dtsi"
+/include/ "qoriq-fman3-0-1g-2.dtsi"
+/include/ "qoriq-fman3-0-1g-3.dtsi"
+/include/ "qoriq-fman3-0-1g-4.dtsi"
+/include/ "qoriq-fman3-0-1g-5.dtsi"
+/include/ "qoriq-fman3-0-10g-0.dtsi"
+/include/ "qoriq-fman3-0-10g-1.dtsi"
+	fman@1a00000 {
+		enet0: ethernet@e0000 {
+		};
+
+		enet1: ethernet@e2000 {
+		};
+
+		enet2: ethernet@e4000 {
+		};
+
+		enet3: ethernet@e6000 {
+		};
+
+		enet4: ethernet@e8000 {
+		};
+
+		enet5: ethernet@ea000 {
+		};
+
+		enet6: ethernet@f0000 {
+		};
+
+		enet7: ethernet@f2000 {
+		};
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts b/arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts
index 290e5b0..ccd3948 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts
@@ -210,3 +210,5 @@
 		reg = <0>;
 	};
 };
+
+/include/ "fsl-ls1046-post.dtsi"
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts b/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts
index d1ccc00..78d5609 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts
@@ -148,3 +148,65 @@
 		reg = <1>;
 	};
 };
+
+/include/ "fsl-ls1046-post.dtsi"
+
+&soc {
+	fman@1a00000 {
+	ethernet@e4000 {
+		phy-handle = <&rgmii_phy1>;
+		phy-connection-type = "rgmii";
+	};
+
+	ethernet@e6000 {
+		phy-handle = <&rgmii_phy2>;
+		phy-connection-type = "rgmii";
+	};
+
+	ethernet@e8000 {
+		phy-handle = <&sgmii_phy1>;
+		phy-connection-type = "sgmii";
+	};
+
+	ethernet@ea000 {
+		phy-handle = <&sgmii_phy2>;
+		phy-connection-type = "sgmii";
+	};
+
+	ethernet@f0000 { /* 10GEC1 */
+		phy-handle = <&aqr106_phy>;
+		phy-connection-type = "xgmii";
+	};
+
+	ethernet@f2000 { /* 10GEC2 */
+		fixed-link = <0 1 1000 0 0>;
+		phy-connection-type = "xgmii";
+	};
+
+	mdio@fc000 {
+		rgmii_phy1: ethernet-phy@1 {
+			reg = <0x1>;
+		};
+
+		rgmii_phy2: ethernet-phy@2 {
+			reg = <0x2>;
+		};
+
+		sgmii_phy1: ethernet-phy@3 {
+			reg = <0x3>;
+		};
+
+		sgmii_phy2: ethernet-phy@4 {
+			reg = <0x4>;
+		};
+	};
+
+	mdio@fd000 {
+		aqr106_phy: ethernet-phy@1 {
+			compatible = "ethernet-phy-ieee802.3-c45";
+			interrupts = <0 131 4>;
+			reg = <0x0>;
+		};
+	};
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
index 38806ca..7aef0d8 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
@@ -54,6 +54,15 @@
 
 	aliases {
 		crypto = &crypto;
+		fman0 = &fman0;
+		ethernet0 = &enet0;
+		ethernet1 = &enet1;
+		ethernet2 = &enet2;
+		ethernet3 = &enet3;
+		ethernet4 = &enet4;
+		ethernet5 = &enet5;
+		ethernet6 = &enet6;
+		ethernet7 = &enet7;
 	};
 
 	cpus {
@@ -172,7 +181,7 @@
 					 IRQ_TYPE_LEVEL_LOW)>;
 	};
 
-	soc {
+	soc: soc {
 		compatible = "simple-bus";
 		#address-cells = <2>;
 		#size-cells = <2>;
@@ -266,6 +275,18 @@
 			};
 		};
 
+		qman: qman@1880000 {
+			compatible = "fsl,qman";
+			reg = <0x00 0x1880000 0x0 0x10000>;
+			interrupts = <0 45 0x4>;
+		};
+
+		bman: bman@1890000 {
+			compatible = "fsl,bman";
+			reg = <0x00 0x1890000 0x0 0x10000>;
+			interrupts = <0 45 0x4>;
+		};
+
 		dcfg: dcfg@1ee0000 {
 			compatible = "fsl,ls1046a-dcfg", "syscon";
 			reg = <0x0 0x1ee0000 0x0 0x10000>;
@@ -512,4 +533,47 @@
 			clocks = <&clockgen 4 1>;
 		};
 	};
+
+	qportals: qman-portals@500000000 {
+		ranges = <0x0 0x5 0x00000000 0x8000000>;
+	};
+	bportals: bman-portals@508000000 {
+		ranges = <0x0 0x5 0x08000000 0x8000000>;
+	};
+	reserved-memory {
+		#address-cells = <2>;
+		#size-cells = <2>;
+		ranges;
+
+		bman_fbpr: bman-fbpr {
+			size = <0 0x1000000>;
+			alignment = <0 0x1000000>;
+		};
+		qman_fqd: qman-fqd {
+			size = <0 0x800000>;
+			alignment = <0 0x800000>;
+		};
+		qman_pfdr: qman-pfdr {
+			size = <0 0x2000000>;
+			alignment = <0 0x2000000>;
+		};
+	};
+};
+
+&bman_fbpr {
+	compatible = "fsl,bman-fbpr";
+	alloc-ranges = <0 0 0x10000 0>;
 };
+
+&qman_fqd {
+	compatible = "fsl,qman-fqd";
+	alloc-ranges = <0 0 0x10000 0>;
+};
+
+&qman_pfdr {
+	compatible = "fsl,qman-pfdr";
+	alloc-ranges = <0 0 0x10000 0>;
+};
+
+/include/ "qoriq-qman1-portals.dtsi"
+/include/ "qoriq-bman1-portals.dtsi"
diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-1.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-1.dtsi
new file mode 100644
index 0000000..2a36f18
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-1.dtsi
@@ -0,0 +1,42 @@
+/*
+ * QorIQ FMan v3 10g port #1 device tree
+ *
+ * Copyright 2012-2015 Freescale Semiconductor Inc.
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+ */
+
+fman@1a00000 {
+	fman0_rx_0x11: port@91000 {
+		cell-index = <0x11>;
+		compatible = "fsl,fman-v3-port-rx";
+		reg = <0x91000 0x1000>;
+		fsl,fman-10g-port;
+	};
+
+	fman0_tx_0x31: port@b1000 {
+		cell-index = <0x31>;
+		compatible = "fsl,fman-v3-port-tx";
+		reg = <0xb1000 0x1000>;
+		fsl,fman-10g-port;
+	};
+
+	ethernet@f2000 {
+		cell-index = <0x8>;
+		compatible = "fsl,fman-memac";
+		reg = <0xf2000 0x1000>;
+		fsl,fman-ports = <&fman0_rx_0x11 &fman0_tx_0x31>;
+		pcsphy-handle = <&pcsphy7>;
+	};
+
+	mdio@f3000 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
+		reg = <0xf3000 0x1000>;
+
+		pcsphy7: ethernet-phy@0 {
+			reg = <0x0>;
+		};
+	};
+};
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH v2 2/2] dts: arm64: add LS1046A DPAA support
@ 2017-03-01 15:35   ` Madalin Bucur
  0 siblings, 0 replies; 30+ messages in thread
From: Madalin Bucur @ 2017-03-01 15:35 UTC (permalink / raw)
  To: robh+dt-DgEjT+Ai2ygdnm+yROfE0A
  Cc: devicetree-u79uwXL29TY76Z2rM5mHXA,
	shawnguo-DgEjT+Ai2ygdnm+yROfE0A, mark.rutland-5wv7dgnIgG8,
	catalin.marinas-5wv7dgnIgG8, will.deacon-5wv7dgnIgG8,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA, Madalin Bucur

Signed-off-by: Madalin Bucur <madalin.bucur-3arQi8VN3Tc@public.gmane.org>
---
 arch/arm64/boot/dts/freescale/fsl-ls1046-post.dtsi | 45 +++++++++++++++
 arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts  |  2 +
 arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts  | 62 ++++++++++++++++++++
 arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi     | 66 +++++++++++++++++++++-
 .../boot/dts/freescale/qoriq-fman3-0-10g-1.dtsi    | 42 ++++++++++++++
 5 files changed, 216 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1046-post.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-1.dtsi

diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1046-post.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1046-post.dtsi
new file mode 100644
index 0000000..1a29045
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1046-post.dtsi
@@ -0,0 +1,45 @@
+/*
+ * QorIQ FMan v3 device tree nodes for ls1046
+ *
+ * Copyright 2015-2016 Freescale Semiconductor Inc.
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+ */
+
+&soc {
+
+/include/ "qoriq-fman3-0.dtsi"
+/include/ "qoriq-fman3-0-1g-0.dtsi"
+/include/ "qoriq-fman3-0-1g-1.dtsi"
+/include/ "qoriq-fman3-0-1g-2.dtsi"
+/include/ "qoriq-fman3-0-1g-3.dtsi"
+/include/ "qoriq-fman3-0-1g-4.dtsi"
+/include/ "qoriq-fman3-0-1g-5.dtsi"
+/include/ "qoriq-fman3-0-10g-0.dtsi"
+/include/ "qoriq-fman3-0-10g-1.dtsi"
+	fman@1a00000 {
+		enet0: ethernet@e0000 {
+		};
+
+		enet1: ethernet@e2000 {
+		};
+
+		enet2: ethernet@e4000 {
+		};
+
+		enet3: ethernet@e6000 {
+		};
+
+		enet4: ethernet@e8000 {
+		};
+
+		enet5: ethernet@ea000 {
+		};
+
+		enet6: ethernet@f0000 {
+		};
+
+		enet7: ethernet@f2000 {
+		};
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts b/arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts
index 290e5b0..ccd3948 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts
@@ -210,3 +210,5 @@
 		reg = <0>;
 	};
 };
+
+/include/ "fsl-ls1046-post.dtsi"
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts b/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts
index d1ccc00..78d5609 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts
@@ -148,3 +148,65 @@
 		reg = <1>;
 	};
 };
+
+/include/ "fsl-ls1046-post.dtsi"
+
+&soc {
+	fman@1a00000 {
+	ethernet@e4000 {
+		phy-handle = <&rgmii_phy1>;
+		phy-connection-type = "rgmii";
+	};
+
+	ethernet@e6000 {
+		phy-handle = <&rgmii_phy2>;
+		phy-connection-type = "rgmii";
+	};
+
+	ethernet@e8000 {
+		phy-handle = <&sgmii_phy1>;
+		phy-connection-type = "sgmii";
+	};
+
+	ethernet@ea000 {
+		phy-handle = <&sgmii_phy2>;
+		phy-connection-type = "sgmii";
+	};
+
+	ethernet@f0000 { /* 10GEC1 */
+		phy-handle = <&aqr106_phy>;
+		phy-connection-type = "xgmii";
+	};
+
+	ethernet@f2000 { /* 10GEC2 */
+		fixed-link = <0 1 1000 0 0>;
+		phy-connection-type = "xgmii";
+	};
+
+	mdio@fc000 {
+		rgmii_phy1: ethernet-phy@1 {
+			reg = <0x1>;
+		};
+
+		rgmii_phy2: ethernet-phy@2 {
+			reg = <0x2>;
+		};
+
+		sgmii_phy1: ethernet-phy@3 {
+			reg = <0x3>;
+		};
+
+		sgmii_phy2: ethernet-phy@4 {
+			reg = <0x4>;
+		};
+	};
+
+	mdio@fd000 {
+		aqr106_phy: ethernet-phy@1 {
+			compatible = "ethernet-phy-ieee802.3-c45";
+			interrupts = <0 131 4>;
+			reg = <0x0>;
+		};
+	};
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
index 38806ca..7aef0d8 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
@@ -54,6 +54,15 @@
 
 	aliases {
 		crypto = &crypto;
+		fman0 = &fman0;
+		ethernet0 = &enet0;
+		ethernet1 = &enet1;
+		ethernet2 = &enet2;
+		ethernet3 = &enet3;
+		ethernet4 = &enet4;
+		ethernet5 = &enet5;
+		ethernet6 = &enet6;
+		ethernet7 = &enet7;
 	};
 
 	cpus {
@@ -172,7 +181,7 @@
 					 IRQ_TYPE_LEVEL_LOW)>;
 	};
 
-	soc {
+	soc: soc {
 		compatible = "simple-bus";
 		#address-cells = <2>;
 		#size-cells = <2>;
@@ -266,6 +275,18 @@
 			};
 		};
 
+		qman: qman@1880000 {
+			compatible = "fsl,qman";
+			reg = <0x00 0x1880000 0x0 0x10000>;
+			interrupts = <0 45 0x4>;
+		};
+
+		bman: bman@1890000 {
+			compatible = "fsl,bman";
+			reg = <0x00 0x1890000 0x0 0x10000>;
+			interrupts = <0 45 0x4>;
+		};
+
 		dcfg: dcfg@1ee0000 {
 			compatible = "fsl,ls1046a-dcfg", "syscon";
 			reg = <0x0 0x1ee0000 0x0 0x10000>;
@@ -512,4 +533,47 @@
 			clocks = <&clockgen 4 1>;
 		};
 	};
+
+	qportals: qman-portals@500000000 {
+		ranges = <0x0 0x5 0x00000000 0x8000000>;
+	};
+	bportals: bman-portals@508000000 {
+		ranges = <0x0 0x5 0x08000000 0x8000000>;
+	};
+	reserved-memory {
+		#address-cells = <2>;
+		#size-cells = <2>;
+		ranges;
+
+		bman_fbpr: bman-fbpr {
+			size = <0 0x1000000>;
+			alignment = <0 0x1000000>;
+		};
+		qman_fqd: qman-fqd {
+			size = <0 0x800000>;
+			alignment = <0 0x800000>;
+		};
+		qman_pfdr: qman-pfdr {
+			size = <0 0x2000000>;
+			alignment = <0 0x2000000>;
+		};
+	};
+};
+
+&bman_fbpr {
+	compatible = "fsl,bman-fbpr";
+	alloc-ranges = <0 0 0x10000 0>;
 };
+
+&qman_fqd {
+	compatible = "fsl,qman-fqd";
+	alloc-ranges = <0 0 0x10000 0>;
+};
+
+&qman_pfdr {
+	compatible = "fsl,qman-pfdr";
+	alloc-ranges = <0 0 0x10000 0>;
+};
+
+/include/ "qoriq-qman1-portals.dtsi"
+/include/ "qoriq-bman1-portals.dtsi"
diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-1.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-1.dtsi
new file mode 100644
index 0000000..2a36f18
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-1.dtsi
@@ -0,0 +1,42 @@
+/*
+ * QorIQ FMan v3 10g port #1 device tree
+ *
+ * Copyright 2012-2015 Freescale Semiconductor Inc.
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+ */
+
+fman@1a00000 {
+	fman0_rx_0x11: port@91000 {
+		cell-index = <0x11>;
+		compatible = "fsl,fman-v3-port-rx";
+		reg = <0x91000 0x1000>;
+		fsl,fman-10g-port;
+	};
+
+	fman0_tx_0x31: port@b1000 {
+		cell-index = <0x31>;
+		compatible = "fsl,fman-v3-port-tx";
+		reg = <0xb1000 0x1000>;
+		fsl,fman-10g-port;
+	};
+
+	ethernet@f2000 {
+		cell-index = <0x8>;
+		compatible = "fsl,fman-memac";
+		reg = <0xf2000 0x1000>;
+		fsl,fman-ports = <&fman0_rx_0x11 &fman0_tx_0x31>;
+		pcsphy-handle = <&pcsphy7>;
+	};
+
+	mdio@f3000 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
+		reg = <0xf3000 0x1000>;
+
+		pcsphy7: ethernet-phy@0 {
+			reg = <0x0>;
+		};
+	};
+};
-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH v2 2/2] dts: arm64: add LS1046A DPAA support
@ 2017-03-01 15:35   ` Madalin Bucur
  0 siblings, 0 replies; 30+ messages in thread
From: Madalin Bucur @ 2017-03-01 15:35 UTC (permalink / raw)
  To: linux-arm-kernel

Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
---
 arch/arm64/boot/dts/freescale/fsl-ls1046-post.dtsi | 45 +++++++++++++++
 arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts  |  2 +
 arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts  | 62 ++++++++++++++++++++
 arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi     | 66 +++++++++++++++++++++-
 .../boot/dts/freescale/qoriq-fman3-0-10g-1.dtsi    | 42 ++++++++++++++
 5 files changed, 216 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1046-post.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-1.dtsi

diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1046-post.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1046-post.dtsi
new file mode 100644
index 0000000..1a29045
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1046-post.dtsi
@@ -0,0 +1,45 @@
+/*
+ * QorIQ FMan v3 device tree nodes for ls1046
+ *
+ * Copyright 2015-2016 Freescale Semiconductor Inc.
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+ */
+
+&soc {
+
+/include/ "qoriq-fman3-0.dtsi"
+/include/ "qoriq-fman3-0-1g-0.dtsi"
+/include/ "qoriq-fman3-0-1g-1.dtsi"
+/include/ "qoriq-fman3-0-1g-2.dtsi"
+/include/ "qoriq-fman3-0-1g-3.dtsi"
+/include/ "qoriq-fman3-0-1g-4.dtsi"
+/include/ "qoriq-fman3-0-1g-5.dtsi"
+/include/ "qoriq-fman3-0-10g-0.dtsi"
+/include/ "qoriq-fman3-0-10g-1.dtsi"
+	fman at 1a00000 {
+		enet0: ethernet at e0000 {
+		};
+
+		enet1: ethernet at e2000 {
+		};
+
+		enet2: ethernet at e4000 {
+		};
+
+		enet3: ethernet at e6000 {
+		};
+
+		enet4: ethernet at e8000 {
+		};
+
+		enet5: ethernet at ea000 {
+		};
+
+		enet6: ethernet at f0000 {
+		};
+
+		enet7: ethernet at f2000 {
+		};
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts b/arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts
index 290e5b0..ccd3948 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts
@@ -210,3 +210,5 @@
 		reg = <0>;
 	};
 };
+
+/include/ "fsl-ls1046-post.dtsi"
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts b/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts
index d1ccc00..78d5609 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts
@@ -148,3 +148,65 @@
 		reg = <1>;
 	};
 };
+
+/include/ "fsl-ls1046-post.dtsi"
+
+&soc {
+	fman at 1a00000 {
+	ethernet at e4000 {
+		phy-handle = <&rgmii_phy1>;
+		phy-connection-type = "rgmii";
+	};
+
+	ethernet at e6000 {
+		phy-handle = <&rgmii_phy2>;
+		phy-connection-type = "rgmii";
+	};
+
+	ethernet at e8000 {
+		phy-handle = <&sgmii_phy1>;
+		phy-connection-type = "sgmii";
+	};
+
+	ethernet at ea000 {
+		phy-handle = <&sgmii_phy2>;
+		phy-connection-type = "sgmii";
+	};
+
+	ethernet at f0000 { /* 10GEC1 */
+		phy-handle = <&aqr106_phy>;
+		phy-connection-type = "xgmii";
+	};
+
+	ethernet at f2000 { /* 10GEC2 */
+		fixed-link = <0 1 1000 0 0>;
+		phy-connection-type = "xgmii";
+	};
+
+	mdio at fc000 {
+		rgmii_phy1: ethernet-phy at 1 {
+			reg = <0x1>;
+		};
+
+		rgmii_phy2: ethernet-phy at 2 {
+			reg = <0x2>;
+		};
+
+		sgmii_phy1: ethernet-phy at 3 {
+			reg = <0x3>;
+		};
+
+		sgmii_phy2: ethernet-phy at 4 {
+			reg = <0x4>;
+		};
+	};
+
+	mdio at fd000 {
+		aqr106_phy: ethernet-phy at 1 {
+			compatible = "ethernet-phy-ieee802.3-c45";
+			interrupts = <0 131 4>;
+			reg = <0x0>;
+		};
+	};
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
index 38806ca..7aef0d8 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
@@ -54,6 +54,15 @@
 
 	aliases {
 		crypto = &crypto;
+		fman0 = &fman0;
+		ethernet0 = &enet0;
+		ethernet1 = &enet1;
+		ethernet2 = &enet2;
+		ethernet3 = &enet3;
+		ethernet4 = &enet4;
+		ethernet5 = &enet5;
+		ethernet6 = &enet6;
+		ethernet7 = &enet7;
 	};
 
 	cpus {
@@ -172,7 +181,7 @@
 					 IRQ_TYPE_LEVEL_LOW)>;
 	};
 
-	soc {
+	soc: soc {
 		compatible = "simple-bus";
 		#address-cells = <2>;
 		#size-cells = <2>;
@@ -266,6 +275,18 @@
 			};
 		};
 
+		qman: qman at 1880000 {
+			compatible = "fsl,qman";
+			reg = <0x00 0x1880000 0x0 0x10000>;
+			interrupts = <0 45 0x4>;
+		};
+
+		bman: bman at 1890000 {
+			compatible = "fsl,bman";
+			reg = <0x00 0x1890000 0x0 0x10000>;
+			interrupts = <0 45 0x4>;
+		};
+
 		dcfg: dcfg at 1ee0000 {
 			compatible = "fsl,ls1046a-dcfg", "syscon";
 			reg = <0x0 0x1ee0000 0x0 0x10000>;
@@ -512,4 +533,47 @@
 			clocks = <&clockgen 4 1>;
 		};
 	};
+
+	qportals: qman-portals at 500000000 {
+		ranges = <0x0 0x5 0x00000000 0x8000000>;
+	};
+	bportals: bman-portals at 508000000 {
+		ranges = <0x0 0x5 0x08000000 0x8000000>;
+	};
+	reserved-memory {
+		#address-cells = <2>;
+		#size-cells = <2>;
+		ranges;
+
+		bman_fbpr: bman-fbpr {
+			size = <0 0x1000000>;
+			alignment = <0 0x1000000>;
+		};
+		qman_fqd: qman-fqd {
+			size = <0 0x800000>;
+			alignment = <0 0x800000>;
+		};
+		qman_pfdr: qman-pfdr {
+			size = <0 0x2000000>;
+			alignment = <0 0x2000000>;
+		};
+	};
+};
+
+&bman_fbpr {
+	compatible = "fsl,bman-fbpr";
+	alloc-ranges = <0 0 0x10000 0>;
 };
+
+&qman_fqd {
+	compatible = "fsl,qman-fqd";
+	alloc-ranges = <0 0 0x10000 0>;
+};
+
+&qman_pfdr {
+	compatible = "fsl,qman-pfdr";
+	alloc-ranges = <0 0 0x10000 0>;
+};
+
+/include/ "qoriq-qman1-portals.dtsi"
+/include/ "qoriq-bman1-portals.dtsi"
diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-1.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-1.dtsi
new file mode 100644
index 0000000..2a36f18
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-1.dtsi
@@ -0,0 +1,42 @@
+/*
+ * QorIQ FMan v3 10g port #1 device tree
+ *
+ * Copyright 2012-2015 Freescale Semiconductor Inc.
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+ */
+
+fman at 1a00000 {
+	fman0_rx_0x11: port at 91000 {
+		cell-index = <0x11>;
+		compatible = "fsl,fman-v3-port-rx";
+		reg = <0x91000 0x1000>;
+		fsl,fman-10g-port;
+	};
+
+	fman0_tx_0x31: port at b1000 {
+		cell-index = <0x31>;
+		compatible = "fsl,fman-v3-port-tx";
+		reg = <0xb1000 0x1000>;
+		fsl,fman-10g-port;
+	};
+
+	ethernet at f2000 {
+		cell-index = <0x8>;
+		compatible = "fsl,fman-memac";
+		reg = <0xf2000 0x1000>;
+		fsl,fman-ports = <&fman0_rx_0x11 &fman0_tx_0x31>;
+		pcsphy-handle = <&pcsphy7>;
+	};
+
+	mdio at f3000 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
+		reg = <0xf3000 0x1000>;
+
+		pcsphy7: ethernet-phy at 0 {
+			reg = <0x0>;
+		};
+	};
+};
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* Re: [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support
  2017-03-01 15:35   ` Madalin Bucur
  (?)
@ 2017-03-14  7:07     ` Shawn Guo
  -1 siblings, 0 replies; 30+ messages in thread
From: Shawn Guo @ 2017-03-14  7:07 UTC (permalink / raw)
  To: Madalin Bucur
  Cc: robh+dt, mark.rutland, devicetree, catalin.marinas, will.deacon,
	linux-kernel, linux-arm-kernel

On Wed, Mar 01, 2017 at 05:35:04PM +0200, Madalin Bucur wrote:
> Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>

Empty commit log is generally not welcome, especially when the commit
adds so many files.

> ---
>  arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi | 41 +++++++++++
>  arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts  |  2 +
>  arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts  | 75 ++++++++++++++++++++
>  arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi     | 73 +++++++++++++++++++-
>  .../boot/dts/freescale/qoriq-bman1-portals.dtsi    | 67 ++++++++++++++++++
>  .../boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi    | 42 ++++++++++++
>  .../boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi     | 41 +++++++++++
>  .../boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi     | 41 +++++++++++
>  .../boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi     | 41 +++++++++++
>  .../boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi     | 41 +++++++++++
>  .../boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi     | 41 +++++++++++
>  .../boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi     | 41 +++++++++++
>  arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi   | 80 ++++++++++++++++++++++
>  .../boot/dts/freescale/qoriq-qman1-portals.dtsi    | 76 ++++++++++++++++++++
>  14 files changed, 701 insertions(+), 1 deletion(-)
>  create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-bman1-portals.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-qman1-portals.dtsi

I'm not comfortable with so many and complex include level.  Can you
please elaborate it a bit and help us understand the necessity of doing
that?

> 
> diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi
> new file mode 100644
> index 0000000..bf443d2
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi
> @@ -0,0 +1,41 @@
> +/*
> + * QorIQ FMan v3 device tree nodes for ls1043
> + *
> + * Copyright 2015-2016 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */

It's still controversial whether we should use SPDX tag.

https://lkml.org/lkml/2017/2/28/750

> +
> +&soc {
> +
> +/include/ "qoriq-fman3-0.dtsi"
> +/include/ "qoriq-fman3-0-1g-0.dtsi"
> +/include/ "qoriq-fman3-0-1g-1.dtsi"
> +/include/ "qoriq-fman3-0-1g-2.dtsi"
> +/include/ "qoriq-fman3-0-1g-3.dtsi"
> +/include/ "qoriq-fman3-0-1g-4.dtsi"
> +/include/ "qoriq-fman3-0-1g-5.dtsi"
> +/include/ "qoriq-fman3-0-10g-0.dtsi"

We usually put the includes at the beginning of the file, and #include
is more recommended than /include/.

> +	fman@1a00000 {
> +		enet0: ethernet@e0000 {
> +		};
> +
> +		enet1: ethernet@e2000 {
> +		};
> +
> +		enet2: ethernet@e4000 {
> +		};
> +
> +		enet3: ethernet@e6000 {
> +		};
> +
> +		enet4: ethernet@e8000 {
> +		};
> +
> +		enet5: ethernet@ea000 {
> +		};
> +
> +		enet6: ethernet@f0000 {
> +		};
> +	};

I do not quite understand why these nodes are empty.

> +};
> diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> index 0989d63..ee66bb2 100644
> --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> @@ -181,3 +181,5 @@
>  		reg = <0>;
>  	};
>  };
> +
> +/include/ "fsl-ls1043-post.dtsi"

Move it to header of the file.

> diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> index c37110b..d94f003 100644
> --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> @@ -139,3 +139,78 @@
>  &duart1 {
>  	status = "okay";
>  };
> +
> +/include/ "fsl-ls1043-post.dtsi"
> +

Ditto

> +&soc {
> +	fman@1a00000 {
> +		ethernet@e0000 {

You defined enet0 label.  Why don't you use it?

> +			phy-handle = <&qsgmii_phy1>;
> +			phy-connection-type = "qsgmii";
> +		};
> +
> +		ethernet@e2000 {
> +			phy-handle = <&qsgmii_phy2>;
> +			phy-connection-type = "qsgmii";
> +		};
> +
> +		ethernet@e4000 {
> +			phy-handle = <&rgmii_phy1>;
> +			phy-connection-type = "rgmii";
> +		};
> +
> +		ethernet@e6000 {
> +			phy-handle = <&rgmii_phy2>;
> +			phy-connection-type = "rgmii";
> +		};
> +
> +		ethernet@e8000 {
> +			phy-handle = <&qsgmii_phy3>;
> +			phy-connection-type = "qsgmii";
> +		};
> +
> +		ethernet@ea000 {
> +			phy-handle = <&qsgmii_phy4>;
> +			phy-connection-type = "qsgmii";
> +		};
> +
> +		ethernet@f0000 { /* 10GEC1 */
> +			phy-handle = <&aqr105_phy>;
> +			phy-connection-type = "xgmii";
> +		};
> +
> +		mdio@fc000 {

Use label reference the node you already define, so that you do not have
to maintain the device tree hierarchy for referencing the node.

> +			rgmii_phy1: ethernet-phy@1 {
> +				reg = <0x1>;
> +			};
> +
> +			rgmii_phy2: ethernet-phy@2 {
> +				reg = <0x2>;
> +			};
> +
> +			qsgmii_phy1: ethernet-phy@3 {
> +				reg = <0x4>;

The unit address in the node name should match 'reg' value.

> +			};
> +
> +			qsgmii_phy2: ethernet-phy@4 {
> +				reg = <0x5>;
> +			};
> +
> +			qsgmii_phy3: ethernet-phy@5 {
> +				reg = <0x6>;
> +			};
> +
> +			qsgmii_phy4: ethernet-phy@6 {
> +				reg = <0x7>;
> +			};
> +		};
> +
> +		mdio@fd000 {
> +			aqr105_phy: ethernet-phy@c {
> +				compatible = "ethernet-phy-ieee802.3-c45";
> +				interrupts = <0 132 4>;
> +				reg = <0x1>;
> +			};
> +		};
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
> index ec13a6e..ac1e0af 100644
> --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
> +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
> @@ -52,6 +52,17 @@
>  	#address-cells = <2>;
>  	#size-cells = <2>;
>  
> +	aliases {
> +		fman0 = &fman0;
> +		ethernet0 = &enet0;
> +		ethernet1 = &enet1;
> +		ethernet2 = &enet2;
> +		ethernet3 = &enet3;
> +		ethernet4 = &enet4;
> +		ethernet5 = &enet5;
> +		ethernet6 = &enet6;
> +	};
> +
>  	cpus {
>  		#address-cells = <1>;
>  		#size-cells = <0>;
> @@ -106,6 +117,36 @@
>  		      /* DRAM space 1, size: 2GiB DRAM */
>  	};
>  
> +	reserved-memory {
> +		#address-cells = <2>;
> +		#size-cells = <2>;
> +		ranges;
> +
> +		bman_fbpr: bman-fbpr {
> +			size = <0 0x1000000>;
> +			alignment = <0 0x1000000>;
> +		};
> +
> +		qman_fqd: qman-fqd {
> +			size = <0 0x400000>;
> +			alignment = <0 0x400000>;
> +		};
> +
> +		qman_pfdr: qman-pfdr {
> +			size = <0 0x2000000>;
> +			alignment = <0 0x2000000>;
> +		};
> +	};
> +
> +	bportals: bman-portals@508000000 {
> +		ranges = <0x0 0x5 0x08000000 0x8000000>;
> +	};
> +
> +	qportals: qman-portals@500000000 {
> +		ranges = <0x0 0x5 0x00000000 0x8000000>;
> +	};

Why are these two devices directly under root, not soc node?

> +
> +
>  	sysclk: sysclk {
>  		compatible = "fixed-clock";
>  		#clock-cells = <0>;
> @@ -152,7 +193,7 @@
>  		interrupts = <1 9 0xf08>;
>  	};
>  
> -	soc {
> +	soc: soc {
>  		compatible = "simple-bus";
>  		#address-cells = <2>;
>  		#size-cells = <2>;
> @@ -333,6 +374,18 @@
>  			};
>  		};
>  
> +		qman: qman@1880000 {
> +			compatible = "fsl,qman";
> +			reg = <0x00 0x1880000 0x0 0x10000>;
> +			interrupts = <0 45 0x4>;
> +		};
> +
> +		bman: bman@1890000 {
> +			compatible = "fsl,bman";
> +			reg = <0x00 0x1890000 0x0 0x10000>;
> +			interrupts = <0 45 0x4>;
> +		};
> +
>  		dspi0: dspi@2100000 {
>  			compatible = "fsl,ls1043a-dspi", "fsl,ls1021a-v1.0-dspi";
>  			#address-cells = <1>;
> @@ -686,3 +739,21 @@
>  	};
>  
>  };
> +
> +&bman_fbpr {
> +	compatible = "fsl,bman-fbpr";
> +	alloc-ranges = <0 0 0x10000 0>;
> +};
> +
> +&qman_fqd {
> +	compatible = "fsl,qman-fqd";
> +	alloc-ranges = <0 0 0x10000 0>;
> +};
> +
> +&qman_pfdr {
> +	compatible = "fsl,qman-pfdr";
> +	alloc-ranges = <0 0 0x10000 0>;
> +};

Why do you need to separate these from the nodes in reserved-memory?

I stop right here.  Honestly, I do not like the patch as its current
form.  I guess you should do something to make the reviewing of the
changes a bit easier.

Shawn

> +
> +/include/ "qoriq-qman1-portals.dtsi"
> +/include/ "qoriq-bman1-portals.dtsi"
> diff --git a/arch/arm64/boot/dts/freescale/qoriq-bman1-portals.dtsi b/arch/arm64/boot/dts/freescale/qoriq-bman1-portals.dtsi
> new file mode 100644
> index 0000000..b007344
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/qoriq-bman1-portals.dtsi
> @@ -0,0 +1,67 @@
> +/*
> + * QorIQ BMan Portals device tree
> + *
> + * Copyright 2011-2016 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */
> +
> +&bportals {
> +	#address-cells = <1>;
> +	#size-cells = <1>;
> +	compatible = "simple-bus";
> +
> +	bman-portal@0 {
> +		compatible = "fsl,bman-portal";
> +		reg = <0x0 0x4000 0x4000000 0x4000>;
> +		interrupts = <0 173 0x4>;
> +	};
> +
> +	bman-portal@10000 {
> +		compatible = "fsl,bman-portal";
> +		reg = <0x10000 0x4000 0x4010000 0x4000>;
> +		interrupts = <0 175 0x4>;
> +	};
> +
> +	bman-portal@20000 {
> +		compatible = "fsl,bman-portal";
> +		reg = <0x20000 0x4000 0x4020000 0x4000>;
> +		interrupts = <0 177 0x4>;
> +	};
> +
> +	bman-portal@30000 {
> +		compatible = "fsl,bman-portal";
> +		reg = <0x30000 0x4000 0x4030000 0x4000>;
> +		interrupts = <0 179 0x4>;
> +	};
> +
> +	bman-portal@40000 {
> +		compatible = "fsl,bman-portal";
> +		reg = <0x40000 0x4000 0x4040000 0x4000>;
> +		interrupts = <0 181 0x4>;
> +	};
> +
> +	bman-portal@50000 {
> +		compatible = "fsl,bman-portal";
> +		reg = <0x50000 0x4000 0x4050000 0x4000>;
> +		interrupts = <0 183 0x4>;
> +	};
> +
> +	bman-portal@60000 {
> +		compatible = "fsl,bman-portal";
> +		reg = <0x60000 0x4000 0x4060000 0x4000>;
> +		interrupts = <0 185 0x4>;
> +	};
> +
> +	bman-portal@70000 {
> +		compatible = "fsl,bman-portal";
> +		reg = <0x70000 0x4000 0x4070000 0x4000>;
> +		interrupts = <0 187 0x4>;
> +	};
> +
> +	bman-portal@80000 {
> +		compatible = "fsl,bman-portal";
> +		reg = <0x80000 0x4000 0x4080000 0x4000>;
> +		interrupts = <0 189 0x4>;
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi
> new file mode 100644
> index 0000000..ecdffe7
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi
> @@ -0,0 +1,42 @@
> +/*
> + * QorIQ FMan v3 10g port #0 device tree
> + *
> + * Copyright 2012-2015 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */
> +
> +fman@1a00000 {
> +	fman0_rx_0x10: port@90000 {
> +		cell-index = <0x10>;
> +		compatible = "fsl,fman-v3-port-rx";
> +		reg = <0x90000 0x1000>;
> +		fsl,fman-10g-port;
> +	};
> +
> +	fman0_tx_0x30: port@b0000 {
> +		cell-index = <0x30>;
> +		compatible = "fsl,fman-v3-port-tx";
> +		reg = <0xb0000 0x1000>;
> +		fsl,fman-10g-port;
> +	};
> +
> +	ethernet@f0000 {
> +		cell-index = <0x8>;
> +		compatible = "fsl,fman-memac";
> +		reg = <0xf0000 0x1000>;
> +		fsl,fman-ports = <&fman0_rx_0x10 &fman0_tx_0x30>;
> +		pcsphy-handle = <&pcsphy6>;
> +	};
> +
> +	mdio@f1000 {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
> +		reg = <0xf1000 0x1000>;
> +
> +		pcsphy6: ethernet-phy@0 {
> +			reg = <0x0>;
> +		};
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi
> new file mode 100644
> index 0000000..d600786
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi
> @@ -0,0 +1,41 @@
> +/*
> + * QorIQ FMan v3 1g port #0 device tree
> + *
> + * Copyright 2012-2015 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */
> +
> +fman@1a00000 {
> +	fman0_rx_0x08: port@88000 {
> +		cell-index = <0x8>;
> +		compatible = "fsl,fman-v3-port-rx";
> +		reg = <0x88000 0x1000>;
> +	};
> +
> +	fman0_tx_0x28: port@a8000 {
> +		cell-index = <0x28>;
> +		compatible = "fsl,fman-v3-port-tx";
> +		reg = <0xa8000 0x1000>;
> +	};
> +
> +	ethernet@e0000 {
> +		cell-index = <0>;
> +		compatible = "fsl,fman-memac";
> +		reg = <0xe0000 0x1000>;
> +		fsl,fman-ports = <&fman0_rx_0x08 &fman0_tx_0x28>;
> +		ptp-timer = <&ptp_timer0>;
> +		pcsphy-handle = <&pcsphy0>;
> +	};
> +
> +	mdio@e1000 {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
> +		reg = <0xe1000 0x1000>;
> +
> +		pcsphy0: ethernet-phy@0 {
> +			reg = <0x0>;
> +		};
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi
> new file mode 100644
> index 0000000..3c0b76d
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi
> @@ -0,0 +1,41 @@
> +/*
> + * QorIQ FMan v3 1g port #1 device tree
> + *
> + * Copyright 2012-2015 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */
> +
> +fman@1a00000 {
> +	fman0_rx_0x09: port@89000 {
> +		cell-index = <0x9>;
> +		compatible = "fsl,fman-v3-port-rx";
> +		reg = <0x89000 0x1000>;
> +	};
> +
> +	fman0_tx_0x29: port@a9000 {
> +		cell-index = <0x29>;
> +		compatible = "fsl,fman-v3-port-tx";
> +		reg = <0xa9000 0x1000>;
> +	};
> +
> +	ethernet@e2000 {
> +		cell-index = <1>;
> +		compatible = "fsl,fman-memac";
> +		reg = <0xe2000 0x1000>;
> +		fsl,fman-ports = <&fman0_rx_0x09 &fman0_tx_0x29>;
> +		ptp-timer = <&ptp_timer0>;
> +		pcsphy-handle = <&pcsphy1>;
> +	};
> +
> +	mdio@e3000 {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
> +		reg = <0xe3000 0x1000>;
> +
> +		pcsphy1: ethernet-phy@0 {
> +			reg = <0x0>;
> +		};
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi
> new file mode 100644
> index 0000000..89633af
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi
> @@ -0,0 +1,41 @@
> +/*
> + * QorIQ FMan v3 1g port #2 device tree
> + *
> + * Copyright 2012-2015 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */
> +
> +fman@1a00000 {
> +	fman0_rx_0x0a: port@8a000 {
> +		cell-index = <0xa>;
> +		compatible = "fsl,fman-v3-port-rx";
> +		reg = <0x8a000 0x1000>;
> +	};
> +
> +	fman0_tx_0x2a: port@aa000 {
> +		cell-index = <0x2a>;
> +		compatible = "fsl,fman-v3-port-tx";
> +		reg = <0xaa000 0x1000>;
> +	};
> +
> +	ethernet@e4000 {
> +		cell-index = <2>;
> +		compatible = "fsl,fman-memac";
> +		reg = <0xe4000 0x1000>;
> +		fsl,fman-ports = <&fman0_rx_0x0a &fman0_tx_0x2a>;
> +		ptp-timer = <&ptp_timer0>;
> +		pcsphy-handle = <&pcsphy2>;
> +	};
> +
> +	mdio@e5000 {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
> +		reg = <0xe5000 0x1000>;
> +
> +		pcsphy2: ethernet-phy@0 {
> +			reg = <0x0>;
> +		};
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi
> new file mode 100644
> index 0000000..87c2b70
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi
> @@ -0,0 +1,41 @@
> +/*
> + * QorIQ FMan v3 1g port #3 device tree
> + *
> + * Copyright 2012-2015 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */
> +
> +fman@1a00000 {
> +	fman0_rx_0x0b: port@8b000 {
> +		cell-index = <0xb>;
> +		compatible = "fsl,fman-v3-port-rx";
> +		reg = <0x8b000 0x1000>;
> +	};
> +
> +	fman0_tx_0x2b: port@ab000 {
> +		cell-index = <0x2b>;
> +		compatible = "fsl,fman-v3-port-tx";
> +		reg = <0xab000 0x1000>;
> +	};
> +
> +	ethernet@e6000 {
> +		cell-index = <3>;
> +		compatible = "fsl,fman-memac";
> +		reg = <0xe6000 0x1000>;
> +		fsl,fman-ports = <&fman0_rx_0x0b &fman0_tx_0x2b>;
> +		ptp-timer = <&ptp_timer0>;
> +		pcsphy-handle = <&pcsphy3>;
> +	};
> +
> +	mdio@e7000 {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
> +		reg = <0xe7000 0x1000>;
> +
> +		pcsphy3: ethernet-phy@0 {
> +			reg = <0x0>;
> +		};
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi
> new file mode 100644
> index 0000000..8f4d74b
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi
> @@ -0,0 +1,41 @@
> +/*
> + * QorIQ FMan v3 1g port #4 device tree
> + *
> + * Copyright 2012-2015 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */
> +
> +fman@1a00000 {
> +	fman0_rx_0x0c: port@8c000 {
> +		cell-index = <0xc>;
> +		compatible = "fsl,fman-v3-port-rx";
> +		reg = <0x8c000 0x1000>;
> +	};
> +
> +	fman0_tx_0x2c: port@ac000 {
> +		cell-index = <0x2c>;
> +		compatible = "fsl,fman-v3-port-tx";
> +		reg = <0xac000 0x1000>;
> +	};
> +
> +	ethernet@e8000 {
> +		cell-index = <4>;
> +		compatible = "fsl,fman-memac";
> +		reg = <0xe8000 0x1000>;
> +		fsl,fman-ports = <&fman0_rx_0x0c &fman0_tx_0x2c>;
> +		ptp-timer = <&ptp_timer0>;
> +		pcsphy-handle = <&pcsphy4>;
> +	};
> +
> +	mdio@e9000 {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
> +		reg = <0xe9000 0x1000>;
> +
> +		pcsphy4: ethernet-phy@0 {
> +			reg = <0x0>;
> +		};
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi
> new file mode 100644
> index 0000000..d534f77
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi
> @@ -0,0 +1,41 @@
> +/*
> + * QorIQ FMan v3 1g port #5 device tree
> + *
> + * Copyright 2012-2015 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */
> +
> +fman@1a00000 {
> +	fman0_rx_0x0d: port@8d000 {
> +		cell-index = <0xd>;
> +		compatible = "fsl,fman-v3-port-rx";
> +		reg = <0x8d000 0x1000>;
> +	};
> +
> +	fman0_tx_0x2d: port@ad000 {
> +		cell-index = <0x2d>;
> +		compatible = "fsl,fman-v3-port-tx";
> +		reg = <0xad000 0x1000>;
> +	};
> +
> +	ethernet@ea000 {
> +		cell-index = <5>;
> +		compatible = "fsl,fman-memac";
> +		reg = <0xea000 0x1000>;
> +		fsl,fman-ports = <&fman0_rx_0x0d &fman0_tx_0x2d>;
> +		ptp-timer = <&ptp_timer0>;
> +		pcsphy-handle = <&pcsphy5>;
> +	};
> +
> +	mdio@eb000 {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
> +		reg = <0xeb000 0x1000>;
> +
> +		pcsphy5: ethernet-phy@0 {
> +			reg = <0x0>;
> +		};
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi
> new file mode 100644
> index 0000000..a559441
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi
> @@ -0,0 +1,80 @@
> +/*
> + * QorIQ FMan v3 device tree
> + *
> + * Copyright 2012-2015 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */
> +
> +fman0: fman@1a00000 {
> +	#address-cells = <1>;
> +	#size-cells = <1>;
> +	cell-index = <0>;
> +	compatible = "fsl,fman";
> +	ranges = <0x0 0x00 0x1a00000 0x100000>;
> +	reg = <0x0 0x1a00000 0x0 0x100000>;
> +	interrupts = <0 44 0x4>, <0 45 0x4>;
> +	clocks = <&clockgen 3 0>;
> +	clock-names = "fmanclk";
> +	fsl,qman-channel-range = <0x800 0x10>;
> +
> +	muram@0 {
> +		compatible = "fsl,fman-muram";
> +		reg = <0x0 0x60000>;
> +	};
> +
> +	fman0_oh_0x2: port@82000 {
> +		cell-index = <0x2>;
> +		compatible = "fsl,fman-v3-port-oh";
> +		reg = <0x82000 0x1000>;
> +	};
> +
> +	fman0_oh_0x3: port@83000 {
> +		cell-index = <0x3>;
> +		compatible = "fsl,fman-v3-port-oh";
> +		reg = <0x83000 0x1000>;
> +	};
> +
> +	fman0_oh_0x4: port@84000 {
> +		cell-index = <0x4>;
> +		compatible = "fsl,fman-v3-port-oh";
> +		reg = <0x84000 0x1000>;
> +	};
> +
> +	fman0_oh_0x5: port@85000 {
> +		cell-index = <0x5>;
> +		compatible = "fsl,fman-v3-port-oh";
> +		reg = <0x85000 0x1000>;
> +	};
> +
> +	fman0_oh_0x6: port@86000 {
> +		cell-index = <0x6>;
> +		compatible = "fsl,fman-v3-port-oh";
> +		reg = <0x86000 0x1000>;
> +	};
> +
> +	fman0_oh_0x7: port@87000 {
> +		cell-index = <0x7>;
> +		compatible = "fsl,fman-v3-port-oh";
> +		reg = <0x87000 0x1000>;
> +	};
> +
> +	mdio0: mdio@fc000 {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
> +		reg = <0xfc000 0x1000>;
> +	};
> +
> +	xmdio0: mdio@fd000 {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
> +		reg = <0xfd000 0x1000>;
> +	};
> +
> +	ptp_timer0: ptp-timer@fe000 {
> +		compatible = "fsl,fman-ptp-timer";
> +		reg = <0xfe000 0x1000>;
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/freescale/qoriq-qman1-portals.dtsi b/arch/arm64/boot/dts/freescale/qoriq-qman1-portals.dtsi
> new file mode 100644
> index 0000000..4baec2c
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/qoriq-qman1-portals.dtsi
> @@ -0,0 +1,76 @@
> +/*
> + * QorIQ QMan Portals device tree
> + *
> + * Copyright 2011-2016 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */
> +
> +&qportals {
> +	#address-cells = <1>;
> +	#size-cells = <1>;
> +	compatible = "simple-bus";
> +
> +	qportal0: qman-portal@0 {
> +		compatible = "fsl,qman-portal";
> +		reg = <0x0 0x4000 0x4000000 0x4000>;
> +		interrupts = <0 172 0x4>;
> +		cell-index = <0>;
> +	};
> +
> +	qportal1: qman-portal@10000 {
> +		compatible = "fsl,qman-portal";
> +		reg = <0x10000 0x4000 0x4010000 0x4000>;
> +		interrupts = <0 174 0x4>;
> +		cell-index = <1>;
> +	};
> +
> +	qportal2: qman-portal@20000 {
> +		compatible = "fsl,qman-portal";
> +		reg = <0x20000 0x4000 0x4020000 0x4000>;
> +		interrupts = <0 176 0x4>;
> +		cell-index = <2>;
> +	};
> +
> +	qportal3: qman-portal@30000 {
> +		compatible = "fsl,qman-portal";
> +		reg = <0x30000 0x4000 0x4030000 0x4000>;
> +		interrupts = <0 178 0x4>;
> +		cell-index = <3>;
> +	};
> +
> +	qportal4: qman-portal@40000 {
> +		compatible = "fsl,qman-portal";
> +		reg = <0x40000 0x4000 0x4040000 0x4000>;
> +		interrupts = <0 180 0x4>;
> +		cell-index = <4>;
> +	};
> +
> +	qportal5: qman-portal@50000 {
> +		compatible = "fsl,qman-portal";
> +		reg = <0x50000 0x4000 0x4050000 0x4000>;
> +		interrupts = <0 182 0x4>;
> +		cell-index = <5>;
> +	};
> +
> +	qportal6: qman-portal@60000 {
> +		compatible = "fsl,qman-portal";
> +		reg = <0x60000 0x4000 0x4060000 0x4000>;
> +		interrupts = <0 184 0x4>;
> +		cell-index = <6>;
> +	};
> +
> +	qportal7: qman-portal@70000 {
> +		compatible = "fsl,qman-portal";
> +		reg = <0x70000 0x4000 0x4070000 0x4000>;
> +		interrupts = <0 186 0x4>;
> +		cell-index = <7>;
> +	};
> +
> +	qportal8: qman-portal@80000 {
> +		compatible = "fsl,qman-portal";
> +		reg = <0x80000 0x4000 0x4080000 0x4000>;
> +		interrupts = <0 188 0x4>;
> +		cell-index = <8>;
> +	};
> +};
> -- 
> 2.1.0
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support
@ 2017-03-14  7:07     ` Shawn Guo
  0 siblings, 0 replies; 30+ messages in thread
From: Shawn Guo @ 2017-03-14  7:07 UTC (permalink / raw)
  To: Madalin Bucur
  Cc: mark.rutland, devicetree, catalin.marinas, will.deacon,
	linux-kernel, robh+dt, linux-arm-kernel

On Wed, Mar 01, 2017 at 05:35:04PM +0200, Madalin Bucur wrote:
> Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>

Empty commit log is generally not welcome, especially when the commit
adds so many files.

> ---
>  arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi | 41 +++++++++++
>  arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts  |  2 +
>  arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts  | 75 ++++++++++++++++++++
>  arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi     | 73 +++++++++++++++++++-
>  .../boot/dts/freescale/qoriq-bman1-portals.dtsi    | 67 ++++++++++++++++++
>  .../boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi    | 42 ++++++++++++
>  .../boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi     | 41 +++++++++++
>  .../boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi     | 41 +++++++++++
>  .../boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi     | 41 +++++++++++
>  .../boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi     | 41 +++++++++++
>  .../boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi     | 41 +++++++++++
>  .../boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi     | 41 +++++++++++
>  arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi   | 80 ++++++++++++++++++++++
>  .../boot/dts/freescale/qoriq-qman1-portals.dtsi    | 76 ++++++++++++++++++++
>  14 files changed, 701 insertions(+), 1 deletion(-)
>  create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-bman1-portals.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-qman1-portals.dtsi

I'm not comfortable with so many and complex include level.  Can you
please elaborate it a bit and help us understand the necessity of doing
that?

> 
> diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi
> new file mode 100644
> index 0000000..bf443d2
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi
> @@ -0,0 +1,41 @@
> +/*
> + * QorIQ FMan v3 device tree nodes for ls1043
> + *
> + * Copyright 2015-2016 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */

It's still controversial whether we should use SPDX tag.

https://lkml.org/lkml/2017/2/28/750

> +
> +&soc {
> +
> +/include/ "qoriq-fman3-0.dtsi"
> +/include/ "qoriq-fman3-0-1g-0.dtsi"
> +/include/ "qoriq-fman3-0-1g-1.dtsi"
> +/include/ "qoriq-fman3-0-1g-2.dtsi"
> +/include/ "qoriq-fman3-0-1g-3.dtsi"
> +/include/ "qoriq-fman3-0-1g-4.dtsi"
> +/include/ "qoriq-fman3-0-1g-5.dtsi"
> +/include/ "qoriq-fman3-0-10g-0.dtsi"

We usually put the includes at the beginning of the file, and #include
is more recommended than /include/.

> +	fman@1a00000 {
> +		enet0: ethernet@e0000 {
> +		};
> +
> +		enet1: ethernet@e2000 {
> +		};
> +
> +		enet2: ethernet@e4000 {
> +		};
> +
> +		enet3: ethernet@e6000 {
> +		};
> +
> +		enet4: ethernet@e8000 {
> +		};
> +
> +		enet5: ethernet@ea000 {
> +		};
> +
> +		enet6: ethernet@f0000 {
> +		};
> +	};

I do not quite understand why these nodes are empty.

> +};
> diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> index 0989d63..ee66bb2 100644
> --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> @@ -181,3 +181,5 @@
>  		reg = <0>;
>  	};
>  };
> +
> +/include/ "fsl-ls1043-post.dtsi"

Move it to header of the file.

> diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> index c37110b..d94f003 100644
> --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> @@ -139,3 +139,78 @@
>  &duart1 {
>  	status = "okay";
>  };
> +
> +/include/ "fsl-ls1043-post.dtsi"
> +

Ditto

> +&soc {
> +	fman@1a00000 {
> +		ethernet@e0000 {

You defined enet0 label.  Why don't you use it?

> +			phy-handle = <&qsgmii_phy1>;
> +			phy-connection-type = "qsgmii";
> +		};
> +
> +		ethernet@e2000 {
> +			phy-handle = <&qsgmii_phy2>;
> +			phy-connection-type = "qsgmii";
> +		};
> +
> +		ethernet@e4000 {
> +			phy-handle = <&rgmii_phy1>;
> +			phy-connection-type = "rgmii";
> +		};
> +
> +		ethernet@e6000 {
> +			phy-handle = <&rgmii_phy2>;
> +			phy-connection-type = "rgmii";
> +		};
> +
> +		ethernet@e8000 {
> +			phy-handle = <&qsgmii_phy3>;
> +			phy-connection-type = "qsgmii";
> +		};
> +
> +		ethernet@ea000 {
> +			phy-handle = <&qsgmii_phy4>;
> +			phy-connection-type = "qsgmii";
> +		};
> +
> +		ethernet@f0000 { /* 10GEC1 */
> +			phy-handle = <&aqr105_phy>;
> +			phy-connection-type = "xgmii";
> +		};
> +
> +		mdio@fc000 {

Use label reference the node you already define, so that you do not have
to maintain the device tree hierarchy for referencing the node.

> +			rgmii_phy1: ethernet-phy@1 {
> +				reg = <0x1>;
> +			};
> +
> +			rgmii_phy2: ethernet-phy@2 {
> +				reg = <0x2>;
> +			};
> +
> +			qsgmii_phy1: ethernet-phy@3 {
> +				reg = <0x4>;

The unit address in the node name should match 'reg' value.

> +			};
> +
> +			qsgmii_phy2: ethernet-phy@4 {
> +				reg = <0x5>;
> +			};
> +
> +			qsgmii_phy3: ethernet-phy@5 {
> +				reg = <0x6>;
> +			};
> +
> +			qsgmii_phy4: ethernet-phy@6 {
> +				reg = <0x7>;
> +			};
> +		};
> +
> +		mdio@fd000 {
> +			aqr105_phy: ethernet-phy@c {
> +				compatible = "ethernet-phy-ieee802.3-c45";
> +				interrupts = <0 132 4>;
> +				reg = <0x1>;
> +			};
> +		};
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
> index ec13a6e..ac1e0af 100644
> --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
> +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
> @@ -52,6 +52,17 @@
>  	#address-cells = <2>;
>  	#size-cells = <2>;
>  
> +	aliases {
> +		fman0 = &fman0;
> +		ethernet0 = &enet0;
> +		ethernet1 = &enet1;
> +		ethernet2 = &enet2;
> +		ethernet3 = &enet3;
> +		ethernet4 = &enet4;
> +		ethernet5 = &enet5;
> +		ethernet6 = &enet6;
> +	};
> +
>  	cpus {
>  		#address-cells = <1>;
>  		#size-cells = <0>;
> @@ -106,6 +117,36 @@
>  		      /* DRAM space 1, size: 2GiB DRAM */
>  	};
>  
> +	reserved-memory {
> +		#address-cells = <2>;
> +		#size-cells = <2>;
> +		ranges;
> +
> +		bman_fbpr: bman-fbpr {
> +			size = <0 0x1000000>;
> +			alignment = <0 0x1000000>;
> +		};
> +
> +		qman_fqd: qman-fqd {
> +			size = <0 0x400000>;
> +			alignment = <0 0x400000>;
> +		};
> +
> +		qman_pfdr: qman-pfdr {
> +			size = <0 0x2000000>;
> +			alignment = <0 0x2000000>;
> +		};
> +	};
> +
> +	bportals: bman-portals@508000000 {
> +		ranges = <0x0 0x5 0x08000000 0x8000000>;
> +	};
> +
> +	qportals: qman-portals@500000000 {
> +		ranges = <0x0 0x5 0x00000000 0x8000000>;
> +	};

Why are these two devices directly under root, not soc node?

> +
> +
>  	sysclk: sysclk {
>  		compatible = "fixed-clock";
>  		#clock-cells = <0>;
> @@ -152,7 +193,7 @@
>  		interrupts = <1 9 0xf08>;
>  	};
>  
> -	soc {
> +	soc: soc {
>  		compatible = "simple-bus";
>  		#address-cells = <2>;
>  		#size-cells = <2>;
> @@ -333,6 +374,18 @@
>  			};
>  		};
>  
> +		qman: qman@1880000 {
> +			compatible = "fsl,qman";
> +			reg = <0x00 0x1880000 0x0 0x10000>;
> +			interrupts = <0 45 0x4>;
> +		};
> +
> +		bman: bman@1890000 {
> +			compatible = "fsl,bman";
> +			reg = <0x00 0x1890000 0x0 0x10000>;
> +			interrupts = <0 45 0x4>;
> +		};
> +
>  		dspi0: dspi@2100000 {
>  			compatible = "fsl,ls1043a-dspi", "fsl,ls1021a-v1.0-dspi";
>  			#address-cells = <1>;
> @@ -686,3 +739,21 @@
>  	};
>  
>  };
> +
> +&bman_fbpr {
> +	compatible = "fsl,bman-fbpr";
> +	alloc-ranges = <0 0 0x10000 0>;
> +};
> +
> +&qman_fqd {
> +	compatible = "fsl,qman-fqd";
> +	alloc-ranges = <0 0 0x10000 0>;
> +};
> +
> +&qman_pfdr {
> +	compatible = "fsl,qman-pfdr";
> +	alloc-ranges = <0 0 0x10000 0>;
> +};

Why do you need to separate these from the nodes in reserved-memory?

I stop right here.  Honestly, I do not like the patch as its current
form.  I guess you should do something to make the reviewing of the
changes a bit easier.

Shawn

> +
> +/include/ "qoriq-qman1-portals.dtsi"
> +/include/ "qoriq-bman1-portals.dtsi"
> diff --git a/arch/arm64/boot/dts/freescale/qoriq-bman1-portals.dtsi b/arch/arm64/boot/dts/freescale/qoriq-bman1-portals.dtsi
> new file mode 100644
> index 0000000..b007344
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/qoriq-bman1-portals.dtsi
> @@ -0,0 +1,67 @@
> +/*
> + * QorIQ BMan Portals device tree
> + *
> + * Copyright 2011-2016 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */
> +
> +&bportals {
> +	#address-cells = <1>;
> +	#size-cells = <1>;
> +	compatible = "simple-bus";
> +
> +	bman-portal@0 {
> +		compatible = "fsl,bman-portal";
> +		reg = <0x0 0x4000 0x4000000 0x4000>;
> +		interrupts = <0 173 0x4>;
> +	};
> +
> +	bman-portal@10000 {
> +		compatible = "fsl,bman-portal";
> +		reg = <0x10000 0x4000 0x4010000 0x4000>;
> +		interrupts = <0 175 0x4>;
> +	};
> +
> +	bman-portal@20000 {
> +		compatible = "fsl,bman-portal";
> +		reg = <0x20000 0x4000 0x4020000 0x4000>;
> +		interrupts = <0 177 0x4>;
> +	};
> +
> +	bman-portal@30000 {
> +		compatible = "fsl,bman-portal";
> +		reg = <0x30000 0x4000 0x4030000 0x4000>;
> +		interrupts = <0 179 0x4>;
> +	};
> +
> +	bman-portal@40000 {
> +		compatible = "fsl,bman-portal";
> +		reg = <0x40000 0x4000 0x4040000 0x4000>;
> +		interrupts = <0 181 0x4>;
> +	};
> +
> +	bman-portal@50000 {
> +		compatible = "fsl,bman-portal";
> +		reg = <0x50000 0x4000 0x4050000 0x4000>;
> +		interrupts = <0 183 0x4>;
> +	};
> +
> +	bman-portal@60000 {
> +		compatible = "fsl,bman-portal";
> +		reg = <0x60000 0x4000 0x4060000 0x4000>;
> +		interrupts = <0 185 0x4>;
> +	};
> +
> +	bman-portal@70000 {
> +		compatible = "fsl,bman-portal";
> +		reg = <0x70000 0x4000 0x4070000 0x4000>;
> +		interrupts = <0 187 0x4>;
> +	};
> +
> +	bman-portal@80000 {
> +		compatible = "fsl,bman-portal";
> +		reg = <0x80000 0x4000 0x4080000 0x4000>;
> +		interrupts = <0 189 0x4>;
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi
> new file mode 100644
> index 0000000..ecdffe7
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi
> @@ -0,0 +1,42 @@
> +/*
> + * QorIQ FMan v3 10g port #0 device tree
> + *
> + * Copyright 2012-2015 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */
> +
> +fman@1a00000 {
> +	fman0_rx_0x10: port@90000 {
> +		cell-index = <0x10>;
> +		compatible = "fsl,fman-v3-port-rx";
> +		reg = <0x90000 0x1000>;
> +		fsl,fman-10g-port;
> +	};
> +
> +	fman0_tx_0x30: port@b0000 {
> +		cell-index = <0x30>;
> +		compatible = "fsl,fman-v3-port-tx";
> +		reg = <0xb0000 0x1000>;
> +		fsl,fman-10g-port;
> +	};
> +
> +	ethernet@f0000 {
> +		cell-index = <0x8>;
> +		compatible = "fsl,fman-memac";
> +		reg = <0xf0000 0x1000>;
> +		fsl,fman-ports = <&fman0_rx_0x10 &fman0_tx_0x30>;
> +		pcsphy-handle = <&pcsphy6>;
> +	};
> +
> +	mdio@f1000 {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
> +		reg = <0xf1000 0x1000>;
> +
> +		pcsphy6: ethernet-phy@0 {
> +			reg = <0x0>;
> +		};
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi
> new file mode 100644
> index 0000000..d600786
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi
> @@ -0,0 +1,41 @@
> +/*
> + * QorIQ FMan v3 1g port #0 device tree
> + *
> + * Copyright 2012-2015 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */
> +
> +fman@1a00000 {
> +	fman0_rx_0x08: port@88000 {
> +		cell-index = <0x8>;
> +		compatible = "fsl,fman-v3-port-rx";
> +		reg = <0x88000 0x1000>;
> +	};
> +
> +	fman0_tx_0x28: port@a8000 {
> +		cell-index = <0x28>;
> +		compatible = "fsl,fman-v3-port-tx";
> +		reg = <0xa8000 0x1000>;
> +	};
> +
> +	ethernet@e0000 {
> +		cell-index = <0>;
> +		compatible = "fsl,fman-memac";
> +		reg = <0xe0000 0x1000>;
> +		fsl,fman-ports = <&fman0_rx_0x08 &fman0_tx_0x28>;
> +		ptp-timer = <&ptp_timer0>;
> +		pcsphy-handle = <&pcsphy0>;
> +	};
> +
> +	mdio@e1000 {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
> +		reg = <0xe1000 0x1000>;
> +
> +		pcsphy0: ethernet-phy@0 {
> +			reg = <0x0>;
> +		};
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi
> new file mode 100644
> index 0000000..3c0b76d
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi
> @@ -0,0 +1,41 @@
> +/*
> + * QorIQ FMan v3 1g port #1 device tree
> + *
> + * Copyright 2012-2015 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */
> +
> +fman@1a00000 {
> +	fman0_rx_0x09: port@89000 {
> +		cell-index = <0x9>;
> +		compatible = "fsl,fman-v3-port-rx";
> +		reg = <0x89000 0x1000>;
> +	};
> +
> +	fman0_tx_0x29: port@a9000 {
> +		cell-index = <0x29>;
> +		compatible = "fsl,fman-v3-port-tx";
> +		reg = <0xa9000 0x1000>;
> +	};
> +
> +	ethernet@e2000 {
> +		cell-index = <1>;
> +		compatible = "fsl,fman-memac";
> +		reg = <0xe2000 0x1000>;
> +		fsl,fman-ports = <&fman0_rx_0x09 &fman0_tx_0x29>;
> +		ptp-timer = <&ptp_timer0>;
> +		pcsphy-handle = <&pcsphy1>;
> +	};
> +
> +	mdio@e3000 {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
> +		reg = <0xe3000 0x1000>;
> +
> +		pcsphy1: ethernet-phy@0 {
> +			reg = <0x0>;
> +		};
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi
> new file mode 100644
> index 0000000..89633af
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi
> @@ -0,0 +1,41 @@
> +/*
> + * QorIQ FMan v3 1g port #2 device tree
> + *
> + * Copyright 2012-2015 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */
> +
> +fman@1a00000 {
> +	fman0_rx_0x0a: port@8a000 {
> +		cell-index = <0xa>;
> +		compatible = "fsl,fman-v3-port-rx";
> +		reg = <0x8a000 0x1000>;
> +	};
> +
> +	fman0_tx_0x2a: port@aa000 {
> +		cell-index = <0x2a>;
> +		compatible = "fsl,fman-v3-port-tx";
> +		reg = <0xaa000 0x1000>;
> +	};
> +
> +	ethernet@e4000 {
> +		cell-index = <2>;
> +		compatible = "fsl,fman-memac";
> +		reg = <0xe4000 0x1000>;
> +		fsl,fman-ports = <&fman0_rx_0x0a &fman0_tx_0x2a>;
> +		ptp-timer = <&ptp_timer0>;
> +		pcsphy-handle = <&pcsphy2>;
> +	};
> +
> +	mdio@e5000 {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
> +		reg = <0xe5000 0x1000>;
> +
> +		pcsphy2: ethernet-phy@0 {
> +			reg = <0x0>;
> +		};
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi
> new file mode 100644
> index 0000000..87c2b70
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi
> @@ -0,0 +1,41 @@
> +/*
> + * QorIQ FMan v3 1g port #3 device tree
> + *
> + * Copyright 2012-2015 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */
> +
> +fman@1a00000 {
> +	fman0_rx_0x0b: port@8b000 {
> +		cell-index = <0xb>;
> +		compatible = "fsl,fman-v3-port-rx";
> +		reg = <0x8b000 0x1000>;
> +	};
> +
> +	fman0_tx_0x2b: port@ab000 {
> +		cell-index = <0x2b>;
> +		compatible = "fsl,fman-v3-port-tx";
> +		reg = <0xab000 0x1000>;
> +	};
> +
> +	ethernet@e6000 {
> +		cell-index = <3>;
> +		compatible = "fsl,fman-memac";
> +		reg = <0xe6000 0x1000>;
> +		fsl,fman-ports = <&fman0_rx_0x0b &fman0_tx_0x2b>;
> +		ptp-timer = <&ptp_timer0>;
> +		pcsphy-handle = <&pcsphy3>;
> +	};
> +
> +	mdio@e7000 {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
> +		reg = <0xe7000 0x1000>;
> +
> +		pcsphy3: ethernet-phy@0 {
> +			reg = <0x0>;
> +		};
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi
> new file mode 100644
> index 0000000..8f4d74b
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi
> @@ -0,0 +1,41 @@
> +/*
> + * QorIQ FMan v3 1g port #4 device tree
> + *
> + * Copyright 2012-2015 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */
> +
> +fman@1a00000 {
> +	fman0_rx_0x0c: port@8c000 {
> +		cell-index = <0xc>;
> +		compatible = "fsl,fman-v3-port-rx";
> +		reg = <0x8c000 0x1000>;
> +	};
> +
> +	fman0_tx_0x2c: port@ac000 {
> +		cell-index = <0x2c>;
> +		compatible = "fsl,fman-v3-port-tx";
> +		reg = <0xac000 0x1000>;
> +	};
> +
> +	ethernet@e8000 {
> +		cell-index = <4>;
> +		compatible = "fsl,fman-memac";
> +		reg = <0xe8000 0x1000>;
> +		fsl,fman-ports = <&fman0_rx_0x0c &fman0_tx_0x2c>;
> +		ptp-timer = <&ptp_timer0>;
> +		pcsphy-handle = <&pcsphy4>;
> +	};
> +
> +	mdio@e9000 {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
> +		reg = <0xe9000 0x1000>;
> +
> +		pcsphy4: ethernet-phy@0 {
> +			reg = <0x0>;
> +		};
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi
> new file mode 100644
> index 0000000..d534f77
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi
> @@ -0,0 +1,41 @@
> +/*
> + * QorIQ FMan v3 1g port #5 device tree
> + *
> + * Copyright 2012-2015 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */
> +
> +fman@1a00000 {
> +	fman0_rx_0x0d: port@8d000 {
> +		cell-index = <0xd>;
> +		compatible = "fsl,fman-v3-port-rx";
> +		reg = <0x8d000 0x1000>;
> +	};
> +
> +	fman0_tx_0x2d: port@ad000 {
> +		cell-index = <0x2d>;
> +		compatible = "fsl,fman-v3-port-tx";
> +		reg = <0xad000 0x1000>;
> +	};
> +
> +	ethernet@ea000 {
> +		cell-index = <5>;
> +		compatible = "fsl,fman-memac";
> +		reg = <0xea000 0x1000>;
> +		fsl,fman-ports = <&fman0_rx_0x0d &fman0_tx_0x2d>;
> +		ptp-timer = <&ptp_timer0>;
> +		pcsphy-handle = <&pcsphy5>;
> +	};
> +
> +	mdio@eb000 {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
> +		reg = <0xeb000 0x1000>;
> +
> +		pcsphy5: ethernet-phy@0 {
> +			reg = <0x0>;
> +		};
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi
> new file mode 100644
> index 0000000..a559441
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi
> @@ -0,0 +1,80 @@
> +/*
> + * QorIQ FMan v3 device tree
> + *
> + * Copyright 2012-2015 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */
> +
> +fman0: fman@1a00000 {
> +	#address-cells = <1>;
> +	#size-cells = <1>;
> +	cell-index = <0>;
> +	compatible = "fsl,fman";
> +	ranges = <0x0 0x00 0x1a00000 0x100000>;
> +	reg = <0x0 0x1a00000 0x0 0x100000>;
> +	interrupts = <0 44 0x4>, <0 45 0x4>;
> +	clocks = <&clockgen 3 0>;
> +	clock-names = "fmanclk";
> +	fsl,qman-channel-range = <0x800 0x10>;
> +
> +	muram@0 {
> +		compatible = "fsl,fman-muram";
> +		reg = <0x0 0x60000>;
> +	};
> +
> +	fman0_oh_0x2: port@82000 {
> +		cell-index = <0x2>;
> +		compatible = "fsl,fman-v3-port-oh";
> +		reg = <0x82000 0x1000>;
> +	};
> +
> +	fman0_oh_0x3: port@83000 {
> +		cell-index = <0x3>;
> +		compatible = "fsl,fman-v3-port-oh";
> +		reg = <0x83000 0x1000>;
> +	};
> +
> +	fman0_oh_0x4: port@84000 {
> +		cell-index = <0x4>;
> +		compatible = "fsl,fman-v3-port-oh";
> +		reg = <0x84000 0x1000>;
> +	};
> +
> +	fman0_oh_0x5: port@85000 {
> +		cell-index = <0x5>;
> +		compatible = "fsl,fman-v3-port-oh";
> +		reg = <0x85000 0x1000>;
> +	};
> +
> +	fman0_oh_0x6: port@86000 {
> +		cell-index = <0x6>;
> +		compatible = "fsl,fman-v3-port-oh";
> +		reg = <0x86000 0x1000>;
> +	};
> +
> +	fman0_oh_0x7: port@87000 {
> +		cell-index = <0x7>;
> +		compatible = "fsl,fman-v3-port-oh";
> +		reg = <0x87000 0x1000>;
> +	};
> +
> +	mdio0: mdio@fc000 {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
> +		reg = <0xfc000 0x1000>;
> +	};
> +
> +	xmdio0: mdio@fd000 {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
> +		reg = <0xfd000 0x1000>;
> +	};
> +
> +	ptp_timer0: ptp-timer@fe000 {
> +		compatible = "fsl,fman-ptp-timer";
> +		reg = <0xfe000 0x1000>;
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/freescale/qoriq-qman1-portals.dtsi b/arch/arm64/boot/dts/freescale/qoriq-qman1-portals.dtsi
> new file mode 100644
> index 0000000..4baec2c
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/qoriq-qman1-portals.dtsi
> @@ -0,0 +1,76 @@
> +/*
> + * QorIQ QMan Portals device tree
> + *
> + * Copyright 2011-2016 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */
> +
> +&qportals {
> +	#address-cells = <1>;
> +	#size-cells = <1>;
> +	compatible = "simple-bus";
> +
> +	qportal0: qman-portal@0 {
> +		compatible = "fsl,qman-portal";
> +		reg = <0x0 0x4000 0x4000000 0x4000>;
> +		interrupts = <0 172 0x4>;
> +		cell-index = <0>;
> +	};
> +
> +	qportal1: qman-portal@10000 {
> +		compatible = "fsl,qman-portal";
> +		reg = <0x10000 0x4000 0x4010000 0x4000>;
> +		interrupts = <0 174 0x4>;
> +		cell-index = <1>;
> +	};
> +
> +	qportal2: qman-portal@20000 {
> +		compatible = "fsl,qman-portal";
> +		reg = <0x20000 0x4000 0x4020000 0x4000>;
> +		interrupts = <0 176 0x4>;
> +		cell-index = <2>;
> +	};
> +
> +	qportal3: qman-portal@30000 {
> +		compatible = "fsl,qman-portal";
> +		reg = <0x30000 0x4000 0x4030000 0x4000>;
> +		interrupts = <0 178 0x4>;
> +		cell-index = <3>;
> +	};
> +
> +	qportal4: qman-portal@40000 {
> +		compatible = "fsl,qman-portal";
> +		reg = <0x40000 0x4000 0x4040000 0x4000>;
> +		interrupts = <0 180 0x4>;
> +		cell-index = <4>;
> +	};
> +
> +	qportal5: qman-portal@50000 {
> +		compatible = "fsl,qman-portal";
> +		reg = <0x50000 0x4000 0x4050000 0x4000>;
> +		interrupts = <0 182 0x4>;
> +		cell-index = <5>;
> +	};
> +
> +	qportal6: qman-portal@60000 {
> +		compatible = "fsl,qman-portal";
> +		reg = <0x60000 0x4000 0x4060000 0x4000>;
> +		interrupts = <0 184 0x4>;
> +		cell-index = <6>;
> +	};
> +
> +	qportal7: qman-portal@70000 {
> +		compatible = "fsl,qman-portal";
> +		reg = <0x70000 0x4000 0x4070000 0x4000>;
> +		interrupts = <0 186 0x4>;
> +		cell-index = <7>;
> +	};
> +
> +	qportal8: qman-portal@80000 {
> +		compatible = "fsl,qman-portal";
> +		reg = <0x80000 0x4000 0x4080000 0x4000>;
> +		interrupts = <0 188 0x4>;
> +		cell-index = <8>;
> +	};
> +};
> -- 
> 2.1.0
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support
@ 2017-03-14  7:07     ` Shawn Guo
  0 siblings, 0 replies; 30+ messages in thread
From: Shawn Guo @ 2017-03-14  7:07 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Mar 01, 2017 at 05:35:04PM +0200, Madalin Bucur wrote:
> Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>

Empty commit log is generally not welcome, especially when the commit
adds so many files.

> ---
>  arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi | 41 +++++++++++
>  arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts  |  2 +
>  arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts  | 75 ++++++++++++++++++++
>  arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi     | 73 +++++++++++++++++++-
>  .../boot/dts/freescale/qoriq-bman1-portals.dtsi    | 67 ++++++++++++++++++
>  .../boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi    | 42 ++++++++++++
>  .../boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi     | 41 +++++++++++
>  .../boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi     | 41 +++++++++++
>  .../boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi     | 41 +++++++++++
>  .../boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi     | 41 +++++++++++
>  .../boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi     | 41 +++++++++++
>  .../boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi     | 41 +++++++++++
>  arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi   | 80 ++++++++++++++++++++++
>  .../boot/dts/freescale/qoriq-qman1-portals.dtsi    | 76 ++++++++++++++++++++
>  14 files changed, 701 insertions(+), 1 deletion(-)
>  create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-bman1-portals.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-qman1-portals.dtsi

I'm not comfortable with so many and complex include level.  Can you
please elaborate it a bit and help us understand the necessity of doing
that?

> 
> diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi
> new file mode 100644
> index 0000000..bf443d2
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi
> @@ -0,0 +1,41 @@
> +/*
> + * QorIQ FMan v3 device tree nodes for ls1043
> + *
> + * Copyright 2015-2016 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */

It's still controversial whether we should use SPDX tag.

https://lkml.org/lkml/2017/2/28/750

> +
> +&soc {
> +
> +/include/ "qoriq-fman3-0.dtsi"
> +/include/ "qoriq-fman3-0-1g-0.dtsi"
> +/include/ "qoriq-fman3-0-1g-1.dtsi"
> +/include/ "qoriq-fman3-0-1g-2.dtsi"
> +/include/ "qoriq-fman3-0-1g-3.dtsi"
> +/include/ "qoriq-fman3-0-1g-4.dtsi"
> +/include/ "qoriq-fman3-0-1g-5.dtsi"
> +/include/ "qoriq-fman3-0-10g-0.dtsi"

We usually put the includes at the beginning of the file, and #include
is more recommended than /include/.

> +	fman at 1a00000 {
> +		enet0: ethernet at e0000 {
> +		};
> +
> +		enet1: ethernet at e2000 {
> +		};
> +
> +		enet2: ethernet at e4000 {
> +		};
> +
> +		enet3: ethernet at e6000 {
> +		};
> +
> +		enet4: ethernet at e8000 {
> +		};
> +
> +		enet5: ethernet at ea000 {
> +		};
> +
> +		enet6: ethernet at f0000 {
> +		};
> +	};

I do not quite understand why these nodes are empty.

> +};
> diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> index 0989d63..ee66bb2 100644
> --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> @@ -181,3 +181,5 @@
>  		reg = <0>;
>  	};
>  };
> +
> +/include/ "fsl-ls1043-post.dtsi"

Move it to header of the file.

> diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> index c37110b..d94f003 100644
> --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> @@ -139,3 +139,78 @@
>  &duart1 {
>  	status = "okay";
>  };
> +
> +/include/ "fsl-ls1043-post.dtsi"
> +

Ditto

> +&soc {
> +	fman at 1a00000 {
> +		ethernet at e0000 {

You defined enet0 label.  Why don't you use it?

> +			phy-handle = <&qsgmii_phy1>;
> +			phy-connection-type = "qsgmii";
> +		};
> +
> +		ethernet at e2000 {
> +			phy-handle = <&qsgmii_phy2>;
> +			phy-connection-type = "qsgmii";
> +		};
> +
> +		ethernet at e4000 {
> +			phy-handle = <&rgmii_phy1>;
> +			phy-connection-type = "rgmii";
> +		};
> +
> +		ethernet at e6000 {
> +			phy-handle = <&rgmii_phy2>;
> +			phy-connection-type = "rgmii";
> +		};
> +
> +		ethernet at e8000 {
> +			phy-handle = <&qsgmii_phy3>;
> +			phy-connection-type = "qsgmii";
> +		};
> +
> +		ethernet at ea000 {
> +			phy-handle = <&qsgmii_phy4>;
> +			phy-connection-type = "qsgmii";
> +		};
> +
> +		ethernet at f0000 { /* 10GEC1 */
> +			phy-handle = <&aqr105_phy>;
> +			phy-connection-type = "xgmii";
> +		};
> +
> +		mdio at fc000 {

Use label reference the node you already define, so that you do not have
to maintain the device tree hierarchy for referencing the node.

> +			rgmii_phy1: ethernet-phy at 1 {
> +				reg = <0x1>;
> +			};
> +
> +			rgmii_phy2: ethernet-phy at 2 {
> +				reg = <0x2>;
> +			};
> +
> +			qsgmii_phy1: ethernet-phy at 3 {
> +				reg = <0x4>;

The unit address in the node name should match 'reg' value.

> +			};
> +
> +			qsgmii_phy2: ethernet-phy at 4 {
> +				reg = <0x5>;
> +			};
> +
> +			qsgmii_phy3: ethernet-phy at 5 {
> +				reg = <0x6>;
> +			};
> +
> +			qsgmii_phy4: ethernet-phy at 6 {
> +				reg = <0x7>;
> +			};
> +		};
> +
> +		mdio at fd000 {
> +			aqr105_phy: ethernet-phy at c {
> +				compatible = "ethernet-phy-ieee802.3-c45";
> +				interrupts = <0 132 4>;
> +				reg = <0x1>;
> +			};
> +		};
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
> index ec13a6e..ac1e0af 100644
> --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
> +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
> @@ -52,6 +52,17 @@
>  	#address-cells = <2>;
>  	#size-cells = <2>;
>  
> +	aliases {
> +		fman0 = &fman0;
> +		ethernet0 = &enet0;
> +		ethernet1 = &enet1;
> +		ethernet2 = &enet2;
> +		ethernet3 = &enet3;
> +		ethernet4 = &enet4;
> +		ethernet5 = &enet5;
> +		ethernet6 = &enet6;
> +	};
> +
>  	cpus {
>  		#address-cells = <1>;
>  		#size-cells = <0>;
> @@ -106,6 +117,36 @@
>  		      /* DRAM space 1, size: 2GiB DRAM */
>  	};
>  
> +	reserved-memory {
> +		#address-cells = <2>;
> +		#size-cells = <2>;
> +		ranges;
> +
> +		bman_fbpr: bman-fbpr {
> +			size = <0 0x1000000>;
> +			alignment = <0 0x1000000>;
> +		};
> +
> +		qman_fqd: qman-fqd {
> +			size = <0 0x400000>;
> +			alignment = <0 0x400000>;
> +		};
> +
> +		qman_pfdr: qman-pfdr {
> +			size = <0 0x2000000>;
> +			alignment = <0 0x2000000>;
> +		};
> +	};
> +
> +	bportals: bman-portals at 508000000 {
> +		ranges = <0x0 0x5 0x08000000 0x8000000>;
> +	};
> +
> +	qportals: qman-portals at 500000000 {
> +		ranges = <0x0 0x5 0x00000000 0x8000000>;
> +	};

Why are these two devices directly under root, not soc node?

> +
> +
>  	sysclk: sysclk {
>  		compatible = "fixed-clock";
>  		#clock-cells = <0>;
> @@ -152,7 +193,7 @@
>  		interrupts = <1 9 0xf08>;
>  	};
>  
> -	soc {
> +	soc: soc {
>  		compatible = "simple-bus";
>  		#address-cells = <2>;
>  		#size-cells = <2>;
> @@ -333,6 +374,18 @@
>  			};
>  		};
>  
> +		qman: qman at 1880000 {
> +			compatible = "fsl,qman";
> +			reg = <0x00 0x1880000 0x0 0x10000>;
> +			interrupts = <0 45 0x4>;
> +		};
> +
> +		bman: bman at 1890000 {
> +			compatible = "fsl,bman";
> +			reg = <0x00 0x1890000 0x0 0x10000>;
> +			interrupts = <0 45 0x4>;
> +		};
> +
>  		dspi0: dspi at 2100000 {
>  			compatible = "fsl,ls1043a-dspi", "fsl,ls1021a-v1.0-dspi";
>  			#address-cells = <1>;
> @@ -686,3 +739,21 @@
>  	};
>  
>  };
> +
> +&bman_fbpr {
> +	compatible = "fsl,bman-fbpr";
> +	alloc-ranges = <0 0 0x10000 0>;
> +};
> +
> +&qman_fqd {
> +	compatible = "fsl,qman-fqd";
> +	alloc-ranges = <0 0 0x10000 0>;
> +};
> +
> +&qman_pfdr {
> +	compatible = "fsl,qman-pfdr";
> +	alloc-ranges = <0 0 0x10000 0>;
> +};

Why do you need to separate these from the nodes in reserved-memory?

I stop right here.  Honestly, I do not like the patch as its current
form.  I guess you should do something to make the reviewing of the
changes a bit easier.

Shawn

> +
> +/include/ "qoriq-qman1-portals.dtsi"
> +/include/ "qoriq-bman1-portals.dtsi"
> diff --git a/arch/arm64/boot/dts/freescale/qoriq-bman1-portals.dtsi b/arch/arm64/boot/dts/freescale/qoriq-bman1-portals.dtsi
> new file mode 100644
> index 0000000..b007344
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/qoriq-bman1-portals.dtsi
> @@ -0,0 +1,67 @@
> +/*
> + * QorIQ BMan Portals device tree
> + *
> + * Copyright 2011-2016 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */
> +
> +&bportals {
> +	#address-cells = <1>;
> +	#size-cells = <1>;
> +	compatible = "simple-bus";
> +
> +	bman-portal at 0 {
> +		compatible = "fsl,bman-portal";
> +		reg = <0x0 0x4000 0x4000000 0x4000>;
> +		interrupts = <0 173 0x4>;
> +	};
> +
> +	bman-portal at 10000 {
> +		compatible = "fsl,bman-portal";
> +		reg = <0x10000 0x4000 0x4010000 0x4000>;
> +		interrupts = <0 175 0x4>;
> +	};
> +
> +	bman-portal at 20000 {
> +		compatible = "fsl,bman-portal";
> +		reg = <0x20000 0x4000 0x4020000 0x4000>;
> +		interrupts = <0 177 0x4>;
> +	};
> +
> +	bman-portal at 30000 {
> +		compatible = "fsl,bman-portal";
> +		reg = <0x30000 0x4000 0x4030000 0x4000>;
> +		interrupts = <0 179 0x4>;
> +	};
> +
> +	bman-portal at 40000 {
> +		compatible = "fsl,bman-portal";
> +		reg = <0x40000 0x4000 0x4040000 0x4000>;
> +		interrupts = <0 181 0x4>;
> +	};
> +
> +	bman-portal at 50000 {
> +		compatible = "fsl,bman-portal";
> +		reg = <0x50000 0x4000 0x4050000 0x4000>;
> +		interrupts = <0 183 0x4>;
> +	};
> +
> +	bman-portal at 60000 {
> +		compatible = "fsl,bman-portal";
> +		reg = <0x60000 0x4000 0x4060000 0x4000>;
> +		interrupts = <0 185 0x4>;
> +	};
> +
> +	bman-portal at 70000 {
> +		compatible = "fsl,bman-portal";
> +		reg = <0x70000 0x4000 0x4070000 0x4000>;
> +		interrupts = <0 187 0x4>;
> +	};
> +
> +	bman-portal at 80000 {
> +		compatible = "fsl,bman-portal";
> +		reg = <0x80000 0x4000 0x4080000 0x4000>;
> +		interrupts = <0 189 0x4>;
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi
> new file mode 100644
> index 0000000..ecdffe7
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi
> @@ -0,0 +1,42 @@
> +/*
> + * QorIQ FMan v3 10g port #0 device tree
> + *
> + * Copyright 2012-2015 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */
> +
> +fman at 1a00000 {
> +	fman0_rx_0x10: port at 90000 {
> +		cell-index = <0x10>;
> +		compatible = "fsl,fman-v3-port-rx";
> +		reg = <0x90000 0x1000>;
> +		fsl,fman-10g-port;
> +	};
> +
> +	fman0_tx_0x30: port at b0000 {
> +		cell-index = <0x30>;
> +		compatible = "fsl,fman-v3-port-tx";
> +		reg = <0xb0000 0x1000>;
> +		fsl,fman-10g-port;
> +	};
> +
> +	ethernet at f0000 {
> +		cell-index = <0x8>;
> +		compatible = "fsl,fman-memac";
> +		reg = <0xf0000 0x1000>;
> +		fsl,fman-ports = <&fman0_rx_0x10 &fman0_tx_0x30>;
> +		pcsphy-handle = <&pcsphy6>;
> +	};
> +
> +	mdio at f1000 {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
> +		reg = <0xf1000 0x1000>;
> +
> +		pcsphy6: ethernet-phy at 0 {
> +			reg = <0x0>;
> +		};
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi
> new file mode 100644
> index 0000000..d600786
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi
> @@ -0,0 +1,41 @@
> +/*
> + * QorIQ FMan v3 1g port #0 device tree
> + *
> + * Copyright 2012-2015 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */
> +
> +fman at 1a00000 {
> +	fman0_rx_0x08: port at 88000 {
> +		cell-index = <0x8>;
> +		compatible = "fsl,fman-v3-port-rx";
> +		reg = <0x88000 0x1000>;
> +	};
> +
> +	fman0_tx_0x28: port at a8000 {
> +		cell-index = <0x28>;
> +		compatible = "fsl,fman-v3-port-tx";
> +		reg = <0xa8000 0x1000>;
> +	};
> +
> +	ethernet at e0000 {
> +		cell-index = <0>;
> +		compatible = "fsl,fman-memac";
> +		reg = <0xe0000 0x1000>;
> +		fsl,fman-ports = <&fman0_rx_0x08 &fman0_tx_0x28>;
> +		ptp-timer = <&ptp_timer0>;
> +		pcsphy-handle = <&pcsphy0>;
> +	};
> +
> +	mdio at e1000 {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
> +		reg = <0xe1000 0x1000>;
> +
> +		pcsphy0: ethernet-phy at 0 {
> +			reg = <0x0>;
> +		};
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi
> new file mode 100644
> index 0000000..3c0b76d
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi
> @@ -0,0 +1,41 @@
> +/*
> + * QorIQ FMan v3 1g port #1 device tree
> + *
> + * Copyright 2012-2015 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */
> +
> +fman at 1a00000 {
> +	fman0_rx_0x09: port at 89000 {
> +		cell-index = <0x9>;
> +		compatible = "fsl,fman-v3-port-rx";
> +		reg = <0x89000 0x1000>;
> +	};
> +
> +	fman0_tx_0x29: port at a9000 {
> +		cell-index = <0x29>;
> +		compatible = "fsl,fman-v3-port-tx";
> +		reg = <0xa9000 0x1000>;
> +	};
> +
> +	ethernet at e2000 {
> +		cell-index = <1>;
> +		compatible = "fsl,fman-memac";
> +		reg = <0xe2000 0x1000>;
> +		fsl,fman-ports = <&fman0_rx_0x09 &fman0_tx_0x29>;
> +		ptp-timer = <&ptp_timer0>;
> +		pcsphy-handle = <&pcsphy1>;
> +	};
> +
> +	mdio at e3000 {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
> +		reg = <0xe3000 0x1000>;
> +
> +		pcsphy1: ethernet-phy at 0 {
> +			reg = <0x0>;
> +		};
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi
> new file mode 100644
> index 0000000..89633af
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi
> @@ -0,0 +1,41 @@
> +/*
> + * QorIQ FMan v3 1g port #2 device tree
> + *
> + * Copyright 2012-2015 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */
> +
> +fman at 1a00000 {
> +	fman0_rx_0x0a: port at 8a000 {
> +		cell-index = <0xa>;
> +		compatible = "fsl,fman-v3-port-rx";
> +		reg = <0x8a000 0x1000>;
> +	};
> +
> +	fman0_tx_0x2a: port at aa000 {
> +		cell-index = <0x2a>;
> +		compatible = "fsl,fman-v3-port-tx";
> +		reg = <0xaa000 0x1000>;
> +	};
> +
> +	ethernet at e4000 {
> +		cell-index = <2>;
> +		compatible = "fsl,fman-memac";
> +		reg = <0xe4000 0x1000>;
> +		fsl,fman-ports = <&fman0_rx_0x0a &fman0_tx_0x2a>;
> +		ptp-timer = <&ptp_timer0>;
> +		pcsphy-handle = <&pcsphy2>;
> +	};
> +
> +	mdio at e5000 {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
> +		reg = <0xe5000 0x1000>;
> +
> +		pcsphy2: ethernet-phy at 0 {
> +			reg = <0x0>;
> +		};
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi
> new file mode 100644
> index 0000000..87c2b70
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi
> @@ -0,0 +1,41 @@
> +/*
> + * QorIQ FMan v3 1g port #3 device tree
> + *
> + * Copyright 2012-2015 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */
> +
> +fman at 1a00000 {
> +	fman0_rx_0x0b: port at 8b000 {
> +		cell-index = <0xb>;
> +		compatible = "fsl,fman-v3-port-rx";
> +		reg = <0x8b000 0x1000>;
> +	};
> +
> +	fman0_tx_0x2b: port at ab000 {
> +		cell-index = <0x2b>;
> +		compatible = "fsl,fman-v3-port-tx";
> +		reg = <0xab000 0x1000>;
> +	};
> +
> +	ethernet at e6000 {
> +		cell-index = <3>;
> +		compatible = "fsl,fman-memac";
> +		reg = <0xe6000 0x1000>;
> +		fsl,fman-ports = <&fman0_rx_0x0b &fman0_tx_0x2b>;
> +		ptp-timer = <&ptp_timer0>;
> +		pcsphy-handle = <&pcsphy3>;
> +	};
> +
> +	mdio at e7000 {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
> +		reg = <0xe7000 0x1000>;
> +
> +		pcsphy3: ethernet-phy at 0 {
> +			reg = <0x0>;
> +		};
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi
> new file mode 100644
> index 0000000..8f4d74b
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi
> @@ -0,0 +1,41 @@
> +/*
> + * QorIQ FMan v3 1g port #4 device tree
> + *
> + * Copyright 2012-2015 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */
> +
> +fman at 1a00000 {
> +	fman0_rx_0x0c: port at 8c000 {
> +		cell-index = <0xc>;
> +		compatible = "fsl,fman-v3-port-rx";
> +		reg = <0x8c000 0x1000>;
> +	};
> +
> +	fman0_tx_0x2c: port at ac000 {
> +		cell-index = <0x2c>;
> +		compatible = "fsl,fman-v3-port-tx";
> +		reg = <0xac000 0x1000>;
> +	};
> +
> +	ethernet at e8000 {
> +		cell-index = <4>;
> +		compatible = "fsl,fman-memac";
> +		reg = <0xe8000 0x1000>;
> +		fsl,fman-ports = <&fman0_rx_0x0c &fman0_tx_0x2c>;
> +		ptp-timer = <&ptp_timer0>;
> +		pcsphy-handle = <&pcsphy4>;
> +	};
> +
> +	mdio at e9000 {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
> +		reg = <0xe9000 0x1000>;
> +
> +		pcsphy4: ethernet-phy at 0 {
> +			reg = <0x0>;
> +		};
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi
> new file mode 100644
> index 0000000..d534f77
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi
> @@ -0,0 +1,41 @@
> +/*
> + * QorIQ FMan v3 1g port #5 device tree
> + *
> + * Copyright 2012-2015 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */
> +
> +fman at 1a00000 {
> +	fman0_rx_0x0d: port at 8d000 {
> +		cell-index = <0xd>;
> +		compatible = "fsl,fman-v3-port-rx";
> +		reg = <0x8d000 0x1000>;
> +	};
> +
> +	fman0_tx_0x2d: port at ad000 {
> +		cell-index = <0x2d>;
> +		compatible = "fsl,fman-v3-port-tx";
> +		reg = <0xad000 0x1000>;
> +	};
> +
> +	ethernet at ea000 {
> +		cell-index = <5>;
> +		compatible = "fsl,fman-memac";
> +		reg = <0xea000 0x1000>;
> +		fsl,fman-ports = <&fman0_rx_0x0d &fman0_tx_0x2d>;
> +		ptp-timer = <&ptp_timer0>;
> +		pcsphy-handle = <&pcsphy5>;
> +	};
> +
> +	mdio at eb000 {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
> +		reg = <0xeb000 0x1000>;
> +
> +		pcsphy5: ethernet-phy at 0 {
> +			reg = <0x0>;
> +		};
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi
> new file mode 100644
> index 0000000..a559441
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi
> @@ -0,0 +1,80 @@
> +/*
> + * QorIQ FMan v3 device tree
> + *
> + * Copyright 2012-2015 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */
> +
> +fman0: fman at 1a00000 {
> +	#address-cells = <1>;
> +	#size-cells = <1>;
> +	cell-index = <0>;
> +	compatible = "fsl,fman";
> +	ranges = <0x0 0x00 0x1a00000 0x100000>;
> +	reg = <0x0 0x1a00000 0x0 0x100000>;
> +	interrupts = <0 44 0x4>, <0 45 0x4>;
> +	clocks = <&clockgen 3 0>;
> +	clock-names = "fmanclk";
> +	fsl,qman-channel-range = <0x800 0x10>;
> +
> +	muram at 0 {
> +		compatible = "fsl,fman-muram";
> +		reg = <0x0 0x60000>;
> +	};
> +
> +	fman0_oh_0x2: port at 82000 {
> +		cell-index = <0x2>;
> +		compatible = "fsl,fman-v3-port-oh";
> +		reg = <0x82000 0x1000>;
> +	};
> +
> +	fman0_oh_0x3: port at 83000 {
> +		cell-index = <0x3>;
> +		compatible = "fsl,fman-v3-port-oh";
> +		reg = <0x83000 0x1000>;
> +	};
> +
> +	fman0_oh_0x4: port at 84000 {
> +		cell-index = <0x4>;
> +		compatible = "fsl,fman-v3-port-oh";
> +		reg = <0x84000 0x1000>;
> +	};
> +
> +	fman0_oh_0x5: port at 85000 {
> +		cell-index = <0x5>;
> +		compatible = "fsl,fman-v3-port-oh";
> +		reg = <0x85000 0x1000>;
> +	};
> +
> +	fman0_oh_0x6: port at 86000 {
> +		cell-index = <0x6>;
> +		compatible = "fsl,fman-v3-port-oh";
> +		reg = <0x86000 0x1000>;
> +	};
> +
> +	fman0_oh_0x7: port at 87000 {
> +		cell-index = <0x7>;
> +		compatible = "fsl,fman-v3-port-oh";
> +		reg = <0x87000 0x1000>;
> +	};
> +
> +	mdio0: mdio at fc000 {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
> +		reg = <0xfc000 0x1000>;
> +	};
> +
> +	xmdio0: mdio at fd000 {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
> +		reg = <0xfd000 0x1000>;
> +	};
> +
> +	ptp_timer0: ptp-timer at fe000 {
> +		compatible = "fsl,fman-ptp-timer";
> +		reg = <0xfe000 0x1000>;
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/freescale/qoriq-qman1-portals.dtsi b/arch/arm64/boot/dts/freescale/qoriq-qman1-portals.dtsi
> new file mode 100644
> index 0000000..4baec2c
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/qoriq-qman1-portals.dtsi
> @@ -0,0 +1,76 @@
> +/*
> + * QorIQ QMan Portals device tree
> + *
> + * Copyright 2011-2016 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */
> +
> +&qportals {
> +	#address-cells = <1>;
> +	#size-cells = <1>;
> +	compatible = "simple-bus";
> +
> +	qportal0: qman-portal at 0 {
> +		compatible = "fsl,qman-portal";
> +		reg = <0x0 0x4000 0x4000000 0x4000>;
> +		interrupts = <0 172 0x4>;
> +		cell-index = <0>;
> +	};
> +
> +	qportal1: qman-portal at 10000 {
> +		compatible = "fsl,qman-portal";
> +		reg = <0x10000 0x4000 0x4010000 0x4000>;
> +		interrupts = <0 174 0x4>;
> +		cell-index = <1>;
> +	};
> +
> +	qportal2: qman-portal at 20000 {
> +		compatible = "fsl,qman-portal";
> +		reg = <0x20000 0x4000 0x4020000 0x4000>;
> +		interrupts = <0 176 0x4>;
> +		cell-index = <2>;
> +	};
> +
> +	qportal3: qman-portal at 30000 {
> +		compatible = "fsl,qman-portal";
> +		reg = <0x30000 0x4000 0x4030000 0x4000>;
> +		interrupts = <0 178 0x4>;
> +		cell-index = <3>;
> +	};
> +
> +	qportal4: qman-portal at 40000 {
> +		compatible = "fsl,qman-portal";
> +		reg = <0x40000 0x4000 0x4040000 0x4000>;
> +		interrupts = <0 180 0x4>;
> +		cell-index = <4>;
> +	};
> +
> +	qportal5: qman-portal at 50000 {
> +		compatible = "fsl,qman-portal";
> +		reg = <0x50000 0x4000 0x4050000 0x4000>;
> +		interrupts = <0 182 0x4>;
> +		cell-index = <5>;
> +	};
> +
> +	qportal6: qman-portal at 60000 {
> +		compatible = "fsl,qman-portal";
> +		reg = <0x60000 0x4000 0x4060000 0x4000>;
> +		interrupts = <0 184 0x4>;
> +		cell-index = <6>;
> +	};
> +
> +	qportal7: qman-portal at 70000 {
> +		compatible = "fsl,qman-portal";
> +		reg = <0x70000 0x4000 0x4070000 0x4000>;
> +		interrupts = <0 186 0x4>;
> +		cell-index = <7>;
> +	};
> +
> +	qportal8: qman-portal at 80000 {
> +		compatible = "fsl,qman-portal";
> +		reg = <0x80000 0x4000 0x4080000 0x4000>;
> +		interrupts = <0 188 0x4>;
> +		cell-index = <8>;
> +	};
> +};
> -- 
> 2.1.0
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 30+ messages in thread

* RE: [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support
  2017-03-14  7:07     ` Shawn Guo
  (?)
@ 2017-03-22 10:58       ` Madalin-Cristian Bucur
  -1 siblings, 0 replies; 30+ messages in thread
From: Madalin-Cristian Bucur @ 2017-03-22 10:58 UTC (permalink / raw)
  To: Shawn Guo, Roy Pledge
  Cc: robh+dt, mark.rutland, devicetree, catalin.marinas, will.deacon,
	linux-kernel, linux-arm-kernel, Russell King - ARM Linux,
	Kumar Gala

> -----Original Message-----
> From: Shawn Guo [mailto:shawnguo@kernel.org]
> Sent: Tuesday, March 14, 2017 9:08 AM
> On Wed, Mar 01, 2017 at 05:35:04PM +0200, Madalin Bucur wrote:
> > Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
> 
> Empty commit log is generally not welcome, especially when the commit
> adds so many files.

Hi Shawn, thank you for your time. I'll split this into several separate
patches, with better commit logs.

> > ---
> >  arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi | 41 +++++++++++
> >  arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts  |  2 +
> >  arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts  | 75
> ++++++++++++++++++++
> >  arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi     | 73
> +++++++++++++++++++-
> >  .../boot/dts/freescale/qoriq-bman1-portals.dtsi    | 67
> ++++++++++++++++++
> >  .../boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi    | 42 ++++++++++++
> >  .../boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi     | 41 +++++++++++
> >  .../boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi     | 41 +++++++++++
> >  .../boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi     | 41 +++++++++++
> >  .../boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi     | 41 +++++++++++
> >  .../boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi     | 41 +++++++++++
> >  .../boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi     | 41 +++++++++++
> >  arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi   | 80
> ++++++++++++++++++++++
> >  .../boot/dts/freescale/qoriq-qman1-portals.dtsi    | 76
> ++++++++++++++++++++
> >  14 files changed, 701 insertions(+), 1 deletion(-)
> >  create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-bman1-
> portals.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-
> 0.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-
> 0.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-
> 1.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-
> 2.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-
> 3.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-
> 4.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-
> 5.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-qman1-
> portals.dtsi
> 
> I'm not comfortable with so many and complex include level.  Can you
> please elaborate it a bit and help us understand the necessity of doing
> that?

The DPAA (Data Path Acceleration Architecture) 1.x was first introduced
on PowerPC QorIQ devices, where it was included in more than ten SoCs,
each with its own particular implementation of it. There are SoCs that
implement one FMan, others with two, some have none, some have one or
two 10G ports. In order to allow reuse and reduce redundancy, the DPAA
PPC component nodes were split into separate files a long time ago.
I'm just carrying over this layout to the DPAA 1.x ARM platforms.

> >
> > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi
> b/arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi
> > new file mode 100644
> > index 0000000..bf443d2
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi
> > @@ -0,0 +1,41 @@
> > +/*
> > + * QorIQ FMan v3 device tree nodes for ls1043
> > + *
> > + * Copyright 2015-2016 Freescale Semiconductor Inc.
> > + *
> > + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> > + */
> 
> It's still controversial whether we should use SPDX tag.
> 
> https://lkml.org/lkml/2017/2/28/750
>

We're already making use of SPDX tags for u-boot updates and
internally this was accepted already. The remaining question is
if the SPDX tag use is or is not welcome in the kernel tree.

> > +
> > +&soc {
> > +
> > +/include/ "qoriq-fman3-0.dtsi"
> > +/include/ "qoriq-fman3-0-1g-0.dtsi"
> > +/include/ "qoriq-fman3-0-1g-1.dtsi"
> > +/include/ "qoriq-fman3-0-1g-2.dtsi"
> > +/include/ "qoriq-fman3-0-1g-3.dtsi"
> > +/include/ "qoriq-fman3-0-1g-4.dtsi"
> > +/include/ "qoriq-fman3-0-1g-5.dtsi"
> > +/include/ "qoriq-fman3-0-10g-0.dtsi"
> 
> We usually put the includes at the beginning of the file, and #include
> is more recommended than /include/.

I'm not making use of the header file inclusion feature #include provides
(nor plan to) in these files thus I've selected /include/ here.

> > +	fman@1a00000 {
> > +		enet0: ethernet@e0000 {
> > +		};
> > +
> > +		enet1: ethernet@e2000 {
> > +		};
> > +
> > +		enet2: ethernet@e4000 {
> > +		};
> > +
> > +		enet3: ethernet@e6000 {
> > +		};
> > +
> > +		enet4: ethernet@e8000 {
> > +		};
> > +
> > +		enet5: ethernet@ea000 {
> > +		};
> > +
> > +		enet6: ethernet@f0000 {
> > +		};
> > +	};
> 
> I do not quite understand why these nodes are empty.

These nodes provide the aliases (and custom SoC mapping) for the
FMan ports that are used on this particular SoC. The particular
node details are found in the port dtsi file thus no information
is required here. Given the fact that the numbering and actual
ports that are in use can vary between SoCs, the aliases cannot
be included in the port dtsi nor in the FMan dtsi.

> > +};
> > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > index 0989d63..ee66bb2 100644
> > --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > @@ -181,3 +181,5 @@
> >  		reg = <0>;
> >  	};
> >  };
> > +
> > +/include/ "fsl-ls1043-post.dtsi"
> 
> Move it to header of the file.

This is to be included at the end, to make sure the references are
met and to allow overrides if needed.

> > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > index c37110b..d94f003 100644
> > --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > @@ -139,3 +139,78 @@
> >  &duart1 {
> >  	status = "okay";
> >  };
> > +
> > +/include/ "fsl-ls1043-post.dtsi"
> > +
> 
> Ditto
> 
> > +&soc {
> > +	fman@1a00000 {
> > +		ethernet@e0000 {
> 
> You defined enet0 label.  Why don't you use it?
>

The enet0 label is used by u-boot for fix-ups, providing the
actual offset here makes it easier to follow.

> > +			phy-handle = <&qsgmii_phy1>;
> > +			phy-connection-type = "qsgmii";
> > +		};
> > +
> > +		ethernet@e2000 {
> > +			phy-handle = <&qsgmii_phy2>;
> > +			phy-connection-type = "qsgmii";
> > +		};
> > +
> > +		ethernet@e4000 {
> > +			phy-handle = <&rgmii_phy1>;
> > +			phy-connection-type = "rgmii";
> > +		};
> > +
> > +		ethernet@e6000 {
> > +			phy-handle = <&rgmii_phy2>;
> > +			phy-connection-type = "rgmii";
> > +		};
> > +
> > +		ethernet@e8000 {
> > +			phy-handle = <&qsgmii_phy3>;
> > +			phy-connection-type = "qsgmii";
> > +		};
> > +
> > +		ethernet@ea000 {
> > +			phy-handle = <&qsgmii_phy4>;
> > +			phy-connection-type = "qsgmii";
> > +		};
> > +
> > +		ethernet@f0000 { /* 10GEC1 */
> > +			phy-handle = <&aqr105_phy>;
> > +			phy-connection-type = "xgmii";
> > +		};
> > +
> > +		mdio@fc000 {
> 
> Use label reference the node you already define, so that you do not have
> to maintain the device tree hierarchy for referencing the node.
> 
> > +			rgmii_phy1: ethernet-phy@1 {
> > +				reg = <0x1>;
> > +			};
> > +
> > +			rgmii_phy2: ethernet-phy@2 {
> > +				reg = <0x2>;
> > +			};
> > +
> > +			qsgmii_phy1: ethernet-phy@3 {
> > +				reg = <0x4>;
> 
> The unit address in the node name should match 'reg' value.

This needs to be addressed.

> > +			};
> > +
> > +			qsgmii_phy2: ethernet-phy@4 {
> > +				reg = <0x5>;
> > +			};
> > +
> > +			qsgmii_phy3: ethernet-phy@5 {
> > +				reg = <0x6>;
> > +			};
> > +
> > +			qsgmii_phy4: ethernet-phy@6 {
> > +				reg = <0x7>;
> > +			};
> > +		};
> > +
> > +		mdio@fd000 {
> > +			aqr105_phy: ethernet-phy@c {
> > +				compatible = "ethernet-phy-ieee802.3-c45";
> > +				interrupts = <0 132 4>;
> > +				reg = <0x1>;
> > +			};
> > +		};
> > +	};
> > +};
> > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
> b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
> > index ec13a6e..ac1e0af 100644
> > --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
> > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
> > @@ -52,6 +52,17 @@
> >  	#address-cells = <2>;
> >  	#size-cells = <2>;
> >
> > +	aliases {
> > +		fman0 = &fman0;
> > +		ethernet0 = &enet0;
> > +		ethernet1 = &enet1;
> > +		ethernet2 = &enet2;
> > +		ethernet3 = &enet3;
> > +		ethernet4 = &enet4;
> > +		ethernet5 = &enet5;
> > +		ethernet6 = &enet6;
> > +	};
> > +
> >  	cpus {
> >  		#address-cells = <1>;
> >  		#size-cells = <0>;
> > @@ -106,6 +117,36 @@
> >  		      /* DRAM space 1, size: 2GiB DRAM */
> >  	};
> >
> > +	reserved-memory {
> > +		#address-cells = <2>;
> > +		#size-cells = <2>;
> > +		ranges;
> > +
> > +		bman_fbpr: bman-fbpr {
> > +			size = <0 0x1000000>;
> > +			alignment = <0 0x1000000>;
> > +		};
> > +
> > +		qman_fqd: qman-fqd {
> > +			size = <0 0x400000>;
> > +			alignment = <0 0x400000>;
> > +		};
> > +
> > +		qman_pfdr: qman-pfdr {
> > +			size = <0 0x2000000>;
> > +			alignment = <0 0x2000000>;
> > +		};
> > +	};
> > +
> > +	bportals: bman-portals@508000000 {
> > +		ranges = <0x0 0x5 0x08000000 0x8000000>;
> > +	};
> > +
> > +	qportals: qman-portals@500000000 {
> > +		ranges = <0x0 0x5 0x00000000 0x8000000>;
> > +	};
> 
> Why are these two devices directly under root, not soc node?

We'll look into this during the patch split.

> > +
> > +
> >  	sysclk: sysclk {
> >  		compatible = "fixed-clock";
> >  		#clock-cells = <0>;
> > @@ -152,7 +193,7 @@
> >  		interrupts = <1 9 0xf08>;
> >  	};
> >
> > -	soc {
> > +	soc: soc {
> >  		compatible = "simple-bus";
> >  		#address-cells = <2>;
> >  		#size-cells = <2>;
> > @@ -333,6 +374,18 @@
> >  			};
> >  		};
> >
> > +		qman: qman@1880000 {
> > +			compatible = "fsl,qman";
> > +			reg = <0x00 0x1880000 0x0 0x10000>;
> > +			interrupts = <0 45 0x4>;
> > +		};
> > +
> > +		bman: bman@1890000 {
> > +			compatible = "fsl,bman";
> > +			reg = <0x00 0x1890000 0x0 0x10000>;
> > +			interrupts = <0 45 0x4>;
> > +		};
> > +
> >  		dspi0: dspi@2100000 {
> >  			compatible = "fsl,ls1043a-dspi", "fsl,ls1021a-v1.0-
> dspi";
> >  			#address-cells = <1>;
> > @@ -686,3 +739,21 @@
> >  	};
> >
> >  };
> > +
> > +&bman_fbpr {
> > +	compatible = "fsl,bman-fbpr";
> > +	alloc-ranges = <0 0 0x10000 0>;
> > +};
> > +
> > +&qman_fqd {
> > +	compatible = "fsl,qman-fqd";
> > +	alloc-ranges = <0 0 0x10000 0>;
> > +};
> > +
> > +&qman_pfdr {
> > +	compatible = "fsl,qman-pfdr";
> > +	alloc-ranges = <0 0 0x10000 0>;
> > +};
> 
> Why do you need to separate these from the nodes in reserved-memory?
> 
> I stop right here.  Honestly, I do not like the patch as its current
> form.  I guess you should do something to make the reviewing of the
> changes a bit easier.
> 
> Shawn

These will be moved there. The new patch set will allow easier reviewing
by splitting the changes into multiple patches.

Madalin

^ permalink raw reply	[flat|nested] 30+ messages in thread

* RE: [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support
@ 2017-03-22 10:58       ` Madalin-Cristian Bucur
  0 siblings, 0 replies; 30+ messages in thread
From: Madalin-Cristian Bucur @ 2017-03-22 10:58 UTC (permalink / raw)
  To: Shawn Guo, Roy Pledge
  Cc: robh+dt-DgEjT+Ai2ygdnm+yROfE0A, mark.rutland-5wv7dgnIgG8,
	devicetree-u79uwXL29TY76Z2rM5mHXA, catalin.marinas-5wv7dgnIgG8,
	will.deacon-5wv7dgnIgG8, linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	Russell King - ARM Linux, Kumar Gala

> -----Original Message-----
> From: Shawn Guo [mailto:shawnguo-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org]
> Sent: Tuesday, March 14, 2017 9:08 AM
> On Wed, Mar 01, 2017 at 05:35:04PM +0200, Madalin Bucur wrote:
> > Signed-off-by: Madalin Bucur <madalin.bucur-3arQi8VN3Tc@public.gmane.org>
> 
> Empty commit log is generally not welcome, especially when the commit
> adds so many files.

Hi Shawn, thank you for your time. I'll split this into several separate
patches, with better commit logs.

> > ---
> >  arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi | 41 +++++++++++
> >  arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts  |  2 +
> >  arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts  | 75
> ++++++++++++++++++++
> >  arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi     | 73
> +++++++++++++++++++-
> >  .../boot/dts/freescale/qoriq-bman1-portals.dtsi    | 67
> ++++++++++++++++++
> >  .../boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi    | 42 ++++++++++++
> >  .../boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi     | 41 +++++++++++
> >  .../boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi     | 41 +++++++++++
> >  .../boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi     | 41 +++++++++++
> >  .../boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi     | 41 +++++++++++
> >  .../boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi     | 41 +++++++++++
> >  .../boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi     | 41 +++++++++++
> >  arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi   | 80
> ++++++++++++++++++++++
> >  .../boot/dts/freescale/qoriq-qman1-portals.dtsi    | 76
> ++++++++++++++++++++
> >  14 files changed, 701 insertions(+), 1 deletion(-)
> >  create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-bman1-
> portals.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-
> 0.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-
> 0.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-
> 1.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-
> 2.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-
> 3.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-
> 4.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-
> 5.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-qman1-
> portals.dtsi
> 
> I'm not comfortable with so many and complex include level.  Can you
> please elaborate it a bit and help us understand the necessity of doing
> that?

The DPAA (Data Path Acceleration Architecture) 1.x was first introduced
on PowerPC QorIQ devices, where it was included in more than ten SoCs,
each with its own particular implementation of it. There are SoCs that
implement one FMan, others with two, some have none, some have one or
two 10G ports. In order to allow reuse and reduce redundancy, the DPAA
PPC component nodes were split into separate files a long time ago.
I'm just carrying over this layout to the DPAA 1.x ARM platforms.

> >
> > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi
> b/arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi
> > new file mode 100644
> > index 0000000..bf443d2
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi
> > @@ -0,0 +1,41 @@
> > +/*
> > + * QorIQ FMan v3 device tree nodes for ls1043
> > + *
> > + * Copyright 2015-2016 Freescale Semiconductor Inc.
> > + *
> > + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> > + */
> 
> It's still controversial whether we should use SPDX tag.
> 
> https://lkml.org/lkml/2017/2/28/750
>

We're already making use of SPDX tags for u-boot updates and
internally this was accepted already. The remaining question is
if the SPDX tag use is or is not welcome in the kernel tree.

> > +
> > +&soc {
> > +
> > +/include/ "qoriq-fman3-0.dtsi"
> > +/include/ "qoriq-fman3-0-1g-0.dtsi"
> > +/include/ "qoriq-fman3-0-1g-1.dtsi"
> > +/include/ "qoriq-fman3-0-1g-2.dtsi"
> > +/include/ "qoriq-fman3-0-1g-3.dtsi"
> > +/include/ "qoriq-fman3-0-1g-4.dtsi"
> > +/include/ "qoriq-fman3-0-1g-5.dtsi"
> > +/include/ "qoriq-fman3-0-10g-0.dtsi"
> 
> We usually put the includes at the beginning of the file, and #include
> is more recommended than /include/.

I'm not making use of the header file inclusion feature #include provides
(nor plan to) in these files thus I've selected /include/ here.

> > +	fman@1a00000 {
> > +		enet0: ethernet@e0000 {
> > +		};
> > +
> > +		enet1: ethernet@e2000 {
> > +		};
> > +
> > +		enet2: ethernet@e4000 {
> > +		};
> > +
> > +		enet3: ethernet@e6000 {
> > +		};
> > +
> > +		enet4: ethernet@e8000 {
> > +		};
> > +
> > +		enet5: ethernet@ea000 {
> > +		};
> > +
> > +		enet6: ethernet@f0000 {
> > +		};
> > +	};
> 
> I do not quite understand why these nodes are empty.

These nodes provide the aliases (and custom SoC mapping) for the
FMan ports that are used on this particular SoC. The particular
node details are found in the port dtsi file thus no information
is required here. Given the fact that the numbering and actual
ports that are in use can vary between SoCs, the aliases cannot
be included in the port dtsi nor in the FMan dtsi.

> > +};
> > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > index 0989d63..ee66bb2 100644
> > --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > @@ -181,3 +181,5 @@
> >  		reg = <0>;
> >  	};
> >  };
> > +
> > +/include/ "fsl-ls1043-post.dtsi"
> 
> Move it to header of the file.

This is to be included at the end, to make sure the references are
met and to allow overrides if needed.

> > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > index c37110b..d94f003 100644
> > --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > @@ -139,3 +139,78 @@
> >  &duart1 {
> >  	status = "okay";
> >  };
> > +
> > +/include/ "fsl-ls1043-post.dtsi"
> > +
> 
> Ditto
> 
> > +&soc {
> > +	fman@1a00000 {
> > +		ethernet@e0000 {
> 
> You defined enet0 label.  Why don't you use it?
>

The enet0 label is used by u-boot for fix-ups, providing the
actual offset here makes it easier to follow.

> > +			phy-handle = <&qsgmii_phy1>;
> > +			phy-connection-type = "qsgmii";
> > +		};
> > +
> > +		ethernet@e2000 {
> > +			phy-handle = <&qsgmii_phy2>;
> > +			phy-connection-type = "qsgmii";
> > +		};
> > +
> > +		ethernet@e4000 {
> > +			phy-handle = <&rgmii_phy1>;
> > +			phy-connection-type = "rgmii";
> > +		};
> > +
> > +		ethernet@e6000 {
> > +			phy-handle = <&rgmii_phy2>;
> > +			phy-connection-type = "rgmii";
> > +		};
> > +
> > +		ethernet@e8000 {
> > +			phy-handle = <&qsgmii_phy3>;
> > +			phy-connection-type = "qsgmii";
> > +		};
> > +
> > +		ethernet@ea000 {
> > +			phy-handle = <&qsgmii_phy4>;
> > +			phy-connection-type = "qsgmii";
> > +		};
> > +
> > +		ethernet@f0000 { /* 10GEC1 */
> > +			phy-handle = <&aqr105_phy>;
> > +			phy-connection-type = "xgmii";
> > +		};
> > +
> > +		mdio@fc000 {
> 
> Use label reference the node you already define, so that you do not have
> to maintain the device tree hierarchy for referencing the node.
> 
> > +			rgmii_phy1: ethernet-phy@1 {
> > +				reg = <0x1>;
> > +			};
> > +
> > +			rgmii_phy2: ethernet-phy@2 {
> > +				reg = <0x2>;
> > +			};
> > +
> > +			qsgmii_phy1: ethernet-phy@3 {
> > +				reg = <0x4>;
> 
> The unit address in the node name should match 'reg' value.

This needs to be addressed.

> > +			};
> > +
> > +			qsgmii_phy2: ethernet-phy@4 {
> > +				reg = <0x5>;
> > +			};
> > +
> > +			qsgmii_phy3: ethernet-phy@5 {
> > +				reg = <0x6>;
> > +			};
> > +
> > +			qsgmii_phy4: ethernet-phy@6 {
> > +				reg = <0x7>;
> > +			};
> > +		};
> > +
> > +		mdio@fd000 {
> > +			aqr105_phy: ethernet-phy@c {
> > +				compatible = "ethernet-phy-ieee802.3-c45";
> > +				interrupts = <0 132 4>;
> > +				reg = <0x1>;
> > +			};
> > +		};
> > +	};
> > +};
> > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
> b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
> > index ec13a6e..ac1e0af 100644
> > --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
> > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
> > @@ -52,6 +52,17 @@
> >  	#address-cells = <2>;
> >  	#size-cells = <2>;
> >
> > +	aliases {
> > +		fman0 = &fman0;
> > +		ethernet0 = &enet0;
> > +		ethernet1 = &enet1;
> > +		ethernet2 = &enet2;
> > +		ethernet3 = &enet3;
> > +		ethernet4 = &enet4;
> > +		ethernet5 = &enet5;
> > +		ethernet6 = &enet6;
> > +	};
> > +
> >  	cpus {
> >  		#address-cells = <1>;
> >  		#size-cells = <0>;
> > @@ -106,6 +117,36 @@
> >  		      /* DRAM space 1, size: 2GiB DRAM */
> >  	};
> >
> > +	reserved-memory {
> > +		#address-cells = <2>;
> > +		#size-cells = <2>;
> > +		ranges;
> > +
> > +		bman_fbpr: bman-fbpr {
> > +			size = <0 0x1000000>;
> > +			alignment = <0 0x1000000>;
> > +		};
> > +
> > +		qman_fqd: qman-fqd {
> > +			size = <0 0x400000>;
> > +			alignment = <0 0x400000>;
> > +		};
> > +
> > +		qman_pfdr: qman-pfdr {
> > +			size = <0 0x2000000>;
> > +			alignment = <0 0x2000000>;
> > +		};
> > +	};
> > +
> > +	bportals: bman-portals@508000000 {
> > +		ranges = <0x0 0x5 0x08000000 0x8000000>;
> > +	};
> > +
> > +	qportals: qman-portals@500000000 {
> > +		ranges = <0x0 0x5 0x00000000 0x8000000>;
> > +	};
> 
> Why are these two devices directly under root, not soc node?

We'll look into this during the patch split.

> > +
> > +
> >  	sysclk: sysclk {
> >  		compatible = "fixed-clock";
> >  		#clock-cells = <0>;
> > @@ -152,7 +193,7 @@
> >  		interrupts = <1 9 0xf08>;
> >  	};
> >
> > -	soc {
> > +	soc: soc {
> >  		compatible = "simple-bus";
> >  		#address-cells = <2>;
> >  		#size-cells = <2>;
> > @@ -333,6 +374,18 @@
> >  			};
> >  		};
> >
> > +		qman: qman@1880000 {
> > +			compatible = "fsl,qman";
> > +			reg = <0x00 0x1880000 0x0 0x10000>;
> > +			interrupts = <0 45 0x4>;
> > +		};
> > +
> > +		bman: bman@1890000 {
> > +			compatible = "fsl,bman";
> > +			reg = <0x00 0x1890000 0x0 0x10000>;
> > +			interrupts = <0 45 0x4>;
> > +		};
> > +
> >  		dspi0: dspi@2100000 {
> >  			compatible = "fsl,ls1043a-dspi", "fsl,ls1021a-v1.0-
> dspi";
> >  			#address-cells = <1>;
> > @@ -686,3 +739,21 @@
> >  	};
> >
> >  };
> > +
> > +&bman_fbpr {
> > +	compatible = "fsl,bman-fbpr";
> > +	alloc-ranges = <0 0 0x10000 0>;
> > +};
> > +
> > +&qman_fqd {
> > +	compatible = "fsl,qman-fqd";
> > +	alloc-ranges = <0 0 0x10000 0>;
> > +};
> > +
> > +&qman_pfdr {
> > +	compatible = "fsl,qman-pfdr";
> > +	alloc-ranges = <0 0 0x10000 0>;
> > +};
> 
> Why do you need to separate these from the nodes in reserved-memory?
> 
> I stop right here.  Honestly, I do not like the patch as its current
> form.  I guess you should do something to make the reviewing of the
> changes a bit easier.
> 
> Shawn

These will be moved there. The new patch set will allow easier reviewing
by splitting the changes into multiple patches.

Madalin
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support
@ 2017-03-22 10:58       ` Madalin-Cristian Bucur
  0 siblings, 0 replies; 30+ messages in thread
From: Madalin-Cristian Bucur @ 2017-03-22 10:58 UTC (permalink / raw)
  To: linux-arm-kernel

> -----Original Message-----
> From: Shawn Guo [mailto:shawnguo at kernel.org]
> Sent: Tuesday, March 14, 2017 9:08 AM
> On Wed, Mar 01, 2017 at 05:35:04PM +0200, Madalin Bucur wrote:
> > Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
> 
> Empty commit log is generally not welcome, especially when the commit
> adds so many files.

Hi Shawn, thank you for your time. I'll split this into several separate
patches, with better commit logs.

> > ---
> >  arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi | 41 +++++++++++
> >  arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts  |  2 +
> >  arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts  | 75
> ++++++++++++++++++++
> >  arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi     | 73
> +++++++++++++++++++-
> >  .../boot/dts/freescale/qoriq-bman1-portals.dtsi    | 67
> ++++++++++++++++++
> >  .../boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi    | 42 ++++++++++++
> >  .../boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi     | 41 +++++++++++
> >  .../boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi     | 41 +++++++++++
> >  .../boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi     | 41 +++++++++++
> >  .../boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi     | 41 +++++++++++
> >  .../boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi     | 41 +++++++++++
> >  .../boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi     | 41 +++++++++++
> >  arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi   | 80
> ++++++++++++++++++++++
> >  .../boot/dts/freescale/qoriq-qman1-portals.dtsi    | 76
> ++++++++++++++++++++
> >  14 files changed, 701 insertions(+), 1 deletion(-)
> >  create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-bman1-
> portals.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-
> 0.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-
> 0.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-
> 1.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-
> 2.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-
> 3.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-
> 4.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-
> 5.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/qoriq-qman1-
> portals.dtsi
> 
> I'm not comfortable with so many and complex include level.  Can you
> please elaborate it a bit and help us understand the necessity of doing
> that?

The DPAA (Data Path Acceleration Architecture) 1.x was first introduced
on PowerPC QorIQ devices, where it was included in more than ten SoCs,
each with its own particular implementation of it. There are SoCs that
implement one FMan, others with two, some have none, some have one or
two 10G ports. In order to allow reuse and reduce redundancy, the DPAA
PPC component nodes were split into separate files a long time ago.
I'm just carrying over this layout to the DPAA 1.x ARM platforms.

> >
> > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi
> b/arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi
> > new file mode 100644
> > index 0000000..bf443d2
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi
> > @@ -0,0 +1,41 @@
> > +/*
> > + * QorIQ FMan v3 device tree nodes for ls1043
> > + *
> > + * Copyright 2015-2016 Freescale Semiconductor Inc.
> > + *
> > + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> > + */
> 
> It's still controversial whether we should use SPDX tag.
> 
> https://lkml.org/lkml/2017/2/28/750
>

We're already making use of SPDX tags for u-boot updates and
internally this was accepted already. The remaining question is
if the SPDX tag use is or is not welcome in the kernel tree.

> > +
> > +&soc {
> > +
> > +/include/ "qoriq-fman3-0.dtsi"
> > +/include/ "qoriq-fman3-0-1g-0.dtsi"
> > +/include/ "qoriq-fman3-0-1g-1.dtsi"
> > +/include/ "qoriq-fman3-0-1g-2.dtsi"
> > +/include/ "qoriq-fman3-0-1g-3.dtsi"
> > +/include/ "qoriq-fman3-0-1g-4.dtsi"
> > +/include/ "qoriq-fman3-0-1g-5.dtsi"
> > +/include/ "qoriq-fman3-0-10g-0.dtsi"
> 
> We usually put the includes at the beginning of the file, and #include
> is more recommended than /include/.

I'm not making use of the header file inclusion feature #include provides
(nor plan to) in these files thus I've selected /include/ here.

> > +	fman at 1a00000 {
> > +		enet0: ethernet at e0000 {
> > +		};
> > +
> > +		enet1: ethernet at e2000 {
> > +		};
> > +
> > +		enet2: ethernet at e4000 {
> > +		};
> > +
> > +		enet3: ethernet at e6000 {
> > +		};
> > +
> > +		enet4: ethernet at e8000 {
> > +		};
> > +
> > +		enet5: ethernet at ea000 {
> > +		};
> > +
> > +		enet6: ethernet at f0000 {
> > +		};
> > +	};
> 
> I do not quite understand why these nodes are empty.

These nodes provide the aliases (and custom SoC mapping) for the
FMan ports that are used on this particular SoC. The particular
node details are found in the port dtsi file thus no information
is required here. Given the fact that the numbering and actual
ports that are in use can vary between SoCs, the aliases cannot
be included in the port dtsi nor in the FMan dtsi.

> > +};
> > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > index 0989d63..ee66bb2 100644
> > --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > @@ -181,3 +181,5 @@
> >  		reg = <0>;
> >  	};
> >  };
> > +
> > +/include/ "fsl-ls1043-post.dtsi"
> 
> Move it to header of the file.

This is to be included at the end, to make sure the references are
met and to allow overrides if needed.

> > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > index c37110b..d94f003 100644
> > --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > @@ -139,3 +139,78 @@
> >  &duart1 {
> >  	status = "okay";
> >  };
> > +
> > +/include/ "fsl-ls1043-post.dtsi"
> > +
> 
> Ditto
> 
> > +&soc {
> > +	fman at 1a00000 {
> > +		ethernet at e0000 {
> 
> You defined enet0 label.  Why don't you use it?
>

The enet0 label is used by u-boot for fix-ups, providing the
actual offset here makes it easier to follow.

> > +			phy-handle = <&qsgmii_phy1>;
> > +			phy-connection-type = "qsgmii";
> > +		};
> > +
> > +		ethernet at e2000 {
> > +			phy-handle = <&qsgmii_phy2>;
> > +			phy-connection-type = "qsgmii";
> > +		};
> > +
> > +		ethernet at e4000 {
> > +			phy-handle = <&rgmii_phy1>;
> > +			phy-connection-type = "rgmii";
> > +		};
> > +
> > +		ethernet at e6000 {
> > +			phy-handle = <&rgmii_phy2>;
> > +			phy-connection-type = "rgmii";
> > +		};
> > +
> > +		ethernet at e8000 {
> > +			phy-handle = <&qsgmii_phy3>;
> > +			phy-connection-type = "qsgmii";
> > +		};
> > +
> > +		ethernet at ea000 {
> > +			phy-handle = <&qsgmii_phy4>;
> > +			phy-connection-type = "qsgmii";
> > +		};
> > +
> > +		ethernet at f0000 { /* 10GEC1 */
> > +			phy-handle = <&aqr105_phy>;
> > +			phy-connection-type = "xgmii";
> > +		};
> > +
> > +		mdio at fc000 {
> 
> Use label reference the node you already define, so that you do not have
> to maintain the device tree hierarchy for referencing the node.
> 
> > +			rgmii_phy1: ethernet-phy at 1 {
> > +				reg = <0x1>;
> > +			};
> > +
> > +			rgmii_phy2: ethernet-phy at 2 {
> > +				reg = <0x2>;
> > +			};
> > +
> > +			qsgmii_phy1: ethernet-phy at 3 {
> > +				reg = <0x4>;
> 
> The unit address in the node name should match 'reg' value.

This needs to be addressed.

> > +			};
> > +
> > +			qsgmii_phy2: ethernet-phy at 4 {
> > +				reg = <0x5>;
> > +			};
> > +
> > +			qsgmii_phy3: ethernet-phy at 5 {
> > +				reg = <0x6>;
> > +			};
> > +
> > +			qsgmii_phy4: ethernet-phy at 6 {
> > +				reg = <0x7>;
> > +			};
> > +		};
> > +
> > +		mdio at fd000 {
> > +			aqr105_phy: ethernet-phy at c {
> > +				compatible = "ethernet-phy-ieee802.3-c45";
> > +				interrupts = <0 132 4>;
> > +				reg = <0x1>;
> > +			};
> > +		};
> > +	};
> > +};
> > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
> b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
> > index ec13a6e..ac1e0af 100644
> > --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
> > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
> > @@ -52,6 +52,17 @@
> >  	#address-cells = <2>;
> >  	#size-cells = <2>;
> >
> > +	aliases {
> > +		fman0 = &fman0;
> > +		ethernet0 = &enet0;
> > +		ethernet1 = &enet1;
> > +		ethernet2 = &enet2;
> > +		ethernet3 = &enet3;
> > +		ethernet4 = &enet4;
> > +		ethernet5 = &enet5;
> > +		ethernet6 = &enet6;
> > +	};
> > +
> >  	cpus {
> >  		#address-cells = <1>;
> >  		#size-cells = <0>;
> > @@ -106,6 +117,36 @@
> >  		      /* DRAM space 1, size: 2GiB DRAM */
> >  	};
> >
> > +	reserved-memory {
> > +		#address-cells = <2>;
> > +		#size-cells = <2>;
> > +		ranges;
> > +
> > +		bman_fbpr: bman-fbpr {
> > +			size = <0 0x1000000>;
> > +			alignment = <0 0x1000000>;
> > +		};
> > +
> > +		qman_fqd: qman-fqd {
> > +			size = <0 0x400000>;
> > +			alignment = <0 0x400000>;
> > +		};
> > +
> > +		qman_pfdr: qman-pfdr {
> > +			size = <0 0x2000000>;
> > +			alignment = <0 0x2000000>;
> > +		};
> > +	};
> > +
> > +	bportals: bman-portals at 508000000 {
> > +		ranges = <0x0 0x5 0x08000000 0x8000000>;
> > +	};
> > +
> > +	qportals: qman-portals at 500000000 {
> > +		ranges = <0x0 0x5 0x00000000 0x8000000>;
> > +	};
> 
> Why are these two devices directly under root, not soc node?

We'll look into this during the patch split.

> > +
> > +
> >  	sysclk: sysclk {
> >  		compatible = "fixed-clock";
> >  		#clock-cells = <0>;
> > @@ -152,7 +193,7 @@
> >  		interrupts = <1 9 0xf08>;
> >  	};
> >
> > -	soc {
> > +	soc: soc {
> >  		compatible = "simple-bus";
> >  		#address-cells = <2>;
> >  		#size-cells = <2>;
> > @@ -333,6 +374,18 @@
> >  			};
> >  		};
> >
> > +		qman: qman at 1880000 {
> > +			compatible = "fsl,qman";
> > +			reg = <0x00 0x1880000 0x0 0x10000>;
> > +			interrupts = <0 45 0x4>;
> > +		};
> > +
> > +		bman: bman at 1890000 {
> > +			compatible = "fsl,bman";
> > +			reg = <0x00 0x1890000 0x0 0x10000>;
> > +			interrupts = <0 45 0x4>;
> > +		};
> > +
> >  		dspi0: dspi at 2100000 {
> >  			compatible = "fsl,ls1043a-dspi", "fsl,ls1021a-v1.0-
> dspi";
> >  			#address-cells = <1>;
> > @@ -686,3 +739,21 @@
> >  	};
> >
> >  };
> > +
> > +&bman_fbpr {
> > +	compatible = "fsl,bman-fbpr";
> > +	alloc-ranges = <0 0 0x10000 0>;
> > +};
> > +
> > +&qman_fqd {
> > +	compatible = "fsl,qman-fqd";
> > +	alloc-ranges = <0 0 0x10000 0>;
> > +};
> > +
> > +&qman_pfdr {
> > +	compatible = "fsl,qman-pfdr";
> > +	alloc-ranges = <0 0 0x10000 0>;
> > +};
> 
> Why do you need to separate these from the nodes in reserved-memory?
> 
> I stop right here.  Honestly, I do not like the patch as its current
> form.  I guess you should do something to make the reviewing of the
> changes a bit easier.
> 
> Shawn

These will be moved there. The new patch set will allow easier reviewing
by splitting the changes into multiple patches.

Madalin

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support
@ 2017-03-27  6:27         ` Shawn Guo
  0 siblings, 0 replies; 30+ messages in thread
From: Shawn Guo @ 2017-03-27  6:27 UTC (permalink / raw)
  To: Madalin-Cristian Bucur
  Cc: Roy Pledge, mark.rutland, devicetree, catalin.marinas,
	will.deacon, linux-kernel, Russell King - ARM Linux, robh+dt,
	Kumar Gala, linux-arm-kernel

On Wed, Mar 22, 2017 at 10:58:12AM +0000, Madalin-Cristian Bucur wrote:
> > > +&soc {
> > > +
> > > +/include/ "qoriq-fman3-0.dtsi"
> > > +/include/ "qoriq-fman3-0-1g-0.dtsi"
> > > +/include/ "qoriq-fman3-0-1g-1.dtsi"
> > > +/include/ "qoriq-fman3-0-1g-2.dtsi"
> > > +/include/ "qoriq-fman3-0-1g-3.dtsi"
> > > +/include/ "qoriq-fman3-0-1g-4.dtsi"
> > > +/include/ "qoriq-fman3-0-1g-5.dtsi"
> > > +/include/ "qoriq-fman3-0-10g-0.dtsi"
> > 
> > We usually put the includes at the beginning of the file, and #include
> > is more recommended than /include/.
> 
> I'm not making use of the header file inclusion feature #include provides
> (nor plan to) in these files thus I've selected /include/ here.

Let's be simple and consistent.  Use #include please.

> > > +	fman@1a00000 {
> > > +		enet0: ethernet@e0000 {
> > > +		};
> > > +
> > > +		enet1: ethernet@e2000 {
> > > +		};
> > > +
> > > +		enet2: ethernet@e4000 {
> > > +		};
> > > +
> > > +		enet3: ethernet@e6000 {
> > > +		};
> > > +
> > > +		enet4: ethernet@e8000 {
> > > +		};
> > > +
> > > +		enet5: ethernet@ea000 {
> > > +		};
> > > +
> > > +		enet6: ethernet@f0000 {
> > > +		};
> > > +	};
> > 
> > I do not quite understand why these nodes are empty.
> 
> These nodes provide the aliases (and custom SoC mapping) for the
> FMan ports that are used on this particular SoC. The particular
> node details are found in the port dtsi file thus no information
> is required here. Given the fact that the numbering and actual
> ports that are in use can vary between SoCs, the aliases cannot
> be included in the port dtsi nor in the FMan dtsi.

Do not completely follow.  What do you mean by 'port dtsi file'?  Maybe
I should wait for you new patches with better commit log and comments to
understand these odd empty nodes.

> 
> > > +};
> > > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > index 0989d63..ee66bb2 100644
> > > --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > @@ -181,3 +181,5 @@
> > >  		reg = <0>;
> > >  	};
> > >  };
> > > +
> > > +/include/ "fsl-ls1043-post.dtsi"
> > 
> > Move it to header of the file.
> 
> This is to be included at the end, to make sure the references are
> met and to allow overrides if needed.

What is broken if you move the include to header?

> 
> > > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > index c37110b..d94f003 100644
> > > --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > @@ -139,3 +139,78 @@
> > >  &duart1 {
> > >  	status = "okay";
> > >  };
> > > +
> > > +/include/ "fsl-ls1043-post.dtsi"
> > > +
> > 
> > Ditto
> > 
> > > +&soc {
> > > +	fman@1a00000 {
> > > +		ethernet@e0000 {
> > 
> > You defined enet0 label.  Why don't you use it?
> >
> 
> The enet0 label is used by u-boot for fix-ups, providing the
> actual offset here makes it easier to follow.

You will not need to construct the node hierarchy with label.  And
alias/label name is more easier to follow than offset.

Shawn

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support
@ 2017-03-27  6:27         ` Shawn Guo
  0 siblings, 0 replies; 30+ messages in thread
From: Shawn Guo @ 2017-03-27  6:27 UTC (permalink / raw)
  To: Madalin-Cristian Bucur
  Cc: Roy Pledge, mark.rutland-5wv7dgnIgG8,
	devicetree-u79uwXL29TY76Z2rM5mHXA, catalin.marinas-5wv7dgnIgG8,
	will.deacon-5wv7dgnIgG8, linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	Russell King - ARM Linux, robh+dt-DgEjT+Ai2ygdnm+yROfE0A,
	Kumar Gala, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

On Wed, Mar 22, 2017 at 10:58:12AM +0000, Madalin-Cristian Bucur wrote:
> > > +&soc {
> > > +
> > > +/include/ "qoriq-fman3-0.dtsi"
> > > +/include/ "qoriq-fman3-0-1g-0.dtsi"
> > > +/include/ "qoriq-fman3-0-1g-1.dtsi"
> > > +/include/ "qoriq-fman3-0-1g-2.dtsi"
> > > +/include/ "qoriq-fman3-0-1g-3.dtsi"
> > > +/include/ "qoriq-fman3-0-1g-4.dtsi"
> > > +/include/ "qoriq-fman3-0-1g-5.dtsi"
> > > +/include/ "qoriq-fman3-0-10g-0.dtsi"
> > 
> > We usually put the includes at the beginning of the file, and #include
> > is more recommended than /include/.
> 
> I'm not making use of the header file inclusion feature #include provides
> (nor plan to) in these files thus I've selected /include/ here.

Let's be simple and consistent.  Use #include please.

> > > +	fman@1a00000 {
> > > +		enet0: ethernet@e0000 {
> > > +		};
> > > +
> > > +		enet1: ethernet@e2000 {
> > > +		};
> > > +
> > > +		enet2: ethernet@e4000 {
> > > +		};
> > > +
> > > +		enet3: ethernet@e6000 {
> > > +		};
> > > +
> > > +		enet4: ethernet@e8000 {
> > > +		};
> > > +
> > > +		enet5: ethernet@ea000 {
> > > +		};
> > > +
> > > +		enet6: ethernet@f0000 {
> > > +		};
> > > +	};
> > 
> > I do not quite understand why these nodes are empty.
> 
> These nodes provide the aliases (and custom SoC mapping) for the
> FMan ports that are used on this particular SoC. The particular
> node details are found in the port dtsi file thus no information
> is required here. Given the fact that the numbering and actual
> ports that are in use can vary between SoCs, the aliases cannot
> be included in the port dtsi nor in the FMan dtsi.

Do not completely follow.  What do you mean by 'port dtsi file'?  Maybe
I should wait for you new patches with better commit log and comments to
understand these odd empty nodes.

> 
> > > +};
> > > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > index 0989d63..ee66bb2 100644
> > > --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > @@ -181,3 +181,5 @@
> > >  		reg = <0>;
> > >  	};
> > >  };
> > > +
> > > +/include/ "fsl-ls1043-post.dtsi"
> > 
> > Move it to header of the file.
> 
> This is to be included at the end, to make sure the references are
> met and to allow overrides if needed.

What is broken if you move the include to header?

> 
> > > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > index c37110b..d94f003 100644
> > > --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > @@ -139,3 +139,78 @@
> > >  &duart1 {
> > >  	status = "okay";
> > >  };
> > > +
> > > +/include/ "fsl-ls1043-post.dtsi"
> > > +
> > 
> > Ditto
> > 
> > > +&soc {
> > > +	fman@1a00000 {
> > > +		ethernet@e0000 {
> > 
> > You defined enet0 label.  Why don't you use it?
> >
> 
> The enet0 label is used by u-boot for fix-ups, providing the
> actual offset here makes it easier to follow.

You will not need to construct the node hierarchy with label.  And
alias/label name is more easier to follow than offset.

Shawn
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support
@ 2017-03-27  6:27         ` Shawn Guo
  0 siblings, 0 replies; 30+ messages in thread
From: Shawn Guo @ 2017-03-27  6:27 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Mar 22, 2017 at 10:58:12AM +0000, Madalin-Cristian Bucur wrote:
> > > +&soc {
> > > +
> > > +/include/ "qoriq-fman3-0.dtsi"
> > > +/include/ "qoriq-fman3-0-1g-0.dtsi"
> > > +/include/ "qoriq-fman3-0-1g-1.dtsi"
> > > +/include/ "qoriq-fman3-0-1g-2.dtsi"
> > > +/include/ "qoriq-fman3-0-1g-3.dtsi"
> > > +/include/ "qoriq-fman3-0-1g-4.dtsi"
> > > +/include/ "qoriq-fman3-0-1g-5.dtsi"
> > > +/include/ "qoriq-fman3-0-10g-0.dtsi"
> > 
> > We usually put the includes at the beginning of the file, and #include
> > is more recommended than /include/.
> 
> I'm not making use of the header file inclusion feature #include provides
> (nor plan to) in these files thus I've selected /include/ here.

Let's be simple and consistent.  Use #include please.

> > > +	fman at 1a00000 {
> > > +		enet0: ethernet at e0000 {
> > > +		};
> > > +
> > > +		enet1: ethernet at e2000 {
> > > +		};
> > > +
> > > +		enet2: ethernet at e4000 {
> > > +		};
> > > +
> > > +		enet3: ethernet at e6000 {
> > > +		};
> > > +
> > > +		enet4: ethernet at e8000 {
> > > +		};
> > > +
> > > +		enet5: ethernet at ea000 {
> > > +		};
> > > +
> > > +		enet6: ethernet at f0000 {
> > > +		};
> > > +	};
> > 
> > I do not quite understand why these nodes are empty.
> 
> These nodes provide the aliases (and custom SoC mapping) for the
> FMan ports that are used on this particular SoC. The particular
> node details are found in the port dtsi file thus no information
> is required here. Given the fact that the numbering and actual
> ports that are in use can vary between SoCs, the aliases cannot
> be included in the port dtsi nor in the FMan dtsi.

Do not completely follow.  What do you mean by 'port dtsi file'?  Maybe
I should wait for you new patches with better commit log and comments to
understand these odd empty nodes.

> 
> > > +};
> > > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > index 0989d63..ee66bb2 100644
> > > --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > @@ -181,3 +181,5 @@
> > >  		reg = <0>;
> > >  	};
> > >  };
> > > +
> > > +/include/ "fsl-ls1043-post.dtsi"
> > 
> > Move it to header of the file.
> 
> This is to be included at the end, to make sure the references are
> met and to allow overrides if needed.

What is broken if you move the include to header?

> 
> > > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > index c37110b..d94f003 100644
> > > --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > @@ -139,3 +139,78 @@
> > >  &duart1 {
> > >  	status = "okay";
> > >  };
> > > +
> > > +/include/ "fsl-ls1043-post.dtsi"
> > > +
> > 
> > Ditto
> > 
> > > +&soc {
> > > +	fman at 1a00000 {
> > > +		ethernet at e0000 {
> > 
> > You defined enet0 label.  Why don't you use it?
> >
> 
> The enet0 label is used by u-boot for fix-ups, providing the
> actual offset here makes it easier to follow.

You will not need to construct the node hierarchy with label.  And
alias/label name is more easier to follow than offset.

Shawn

^ permalink raw reply	[flat|nested] 30+ messages in thread

* RE: [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support
  2017-03-27  6:27         ` Shawn Guo
  (?)
@ 2017-03-27  7:03           ` Madalin-Cristian Bucur
  -1 siblings, 0 replies; 30+ messages in thread
From: Madalin-Cristian Bucur @ 2017-03-27  7:03 UTC (permalink / raw)
  To: Shawn Guo
  Cc: Roy Pledge, mark.rutland, devicetree, catalin.marinas,
	will.deacon, linux-kernel, Russell King - ARM Linux, robh+dt,
	Kumar Gala, linux-arm-kernel

> -----Original Message-----
> From: Shawn Guo [mailto:shawnguo@kernel.org]
> Sent: Monday, March 27, 2017 9:27 AM
> Subject: Re: [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support
> 
> On Wed, Mar 22, 2017 at 10:58:12AM +0000, Madalin-Cristian Bucur wrote:
> > > > +&soc {
> > > > +
> > > > +/include/ "qoriq-fman3-0.dtsi"
> > > > +/include/ "qoriq-fman3-0-1g-0.dtsi"
> > > > +/include/ "qoriq-fman3-0-1g-1.dtsi"
> > > > +/include/ "qoriq-fman3-0-1g-2.dtsi"
> > > > +/include/ "qoriq-fman3-0-1g-3.dtsi"
> > > > +/include/ "qoriq-fman3-0-1g-4.dtsi"
> > > > +/include/ "qoriq-fman3-0-1g-5.dtsi"
> > > > +/include/ "qoriq-fman3-0-10g-0.dtsi"
> > >
> > > We usually put the includes at the beginning of the file, and #include
> > > is more recommended than /include/.
> >
> > I'm not making use of the header file inclusion feature #include
> provides
> > (nor plan to) in these files thus I've selected /include/ here.
> 
> Let's be simple and consistent.  Use #include please.

I can do that, running the preprocessor on these files without being required
does not add that much time in the end. I'm not a fan of this feature, I never
liked the fact one loses the liberty of easily using dtc directly to debug
using dtc -O dts when adding #includes.

> > > > +	fman@1a00000 {
> > > > +		enet0: ethernet@e0000 {
> > > > +		};
> > > > +
> > > > +		enet1: ethernet@e2000 {
> > > > +		};
> > > > +
> > > > +		enet2: ethernet@e4000 {
> > > > +		};
> > > > +
> > > > +		enet3: ethernet@e6000 {
> > > > +		};
> > > > +
> > > > +		enet4: ethernet@e8000 {
> > > > +		};
> > > > +
> > > > +		enet5: ethernet@ea000 {
> > > > +		};
> > > > +
> > > > +		enet6: ethernet@f0000 {
> > > > +		};
> > > > +	};
> > >
> > > I do not quite understand why these nodes are empty.
> >
> > These nodes provide the aliases (and custom SoC mapping) for the
> > FMan ports that are used on this particular SoC. The particular
> > node details are found in the port dtsi file thus no information
> > is required here. Given the fact that the numbering and actual
> > ports that are in use can vary between SoCs, the aliases cannot
> > be included in the port dtsi nor in the FMan dtsi.
> 
> Do not completely follow.  What do you mean by 'port dtsi file'?  Maybe
> I should wait for you new patches with better commit log and comments to
> understand these odd empty nodes.

The DPAA IP can have a certain number of ports. Out of those, a certain
SoC can use all or only a subset, with diverse decisions on actual numbering
of the used ports. Next, when using the SoC on a particular board, some
ports will be used, some will not. The file hierarchy relates to this
hierarchy - you have individual port files that are included by the
SoC dtsi which in turn is included by the board dts. These nodes do not
need any new content as all the node details are provided by the port
dtsi files. The information they provide is the alias used for each port.

> >
> > > > +};
> > > > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > > index 0989d63..ee66bb2 100644
> > > > --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > > @@ -181,3 +181,5 @@
> > > >  		reg = <0>;
> > > >  	};
> > > >  };
> > > > +
> > > > +/include/ "fsl-ls1043-post.dtsi"
> > >
> > > Move it to header of the file.
> >
> > This is to be included at the end, to make sure the references are
> > met and to allow overrides if needed.
> 
> What is broken if you move the include to header?

Not much besides the structure we've always used for our SoCs device
trees. The file is called "-post.dtsi" because here is the place any
required overrides can be made, if needed. Moving to the top renders
having this separate file useless.

> >
> > > > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > > index c37110b..d94f003 100644
> > > > --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > > @@ -139,3 +139,78 @@
> > > >  &duart1 {
> > > >  	status = "okay";
> > > >  };
> > > > +
> > > > +/include/ "fsl-ls1043-post.dtsi"
> > > > +
> > >
> > > Ditto
> > >
> > > > +&soc {
> > > > +	fman@1a00000 {
> > > > +		ethernet@e0000 {
> > >
> > > You defined enet0 label.  Why don't you use it?
> > >
> >
> > The enet0 label is used by u-boot for fix-ups, providing the
> > actual offset here makes it easier to follow.
> 
> You will not need to construct the node hierarchy with label.  And
> alias/label name is more easier to follow than offset.
> 
> Shawn

When I said easier to follow I was referring to someone creating a
new device tree for his custom board, not someone reading the device
tree. If you have the board and SoC reference manuals in your hands
and you are writing a new board device tree, having the offset here
makes things easier. The benefit of having one less indentation level
is lesser than that.

Madalin

^ permalink raw reply	[flat|nested] 30+ messages in thread

* RE: [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support
@ 2017-03-27  7:03           ` Madalin-Cristian Bucur
  0 siblings, 0 replies; 30+ messages in thread
From: Madalin-Cristian Bucur @ 2017-03-27  7:03 UTC (permalink / raw)
  To: Shawn Guo
  Cc: mark.rutland, devicetree, catalin.marinas, Roy Pledge,
	will.deacon, linux-kernel, Russell King - ARM Linux, robh+dt,
	Kumar Gala, linux-arm-kernel

> -----Original Message-----
> From: Shawn Guo [mailto:shawnguo@kernel.org]
> Sent: Monday, March 27, 2017 9:27 AM
> Subject: Re: [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support
> 
> On Wed, Mar 22, 2017 at 10:58:12AM +0000, Madalin-Cristian Bucur wrote:
> > > > +&soc {
> > > > +
> > > > +/include/ "qoriq-fman3-0.dtsi"
> > > > +/include/ "qoriq-fman3-0-1g-0.dtsi"
> > > > +/include/ "qoriq-fman3-0-1g-1.dtsi"
> > > > +/include/ "qoriq-fman3-0-1g-2.dtsi"
> > > > +/include/ "qoriq-fman3-0-1g-3.dtsi"
> > > > +/include/ "qoriq-fman3-0-1g-4.dtsi"
> > > > +/include/ "qoriq-fman3-0-1g-5.dtsi"
> > > > +/include/ "qoriq-fman3-0-10g-0.dtsi"
> > >
> > > We usually put the includes at the beginning of the file, and #include
> > > is more recommended than /include/.
> >
> > I'm not making use of the header file inclusion feature #include
> provides
> > (nor plan to) in these files thus I've selected /include/ here.
> 
> Let's be simple and consistent.  Use #include please.

I can do that, running the preprocessor on these files without being required
does not add that much time in the end. I'm not a fan of this feature, I never
liked the fact one loses the liberty of easily using dtc directly to debug
using dtc -O dts when adding #includes.

> > > > +	fman@1a00000 {
> > > > +		enet0: ethernet@e0000 {
> > > > +		};
> > > > +
> > > > +		enet1: ethernet@e2000 {
> > > > +		};
> > > > +
> > > > +		enet2: ethernet@e4000 {
> > > > +		};
> > > > +
> > > > +		enet3: ethernet@e6000 {
> > > > +		};
> > > > +
> > > > +		enet4: ethernet@e8000 {
> > > > +		};
> > > > +
> > > > +		enet5: ethernet@ea000 {
> > > > +		};
> > > > +
> > > > +		enet6: ethernet@f0000 {
> > > > +		};
> > > > +	};
> > >
> > > I do not quite understand why these nodes are empty.
> >
> > These nodes provide the aliases (and custom SoC mapping) for the
> > FMan ports that are used on this particular SoC. The particular
> > node details are found in the port dtsi file thus no information
> > is required here. Given the fact that the numbering and actual
> > ports that are in use can vary between SoCs, the aliases cannot
> > be included in the port dtsi nor in the FMan dtsi.
> 
> Do not completely follow.  What do you mean by 'port dtsi file'?  Maybe
> I should wait for you new patches with better commit log and comments to
> understand these odd empty nodes.

The DPAA IP can have a certain number of ports. Out of those, a certain
SoC can use all or only a subset, with diverse decisions on actual numbering
of the used ports. Next, when using the SoC on a particular board, some
ports will be used, some will not. The file hierarchy relates to this
hierarchy - you have individual port files that are included by the
SoC dtsi which in turn is included by the board dts. These nodes do not
need any new content as all the node details are provided by the port
dtsi files. The information they provide is the alias used for each port.

> >
> > > > +};
> > > > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > > index 0989d63..ee66bb2 100644
> > > > --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > > @@ -181,3 +181,5 @@
> > > >  		reg = <0>;
> > > >  	};
> > > >  };
> > > > +
> > > > +/include/ "fsl-ls1043-post.dtsi"
> > >
> > > Move it to header of the file.
> >
> > This is to be included at the end, to make sure the references are
> > met and to allow overrides if needed.
> 
> What is broken if you move the include to header?

Not much besides the structure we've always used for our SoCs device
trees. The file is called "-post.dtsi" because here is the place any
required overrides can be made, if needed. Moving to the top renders
having this separate file useless.

> >
> > > > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > > index c37110b..d94f003 100644
> > > > --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > > @@ -139,3 +139,78 @@
> > > >  &duart1 {
> > > >  	status = "okay";
> > > >  };
> > > > +
> > > > +/include/ "fsl-ls1043-post.dtsi"
> > > > +
> > >
> > > Ditto
> > >
> > > > +&soc {
> > > > +	fman@1a00000 {
> > > > +		ethernet@e0000 {
> > >
> > > You defined enet0 label.  Why don't you use it?
> > >
> >
> > The enet0 label is used by u-boot for fix-ups, providing the
> > actual offset here makes it easier to follow.
> 
> You will not need to construct the node hierarchy with label.  And
> alias/label name is more easier to follow than offset.
> 
> Shawn

When I said easier to follow I was referring to someone creating a
new device tree for his custom board, not someone reading the device
tree. If you have the board and SoC reference manuals in your hands
and you are writing a new board device tree, having the offset here
makes things easier. The benefit of having one less indentation level
is lesser than that.

Madalin

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support
@ 2017-03-27  7:03           ` Madalin-Cristian Bucur
  0 siblings, 0 replies; 30+ messages in thread
From: Madalin-Cristian Bucur @ 2017-03-27  7:03 UTC (permalink / raw)
  To: linux-arm-kernel

> -----Original Message-----
> From: Shawn Guo [mailto:shawnguo at kernel.org]
> Sent: Monday, March 27, 2017 9:27 AM
> Subject: Re: [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support
> 
> On Wed, Mar 22, 2017 at 10:58:12AM +0000, Madalin-Cristian Bucur wrote:
> > > > +&soc {
> > > > +
> > > > +/include/ "qoriq-fman3-0.dtsi"
> > > > +/include/ "qoriq-fman3-0-1g-0.dtsi"
> > > > +/include/ "qoriq-fman3-0-1g-1.dtsi"
> > > > +/include/ "qoriq-fman3-0-1g-2.dtsi"
> > > > +/include/ "qoriq-fman3-0-1g-3.dtsi"
> > > > +/include/ "qoriq-fman3-0-1g-4.dtsi"
> > > > +/include/ "qoriq-fman3-0-1g-5.dtsi"
> > > > +/include/ "qoriq-fman3-0-10g-0.dtsi"
> > >
> > > We usually put the includes at the beginning of the file, and #include
> > > is more recommended than /include/.
> >
> > I'm not making use of the header file inclusion feature #include
> provides
> > (nor plan to) in these files thus I've selected /include/ here.
> 
> Let's be simple and consistent.  Use #include please.

I can do that, running the preprocessor on these files without being required
does not add that much time in the end. I'm not a fan of this feature, I never
liked the fact one loses the liberty of easily using dtc directly to debug
using dtc -O dts when adding #includes.

> > > > +	fman at 1a00000 {
> > > > +		enet0: ethernet at e0000 {
> > > > +		};
> > > > +
> > > > +		enet1: ethernet at e2000 {
> > > > +		};
> > > > +
> > > > +		enet2: ethernet at e4000 {
> > > > +		};
> > > > +
> > > > +		enet3: ethernet at e6000 {
> > > > +		};
> > > > +
> > > > +		enet4: ethernet at e8000 {
> > > > +		};
> > > > +
> > > > +		enet5: ethernet at ea000 {
> > > > +		};
> > > > +
> > > > +		enet6: ethernet at f0000 {
> > > > +		};
> > > > +	};
> > >
> > > I do not quite understand why these nodes are empty.
> >
> > These nodes provide the aliases (and custom SoC mapping) for the
> > FMan ports that are used on this particular SoC. The particular
> > node details are found in the port dtsi file thus no information
> > is required here. Given the fact that the numbering and actual
> > ports that are in use can vary between SoCs, the aliases cannot
> > be included in the port dtsi nor in the FMan dtsi.
> 
> Do not completely follow.  What do you mean by 'port dtsi file'?  Maybe
> I should wait for you new patches with better commit log and comments to
> understand these odd empty nodes.

The DPAA IP can have a certain number of ports. Out of those, a certain
SoC can use all or only a subset, with diverse decisions on actual numbering
of the used ports. Next, when using the SoC on a particular board, some
ports will be used, some will not. The file hierarchy relates to this
hierarchy - you have individual port files that are included by the
SoC dtsi which in turn is included by the board dts. These nodes do not
need any new content as all the node details are provided by the port
dtsi files. The information they provide is the alias used for each port.

> >
> > > > +};
> > > > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > > index 0989d63..ee66bb2 100644
> > > > --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > > @@ -181,3 +181,5 @@
> > > >  		reg = <0>;
> > > >  	};
> > > >  };
> > > > +
> > > > +/include/ "fsl-ls1043-post.dtsi"
> > >
> > > Move it to header of the file.
> >
> > This is to be included at the end, to make sure the references are
> > met and to allow overrides if needed.
> 
> What is broken if you move the include to header?

Not much besides the structure we've always used for our SoCs device
trees. The file is called "-post.dtsi" because here is the place any
required overrides can be made, if needed. Moving to the top renders
having this separate file useless.

> >
> > > > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > > index c37110b..d94f003 100644
> > > > --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > > @@ -139,3 +139,78 @@
> > > >  &duart1 {
> > > >  	status = "okay";
> > > >  };
> > > > +
> > > > +/include/ "fsl-ls1043-post.dtsi"
> > > > +
> > >
> > > Ditto
> > >
> > > > +&soc {
> > > > +	fman at 1a00000 {
> > > > +		ethernet at e0000 {
> > >
> > > You defined enet0 label.  Why don't you use it?
> > >
> >
> > The enet0 label is used by u-boot for fix-ups, providing the
> > actual offset here makes it easier to follow.
> 
> You will not need to construct the node hierarchy with label.  And
> alias/label name is more easier to follow than offset.
> 
> Shawn

When I said easier to follow I was referring to someone creating a
new device tree for his custom board, not someone reading the device
tree. If you have the board and SoC reference manuals in your hands
and you are writing a new board device tree, having the offset here
makes things easier. The benefit of having one less indentation level
is lesser than that.

Madalin

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support
  2017-03-27  7:03           ` Madalin-Cristian Bucur
  (?)
@ 2017-03-27  7:55             ` Shawn Guo
  -1 siblings, 0 replies; 30+ messages in thread
From: Shawn Guo @ 2017-03-27  7:55 UTC (permalink / raw)
  To: Madalin-Cristian Bucur
  Cc: Roy Pledge, mark.rutland, devicetree, catalin.marinas,
	will.deacon, linux-kernel, Russell King - ARM Linux, robh+dt,
	Kumar Gala, linux-arm-kernel

On Mon, Mar 27, 2017 at 07:03:40AM +0000, Madalin-Cristian Bucur wrote:
> > > > > +	fman@1a00000 {
> > > > > +		enet0: ethernet@e0000 {
> > > > > +		};
> > > > > +
> > > > > +		enet1: ethernet@e2000 {
> > > > > +		};
> > > > > +
> > > > > +		enet2: ethernet@e4000 {
> > > > > +		};
> > > > > +
> > > > > +		enet3: ethernet@e6000 {
> > > > > +		};
> > > > > +
> > > > > +		enet4: ethernet@e8000 {
> > > > > +		};
> > > > > +
> > > > > +		enet5: ethernet@ea000 {
> > > > > +		};
> > > > > +
> > > > > +		enet6: ethernet@f0000 {
> > > > > +		};
> > > > > +	};
> > > >
> > > > I do not quite understand why these nodes are empty.
> > >
> > > These nodes provide the aliases (and custom SoC mapping) for the
> > > FMan ports that are used on this particular SoC. The particular
> > > node details are found in the port dtsi file thus no information
> > > is required here. Given the fact that the numbering and actual
> > > ports that are in use can vary between SoCs, the aliases cannot
> > > be included in the port dtsi nor in the FMan dtsi.
> > 
> > Do not completely follow.  What do you mean by 'port dtsi file'?  Maybe
> > I should wait for you new patches with better commit log and comments to
> > understand these odd empty nodes.
> 
> The DPAA IP can have a certain number of ports. Out of those, a certain
> SoC can use all or only a subset, with diverse decisions on actual numbering
> of the used ports. Next, when using the SoC on a particular board, some
> ports will be used, some will not. The file hierarchy relates to this
> hierarchy - you have individual port files that are included by the
> SoC dtsi which in turn is included by the board dts. These nodes do not
> need any new content as all the node details are provided by the port
> dtsi files. The information they provide is the alias used for each port.

My impression is that such hierarchy mapping is not really necessary and
only makes the device tree source messy and hard to follow.  I do not
like it.

> 
> > >
> > > > > +};
> > > > > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > > b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > > > index 0989d63..ee66bb2 100644
> > > > > --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > > > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > > > @@ -181,3 +181,5 @@
> > > > >  		reg = <0>;
> > > > >  	};
> > > > >  };
> > > > > +
> > > > > +/include/ "fsl-ls1043-post.dtsi"
> > > >
> > > > Move it to header of the file.
> > >
> > > This is to be included at the end, to make sure the references are
> > > met and to allow overrides if needed.
> > 
> > What is broken if you move the include to header?
> 
> Not much besides the structure we've always used for our SoCs device
> trees. The file is called "-post.dtsi" because here is the place any
> required overrides can be made, if needed. Moving to the top renders
> having this separate file useless.

That's great, and let's kill it then.

> 
> > >
> > > > > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > > b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > > > index c37110b..d94f003 100644
> > > > > --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > > > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > > > @@ -139,3 +139,78 @@
> > > > >  &duart1 {
> > > > >  	status = "okay";
> > > > >  };
> > > > > +
> > > > > +/include/ "fsl-ls1043-post.dtsi"
> > > > > +
> > > >
> > > > Ditto
> > > >
> > > > > +&soc {
> > > > > +	fman@1a00000 {
> > > > > +		ethernet@e0000 {
> > > >
> > > > You defined enet0 label.  Why don't you use it?
> > > >
> > >
> > > The enet0 label is used by u-boot for fix-ups, providing the
> > > actual offset here makes it easier to follow.
> > 
> > You will not need to construct the node hierarchy with label.  And
> > alias/label name is more easier to follow than offset.
> > 
> > Shawn
> 
> When I said easier to follow I was referring to someone creating a
> new device tree for his custom board, not someone reading the device
> tree. If you have the board and SoC reference manuals in your hands
> and you are writing a new board device tree, having the offset here
> makes things easier. The benefit of having one less indentation level
> is lesser than that.

The while complex and messy file hierarchy makes users' life harder,
both the ones reading the device tree and the ones creating board device
tree.  I would suggest you go the opposite, making the device tree
simple and easy for users by allowing data duplication.  In arm/arm64
device tree world, we do not consider DT data reusing/sharing among
different SoCs that much.

Shawn

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support
@ 2017-03-27  7:55             ` Shawn Guo
  0 siblings, 0 replies; 30+ messages in thread
From: Shawn Guo @ 2017-03-27  7:55 UTC (permalink / raw)
  To: Madalin-Cristian Bucur
  Cc: mark.rutland, devicetree, catalin.marinas, Roy Pledge,
	will.deacon, linux-kernel, Russell King - ARM Linux, robh+dt,
	Kumar Gala, linux-arm-kernel

On Mon, Mar 27, 2017 at 07:03:40AM +0000, Madalin-Cristian Bucur wrote:
> > > > > +	fman@1a00000 {
> > > > > +		enet0: ethernet@e0000 {
> > > > > +		};
> > > > > +
> > > > > +		enet1: ethernet@e2000 {
> > > > > +		};
> > > > > +
> > > > > +		enet2: ethernet@e4000 {
> > > > > +		};
> > > > > +
> > > > > +		enet3: ethernet@e6000 {
> > > > > +		};
> > > > > +
> > > > > +		enet4: ethernet@e8000 {
> > > > > +		};
> > > > > +
> > > > > +		enet5: ethernet@ea000 {
> > > > > +		};
> > > > > +
> > > > > +		enet6: ethernet@f0000 {
> > > > > +		};
> > > > > +	};
> > > >
> > > > I do not quite understand why these nodes are empty.
> > >
> > > These nodes provide the aliases (and custom SoC mapping) for the
> > > FMan ports that are used on this particular SoC. The particular
> > > node details are found in the port dtsi file thus no information
> > > is required here. Given the fact that the numbering and actual
> > > ports that are in use can vary between SoCs, the aliases cannot
> > > be included in the port dtsi nor in the FMan dtsi.
> > 
> > Do not completely follow.  What do you mean by 'port dtsi file'?  Maybe
> > I should wait for you new patches with better commit log and comments to
> > understand these odd empty nodes.
> 
> The DPAA IP can have a certain number of ports. Out of those, a certain
> SoC can use all or only a subset, with diverse decisions on actual numbering
> of the used ports. Next, when using the SoC on a particular board, some
> ports will be used, some will not. The file hierarchy relates to this
> hierarchy - you have individual port files that are included by the
> SoC dtsi which in turn is included by the board dts. These nodes do not
> need any new content as all the node details are provided by the port
> dtsi files. The information they provide is the alias used for each port.

My impression is that such hierarchy mapping is not really necessary and
only makes the device tree source messy and hard to follow.  I do not
like it.

> 
> > >
> > > > > +};
> > > > > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > > b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > > > index 0989d63..ee66bb2 100644
> > > > > --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > > > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > > > @@ -181,3 +181,5 @@
> > > > >  		reg = <0>;
> > > > >  	};
> > > > >  };
> > > > > +
> > > > > +/include/ "fsl-ls1043-post.dtsi"
> > > >
> > > > Move it to header of the file.
> > >
> > > This is to be included at the end, to make sure the references are
> > > met and to allow overrides if needed.
> > 
> > What is broken if you move the include to header?
> 
> Not much besides the structure we've always used for our SoCs device
> trees. The file is called "-post.dtsi" because here is the place any
> required overrides can be made, if needed. Moving to the top renders
> having this separate file useless.

That's great, and let's kill it then.

> 
> > >
> > > > > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > > b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > > > index c37110b..d94f003 100644
> > > > > --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > > > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > > > @@ -139,3 +139,78 @@
> > > > >  &duart1 {
> > > > >  	status = "okay";
> > > > >  };
> > > > > +
> > > > > +/include/ "fsl-ls1043-post.dtsi"
> > > > > +
> > > >
> > > > Ditto
> > > >
> > > > > +&soc {
> > > > > +	fman@1a00000 {
> > > > > +		ethernet@e0000 {
> > > >
> > > > You defined enet0 label.  Why don't you use it?
> > > >
> > >
> > > The enet0 label is used by u-boot for fix-ups, providing the
> > > actual offset here makes it easier to follow.
> > 
> > You will not need to construct the node hierarchy with label.  And
> > alias/label name is more easier to follow than offset.
> > 
> > Shawn
> 
> When I said easier to follow I was referring to someone creating a
> new device tree for his custom board, not someone reading the device
> tree. If you have the board and SoC reference manuals in your hands
> and you are writing a new board device tree, having the offset here
> makes things easier. The benefit of having one less indentation level
> is lesser than that.

The while complex and messy file hierarchy makes users' life harder,
both the ones reading the device tree and the ones creating board device
tree.  I would suggest you go the opposite, making the device tree
simple and easy for users by allowing data duplication.  In arm/arm64
device tree world, we do not consider DT data reusing/sharing among
different SoCs that much.

Shawn

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support
@ 2017-03-27  7:55             ` Shawn Guo
  0 siblings, 0 replies; 30+ messages in thread
From: Shawn Guo @ 2017-03-27  7:55 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Mar 27, 2017 at 07:03:40AM +0000, Madalin-Cristian Bucur wrote:
> > > > > +	fman at 1a00000 {
> > > > > +		enet0: ethernet at e0000 {
> > > > > +		};
> > > > > +
> > > > > +		enet1: ethernet at e2000 {
> > > > > +		};
> > > > > +
> > > > > +		enet2: ethernet at e4000 {
> > > > > +		};
> > > > > +
> > > > > +		enet3: ethernet at e6000 {
> > > > > +		};
> > > > > +
> > > > > +		enet4: ethernet at e8000 {
> > > > > +		};
> > > > > +
> > > > > +		enet5: ethernet at ea000 {
> > > > > +		};
> > > > > +
> > > > > +		enet6: ethernet at f0000 {
> > > > > +		};
> > > > > +	};
> > > >
> > > > I do not quite understand why these nodes are empty.
> > >
> > > These nodes provide the aliases (and custom SoC mapping) for the
> > > FMan ports that are used on this particular SoC. The particular
> > > node details are found in the port dtsi file thus no information
> > > is required here. Given the fact that the numbering and actual
> > > ports that are in use can vary between SoCs, the aliases cannot
> > > be included in the port dtsi nor in the FMan dtsi.
> > 
> > Do not completely follow.  What do you mean by 'port dtsi file'?  Maybe
> > I should wait for you new patches with better commit log and comments to
> > understand these odd empty nodes.
> 
> The DPAA IP can have a certain number of ports. Out of those, a certain
> SoC can use all or only a subset, with diverse decisions on actual numbering
> of the used ports. Next, when using the SoC on a particular board, some
> ports will be used, some will not. The file hierarchy relates to this
> hierarchy - you have individual port files that are included by the
> SoC dtsi which in turn is included by the board dts. These nodes do not
> need any new content as all the node details are provided by the port
> dtsi files. The information they provide is the alias used for each port.

My impression is that such hierarchy mapping is not really necessary and
only makes the device tree source messy and hard to follow.  I do not
like it.

> 
> > >
> > > > > +};
> > > > > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > > b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > > > index 0989d63..ee66bb2 100644
> > > > > --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > > > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > > > @@ -181,3 +181,5 @@
> > > > >  		reg = <0>;
> > > > >  	};
> > > > >  };
> > > > > +
> > > > > +/include/ "fsl-ls1043-post.dtsi"
> > > >
> > > > Move it to header of the file.
> > >
> > > This is to be included at the end, to make sure the references are
> > > met and to allow overrides if needed.
> > 
> > What is broken if you move the include to header?
> 
> Not much besides the structure we've always used for our SoCs device
> trees. The file is called "-post.dtsi" because here is the place any
> required overrides can be made, if needed. Moving to the top renders
> having this separate file useless.

That's great, and let's kill it then.

> 
> > >
> > > > > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > > b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > > > index c37110b..d94f003 100644
> > > > > --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > > > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > > > @@ -139,3 +139,78 @@
> > > > >  &duart1 {
> > > > >  	status = "okay";
> > > > >  };
> > > > > +
> > > > > +/include/ "fsl-ls1043-post.dtsi"
> > > > > +
> > > >
> > > > Ditto
> > > >
> > > > > +&soc {
> > > > > +	fman at 1a00000 {
> > > > > +		ethernet at e0000 {
> > > >
> > > > You defined enet0 label.  Why don't you use it?
> > > >
> > >
> > > The enet0 label is used by u-boot for fix-ups, providing the
> > > actual offset here makes it easier to follow.
> > 
> > You will not need to construct the node hierarchy with label.  And
> > alias/label name is more easier to follow than offset.
> > 
> > Shawn
> 
> When I said easier to follow I was referring to someone creating a
> new device tree for his custom board, not someone reading the device
> tree. If you have the board and SoC reference manuals in your hands
> and you are writing a new board device tree, having the offset here
> makes things easier. The benefit of having one less indentation level
> is lesser than that.

The while complex and messy file hierarchy makes users' life harder,
both the ones reading the device tree and the ones creating board device
tree.  I would suggest you go the opposite, making the device tree
simple and easy for users by allowing data duplication.  In arm/arm64
device tree world, we do not consider DT data reusing/sharing among
different SoCs that much.

Shawn

^ permalink raw reply	[flat|nested] 30+ messages in thread

* RE: [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support
  2017-03-27  7:55             ` Shawn Guo
  (?)
@ 2017-03-27  8:11               ` Madalin-Cristian Bucur
  -1 siblings, 0 replies; 30+ messages in thread
From: Madalin-Cristian Bucur @ 2017-03-27  8:11 UTC (permalink / raw)
  To: Shawn Guo, devicetree, robh+dt, mark.rutland, Roy Pledge,
	will.deacon, catalin.marinas
  Cc: linux-kernel, Russell King - ARM Linux, Kumar Gala, linux-arm-kernel

> -----Original Message-----
> From: Shawn Guo [mailto:shawnguo@kernel.org]
> Sent: Monday, March 27, 2017 10:56 AM
> Subject: Re: [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support
> 
> On Mon, Mar 27, 2017 at 07:03:40AM +0000, Madalin-Cristian Bucur wrote:
> > > > > > +	fman@1a00000 {
> > > > > > +		enet0: ethernet@e0000 {
> > > > > > +		};
> > > > > > +
> > > > > > +		enet1: ethernet@e2000 {
> > > > > > +		};
> > > > > > +
> > > > > > +		enet2: ethernet@e4000 {
> > > > > > +		};
> > > > > > +
> > > > > > +		enet3: ethernet@e6000 {
> > > > > > +		};
> > > > > > +
> > > > > > +		enet4: ethernet@e8000 {
> > > > > > +		};
> > > > > > +
> > > > > > +		enet5: ethernet@ea000 {
> > > > > > +		};
> > > > > > +
> > > > > > +		enet6: ethernet@f0000 {
> > > > > > +		};
> > > > > > +	};
> > > > >
> > > > > I do not quite understand why these nodes are empty.
> > > >
> > > > These nodes provide the aliases (and custom SoC mapping) for the
> > > > FMan ports that are used on this particular SoC. The particular
> > > > node details are found in the port dtsi file thus no information
> > > > is required here. Given the fact that the numbering and actual
> > > > ports that are in use can vary between SoCs, the aliases cannot
> > > > be included in the port dtsi nor in the FMan dtsi.
> > >
> > > Do not completely follow.  What do you mean by 'port dtsi file'?
> Maybe
> > > I should wait for you new patches with better commit log and comments
> to
> > > understand these odd empty nodes.
> >
> > The DPAA IP can have a certain number of ports. Out of those, a certain
> > SoC can use all or only a subset, with diverse decisions on actual
> numbering
> > of the used ports. Next, when using the SoC on a particular board, some
> > ports will be used, some will not. The file hierarchy relates to this
> > hierarchy - you have individual port files that are included by the
> > SoC dtsi which in turn is included by the board dts. These nodes do not
> > need any new content as all the node details are provided by the port
> > dtsi files. The information they provide is the alias used for each
> port.
> 
> My impression is that such hierarchy mapping is not really necessary and
> only makes the device tree source messy and hard to follow.  I do not
> like it.

Hi Shawn, I respect your opinion on this, I'm sure it is the result of an
extensive experience dealing with less complicated devices. Before breaking
a construct that to date has served the DPAA users well I'd like to hear
more thoughts on this topic.

> >
> > > >
> > > > > > +};
> > > > > > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > > > b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > > > > index 0989d63..ee66bb2 100644
> > > > > > --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > > > > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > > > > @@ -181,3 +181,5 @@
> > > > > >  		reg = <0>;
> > > > > >  	};
> > > > > >  };
> > > > > > +
> > > > > > +/include/ "fsl-ls1043-post.dtsi"
> > > > >
> > > > > Move it to header of the file.
> > > >
> > > > This is to be included at the end, to make sure the references are
> > > > met and to allow overrides if needed.
> > >
> > > What is broken if you move the include to header?
> >
> > Not much besides the structure we've always used for our SoCs device
> > trees. The file is called "-post.dtsi" because here is the place any
> > required overrides can be made, if needed. Moving to the top renders
> > having this separate file useless.
> 
> That's great, and let's kill it then.
> 
> >
> > > >
> > > > > > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > > > b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > > > > index c37110b..d94f003 100644
> > > > > > --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > > > > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > > > > @@ -139,3 +139,78 @@
> > > > > >  &duart1 {
> > > > > >  	status = "okay";
> > > > > >  };
> > > > > > +
> > > > > > +/include/ "fsl-ls1043-post.dtsi"
> > > > > > +
> > > > >
> > > > > Ditto
> > > > >
> > > > > > +&soc {
> > > > > > +	fman@1a00000 {
> > > > > > +		ethernet@e0000 {
> > > > >
> > > > > You defined enet0 label.  Why don't you use it?
> > > > >
> > > >
> > > > The enet0 label is used by u-boot for fix-ups, providing the
> > > > actual offset here makes it easier to follow.
> > >
> > > You will not need to construct the node hierarchy with label.  And
> > > alias/label name is more easier to follow than offset.
> > >
> > > Shawn
> >
> > When I said easier to follow I was referring to someone creating a
> > new device tree for his custom board, not someone reading the device
> > tree. If you have the board and SoC reference manuals in your hands
> > and you are writing a new board device tree, having the offset here
> > makes things easier. The benefit of having one less indentation level
> > is lesser than that.
> 
> The while complex and messy file hierarchy makes users' life harder,
> both the ones reading the device tree and the ones creating board device
> tree.  I would suggest you go the opposite, making the device tree
> simple and easy for users by allowing data duplication.  In arm/arm64
> device tree world, we do not consider DT data reusing/sharing among
> different SoCs that much.
> 
> Shawn

Complex it is, mirroring the IP, but messy it is a word I would not use.

Regards,
Madalin

^ permalink raw reply	[flat|nested] 30+ messages in thread

* RE: [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support
@ 2017-03-27  8:11               ` Madalin-Cristian Bucur
  0 siblings, 0 replies; 30+ messages in thread
From: Madalin-Cristian Bucur @ 2017-03-27  8:11 UTC (permalink / raw)
  To: Shawn Guo, devicetree, robh+dt, mark.rutland, Roy Pledge,
	will.deacon, catalin.marinas
  Cc: Kumar Gala, linux-kernel, linux-arm-kernel, Russell King - ARM Linux

> -----Original Message-----
> From: Shawn Guo [mailto:shawnguo@kernel.org]
> Sent: Monday, March 27, 2017 10:56 AM
> Subject: Re: [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support
> 
> On Mon, Mar 27, 2017 at 07:03:40AM +0000, Madalin-Cristian Bucur wrote:
> > > > > > +	fman@1a00000 {
> > > > > > +		enet0: ethernet@e0000 {
> > > > > > +		};
> > > > > > +
> > > > > > +		enet1: ethernet@e2000 {
> > > > > > +		};
> > > > > > +
> > > > > > +		enet2: ethernet@e4000 {
> > > > > > +		};
> > > > > > +
> > > > > > +		enet3: ethernet@e6000 {
> > > > > > +		};
> > > > > > +
> > > > > > +		enet4: ethernet@e8000 {
> > > > > > +		};
> > > > > > +
> > > > > > +		enet5: ethernet@ea000 {
> > > > > > +		};
> > > > > > +
> > > > > > +		enet6: ethernet@f0000 {
> > > > > > +		};
> > > > > > +	};
> > > > >
> > > > > I do not quite understand why these nodes are empty.
> > > >
> > > > These nodes provide the aliases (and custom SoC mapping) for the
> > > > FMan ports that are used on this particular SoC. The particular
> > > > node details are found in the port dtsi file thus no information
> > > > is required here. Given the fact that the numbering and actual
> > > > ports that are in use can vary between SoCs, the aliases cannot
> > > > be included in the port dtsi nor in the FMan dtsi.
> > >
> > > Do not completely follow.  What do you mean by 'port dtsi file'?
> Maybe
> > > I should wait for you new patches with better commit log and comments
> to
> > > understand these odd empty nodes.
> >
> > The DPAA IP can have a certain number of ports. Out of those, a certain
> > SoC can use all or only a subset, with diverse decisions on actual
> numbering
> > of the used ports. Next, when using the SoC on a particular board, some
> > ports will be used, some will not. The file hierarchy relates to this
> > hierarchy - you have individual port files that are included by the
> > SoC dtsi which in turn is included by the board dts. These nodes do not
> > need any new content as all the node details are provided by the port
> > dtsi files. The information they provide is the alias used for each
> port.
> 
> My impression is that such hierarchy mapping is not really necessary and
> only makes the device tree source messy and hard to follow.  I do not
> like it.

Hi Shawn, I respect your opinion on this, I'm sure it is the result of an
extensive experience dealing with less complicated devices. Before breaking
a construct that to date has served the DPAA users well I'd like to hear
more thoughts on this topic.

> >
> > > >
> > > > > > +};
> > > > > > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > > > b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > > > > index 0989d63..ee66bb2 100644
> > > > > > --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > > > > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > > > > @@ -181,3 +181,5 @@
> > > > > >  		reg = <0>;
> > > > > >  	};
> > > > > >  };
> > > > > > +
> > > > > > +/include/ "fsl-ls1043-post.dtsi"
> > > > >
> > > > > Move it to header of the file.
> > > >
> > > > This is to be included at the end, to make sure the references are
> > > > met and to allow overrides if needed.
> > >
> > > What is broken if you move the include to header?
> >
> > Not much besides the structure we've always used for our SoCs device
> > trees. The file is called "-post.dtsi" because here is the place any
> > required overrides can be made, if needed. Moving to the top renders
> > having this separate file useless.
> 
> That's great, and let's kill it then.
> 
> >
> > > >
> > > > > > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > > > b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > > > > index c37110b..d94f003 100644
> > > > > > --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > > > > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > > > > @@ -139,3 +139,78 @@
> > > > > >  &duart1 {
> > > > > >  	status = "okay";
> > > > > >  };
> > > > > > +
> > > > > > +/include/ "fsl-ls1043-post.dtsi"
> > > > > > +
> > > > >
> > > > > Ditto
> > > > >
> > > > > > +&soc {
> > > > > > +	fman@1a00000 {
> > > > > > +		ethernet@e0000 {
> > > > >
> > > > > You defined enet0 label.  Why don't you use it?
> > > > >
> > > >
> > > > The enet0 label is used by u-boot for fix-ups, providing the
> > > > actual offset here makes it easier to follow.
> > >
> > > You will not need to construct the node hierarchy with label.  And
> > > alias/label name is more easier to follow than offset.
> > >
> > > Shawn
> >
> > When I said easier to follow I was referring to someone creating a
> > new device tree for his custom board, not someone reading the device
> > tree. If you have the board and SoC reference manuals in your hands
> > and you are writing a new board device tree, having the offset here
> > makes things easier. The benefit of having one less indentation level
> > is lesser than that.
> 
> The while complex and messy file hierarchy makes users' life harder,
> both the ones reading the device tree and the ones creating board device
> tree.  I would suggest you go the opposite, making the device tree
> simple and easy for users by allowing data duplication.  In arm/arm64
> device tree world, we do not consider DT data reusing/sharing among
> different SoCs that much.
> 
> Shawn

Complex it is, mirroring the IP, but messy it is a word I would not use.

Regards,
Madalin

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support
@ 2017-03-27  8:11               ` Madalin-Cristian Bucur
  0 siblings, 0 replies; 30+ messages in thread
From: Madalin-Cristian Bucur @ 2017-03-27  8:11 UTC (permalink / raw)
  To: linux-arm-kernel

> -----Original Message-----
> From: Shawn Guo [mailto:shawnguo at kernel.org]
> Sent: Monday, March 27, 2017 10:56 AM
> Subject: Re: [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support
> 
> On Mon, Mar 27, 2017 at 07:03:40AM +0000, Madalin-Cristian Bucur wrote:
> > > > > > +	fman at 1a00000 {
> > > > > > +		enet0: ethernet at e0000 {
> > > > > > +		};
> > > > > > +
> > > > > > +		enet1: ethernet at e2000 {
> > > > > > +		};
> > > > > > +
> > > > > > +		enet2: ethernet at e4000 {
> > > > > > +		};
> > > > > > +
> > > > > > +		enet3: ethernet at e6000 {
> > > > > > +		};
> > > > > > +
> > > > > > +		enet4: ethernet at e8000 {
> > > > > > +		};
> > > > > > +
> > > > > > +		enet5: ethernet at ea000 {
> > > > > > +		};
> > > > > > +
> > > > > > +		enet6: ethernet at f0000 {
> > > > > > +		};
> > > > > > +	};
> > > > >
> > > > > I do not quite understand why these nodes are empty.
> > > >
> > > > These nodes provide the aliases (and custom SoC mapping) for the
> > > > FMan ports that are used on this particular SoC. The particular
> > > > node details are found in the port dtsi file thus no information
> > > > is required here. Given the fact that the numbering and actual
> > > > ports that are in use can vary between SoCs, the aliases cannot
> > > > be included in the port dtsi nor in the FMan dtsi.
> > >
> > > Do not completely follow.  What do you mean by 'port dtsi file'?
> Maybe
> > > I should wait for you new patches with better commit log and comments
> to
> > > understand these odd empty nodes.
> >
> > The DPAA IP can have a certain number of ports. Out of those, a certain
> > SoC can use all or only a subset, with diverse decisions on actual
> numbering
> > of the used ports. Next, when using the SoC on a particular board, some
> > ports will be used, some will not. The file hierarchy relates to this
> > hierarchy - you have individual port files that are included by the
> > SoC dtsi which in turn is included by the board dts. These nodes do not
> > need any new content as all the node details are provided by the port
> > dtsi files. The information they provide is the alias used for each
> port.
> 
> My impression is that such hierarchy mapping is not really necessary and
> only makes the device tree source messy and hard to follow.  I do not
> like it.

Hi Shawn, I respect your opinion on this, I'm sure it is the result of an
extensive experience dealing with less complicated devices. Before breaking
a construct that to date has served the DPAA users well I'd like to hear
more thoughts on this topic.

> >
> > > >
> > > > > > +};
> > > > > > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > > > b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > > > > index 0989d63..ee66bb2 100644
> > > > > > --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > > > > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> > > > > > @@ -181,3 +181,5 @@
> > > > > >  		reg = <0>;
> > > > > >  	};
> > > > > >  };
> > > > > > +
> > > > > > +/include/ "fsl-ls1043-post.dtsi"
> > > > >
> > > > > Move it to header of the file.
> > > >
> > > > This is to be included at the end, to make sure the references are
> > > > met and to allow overrides if needed.
> > >
> > > What is broken if you move the include to header?
> >
> > Not much besides the structure we've always used for our SoCs device
> > trees. The file is called "-post.dtsi" because here is the place any
> > required overrides can be made, if needed. Moving to the top renders
> > having this separate file useless.
> 
> That's great, and let's kill it then.
> 
> >
> > > >
> > > > > > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > > > b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > > > > index c37110b..d94f003 100644
> > > > > > --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > > > > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> > > > > > @@ -139,3 +139,78 @@
> > > > > >  &duart1 {
> > > > > >  	status = "okay";
> > > > > >  };
> > > > > > +
> > > > > > +/include/ "fsl-ls1043-post.dtsi"
> > > > > > +
> > > > >
> > > > > Ditto
> > > > >
> > > > > > +&soc {
> > > > > > +	fman at 1a00000 {
> > > > > > +		ethernet at e0000 {
> > > > >
> > > > > You defined enet0 label.  Why don't you use it?
> > > > >
> > > >
> > > > The enet0 label is used by u-boot for fix-ups, providing the
> > > > actual offset here makes it easier to follow.
> > >
> > > You will not need to construct the node hierarchy with label.  And
> > > alias/label name is more easier to follow than offset.
> > >
> > > Shawn
> >
> > When I said easier to follow I was referring to someone creating a
> > new device tree for his custom board, not someone reading the device
> > tree. If you have the board and SoC reference manuals in your hands
> > and you are writing a new board device tree, having the offset here
> > makes things easier. The benefit of having one less indentation level
> > is lesser than that.
> 
> The while complex and messy file hierarchy makes users' life harder,
> both the ones reading the device tree and the ones creating board device
> tree.  I would suggest you go the opposite, making the device tree
> simple and easy for users by allowing data duplication.  In arm/arm64
> device tree world, we do not consider DT data reusing/sharing among
> different SoCs that much.
> 
> Shawn

Complex it is, mirroring the IP, but messy it is a word I would not use.

Regards,
Madalin

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support
  2017-03-27  8:11               ` Madalin-Cristian Bucur
  (?)
@ 2017-03-27  8:55                 ` Shawn Guo
  -1 siblings, 0 replies; 30+ messages in thread
From: Shawn Guo @ 2017-03-27  8:55 UTC (permalink / raw)
  To: Madalin-Cristian Bucur
  Cc: devicetree, robh+dt, mark.rutland, Roy Pledge, will.deacon,
	catalin.marinas, Kumar Gala, linux-kernel, linux-arm-kernel,
	Russell King - ARM Linux

On Mon, Mar 27, 2017 at 08:11:33AM +0000, Madalin-Cristian Bucur wrote:
> Complex it is, mirroring the IP, but messy it is a word I would not use.

Well, just my personal opinion.

Shawn

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support
@ 2017-03-27  8:55                 ` Shawn Guo
  0 siblings, 0 replies; 30+ messages in thread
From: Shawn Guo @ 2017-03-27  8:55 UTC (permalink / raw)
  To: Madalin-Cristian Bucur
  Cc: mark.rutland, devicetree, catalin.marinas, Roy Pledge,
	will.deacon, linux-kernel, Russell King - ARM Linux, robh+dt,
	Kumar Gala, linux-arm-kernel

On Mon, Mar 27, 2017 at 08:11:33AM +0000, Madalin-Cristian Bucur wrote:
> Complex it is, mirroring the IP, but messy it is a word I would not use.

Well, just my personal opinion.

Shawn

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support
@ 2017-03-27  8:55                 ` Shawn Guo
  0 siblings, 0 replies; 30+ messages in thread
From: Shawn Guo @ 2017-03-27  8:55 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Mar 27, 2017 at 08:11:33AM +0000, Madalin-Cristian Bucur wrote:
> Complex it is, mirroring the IP, but messy it is a word I would not use.

Well, just my personal opinion.

Shawn

^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2017-03-27  8:57 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-01 15:35 [PATCH v2 0/2] dts: arm64: add DPAA 1 support for ARM based SoCs Madalin Bucur
2017-03-01 15:35 ` Madalin Bucur
2017-03-01 15:35 ` Madalin Bucur
2017-03-01 15:35 ` [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support Madalin Bucur
2017-03-01 15:35   ` Madalin Bucur
2017-03-01 15:35   ` Madalin Bucur
2017-03-14  7:07   ` Shawn Guo
2017-03-14  7:07     ` Shawn Guo
2017-03-14  7:07     ` Shawn Guo
2017-03-22 10:58     ` Madalin-Cristian Bucur
2017-03-22 10:58       ` Madalin-Cristian Bucur
2017-03-22 10:58       ` Madalin-Cristian Bucur
2017-03-27  6:27       ` Shawn Guo
2017-03-27  6:27         ` Shawn Guo
2017-03-27  6:27         ` Shawn Guo
2017-03-27  7:03         ` Madalin-Cristian Bucur
2017-03-27  7:03           ` Madalin-Cristian Bucur
2017-03-27  7:03           ` Madalin-Cristian Bucur
2017-03-27  7:55           ` Shawn Guo
2017-03-27  7:55             ` Shawn Guo
2017-03-27  7:55             ` Shawn Guo
2017-03-27  8:11             ` Madalin-Cristian Bucur
2017-03-27  8:11               ` Madalin-Cristian Bucur
2017-03-27  8:11               ` Madalin-Cristian Bucur
2017-03-27  8:55               ` Shawn Guo
2017-03-27  8:55                 ` Shawn Guo
2017-03-27  8:55                 ` Shawn Guo
2017-03-01 15:35 ` [PATCH v2 2/2] dts: arm64: add LS1046A " Madalin Bucur
2017-03-01 15:35   ` Madalin Bucur
2017-03-01 15:35   ` Madalin Bucur

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.