devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/6] Enable IPQ5018 PCI support
@ 2025-03-14  5:55 George Moussalem
  2025-03-14  5:56 ` [PATCH v4 1/6] dt-bindings: phy: qcom: uniphy-pcie: Add ipq5018 compatible George Moussalem
       [not found] ` <20250314055644.32705-1-george.moussalem@outlook.com>
  0 siblings, 2 replies; 16+ messages in thread
From: George Moussalem @ 2025-03-14  5:55 UTC (permalink / raw)
  To: linux-arm-msm, linux-kernel, linux-pci, linux-phy, andersson,
	bhelgaas, conor+dt, devicetree, lumag, kishon, konradybcio,
	krzk+dt, kw, lpieralisi, manivannan.sadhasivam, p.zabel,
	quic_nsekar, robh, robimarko, vkoul, george.moussalem
  Cc: quic_srichara

This patch series adds the relevant phy and controller
DT configurations for enabling PCI gen2 support
on IPQ5018. IPQ5018 has two phys and two controllers, 
one dual-lane and one single-lane.

Last patch series (v3) submitted dates back to August 30, 2024.
As I've worked to add IPQ5018 platform support in OpenWrt, I'm
continuing the efforts to add Linux kernel support.

v4:
  *) removed dependency as the following have been applied:
	dt-bindings: phy: qcom,uniphy-pcie: Document PCIe uniphy
	phy: qcom: Introduce PCIe UNIPHY 28LP driver
	dt-bindings: PCI: qcom: Document the IPQ5332 PCIe controller
     Link: https://lore.kernel.org/all/20250313080600.1719505-1-quic_varada@quicinc.com/
  *) added Mani's RB tag to: PCI: qcom: Add support for IPQ5018
  *) Removed power-domains property requirement in dt-bindings for IPQ5018
     and removed Krzysztof's RB tag from:
     dt-bindings: PCI: qcom: Add IPQ5018 SoC
  *) fixed author chain and retained Sricharan Ramabadhran in SoB tags and
     kept Nitheesh Sekar as the original author
  *) Removed comments as per Konrad's comment in:
     arm64: dts: qcom: ipq5018: Add PCIe related nodes
  *) Link to v3 submitted by Sricharan Ramabadhran:
     Link: https://lore.kernel.org/all/20240830081132.4016860-1-quic_srichara@quicinc.com/
  *) Link to v3, incorrectly versioned:
     Link: https://lore.kernel.org/all/DS7PR19MB8883BC190797BECAA78EC50F9DCB2@DS7PR19MB8883.namprd19.prod.outlook.com/

v3 (incorrectly versioned):
  *) Depends on
     Link: https://patchwork.kernel.org/project/linux-arm-msm/cover/20250220094251.230936-1-quic_varada@quicinc.com/
  *) Added 8 MSI SPI and 1 global interrupts (Thanks Mani for confirming)
  *) Added hw revision (internal/synopsys) and nr of lanes in patch 4
     commit msg
  *) Sorted reg addresses and moved PCIe nodes accordingly
  *) Moved to GIC based interrupts
  *) Added rootport node in controller nodes
  *) Tested on Linksys devices (MX5500/SPNMX56)
  *) Link to v2:
     Link: https://lore.kernel.org/all/20240827045757.1101194-1-quic_srichara@quicinc.com/

v3:
  Added Reviewed-by tag for patch#1.
  Fixed dev_err_probe usage in patch#3.
  Added pinctrl/wak pins for pcie1 in patch#6.

v2:
  Fixed all review comments from Krzysztof, Robert Marko,
  Dmitry Baryshkov, Manivannan Sadhasivam, Konrad Dybcio.
  Updated the respective patches for their changes.

v1:
 Link: https://lore.kernel.org/lkml/32389b66-48f3-8ee8-e2f1-1613feed3cc7@gmail.com/T/

Nitheesh Sekar (6):
  dt-bindings: phy: qcom: uniphy-pcie: Add ipq5018 compatible
  phy: qualcomm: qcom-uniphy-pcie 28LP add support for IPQ5018
  dt-bindings: PCI: qcom: Add IPQ5018 SoC
  PCI: qcom: Add support for IPQ5018
  arm64: dts: qcom: ipq5018: Add PCIe related nodes
  arm64: dts: qcom: ipq5018: Enable PCIe

 .../devicetree/bindings/pci/qcom,pcie.yaml    |  58 +++++
 .../phy/qcom,ipq5332-uniphy-pcie-phy.yaml     |   3 +-
 .../arm64/boot/dts/qcom/ipq5018-rdp432-c2.dts |  38 +++
 arch/arm64/boot/dts/qcom/ipq5018.dtsi         | 232 +++++++++++++++++-
 drivers/pci/controller/dwc/pcie-qcom.c        |   1 +
 .../phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c  |  45 ++++
 6 files changed, 374 insertions(+), 3 deletions(-)

-- 
2.48.1


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

* [PATCH v4 1/6] dt-bindings: phy: qcom: uniphy-pcie: Add ipq5018 compatible
  2025-03-14  5:55 [PATCH v4 0/6] Enable IPQ5018 PCI support George Moussalem
@ 2025-03-14  5:56 ` George Moussalem
  2025-03-14  8:15   ` Krzysztof Kozlowski
       [not found] ` <20250314055644.32705-1-george.moussalem@outlook.com>
  1 sibling, 1 reply; 16+ messages in thread
From: George Moussalem @ 2025-03-14  5:56 UTC (permalink / raw)
  To: linux-arm-msm, linux-kernel, linux-pci, linux-phy, andersson,
	bhelgaas, conor+dt, devicetree, lumag, kishon, konradybcio,
	krzk+dt, kw, lpieralisi, manivannan.sadhasivam, p.zabel,
	quic_nsekar, robh, robimarko, vkoul, george.moussalem
  Cc: quic_srichara

From: Nitheesh Sekar <quic_nsekar@quicinc.com>

The IPQ5018 SoC contains a Gen2 1 and 2-lane PCIe UNIPHY which is the
same as the one found in IPQ5332. As such, add IPQ5018 compatible.

Signed-off-by: Nitheesh Sekar <quic_nsekar@quicinc.com>
Signed-off-by: Sricharan Ramabadhran <quic_srichara@quicinc.com>
Signed-off-by: George Moussalem <george.moussalem@outlook.com>
---
 .../devicetree/bindings/phy/qcom,ipq5332-uniphy-pcie-phy.yaml  | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/phy/qcom,ipq5332-uniphy-pcie-phy.yaml b/Documentation/devicetree/bindings/phy/qcom,ipq5332-uniphy-pcie-phy.yaml
index e39168d55d23..bdfa3417069c 100644
--- a/Documentation/devicetree/bindings/phy/qcom,ipq5332-uniphy-pcie-phy.yaml
+++ b/Documentation/devicetree/bindings/phy/qcom,ipq5332-uniphy-pcie-phy.yaml
@@ -11,11 +11,12 @@ maintainers:
   - Varadarajan Narayanan <quic_varada@quicinc.com>
 
 description:
-  PCIe and USB combo PHY found in Qualcomm IPQ5332 SoC
+  PCIe and USB combo PHY found in Qualcomm IPQ5018 & IPQ5332 SoCs
 
 properties:
   compatible:
     enum:
+      - qcom,ipq5018-uniphy-pcie-phy
       - qcom,ipq5332-uniphy-pcie-phy
 
   reg:
-- 
2.48.1


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

* [PATCH v4 2/6] phy: qualcomm: qcom-uniphy-pcie 28LP add support for IPQ5018
       [not found] ` <20250314055644.32705-1-george.moussalem@outlook.com>
@ 2025-03-14  5:56   ` George Moussalem
  2025-03-14  5:56   ` [PATCH v4 3/6] dt-bindings: PCI: qcom: Add IPQ5018 SoC George Moussalem
                     ` (3 subsequent siblings)
  4 siblings, 0 replies; 16+ messages in thread
From: George Moussalem @ 2025-03-14  5:56 UTC (permalink / raw)
  To: linux-arm-msm, linux-kernel, linux-pci, linux-phy, andersson,
	bhelgaas, conor+dt, devicetree, lumag, kishon, konradybcio,
	krzk+dt, kw, lpieralisi, manivannan.sadhasivam, p.zabel,
	quic_nsekar, robh, robimarko, vkoul, george.moussalem
  Cc: quic_srichara

From: Nitheesh Sekar <quic_nsekar@quicinc.com>

The Qualcomm UNIPHY PCIe PHY 28LP is found on both IPQ5332 and IPQ5018.
Adding the PHY init sequence, pipe clock rate, and compatible for IPQ5018.

Signed-off-by: Nitheesh Sekar <quic_nsekar@quicinc.com>
Signed-off-by: Sricharan Ramabadhran <quic_srichara@quicinc.com>
Signed-off-by: George Moussalem <george.moussalem@outlook.com>
---
 .../phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c  | 45 +++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c b/drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
index c8b2a3818880..324c0a5d658e 100644
--- a/drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
+++ b/drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
@@ -75,6 +75,40 @@ struct qcom_uniphy_pcie {
 
 #define phy_to_dw_phy(x)	container_of((x), struct qca_uni_pcie_phy, phy)
 
+static const struct qcom_uniphy_pcie_regs ipq5018_regs[] = {
+	{
+		.offset = SSCG_CTRL_REG_4,
+		.val = 0x1cb9,
+	}, {
+		.offset = SSCG_CTRL_REG_5,
+		.val = 0x023a,
+	}, {
+		.offset = SSCG_CTRL_REG_3,
+		.val = 0xd360,
+	}, {
+		.offset = SSCG_CTRL_REG_1,
+		.val = 0x1,
+	}, {
+		.offset = SSCG_CTRL_REG_2,
+		.val = 0xeb,
+	}, {
+		.offset = CDR_CTRL_REG_4,
+		.val = 0x3f9,
+	}, {
+		.offset = CDR_CTRL_REG_5,
+		.val = 0x1c9,
+	}, {
+		.offset = CDR_CTRL_REG_2,
+		.val = 0x419,
+	}, {
+		.offset = CDR_CTRL_REG_1,
+		.val = 0x200,
+	}, {
+		.offset = PCS_INTERNAL_CONTROL_2,
+		.val = 0xf101,
+	},
+};
+
 static const struct qcom_uniphy_pcie_regs ipq5332_regs[] = {
 	{
 		.offset = PHY_CFG_PLLCFG,
@@ -88,6 +122,14 @@ static const struct qcom_uniphy_pcie_regs ipq5332_regs[] = {
 	},
 };
 
+static const struct qcom_uniphy_pcie_data ipq5018_data = {
+	.lane_offset	= 0x800,
+	.phy_type	= PHY_TYPE_PCIE_GEN2,
+	.init_seq	= ipq5018_regs,
+	.init_seq_num	= ARRAY_SIZE(ipq5018_regs),
+	.pipe_clk_rate	= 125 * MEGA,
+};
+
 static const struct qcom_uniphy_pcie_data ipq5332_data = {
 	.lane_offset	= 0x800,
 	.phy_type	= PHY_TYPE_PCIE_GEN3,
@@ -212,6 +254,9 @@ static inline int phy_pipe_clk_register(struct qcom_uniphy_pcie *phy, int id)
 
 static const struct of_device_id qcom_uniphy_pcie_id_table[] = {
 	{
+		.compatible = "qcom,ipq5018-uniphy-pcie-phy",
+		.data = &ipq5018_data,
+	}, {
 		.compatible = "qcom,ipq5332-uniphy-pcie-phy",
 		.data = &ipq5332_data,
 	}, {
-- 
2.48.1


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

* [PATCH v4 3/6] dt-bindings: PCI: qcom: Add IPQ5018 SoC
       [not found] ` <20250314055644.32705-1-george.moussalem@outlook.com>
  2025-03-14  5:56   ` [PATCH v4 2/6] phy: qualcomm: qcom-uniphy-pcie 28LP add support for IPQ5018 George Moussalem
@ 2025-03-14  5:56   ` George Moussalem
  2025-03-14  8:20     ` Krzysztof Kozlowski
  2025-03-14  5:56   ` [PATCH v4 4/6] PCI: qcom: Add support for IPQ5018 George Moussalem
                     ` (2 subsequent siblings)
  4 siblings, 1 reply; 16+ messages in thread
From: George Moussalem @ 2025-03-14  5:56 UTC (permalink / raw)
  To: linux-arm-msm, linux-kernel, linux-pci, linux-phy, andersson,
	bhelgaas, conor+dt, devicetree, lumag, kishon, konradybcio,
	krzk+dt, kw, lpieralisi, manivannan.sadhasivam, p.zabel,
	quic_nsekar, robh, robimarko, vkoul, george.moussalem
  Cc: quic_srichara

From: Nitheesh Sekar <quic_nsekar@quicinc.com>

Add support for the PCIe controller on the Qualcomm
IPQ5108 SoC to the bindings.

Signed-off-by: Nitheesh Sekar <quic_nsekar@quicinc.com>
Signed-off-by: Sricharan Ramabadhran <quic_srichara@quicinc.com>
Signed-off-by: George Moussalem <george.moussalem@outlook.com>
---
 .../devicetree/bindings/pci/qcom,pcie.yaml    | 59 +++++++++++++++++++
 1 file changed, 59 insertions(+)

diff --git a/Documentation/devicetree/bindings/pci/qcom,pcie.yaml b/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
index 8f628939209e..d8befaa558e2 100644
--- a/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
+++ b/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
@@ -21,6 +21,7 @@ properties:
           - qcom,pcie-apq8064
           - qcom,pcie-apq8084
           - qcom,pcie-ipq4019
+          - qcom,pcie-ipq5018
           - qcom,pcie-ipq6018
           - qcom,pcie-ipq8064
           - qcom,pcie-ipq8064-v2
@@ -322,6 +323,63 @@ allOf:
             - const: ahb # AHB reset
             - const: phy_ahb # PHY AHB reset
 
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - qcom,pcie-ipq5018
+    then:
+      properties:
+        reg:
+          minItems: 5
+          maxItems: 5
+        reg-names:
+          items:
+            - const: parf # Qualcomm specific registers
+            - const: dbi # DesignWare PCIe registers
+            - const: elbi # External local bus interface registers
+            - const: atu # ATU address space
+            - const: config # PCIe configuration space
+        clocks:
+          minItems: 6
+          maxItems: 6
+        clock-names:
+          items:
+            - const: iface # PCIe to SysNOC BIU clock
+            - const: axi_m # AXI Master clock
+            - const: axi_s # AXI Slave clock
+            - const: ahb # AHB clock
+            - const: aux # Auxiliary clock
+            - const: axi_bridge # AXI bridge clock
+        resets:
+          minItems: 8
+          maxItems: 8
+        reset-names:
+          items:
+            - const: pipe # PIPE reset
+            - const: sleep # Sleep reset
+            - const: sticky # Core sticky reset
+            - const: axi_m # AXI master reset
+            - const: axi_s # AXI slave reset
+            - const: ahb # AHB reset
+            - const: axi_m_sticky # AXI master sticky reset
+            - const: axi_s_sticky # AXI slave sticky reset
+        interrupts:
+          minItems: 8
+          maxItems: 8
+        interrupt-names:
+          items:
+            - const: msi0
+            - const: msi1
+            - const: msi2
+            - const: msi3
+            - const: msi4
+            - const: msi5
+            - const: msi6
+            - const: msi7
+            - const: global
+
   - if:
       properties:
         compatible:
@@ -562,6 +620,7 @@ allOf:
               enum:
                 - qcom,pcie-apq8064
                 - qcom,pcie-ipq4019
+                - qcom,pcie-ipq5018
                 - qcom,pcie-ipq8064
                 - qcom,pcie-ipq8064v2
                 - qcom,pcie-ipq8074
-- 
2.48.1


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

* [PATCH v4 4/6] PCI: qcom: Add support for IPQ5018
       [not found] ` <20250314055644.32705-1-george.moussalem@outlook.com>
  2025-03-14  5:56   ` [PATCH v4 2/6] phy: qualcomm: qcom-uniphy-pcie 28LP add support for IPQ5018 George Moussalem
  2025-03-14  5:56   ` [PATCH v4 3/6] dt-bindings: PCI: qcom: Add IPQ5018 SoC George Moussalem
@ 2025-03-14  5:56   ` George Moussalem
  2025-03-14  5:56   ` [PATCH v4 5/6] arm64: dts: qcom: ipq5018: Add PCIe related nodes George Moussalem
  2025-03-14  5:56   ` [PATCH v4 6/6] arm64: dts: qcom: ipq5018: Enable PCIe George Moussalem
  4 siblings, 0 replies; 16+ messages in thread
From: George Moussalem @ 2025-03-14  5:56 UTC (permalink / raw)
  To: linux-arm-msm, linux-kernel, linux-pci, linux-phy, andersson,
	bhelgaas, conor+dt, devicetree, lumag, kishon, konradybcio,
	krzk+dt, kw, lpieralisi, manivannan.sadhasivam, p.zabel,
	quic_nsekar, robh, robimarko, vkoul, george.moussalem
  Cc: quic_srichara

From: Nitheesh Sekar <quic_nsekar@quicinc.com>

Add IPQ5018 platform with is based on Qcom IP rev. 2.9.0
and Synopsys IP rev. 5.00a.

The platform itself has two PCIe Gen2 controllers: one single-lane and
one dual-lane. So let's add the IPQ5018 compatible and re-use 2_9_0 ops.

Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Nitheesh Sekar <quic_nsekar@quicinc.com>
Signed-off-by: Sricharan R <quic_srichara@quicinc.com>
Signed-off-by: George Moussalem <george.moussalem@outlook.com>
---
 drivers/pci/controller/dwc/pcie-qcom.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/pci/controller/dwc/pcie-qcom.c b/drivers/pci/controller/dwc/pcie-qcom.c
index e4d3366ead1f..94800c217d1d 100644
--- a/drivers/pci/controller/dwc/pcie-qcom.c
+++ b/drivers/pci/controller/dwc/pcie-qcom.c
@@ -1840,6 +1840,7 @@ static const struct of_device_id qcom_pcie_match[] = {
 	{ .compatible = "qcom,pcie-apq8064", .data = &cfg_2_1_0 },
 	{ .compatible = "qcom,pcie-apq8084", .data = &cfg_1_0_0 },
 	{ .compatible = "qcom,pcie-ipq4019", .data = &cfg_2_4_0 },
+	{ .compatible = "qcom,pcie-ipq5018", .data = &cfg_2_9_0 },
 	{ .compatible = "qcom,pcie-ipq6018", .data = &cfg_2_9_0 },
 	{ .compatible = "qcom,pcie-ipq8064", .data = &cfg_2_1_0 },
 	{ .compatible = "qcom,pcie-ipq8064-v2", .data = &cfg_2_1_0 },
-- 
2.48.1


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

* [PATCH v4 5/6] arm64: dts: qcom: ipq5018: Add PCIe related nodes
       [not found] ` <20250314055644.32705-1-george.moussalem@outlook.com>
                     ` (2 preceding siblings ...)
  2025-03-14  5:56   ` [PATCH v4 4/6] PCI: qcom: Add support for IPQ5018 George Moussalem
@ 2025-03-14  5:56   ` George Moussalem
  2025-03-14  8:23     ` Krzysztof Kozlowski
  2025-03-14  5:56   ` [PATCH v4 6/6] arm64: dts: qcom: ipq5018: Enable PCIe George Moussalem
  4 siblings, 1 reply; 16+ messages in thread
From: George Moussalem @ 2025-03-14  5:56 UTC (permalink / raw)
  To: linux-arm-msm, linux-kernel, linux-pci, linux-phy, andersson,
	bhelgaas, conor+dt, devicetree, lumag, kishon, konradybcio,
	krzk+dt, kw, lpieralisi, manivannan.sadhasivam, p.zabel,
	quic_nsekar, robh, robimarko, vkoul, george.moussalem
  Cc: quic_srichara

From: Nitheesh Sekar <quic_nsekar@quicinc.com>

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.

Signed-off-by: Nitheesh Sekar <quic_nsekar@quicinc.com>
Signed-off-by: Sricharan R <quic_srichara@quicinc.com>
Signed-off-by: George Moussalem <george.moussalem@outlook.com>
---
 arch/arm64/boot/dts/qcom/ipq5018.dtsi | 232 +++++++++++++++++++++++++-
 1 file changed, 230 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/ipq5018.dtsi b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
index 8914f2ef0bc4..82d3c32ff719 100644
--- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
@@ -147,6 +147,234 @@ usbphy0: phy@5b000 {
 			status = "disabled";
 		};
 
+		pcie1: pcie@78000 {
+			compatible = "qcom,pcie-ipq5018";
+			reg = <0x00078000 0x3000>,
+			      <0x80000000 0xf1d>,
+			      <0x80000f20 0xa8>,
+			      <0x80001000 0x1000>,
+			      <0x80100000 0x1000>;
+			reg-names = "parf",
+				    "dbi",
+				    "elbi",
+				    "atu",
+				    "config";
+			device_type = "pci";
+			linux,pci-domain = <0>;
+			bus-range = <0x00 0xff>;
+			num-lanes = <1>;
+			max-link-speed = <2>;
+			#address-cells = <3>;
+			#size-cells = <2>;
+
+			phys = <&pcie1_phy>;
+			phy-names ="pciephy";
+
+			ranges = <0x81000000 0 0x80200000 0x80200000 0 0x00100000>,
+				 <0x82000000 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 142 IRQ_TYPE_LEVEL_HIGH>,
+					<0 0 0 2 &intc 0 143 IRQ_TYPE_LEVEL_HIGH>,
+					<0 0 0 3 &intc 0 144 IRQ_TYPE_LEVEL_HIGH>,
+					<0 0 0 4 &intc 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;
+			};
+		};
+
+		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: pcie@80000 {
+			compatible = "qcom,pcie-ipq5018";
+			reg = <0x00080000 0x3000>,
+			      <0xa0000000 0xf1d>,
+			      <0xa0000f20 0xa8>,
+			      <0xa0001000 0x1000>,
+			      <0xa0100000 0x1000>;
+			reg-names = "parf",
+				    "dbi",
+				    "elbi",
+				    "atu",
+				    "config";
+			device_type = "pci";
+			linux,pci-domain = <1>;
+			bus-range = <0x00 0xff>;
+			num-lanes = <2>;
+			max-link-speed = <2>;
+			#address-cells = <3>;
+			#size-cells = <2>;
+
+			phys = <&pcie0_phy>;
+			phy-names ="pciephy";
+
+			ranges = <0x81000000 0 0xa0200000 0xa0200000 0 0x00100000>,
+				 <0x82000000 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 75 IRQ_TYPE_LEVEL_HIGH>,
+					<0 0 0 2 &intc 0 78 IRQ_TYPE_LEVEL_HIGH>,
+					<0 0 0 3 &intc 0 79 IRQ_TYPE_LEVEL_HIGH>,
+					<0 0 0 4 &intc 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;
+			};
+		};
+
+		pcie0_phy: phy@86000{
+			compatible = "qcom,ipq5018-uniphy-pcie-phy";
+			reg = <0x00086000 0x800>;
+
+			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>;
@@ -170,8 +398,8 @@ gcc: clock-controller@1800000 {
 			reg = <0x01800000 0x80000>;
 			clocks = <&xo_board_clk>,
 				 <&sleep_clk>,
-				 <0>,
-				 <0>,
+				 <&pcie0_phy>,
+				 <&pcie1_phy>,
 				 <0>,
 				 <0>,
 				 <0>,
-- 
2.48.1


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

* [PATCH v4 6/6] arm64: dts: qcom: ipq5018: Enable PCIe
       [not found] ` <20250314055644.32705-1-george.moussalem@outlook.com>
                     ` (3 preceding siblings ...)
  2025-03-14  5:56   ` [PATCH v4 5/6] arm64: dts: qcom: ipq5018: Add PCIe related nodes George Moussalem
@ 2025-03-14  5:56   ` George Moussalem
  4 siblings, 0 replies; 16+ messages in thread
From: George Moussalem @ 2025-03-14  5:56 UTC (permalink / raw)
  To: linux-arm-msm, linux-kernel, linux-pci, linux-phy, andersson,
	bhelgaas, conor+dt, devicetree, lumag, kishon, konradybcio,
	krzk+dt, kw, lpieralisi, manivannan.sadhasivam, p.zabel,
	quic_nsekar, robh, robimarko, vkoul, george.moussalem
  Cc: quic_srichara

From: Nitheesh Sekar <quic_nsekar@quicinc.com>

Enable the PCIe controller and PHY nodes for RDP 432-c2.

Signed-off-by: Nitheesh Sekar <quic_nsekar@quicinc.com>
Signed-off-by: Sricharan Ramabadhran <quic_srichara@quicinc.com>
Signed-off-by: George Moussalem <george.moussalem@outlook.com>
---
 .../arm64/boot/dts/qcom/ipq5018-rdp432-c2.dts | 38 +++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/ipq5018-rdp432-c2.dts b/arch/arm64/boot/dts/qcom/ipq5018-rdp432-c2.dts
index 8460b538eb6a..c5c248435a91 100644
--- a/arch/arm64/boot/dts/qcom/ipq5018-rdp432-c2.dts
+++ b/arch/arm64/boot/dts/qcom/ipq5018-rdp432-c2.dts
@@ -28,6 +28,20 @@ &blsp1_uart1 {
 	status = "okay";
 };
 
+&pcie0 {
+	pinctrl-0 = <&pcie0_default>;
+	pinctrl-names = "default";
+
+	perst-gpios = <&tlmm 15 GPIO_ACTIVE_LOW>;
+	wake-gpios = <&tlmm 16 GPIO_ACTIVE_LOW>;
+
+	status = "okay";
+};
+
+&pcie0_phy {
+	status = "okay";
+};
+
 &sdhc_1 {
 	pinctrl-0 = <&sdc_default_state>;
 	pinctrl-names = "default";
@@ -43,6 +57,30 @@ &sleep_clk {
 };
 
 &tlmm {
+	pcie0_default: pcie0-default-state {
+		clkreq-n-pins {
+			pins = "gpio14";
+			function = "pcie0_clk";
+			drive-strength = <8>;
+			bias-pull-up;
+		};
+
+		perst-n-pins {
+			pins = "gpio15";
+			function = "gpio";
+			drive-strength = <8>;
+			bias-pull-up;
+			output-low;
+		};
+
+		wake-n-pins {
+			pins = "gpio16";
+			function = "pcie0_wake";
+			drive-strength = <8>;
+			bias-pull-up;
+		};
+	};
+
 	sdc_default_state: sdc-default-state {
 		clk-pins {
 			pins = "gpio9";
-- 
2.48.1


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

* Re: [PATCH v4 1/6] dt-bindings: phy: qcom: uniphy-pcie: Add ipq5018 compatible
  2025-03-14  5:56 ` [PATCH v4 1/6] dt-bindings: phy: qcom: uniphy-pcie: Add ipq5018 compatible George Moussalem
@ 2025-03-14  8:15   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 16+ messages in thread
From: Krzysztof Kozlowski @ 2025-03-14  8:15 UTC (permalink / raw)
  To: George Moussalem
  Cc: linux-arm-msm, linux-kernel, linux-pci, linux-phy, andersson,
	bhelgaas, conor+dt, devicetree, lumag, kishon, konradybcio,
	krzk+dt, kw, lpieralisi, manivannan.sadhasivam, p.zabel,
	quic_nsekar, robh, robimarko, vkoul, quic_srichara

On Fri, Mar 14, 2025 at 09:56:39AM +0400, George Moussalem wrote:
> From: Nitheesh Sekar <quic_nsekar@quicinc.com>
> 
> The IPQ5018 SoC contains a Gen2 1 and 2-lane PCIe UNIPHY which is the
> same as the one found in IPQ5332. As such, add IPQ5018 compatible.
> 
> Signed-off-by: Nitheesh Sekar <quic_nsekar@quicinc.com>
> Signed-off-by: Sricharan Ramabadhran <quic_srichara@quicinc.com>
> Signed-off-by: George Moussalem <george.moussalem@outlook.com>
> ---
>  .../devicetree/bindings/phy/qcom,ipq5332-uniphy-pcie-phy.yaml  | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof


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

* Re: [PATCH v4 3/6] dt-bindings: PCI: qcom: Add IPQ5018 SoC
  2025-03-14  5:56   ` [PATCH v4 3/6] dt-bindings: PCI: qcom: Add IPQ5018 SoC George Moussalem
@ 2025-03-14  8:20     ` Krzysztof Kozlowski
  2025-03-14  8:42       ` George Moussalem
  0 siblings, 1 reply; 16+ messages in thread
From: Krzysztof Kozlowski @ 2025-03-14  8:20 UTC (permalink / raw)
  To: George Moussalem
  Cc: linux-arm-msm, linux-kernel, linux-pci, linux-phy, andersson,
	bhelgaas, conor+dt, devicetree, lumag, kishon, konradybcio,
	krzk+dt, kw, lpieralisi, manivannan.sadhasivam, p.zabel,
	quic_nsekar, robh, robimarko, vkoul, quic_srichara

On Fri, Mar 14, 2025 at 09:56:41AM +0400, George Moussalem wrote:
> From: Nitheesh Sekar <quic_nsekar@quicinc.com>
> 
> Add support for the PCIe controller on the Qualcomm
> IPQ5108 SoC to the bindings.
> 
> Signed-off-by: Nitheesh Sekar <quic_nsekar@quicinc.com>
> Signed-off-by: Sricharan Ramabadhran <quic_srichara@quicinc.com>
> Signed-off-by: George Moussalem <george.moussalem@outlook.com>
> ---
>  .../devicetree/bindings/pci/qcom,pcie.yaml    | 59 +++++++++++++++++++
>  1 file changed, 59 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/pci/qcom,pcie.yaml b/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
> index 8f628939209e..d8befaa558e2 100644
> --- a/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
> +++ b/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
> @@ -21,6 +21,7 @@ properties:
>            - qcom,pcie-apq8064
>            - qcom,pcie-apq8084
>            - qcom,pcie-ipq4019
> +          - qcom,pcie-ipq5018
>            - qcom,pcie-ipq6018
>            - qcom,pcie-ipq8064
>            - qcom,pcie-ipq8064-v2
> @@ -322,6 +323,63 @@ allOf:
>              - const: ahb # AHB reset
>              - const: phy_ahb # PHY AHB reset
>  
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - qcom,pcie-ipq5018
> +    then:
> +      properties:
> +        reg:
> +          minItems: 5
> +          maxItems: 5
> +        reg-names:
> +          items:
> +            - const: parf # Qualcomm specific registers
> +            - const: dbi # DesignWare PCIe registers
> +            - const: elbi # External local bus interface registers
> +            - const: atu # ATU address space
> +            - const: config # PCIe configuration space

Keep the same order as other IPQ, so dbi+elbi+atu+parf+config. Same for
everything else, so standard rule applies: devices are supposed to use
ordering from existing variants.

There is some huge mess with IPQ PCI bindings, including things on the
list. Apparently it became my job to oversee Qualcomm PCI work... well,
I do not have time for that, so rather I expect contributors to
cooperate in this matter.

Don't throw your patches over the wall.

If you need to rework the patch, take the ownership and rework it.





> +        clocks:
> +          minItems: 6
> +          maxItems: 6
> +        clock-names:
> +          items:
> +            - const: iface # PCIe to SysNOC BIU clock
> +            - const: axi_m # AXI Master clock
> +            - const: axi_s # AXI Slave clock
> +            - const: ahb # AHB clock
> +            - const: aux # Auxiliary clock
> +            - const: axi_bridge # AXI bridge clock
> +        resets:
> +          minItems: 8
> +          maxItems: 8
> +        reset-names:
> +          items:
> +            - const: pipe # PIPE reset
> +            - const: sleep # Sleep reset
> +            - const: sticky # Core sticky reset
> +            - const: axi_m # AXI master reset
> +            - const: axi_s # AXI slave reset
> +            - const: ahb # AHB reset
> +            - const: axi_m_sticky # AXI master sticky reset
> +            - const: axi_s_sticky # AXI slave sticky reset
> +        interrupts:
> +          minItems: 8
> +          maxItems: 8

8 items...

> +        interrupt-names:
> +          items:
> +            - const: msi0
> +            - const: msi1
> +            - const: msi2
> +            - const: msi3
> +            - const: msi4
> +            - const: msi5
> +            - const: msi6
> +            - const: msi7
> +            - const: global

And here 9 items. You got comment on this. What's more, I doubt that DTS
was tsted.

Best regards,
Krzysztof


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

* Re: [PATCH v4 5/6] arm64: dts: qcom: ipq5018: Add PCIe related nodes
  2025-03-14  5:56   ` [PATCH v4 5/6] arm64: dts: qcom: ipq5018: Add PCIe related nodes George Moussalem
@ 2025-03-14  8:23     ` Krzysztof Kozlowski
  2025-03-14  8:50       ` George Moussalem
  0 siblings, 1 reply; 16+ messages in thread
From: Krzysztof Kozlowski @ 2025-03-14  8:23 UTC (permalink / raw)
  To: George Moussalem
  Cc: linux-arm-msm, linux-kernel, linux-pci, linux-phy, andersson,
	bhelgaas, conor+dt, devicetree, lumag, kishon, konradybcio,
	krzk+dt, kw, lpieralisi, manivannan.sadhasivam, p.zabel,
	quic_nsekar, robh, robimarko, vkoul, quic_srichara

On Fri, Mar 14, 2025 at 09:56:43AM +0400, George Moussalem wrote:
> +			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>;

Was this tested?

Anyway, your patchset cannot be even applied due to broken threading.

We keep pointing to issues in your toolset since more than a week.
Sending is so trivial that I do not understand why you keep it having
broken:

`b4 send`
or
`git format-patch -v4 --cover-letter -6 && git send-email ./v4-*`

NAK

Best regards,
Krzysztof


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

* Re: [PATCH v4 3/6] dt-bindings: PCI: qcom: Add IPQ5018 SoC
  2025-03-14  8:20     ` Krzysztof Kozlowski
@ 2025-03-14  8:42       ` George Moussalem
  2025-03-14  9:20         ` Krzysztof Kozlowski
  0 siblings, 1 reply; 16+ messages in thread
From: George Moussalem @ 2025-03-14  8:42 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: linux-arm-msm, linux-kernel, linux-pci, linux-phy, andersson,
	bhelgaas, conor+dt, devicetree, lumag, kishon, konradybcio,
	krzk+dt, kw, lpieralisi, manivannan.sadhasivam, p.zabel,
	quic_nsekar, robh, robimarko, vkoul, quic_srichara



On 3/14/25 12:20, Krzysztof Kozlowski wrote:
> On Fri, Mar 14, 2025 at 09:56:41AM +0400, George Moussalem wrote:
>> From: Nitheesh Sekar <quic_nsekar@quicinc.com>
>>
>> Add support for the PCIe controller on the Qualcomm
>> IPQ5108 SoC to the bindings.
>>
>> Signed-off-by: Nitheesh Sekar <quic_nsekar@quicinc.com>
>> Signed-off-by: Sricharan Ramabadhran <quic_srichara@quicinc.com>
>> Signed-off-by: George Moussalem <george.moussalem@outlook.com>
>> ---
>>   .../devicetree/bindings/pci/qcom,pcie.yaml    | 59 +++++++++++++++++++
>>   1 file changed, 59 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/pci/qcom,pcie.yaml b/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
>> index 8f628939209e..d8befaa558e2 100644
>> --- a/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
>> +++ b/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
>> @@ -21,6 +21,7 @@ properties:
>>             - qcom,pcie-apq8064
>>             - qcom,pcie-apq8084
>>             - qcom,pcie-ipq4019
>> +          - qcom,pcie-ipq5018
>>             - qcom,pcie-ipq6018
>>             - qcom,pcie-ipq8064
>>             - qcom,pcie-ipq8064-v2
>> @@ -322,6 +323,63 @@ allOf:
>>               - const: ahb # AHB reset
>>               - const: phy_ahb # PHY AHB reset
>>   
>> +  - if:
>> +      properties:
>> +        compatible:
>> +          contains:
>> +            enum:
>> +              - qcom,pcie-ipq5018
>> +    then:
>> +      properties:
>> +        reg:
>> +          minItems: 5
>> +          maxItems: 5
>> +        reg-names:
>> +          items:
>> +            - const: parf # Qualcomm specific registers
>> +            - const: dbi # DesignWare PCIe registers
>> +            - const: elbi # External local bus interface registers
>> +            - const: atu # ATU address space
>> +            - const: config # PCIe configuration space
> 
> Keep the same order as other IPQ, so dbi+elbi+atu+parf+config. Same for
> everything else, so standard rule applies: devices are supposed to use
> ordering from existing variants.
> 
> There is some huge mess with IPQ PCI bindings, including things on the
> list. Apparently it became my job to oversee Qualcomm PCI work... well,
> I do not have time for that, so rather I expect contributors to
> cooperate in this matter.
> 
> Don't throw your patches over the wall.
> 
> If you need to rework the patch, take the ownership and rework it.
> 
> 

Thanks Krzysztof. I did reorder them deliberately based on unit 
addresses as discussed also in other threads about IPQ9574 and IPQ5332 
as I thought it would be neater that way. I'll change it back, reuse 
other sections in the dt as much as possible, and follow your guidance 
instead.

> 
> 
> 
>> +        clocks:
>> +          minItems: 6
>> +          maxItems: 6
>> +        clock-names:
>> +          items:
>> +            - const: iface # PCIe to SysNOC BIU clock
>> +            - const: axi_m # AXI Master clock
>> +            - const: axi_s # AXI Slave clock
>> +            - const: ahb # AHB clock
>> +            - const: aux # Auxiliary clock
>> +            - const: axi_bridge # AXI bridge clock
>> +        resets:
>> +          minItems: 8
>> +          maxItems: 8
>> +        reset-names:
>> +          items:
>> +            - const: pipe # PIPE reset
>> +            - const: sleep # Sleep reset
>> +            - const: sticky # Core sticky reset
>> +            - const: axi_m # AXI master reset
>> +            - const: axi_s # AXI slave reset
>> +            - const: ahb # AHB reset
>> +            - const: axi_m_sticky # AXI master sticky reset
>> +            - const: axi_s_sticky # AXI slave sticky reset
>> +        interrupts:
>> +          minItems: 8
>> +          maxItems: 8
> 
> 8 items...
> 
>> +        interrupt-names:
>> +          items:
>> +            - const: msi0
>> +            - const: msi1
>> +            - const: msi2
>> +            - const: msi3
>> +            - const: msi4
>> +            - const: msi5
>> +            - const: msi6
>> +            - const: msi7
>> +            - const: global
> 
> And here 9 items. You got comment on this. What's more, I doubt that DTS
> was tsted.

Will fix, thanks.

> 
> Best regards,
> Krzysztof
> 

Best regards,
George

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

* Re: [PATCH v4 5/6] arm64: dts: qcom: ipq5018: Add PCIe related nodes
  2025-03-14  8:23     ` Krzysztof Kozlowski
@ 2025-03-14  8:50       ` George Moussalem
  2025-03-14 12:10         ` Krzysztof Kozlowski
  0 siblings, 1 reply; 16+ messages in thread
From: George Moussalem @ 2025-03-14  8:50 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: linux-arm-msm, linux-kernel, linux-pci, linux-phy, andersson,
	bhelgaas, conor+dt, devicetree, lumag, kishon, konradybcio,
	krzk+dt, kw, lpieralisi, manivannan.sadhasivam, p.zabel,
	quic_nsekar, robh, robimarko, vkoul, quic_srichara



On 3/14/25 12:23, Krzysztof Kozlowski wrote:
> On Fri, Mar 14, 2025 at 09:56:43AM +0400, George Moussalem wrote:
>> +			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>;
> 
> Was this tested?
> 
> Anyway, your patchset cannot be even applied due to broken threading.
> 
> We keep pointing to issues in your toolset since more than a week.
> Sending is so trivial that I do not understand why you keep it having
> broken:
> 
> `b4 send`
> or
> `git format-patch -v4 --cover-letter -6 && git send-email ./v4-*`
> 
> NAK

Not disagreeing, but I'm not sure why it still breaks.

The git send-email command is exactly what I used before but I found out 
it's not an issue in the toolset itself. Outlook.com SMTP servers 
replace the original 'Message-ID' header with their own. That is what 
causes threading to break. As a workaround, I first send the cover 
letter, lookup the Message-ID value and then send the actual patches 
using 'git send-email --in-reply-to=<Message-ID>'. I do see them 
threaded in my mail client (Thunderbird) and in:
https://lore.kernel.org/all/DS7PR19MB8883F2538AA7D047E13C102B9DD22@DS7PR19MB8883.namprd19.prod.outlook.com/#r

If this doesn't work, I may need to switch to a different email address.

> 
> Best regards,
> Krzysztof
> 

Best regards,
George

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

* Re: [PATCH v4 3/6] dt-bindings: PCI: qcom: Add IPQ5018 SoC
  2025-03-14  8:42       ` George Moussalem
@ 2025-03-14  9:20         ` Krzysztof Kozlowski
  2025-03-17  5:49           ` George Moussalem
  0 siblings, 1 reply; 16+ messages in thread
From: Krzysztof Kozlowski @ 2025-03-14  9:20 UTC (permalink / raw)
  To: George Moussalem
  Cc: linux-arm-msm, linux-kernel, linux-pci, linux-phy, andersson,
	bhelgaas, conor+dt, devicetree, lumag, kishon, konradybcio,
	krzk+dt, kw, lpieralisi, manivannan.sadhasivam, p.zabel,
	quic_nsekar, robh, robimarko, vkoul, quic_srichara

On 14/03/2025 09:42, George Moussalem wrote:
>>> +        reg-names:
>>> +          items:
>>> +            - const: parf # Qualcomm specific registers
>>> +            - const: dbi # DesignWare PCIe registers
>>> +            - const: elbi # External local bus interface registers
>>> +            - const: atu # ATU address space
>>> +            - const: config # PCIe configuration space
>>
>> Keep the same order as other IPQ, so dbi+elbi+atu+parf+config. Same for
>> everything else, so standard rule applies: devices are supposed to use
>> ordering from existing variants.
>>
>> There is some huge mess with IPQ PCI bindings, including things on the
>> list. Apparently it became my job to oversee Qualcomm PCI work... well,
>> I do not have time for that, so rather I expect contributors to
>> cooperate in this matter.
>>
>> Don't throw your patches over the wall.
>>
>> If you need to rework the patch, take the ownership and rework it.
>>
>>
> 
> Thanks Krzysztof. I did reorder them deliberately based on unit 
> addresses as discussed also in other threads about IPQ9574 and IPQ5332 
> as I thought it would be neater that way. I'll change it back, reuse 

Which discusses were that? What were the reasons to start with parf?


> other sections in the dt as much as possible, and follow your guidance 
> instead.

Best regards,
Krzysztof

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

* Re: [PATCH v4 5/6] arm64: dts: qcom: ipq5018: Add PCIe related nodes
  2025-03-14  8:50       ` George Moussalem
@ 2025-03-14 12:10         ` Krzysztof Kozlowski
  0 siblings, 0 replies; 16+ messages in thread
From: Krzysztof Kozlowski @ 2025-03-14 12:10 UTC (permalink / raw)
  To: George Moussalem
  Cc: linux-arm-msm, linux-kernel, linux-pci, linux-phy, andersson,
	bhelgaas, conor+dt, devicetree, lumag, kishon, konradybcio,
	krzk+dt, kw, lpieralisi, manivannan.sadhasivam, p.zabel,
	quic_nsekar, robh, robimarko, vkoul, quic_srichara

On 14/03/2025 09:50, George Moussalem wrote:
>> Anyway, your patchset cannot be even applied due to broken threading.
>>
>> We keep pointing to issues in your toolset since more than a week.
>> Sending is so trivial that I do not understand why you keep it having
>> broken:
>>
>> `b4 send`
>> or
>> `git format-patch -v4 --cover-letter -6 && git send-email ./v4-*`
>>
>> NAK
> 
> Not disagreeing, but I'm not sure why it still breaks.
> 
> The git send-email command is exactly what I used before but I found out 
> it's not an issue in the toolset itself. Outlook.com SMTP servers 
> replace the original 'Message-ID' header with their own. That is what 
> causes threading to break. As a workaround, I first send the cover 

They replace it only in the first message. Why the rest of the emails
are not replaced? Looking at this thread:
https://lore.kernel.org/all/TYZPR01MB555632DC209AA69996309B58C9C92@TYZPR01MB5556.apcprd01.prod.exchangelabs.com/

All of them look like replaced.

> letter, lookup the Message-ID value and then send the actual patches 
> using 'git send-email --in-reply-to=<Message-ID>'. I do see them 
> threaded in my mail client (Thunderbird) and in:
> https://lore.kernel.org/all/DS7PR19MB8883F2538AA7D047E13C102B9DD22@DS7PR19MB8883.namprd19.prod.outlook.com/#r

Yeah, but not in b4.

> 
> If this doesn't work, I may need to switch to a different email address.

I recommend using b4 relay:
https://b4.docs.kernel.org/en/latest/contributor/send.html


Best regards,
Krzysztof

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

* Re: [PATCH v4 3/6] dt-bindings: PCI: qcom: Add IPQ5018 SoC
  2025-03-14  9:20         ` Krzysztof Kozlowski
@ 2025-03-17  5:49           ` George Moussalem
  2025-03-17  7:28             ` Krzysztof Kozlowski
  0 siblings, 1 reply; 16+ messages in thread
From: George Moussalem @ 2025-03-17  5:49 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: linux-arm-msm, linux-kernel, linux-pci, linux-phy, andersson,
	bhelgaas, conor+dt, devicetree, lumag, kishon, konradybcio,
	krzk+dt, kw, lpieralisi, manivannan.sadhasivam, p.zabel,
	quic_nsekar, robh, robimarko, vkoul, quic_srichara



On 3/14/25 13:20, Krzysztof Kozlowski wrote:
> On 14/03/2025 09:42, George Moussalem wrote:
>>>> +        reg-names:
>>>> +          items:
>>>> +            - const: parf # Qualcomm specific registers
>>>> +            - const: dbi # DesignWare PCIe registers
>>>> +            - const: elbi # External local bus interface registers
>>>> +            - const: atu # ATU address space
>>>> +            - const: config # PCIe configuration space
>>>
>>> Keep the same order as other IPQ, so dbi+elbi+atu+parf+config. Same for
>>> everything else, so standard rule applies: devices are supposed to use
>>> ordering from existing variants.
>>>
>>> There is some huge mess with IPQ PCI bindings, including things on the
>>> list. Apparently it became my job to oversee Qualcomm PCI work... well,
>>> I do not have time for that, so rather I expect contributors to
>>> cooperate in this matter.
>>>
>>> Don't throw your patches over the wall.
>>>
>>> If you need to rework the patch, take the ownership and rework it.
>>>
>>>
>>
>> Thanks Krzysztof. I did reorder them deliberately based on unit
>> addresses as discussed also in other threads about IPQ9574 and IPQ5332
>> as I thought it would be neater that way. I'll change it back, reuse
> 
> Which discusses were that? What were the reasons to start with parf?
> 

I based the reordering on this patch so assumed that was the direction 
(at that time):
https://patchwork.kernel.org/project/linux-pci/patch/20250128062708.573662-5-quic_varada@quicinc.com/

This was then reverted in subsequent version so will reorder as suggested.

> 
>> other sections in the dt as much as possible, and follow your guidance
>> instead.
> 
> Best regards,
> Krzysztof

Best regards,
George

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

* Re: [PATCH v4 3/6] dt-bindings: PCI: qcom: Add IPQ5018 SoC
  2025-03-17  5:49           ` George Moussalem
@ 2025-03-17  7:28             ` Krzysztof Kozlowski
  0 siblings, 0 replies; 16+ messages in thread
From: Krzysztof Kozlowski @ 2025-03-17  7:28 UTC (permalink / raw)
  To: George Moussalem
  Cc: linux-arm-msm, linux-kernel, linux-pci, linux-phy, andersson,
	bhelgaas, conor+dt, devicetree, lumag, kishon, konradybcio,
	krzk+dt, kw, lpieralisi, manivannan.sadhasivam, p.zabel,
	quic_nsekar, robh, robimarko, vkoul, quic_srichara

On 17/03/2025 06:49, George Moussalem wrote:
>>>>
>>>
>>> Thanks Krzysztof. I did reorder them deliberately based on unit
>>> addresses as discussed also in other threads about IPQ9574 and IPQ5332
>>> as I thought it would be neater that way. I'll change it back, reuse
>>
>> Which discusses were that? What were the reasons to start with parf?
>>
> 
> I based the reordering on this patch so assumed that was the direction 
> (at that time):
> https://patchwork.kernel.org/project/linux-pci/patch/20250128062708.573662-5-quic_varada@quicinc.com/

That's a patch, not a discussion. I don't think anyone suggested
changing order or starting with 'parf' entry.


Best regards,
Krzysztof

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

end of thread, other threads:[~2025-03-17  7:28 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-14  5:55 [PATCH v4 0/6] Enable IPQ5018 PCI support George Moussalem
2025-03-14  5:56 ` [PATCH v4 1/6] dt-bindings: phy: qcom: uniphy-pcie: Add ipq5018 compatible George Moussalem
2025-03-14  8:15   ` Krzysztof Kozlowski
     [not found] ` <20250314055644.32705-1-george.moussalem@outlook.com>
2025-03-14  5:56   ` [PATCH v4 2/6] phy: qualcomm: qcom-uniphy-pcie 28LP add support for IPQ5018 George Moussalem
2025-03-14  5:56   ` [PATCH v4 3/6] dt-bindings: PCI: qcom: Add IPQ5018 SoC George Moussalem
2025-03-14  8:20     ` Krzysztof Kozlowski
2025-03-14  8:42       ` George Moussalem
2025-03-14  9:20         ` Krzysztof Kozlowski
2025-03-17  5:49           ` George Moussalem
2025-03-17  7:28             ` Krzysztof Kozlowski
2025-03-14  5:56   ` [PATCH v4 4/6] PCI: qcom: Add support for IPQ5018 George Moussalem
2025-03-14  5:56   ` [PATCH v4 5/6] arm64: dts: qcom: ipq5018: Add PCIe related nodes George Moussalem
2025-03-14  8:23     ` Krzysztof Kozlowski
2025-03-14  8:50       ` George Moussalem
2025-03-14 12:10         ` Krzysztof Kozlowski
2025-03-14  5:56   ` [PATCH v4 6/6] arm64: dts: qcom: ipq5018: Enable PCIe George Moussalem

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).