From bbf706ecfd4295d73c8217d5220573dd51d7a081 Mon Sep 17 00:00:00 2001
From: Luo Jie <quic_luoj@quicinc.com>
Date: Fri, 1 Mar 2024 14:46:45 +0800
Subject: [PATCH] arm64: dts: qcom: Add IPQ9574 PPE base device node

PPE is the packet process engine on the Qualcomm IPQ platform,
which is connected with the external switch or PHY device via
the UNIPHY (PCS).

Change-Id: I254bd48c218aa4eab54f697a2ad149f5a93b682c
Signed-off-by: Luo Jie <quic_luoj@quicinc.com>
Alex G: Add "qcom_ppe" label to PPE node
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
---
 arch/arm64/boot/dts/qcom/ipq9574.dtsi | 39 +++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

--- a/arch/arm64/boot/dts/qcom/ipq9574.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq9574.dtsi
@@ -13,6 +13,7 @@
 #include <dt-bindings/interconnect/qcom,ipq9574.h>
 #include <dt-bindings/interrupt-controller/arm-gic.h>
 #include <dt-bindings/reset/qcom,ipq9574-gcc.h>
+#include <dt-bindings/reset/qcom,ipq9574-nsscc.h>
 #include <dt-bindings/thermal/thermal.h>
 
 / {
@@ -1271,6 +1272,44 @@
 			#interconnect-cells = <1>;
 		};
 
+		qcom_ppe: ethernet@3a000000 {
+			compatible = "qcom,ipq9574-ppe";
+			reg = <0x3a000000 0xbef800>;
+			ranges;
+			#address-cells = <1>;
+			#size-cells = <1>;
+			clocks = <&nsscc NSS_CC_PPE_SWITCH_CLK>,
+				 <&nsscc NSS_CC_PPE_SWITCH_CFG_CLK>,
+				 <&nsscc NSS_CC_PPE_SWITCH_IPE_CLK>,
+				 <&nsscc NSS_CC_PPE_SWITCH_BTQ_CLK>;
+			clock-names = "ppe",
+				      "ppe_cfg",
+				      "ppe_ipe",
+				      "ppe_btq";
+			resets = <&nsscc PPE_FULL_RESET>;
+			interconnects = <&nsscc MASTER_NSSNOC_PPE
+					 &nsscc SLAVE_NSSNOC_PPE>,
+					<&nsscc MASTER_NSSNOC_PPE_CFG
+					 &nsscc SLAVE_NSSNOC_PPE_CFG>,
+					<&gcc MASTER_NSSNOC_QOSGEN_REF
+					 &gcc SLAVE_NSSNOC_QOSGEN_REF>,
+					<&gcc MASTER_NSSNOC_TIMEOUT_REF
+					 &gcc SLAVE_NSSNOC_TIMEOUT_REF>,
+					<&gcc MASTER_MEM_NOC_NSSNOC
+					 &gcc SLAVE_MEM_NOC_NSSNOC>,
+					<&gcc MASTER_NSSNOC_MEMNOC
+					 &gcc SLAVE_NSSNOC_MEMNOC>,
+					<&gcc MASTER_NSSNOC_MEM_NOC_1
+					 &gcc SLAVE_NSSNOC_MEM_NOC_1>;
+			interconnect-names = "ppe",
+					     "ppe_cfg",
+					     "qos_gen",
+					     "timeout_ref",
+					     "nssnoc_memnoc",
+					     "memnoc_nssnoc",
+					     "memnoc_nssnoc_1";
+		};
+
 		pcs_uniphy0: ethernet-pcs@7a00000 {
 			compatible = "qcom,ipq9574-pcs";
 			reg = <0x7a00000 0x10000>;
