|
|
@@ -0,0 +1,370 @@
|
|
|
+From patchwork Sat Apr 26 08:47:20 2025
|
|
|
+Content-Type: text/plain; charset="utf-8"
|
|
|
+MIME-Version: 1.0
|
|
|
+Content-Transfer-Encoding: 7bit
|
|
|
+X-Patchwork-Submitter: George Moussalem <[email protected]>
|
|
|
+X-Patchwork-Id: 14067566
|
|
|
+Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org
|
|
|
+ [10.30.226.201])
|
|
|
+ (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
|
|
|
+ (No client certificate requested)
|
|
|
+ by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7F4681C84B1;
|
|
|
+ Sat, 26 Apr 2025 08:47:51 +0000 (UTC)
|
|
|
+Authentication-Results: smtp.subspace.kernel.org;
|
|
|
+ arc=none smtp.client-ip=10.30.226.201
|
|
|
+ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
|
|
|
+ t=1745657271; cv=none;
|
|
|
+ b=M866cJf/V6RxRwZ+Z/t6DUNC/4uUC28M2tFr3KZNsWjzpmjRvEQ0F/GNa8h5aJBvGnSEePGU/O/HxHPBxi4GiTA9ZVp/lf7Hs+r8IFTvSggG31OxmOlVKLlPaHAGfmFWYM/IFRz9vGSrVQ7gbQanlaR8yvblfamuIEHX1oJ+/ik=
|
|
|
+ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org;
|
|
|
+ s=arc-20240116; t=1745657271; c=relaxed/simple;
|
|
|
+ bh=s2C/YfnCIJHh91xdt3j52t+/ImXU3ihecScu2Iibt88=;
|
|
|
+ h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
|
|
|
+ In-Reply-To:To:Cc;
|
|
|
+ b=dKXYWKjuQJO3BeaVAC5JVuoSJ538vu9FvW/1eGwbMzm5ZwQFOa1zMpipPc6YxOD9XZd4ckdLgr+eMg725RGmHklL/kvGpno5/oBRxdVmPAJLGO231PJgUdUGSvEZ3l2chja2181+a1mSPHhJ4aErT3SEYuWMrRf2NHDfC/Ac5wY=
|
|
|
+ARC-Authentication-Results: i=1; smtp.subspace.kernel.org;
|
|
|
+ dkim=pass (2048-bit key) header.d=kernel.org [email protected]
|
|
|
+ header.b=oFiqwO9r; arc=none smtp.client-ip=10.30.226.201
|
|
|
+Authentication-Results: smtp.subspace.kernel.org;
|
|
|
+ dkim=pass (2048-bit key) header.d=kernel.org [email protected]
|
|
|
+ header.b="oFiqwO9r"
|
|
|
+Received: by smtp.kernel.org (Postfix) with ESMTPS id EBA53C4CEEB;
|
|
|
+ Sat, 26 Apr 2025 08:47:50 +0000 (UTC)
|
|
|
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
|
|
|
+ s=k20201202; t=1745657271;
|
|
|
+ bh=s2C/YfnCIJHh91xdt3j52t+/ImXU3ihecScu2Iibt88=;
|
|
|
+ h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From;
|
|
|
+ b=oFiqwO9r8uxa64raZD61ax5LqtigXQBAXL9AvrSRrZA/GiwcA1rmMAHQKdSaS/zin
|
|
|
+ LpatrrfpB+O005agqR5ce8kxbHa6402LS4WZPYz6H+1xJYPjUmLnNsl2vboufmGrG6
|
|
|
+ b+JrwDy5UWsBWZVvZgTUF5D9U95ZWI3iHDOUek0lkyR9EHvqUiMb/ELtA7feFItqEs
|
|
|
+ M/QeZWHKvGgfhpOtfEcRZYcdS5c8FdFDlTf5k2r0sRBKBM2XzzyIrtNtQqi+/bhvtr
|
|
|
+ sIu+wvwZhfGgJsGT8dDpLTcukN2anyL01bB076AHp3MzI2d4ggYYRFv09yVnzj50XD
|
|
|
+ 5nMOYnjtjTZQw==
|
|
|
+Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org
|
|
|
+ (localhost.localdomain [127.0.0.1])
|
|
|
+ by smtp.lore.kernel.org (Postfix) with ESMTP id DB3E5C369D1;
|
|
|
+ Sat, 26 Apr 2025 08:47:50 +0000 (UTC)
|
|
|
+Date: Sat, 26 Apr 2025 12:47:20 +0400
|
|
|
+Subject: [PATCH v9 1/2] arm64: dts: qcom: ipq5018: Add PCIe related nodes
|
|
|
+Precedence: bulk
|
|
|
+X-Mailing-List: [email protected]
|
|
|
+List-Id: <linux-arm-msm.vger.kernel.org>
|
|
|
+List-Subscribe: <mailto:[email protected]>
|
|
|
+List-Unsubscribe: <mailto:[email protected]>
|
|
|
+MIME-Version: 1.0
|
|
|
+Message-Id: <[email protected]>
|
|
|
+References: <[email protected]>
|
|
|
+In-Reply-To: <[email protected]>
|
|
|
+To: Vinod Koul <[email protected]>,
|
|
|
+ Kishon Vijay Abraham I <[email protected]>, Rob Herring <[email protected]>,
|
|
|
+ Krzysztof Kozlowski <[email protected]>,
|
|
|
+ Conor Dooley <[email protected]>,
|
|
|
+ Nitheesh Sekar <[email protected]>,
|
|
|
+ Varadarajan Narayanan <[email protected]>,
|
|
|
+ Bjorn Helgaas <[email protected]>,
|
|
|
+ Lorenzo Pieralisi <[email protected]>, =?utf-8?q?Krzysztof_Wilczy?=
|
|
|
+ =?utf-8?q?=C5=84ski?= <[email protected]>,
|
|
|
+ Manivannan Sadhasivam <[email protected]>,
|
|
|
+ Bjorn Andersson <[email protected]>,
|
|
|
+ Konrad Dybcio <[email protected]>,
|
|
|
+ Praveenkumar I <[email protected]>
|
|
|
+Cc: [email protected], [email protected],
|
|
|
+ [email protected], [email protected],
|
|
|
+ [email protected], George Moussalem <[email protected]>,
|
|
|
+ [email protected],
|
|
|
+ [email protected],
|
|
|
+ Sricharan R <[email protected]>,
|
|
|
+ Dmitry Baryshkov <[email protected]>,
|
|
|
+ Konrad Dybcio <[email protected]>
|
|
|
+X-Mailer: b4 0.14.2
|
|
|
+X-Developer-Signature: v=1; a=ed25519-sha256; t=1745657268; l=7874;
|
|
|
+ [email protected]; s=20250321; h=from:subject:message-id;
|
|
|
+ bh=kGrZ/VHv+p7/RMeNwr0Kf61p0n/Ee/GyXpuErx0N1DQ=;
|
|
|
+ b=dmN2go3sL7VarHf/cZsYp30QQnlAI+awY3vAVLx+86ukud+nG2PwQ8rx7Aw64wCDmqdJayYWz
|
|
|
+ AhTM382VJf9AvbWcGs1CzUJw16JbmI8XNWnRHjhwbchkLu3okeDVfqI
|
|
|
+X-Developer-Key: [email protected]; a=ed25519;
|
|
|
+ pk=/PuRTSI9iYiHwcc6Nrde8qF4ZDhJBlUgpHdhsIjnqIk=
|
|
|
+X-Endpoint-Received: by B4 Relay for [email protected]/20250321
|
|
|
+ with auth_id=364
|
|
|
+X-Original-From: George Moussalem <[email protected]>
|
|
|
+Reply-To: [email protected]
|
|
|
+From: George Moussalem <[email protected]>
|
|
|
+
|
|
|
+From: Nitheesh Sekar <[email protected]>
|
|
|
+
|
|
|
+Add phy and controller nodes for a 2-lane Gen2 and
|
|
|
+a 1-lane Gen2 PCIe bus. IPQ5018 has 8 MSI SPI interrupts and
|
|
|
+one global interrupt.
|
|
|
+
|
|
|
+NOTE: the PCIe controller supports gen3, yet the phy is limited to gen2.
|
|
|
+
|
|
|
+Signed-off-by: Nitheesh Sekar <[email protected]>
|
|
|
+Signed-off-by: Sricharan R <[email protected]>
|
|
|
+Reviewed-by: Manivannan Sadhasivam <[email protected]>
|
|
|
+Reviewed-by: Dmitry Baryshkov <[email protected]>
|
|
|
+Reviewed-by: Konrad Dybcio <[email protected]>
|
|
|
+Signed-off-by: George Moussalem <[email protected]>
|
|
|
+---
|
|
|
+ arch/arm64/boot/dts/qcom/ipq5018.dtsi | 238 +++++++++++++++++++++++++++++++++-
|
|
|
+ 1 file changed, 236 insertions(+), 2 deletions(-)
|
|
|
+
|
|
|
+--- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
|
|
|
++++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
|
|
|
+@@ -260,6 +260,40 @@
|
|
|
+ #thermal-sensor-cells = <1>;
|
|
|
+ };
|
|
|
+
|
|
|
++ pcie1_phy: phy@7e000 {
|
|
|
++ compatible = "qcom,ipq5018-uniphy-pcie-phy";
|
|
|
++ reg = <0x0007e000 0x800>;
|
|
|
++
|
|
|
++ clocks = <&gcc GCC_PCIE1_PIPE_CLK>;
|
|
|
++
|
|
|
++ resets = <&gcc GCC_PCIE1_PHY_BCR>,
|
|
|
++ <&gcc GCC_PCIE1PHY_PHY_BCR>;
|
|
|
++
|
|
|
++ #clock-cells = <0>;
|
|
|
++ #phy-cells = <0>;
|
|
|
++
|
|
|
++ num-lanes = <1>;
|
|
|
++
|
|
|
++ status = "disabled";
|
|
|
++ };
|
|
|
++
|
|
|
++ pcie0_phy: phy@86000 {
|
|
|
++ compatible = "qcom,ipq5018-uniphy-pcie-phy";
|
|
|
++ reg = <0x00086000 0x1000>;
|
|
|
++
|
|
|
++ clocks = <&gcc GCC_PCIE0_PIPE_CLK>;
|
|
|
++
|
|
|
++ resets = <&gcc GCC_PCIE0_PHY_BCR>,
|
|
|
++ <&gcc GCC_PCIE0PHY_PHY_BCR>;
|
|
|
++
|
|
|
++ #clock-cells = <0>;
|
|
|
++ #phy-cells = <0>;
|
|
|
++
|
|
|
++ num-lanes = <2>;
|
|
|
++
|
|
|
++ status = "disabled";
|
|
|
++ };
|
|
|
++
|
|
|
+ tlmm: pinctrl@1000000 {
|
|
|
+ compatible = "qcom,ipq5018-tlmm";
|
|
|
+ reg = <0x01000000 0x300000>;
|
|
|
+@@ -283,8 +317,8 @@
|
|
|
+ reg = <0x01800000 0x80000>;
|
|
|
+ clocks = <&xo_board_clk>,
|
|
|
+ <&sleep_clk>,
|
|
|
+- <0>,
|
|
|
+- <0>,
|
|
|
++ <&pcie0_phy>,
|
|
|
++ <&pcie1_phy>,
|
|
|
+ <0>,
|
|
|
+ <0>,
|
|
|
+ <0>,
|
|
|
+@@ -501,6 +535,206 @@
|
|
|
+ status = "disabled";
|
|
|
+ };
|
|
|
+ };
|
|
|
++
|
|
|
++ pcie1: pcie@80000000 {
|
|
|
++ compatible = "qcom,pcie-ipq5018";
|
|
|
++ reg = <0x80000000 0xf1d>,
|
|
|
++ <0x80000f20 0xa8>,
|
|
|
++ <0x80001000 0x1000>,
|
|
|
++ <0x00078000 0x3000>,
|
|
|
++ <0x80100000 0x1000>,
|
|
|
++ <0x0007b000 0x1000>;
|
|
|
++ reg-names = "dbi",
|
|
|
++ "elbi",
|
|
|
++ "atu",
|
|
|
++ "parf",
|
|
|
++ "config",
|
|
|
++ "mhi";
|
|
|
++ device_type = "pci";
|
|
|
++ linux,pci-domain = <1>;
|
|
|
++ bus-range = <0x00 0xff>;
|
|
|
++ num-lanes = <1>;
|
|
|
++ #address-cells = <3>;
|
|
|
++ #size-cells = <2>;
|
|
|
++
|
|
|
++ /* The controller supports Gen3, but the connected PHY is Gen2-capable */
|
|
|
++ max-link-speed = <2>;
|
|
|
++
|
|
|
++ phys = <&pcie1_phy>;
|
|
|
++ phy-names ="pciephy";
|
|
|
++
|
|
|
++ ranges = <0x01000000 0 0x00000000 0x80200000 0 0x00100000>,
|
|
|
++ <0x02000000 0 0x80300000 0x80300000 0 0x10000000>;
|
|
|
++
|
|
|
++ msi-map = <0x0 &v2m0 0x0 0xff8>;
|
|
|
++
|
|
|
++ interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
++ <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
++ <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
++ <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
++ <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
++ <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
++ <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
++ <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
++ <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
++ interrupt-names = "msi0",
|
|
|
++ "msi1",
|
|
|
++ "msi2",
|
|
|
++ "msi3",
|
|
|
++ "msi4",
|
|
|
++ "msi5",
|
|
|
++ "msi6",
|
|
|
++ "msi7",
|
|
|
++ "global";
|
|
|
++
|
|
|
++ #interrupt-cells = <1>;
|
|
|
++ interrupt-map-mask = <0 0 0 0x7>;
|
|
|
++ interrupt-map = <0 0 0 1 &intc 0 0 142 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
++ <0 0 0 2 &intc 0 0 143 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
++ <0 0 0 3 &intc 0 0 144 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
++ <0 0 0 4 &intc 0 0 145 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
++
|
|
|
++ clocks = <&gcc GCC_SYS_NOC_PCIE1_AXI_CLK>,
|
|
|
++ <&gcc GCC_PCIE1_AXI_M_CLK>,
|
|
|
++ <&gcc GCC_PCIE1_AXI_S_CLK>,
|
|
|
++ <&gcc GCC_PCIE1_AHB_CLK>,
|
|
|
++ <&gcc GCC_PCIE1_AUX_CLK>,
|
|
|
++ <&gcc GCC_PCIE1_AXI_S_BRIDGE_CLK>;
|
|
|
++ clock-names = "iface",
|
|
|
++ "axi_m",
|
|
|
++ "axi_s",
|
|
|
++ "ahb",
|
|
|
++ "aux",
|
|
|
++ "axi_bridge";
|
|
|
++
|
|
|
++ resets = <&gcc GCC_PCIE1_PIPE_ARES>,
|
|
|
++ <&gcc GCC_PCIE1_SLEEP_ARES>,
|
|
|
++ <&gcc GCC_PCIE1_CORE_STICKY_ARES>,
|
|
|
++ <&gcc GCC_PCIE1_AXI_MASTER_ARES>,
|
|
|
++ <&gcc GCC_PCIE1_AXI_SLAVE_ARES>,
|
|
|
++ <&gcc GCC_PCIE1_AHB_ARES>,
|
|
|
++ <&gcc GCC_PCIE1_AXI_MASTER_STICKY_ARES>,
|
|
|
++ <&gcc GCC_PCIE1_AXI_SLAVE_STICKY_ARES>;
|
|
|
++ reset-names = "pipe",
|
|
|
++ "sleep",
|
|
|
++ "sticky",
|
|
|
++ "axi_m",
|
|
|
++ "axi_s",
|
|
|
++ "ahb",
|
|
|
++ "axi_m_sticky",
|
|
|
++ "axi_s_sticky";
|
|
|
++
|
|
|
++ status = "disabled";
|
|
|
++
|
|
|
++ pcie@0 {
|
|
|
++ device_type = "pci";
|
|
|
++ reg = <0x0 0x0 0x0 0x0 0x0>;
|
|
|
++
|
|
|
++ #address-cells = <3>;
|
|
|
++ #size-cells = <2>;
|
|
|
++ ranges;
|
|
|
++ };
|
|
|
++ };
|
|
|
++
|
|
|
++ pcie0: pcie@a0000000 {
|
|
|
++ compatible = "qcom,pcie-ipq5018";
|
|
|
++ reg = <0xa0000000 0xf1d>,
|
|
|
++ <0xa0000f20 0xa8>,
|
|
|
++ <0xa0001000 0x1000>,
|
|
|
++ <0x00080000 0x3000>,
|
|
|
++ <0xa0100000 0x1000>,
|
|
|
++ <0x00083000 0x1000>;
|
|
|
++ reg-names = "dbi",
|
|
|
++ "elbi",
|
|
|
++ "atu",
|
|
|
++ "parf",
|
|
|
++ "config",
|
|
|
++ "mhi";
|
|
|
++ device_type = "pci";
|
|
|
++ linux,pci-domain = <0>;
|
|
|
++ bus-range = <0x00 0xff>;
|
|
|
++ num-lanes = <2>;
|
|
|
++ #address-cells = <3>;
|
|
|
++ #size-cells = <2>;
|
|
|
++
|
|
|
++ /* The controller supports Gen3, but the connected PHY is Gen2-capable */
|
|
|
++ max-link-speed = <2>;
|
|
|
++
|
|
|
++ phys = <&pcie0_phy>;
|
|
|
++ phy-names ="pciephy";
|
|
|
++
|
|
|
++ ranges = <0x01000000 0 0x00000000 0xa0200000 0 0x00100000>,
|
|
|
++ <0x02000000 0 0xa0300000 0xa0300000 0 0x10000000>;
|
|
|
++
|
|
|
++ msi-map = <0x0 &v2m0 0x0 0xff8>;
|
|
|
++
|
|
|
++ interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
++ <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
++ <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
++ <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
++ <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
++ <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
++ <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
++ <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
++ <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
++ interrupt-names = "msi0",
|
|
|
++ "msi1",
|
|
|
++ "msi2",
|
|
|
++ "msi3",
|
|
|
++ "msi4",
|
|
|
++ "msi5",
|
|
|
++ "msi6",
|
|
|
++ "msi7",
|
|
|
++ "global";
|
|
|
++
|
|
|
++ #interrupt-cells = <1>;
|
|
|
++ interrupt-map-mask = <0 0 0 0x7>;
|
|
|
++ interrupt-map = <0 0 0 1 &intc 0 0 75 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
++ <0 0 0 2 &intc 0 0 78 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
++ <0 0 0 3 &intc 0 0 79 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
++ <0 0 0 4 &intc 0 0 83 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
++
|
|
|
++ clocks = <&gcc GCC_SYS_NOC_PCIE0_AXI_CLK>,
|
|
|
++ <&gcc GCC_PCIE0_AXI_M_CLK>,
|
|
|
++ <&gcc GCC_PCIE0_AXI_S_CLK>,
|
|
|
++ <&gcc GCC_PCIE0_AHB_CLK>,
|
|
|
++ <&gcc GCC_PCIE0_AUX_CLK>,
|
|
|
++ <&gcc GCC_PCIE0_AXI_S_BRIDGE_CLK>;
|
|
|
++ clock-names = "iface",
|
|
|
++ "axi_m",
|
|
|
++ "axi_s",
|
|
|
++ "ahb",
|
|
|
++ "aux",
|
|
|
++ "axi_bridge";
|
|
|
++
|
|
|
++ resets = <&gcc GCC_PCIE0_PIPE_ARES>,
|
|
|
++ <&gcc GCC_PCIE0_SLEEP_ARES>,
|
|
|
++ <&gcc GCC_PCIE0_CORE_STICKY_ARES>,
|
|
|
++ <&gcc GCC_PCIE0_AXI_MASTER_ARES>,
|
|
|
++ <&gcc GCC_PCIE0_AXI_SLAVE_ARES>,
|
|
|
++ <&gcc GCC_PCIE0_AHB_ARES>,
|
|
|
++ <&gcc GCC_PCIE0_AXI_MASTER_STICKY_ARES>,
|
|
|
++ <&gcc GCC_PCIE0_AXI_SLAVE_STICKY_ARES>;
|
|
|
++ reset-names = "pipe",
|
|
|
++ "sleep",
|
|
|
++ "sticky",
|
|
|
++ "axi_m",
|
|
|
++ "axi_s",
|
|
|
++ "ahb",
|
|
|
++ "axi_m_sticky",
|
|
|
++ "axi_s_sticky";
|
|
|
++
|
|
|
++ status = "disabled";
|
|
|
++
|
|
|
++ pcie@0 {
|
|
|
++ device_type = "pci";
|
|
|
++ reg = <0x0 0x0 0x0 0x0 0x0>;
|
|
|
++
|
|
|
++ #address-cells = <3>;
|
|
|
++ #size-cells = <2>;
|
|
|
++ ranges;
|
|
|
++ };
|
|
|
++ };
|
|
|
+ };
|
|
|
+
|
|
|
+ thermal-zones {
|