* [PATCH v10 1/3] dt-bindings: PCI: qcom-ep: Add support for SA8775P SoC
2024-03-29 15:21 [PATCH v10 0/3] arm64: qcom: sa8775p: add support for EP PCIe Mrinmay Sarkar
@ 2024-03-29 15:21 ` Mrinmay Sarkar
2024-03-29 15:21 ` [PATCH v10 2/3] PCI: qcom-ep: Add support for SA8775P SOC Mrinmay Sarkar
2024-03-29 15:21 ` [PATCH v10 3/3] arm64: dts: qcom: sa8775p: Add ep pcie0 controller node Mrinmay Sarkar
2 siblings, 0 replies; 6+ messages in thread
From: Mrinmay Sarkar @ 2024-03-29 15:21 UTC (permalink / raw)
To: andersson, krzysztof.kozlowski+dt, conor+dt, konrad.dybcio,
manivannan.sadhasivam
Cc: quic_shazhuss, quic_nitegupt, quic_ramkri, quic_nayiluri,
quic_krichai, quic_vbadigan, quic_schintav, Mrinmay Sarkar,
Bjorn Helgaas, Lorenzo Pieralisi, Krzysztof Wilczyński,
Rob Herring, linux-pci, linux-arm-msm, devicetree, linux-kernel
Add devicetree bindings support for SA8775P SoC. It has DMA register
space and dma interrupt to support HDMA.
Signed-off-by: Mrinmay Sarkar <quic_msarkar@quicinc.com>
Acked-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
.../devicetree/bindings/pci/qcom,pcie-ep.yaml | 64 +++++++++++++++++++++-
1 file changed, 62 insertions(+), 2 deletions(-)
diff --git a/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml b/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml
index a223ce0..46802f7 100644
--- a/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml
+++ b/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml
@@ -13,6 +13,7 @@ properties:
compatible:
oneOf:
- enum:
+ - qcom,sa8775p-pcie-ep
- qcom,sdx55-pcie-ep
- qcom,sm8450-pcie-ep
- items:
@@ -20,6 +21,7 @@ properties:
- const: qcom,sdx55-pcie-ep
reg:
+ minItems: 6
items:
- description: Qualcomm-specific PARF configuration registers
- description: DesignWare PCIe registers
@@ -27,8 +29,10 @@ properties:
- description: Address Translation Unit (ATU) registers
- description: Memory region used to map remote RC address space
- description: BAR memory region
+ - description: DMA register space
reg-names:
+ minItems: 6
items:
- const: parf
- const: dbi
@@ -36,13 +40,14 @@ properties:
- const: atu
- const: addr_space
- const: mmio
+ - const: dma
clocks:
- minItems: 7
+ minItems: 5
maxItems: 8
clock-names:
- minItems: 7
+ minItems: 5
maxItems: 8
qcom,perst-regs:
@@ -57,14 +62,18 @@ properties:
- description: Perst separation enable offset
interrupts:
+ minItems: 2
items:
- description: PCIe Global interrupt
- description: PCIe Doorbell interrupt
+ - description: DMA interrupt
interrupt-names:
+ minItems: 2
items:
- const: global
- const: doorbell
+ - const: dma
reset-gpios:
description: GPIO used as PERST# input signal
@@ -125,6 +134,10 @@ allOf:
- qcom,sdx55-pcie-ep
then:
properties:
+ reg:
+ maxItems: 6
+ reg-names:
+ maxItems: 6
clocks:
items:
- description: PCIe Auxiliary clock
@@ -143,6 +156,10 @@ allOf:
- const: slave_q2a
- const: sleep
- const: ref
+ interrupts:
+ maxItems: 2
+ interrupt-names:
+ maxItems: 2
- if:
properties:
@@ -152,6 +169,10 @@ allOf:
- qcom,sm8450-pcie-ep
then:
properties:
+ reg:
+ maxItems: 6
+ reg-names:
+ maxItems: 6
clocks:
items:
- description: PCIe Auxiliary clock
@@ -172,6 +193,45 @@ allOf:
- const: ref
- const: ddrss_sf_tbu
- const: aggre_noc_axi
+ interrupts:
+ maxItems: 2
+ interrupt-names:
+ maxItems: 2
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - qcom,sa8775p-pcie-ep
+ then:
+ properties:
+ reg:
+ minItems: 7
+ maxItems: 7
+ reg-names:
+ minItems: 7
+ maxItems: 7
+ clocks:
+ items:
+ - description: PCIe Auxiliary clock
+ - description: PCIe CFG AHB clock
+ - description: PCIe Master AXI clock
+ - description: PCIe Slave AXI clock
+ - description: PCIe Slave Q2A AXI clock
+ clock-names:
+ items:
+ - const: aux
+ - const: cfg
+ - const: bus_master
+ - const: bus_slave
+ - const: slave_q2a
+ interrupts:
+ minItems: 3
+ maxItems: 3
+ interrupt-names:
+ minItems: 3
+ maxItems: 3
unevaluatedProperties: false
--
2.7.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v10 2/3] PCI: qcom-ep: Add support for SA8775P SOC
2024-03-29 15:21 [PATCH v10 0/3] arm64: qcom: sa8775p: add support for EP PCIe Mrinmay Sarkar
2024-03-29 15:21 ` [PATCH v10 1/3] dt-bindings: PCI: qcom-ep: Add support for SA8775P SoC Mrinmay Sarkar
@ 2024-03-29 15:21 ` Mrinmay Sarkar
2024-04-23 13:08 ` Konrad Dybcio
2024-03-29 15:21 ` [PATCH v10 3/3] arm64: dts: qcom: sa8775p: Add ep pcie0 controller node Mrinmay Sarkar
2 siblings, 1 reply; 6+ messages in thread
From: Mrinmay Sarkar @ 2024-03-29 15:21 UTC (permalink / raw)
To: andersson, krzysztof.kozlowski+dt, conor+dt, konrad.dybcio,
manivannan.sadhasivam
Cc: quic_shazhuss, quic_nitegupt, quic_ramkri, quic_nayiluri,
quic_krichai, quic_vbadigan, quic_schintav, Mrinmay Sarkar,
Bjorn Helgaas, Lorenzo Pieralisi, Krzysztof Wilczyński,
Rob Herring, linux-arm-msm, linux-pci, devicetree, linux-kernel
Add support for SA8775P SoC to the Qualcomm PCIe Endpoint Controller
driver. Adding new compatible string as it has different set of clocks
compared to other SoCs.
Signed-off-by: Mrinmay Sarkar <quic_msarkar@quicinc.com>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
---
drivers/pci/controller/dwc/pcie-qcom-ep.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/pci/controller/dwc/pcie-qcom-ep.c b/drivers/pci/controller/dwc/pcie-qcom-ep.c
index 36e5e80..45008e0 100644
--- a/drivers/pci/controller/dwc/pcie-qcom-ep.c
+++ b/drivers/pci/controller/dwc/pcie-qcom-ep.c
@@ -875,6 +875,7 @@ static void qcom_pcie_ep_remove(struct platform_device *pdev)
}
static const struct of_device_id qcom_pcie_ep_match[] = {
+ { .compatible = "qcom,sa8775p-pcie-ep", },
{ .compatible = "qcom,sdx55-pcie-ep", },
{ .compatible = "qcom,sm8450-pcie-ep", },
{ }
--
2.7.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v10 2/3] PCI: qcom-ep: Add support for SA8775P SOC
2024-03-29 15:21 ` [PATCH v10 2/3] PCI: qcom-ep: Add support for SA8775P SOC Mrinmay Sarkar
@ 2024-04-23 13:08 ` Konrad Dybcio
2024-04-23 13:30 ` Mrinmay Sarkar
0 siblings, 1 reply; 6+ messages in thread
From: Konrad Dybcio @ 2024-04-23 13:08 UTC (permalink / raw)
To: Mrinmay Sarkar, andersson, krzysztof.kozlowski+dt, conor+dt,
manivannan.sadhasivam
Cc: quic_shazhuss, quic_nitegupt, quic_ramkri, quic_nayiluri,
quic_krichai, quic_vbadigan, quic_schintav, Bjorn Helgaas,
Lorenzo Pieralisi, Krzysztof Wilczyński, Rob Herring,
linux-arm-msm, linux-pci, devicetree, linux-kernel
On 3/29/24 16:21, Mrinmay Sarkar wrote:
> Add support for SA8775P SoC to the Qualcomm PCIe Endpoint Controller
> driver. Adding new compatible string as it has different set of clocks
> compared to other SoCs.
So is it the only change after all? What did we conclude on the NO_SNOOP
saga?
If the difference is only in the consumed clocks (and they're only supposed
to be "on" with no special handling), I don't think a separate compatible
is necessary at all
Konrad
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v10 2/3] PCI: qcom-ep: Add support for SA8775P SOC
2024-04-23 13:08 ` Konrad Dybcio
@ 2024-04-23 13:30 ` Mrinmay Sarkar
0 siblings, 0 replies; 6+ messages in thread
From: Mrinmay Sarkar @ 2024-04-23 13:30 UTC (permalink / raw)
To: Konrad Dybcio, andersson, krzysztof.kozlowski+dt, conor+dt,
manivannan.sadhasivam
Cc: quic_shazhuss, quic_nitegupt, quic_ramkri, quic_nayiluri,
quic_krichai, quic_vbadigan, quic_schintav, Bjorn Helgaas,
Lorenzo Pieralisi, Krzysztof Wilczyński, Rob Herring,
linux-arm-msm, linux-pci, devicetree, linux-kernel
On 4/23/2024 6:38 PM, Konrad Dybcio wrote:
>
>
> On 3/29/24 16:21, Mrinmay Sarkar wrote:
>> Add support for SA8775P SoC to the Qualcomm PCIe Endpoint Controller
>> driver. Adding new compatible string as it has different set of clocks
>> compared to other SoCs.
>
> So is it the only change after all? What did we conclude on the NO_SNOOP
> saga?
>
> If the difference is only in the consumed clocks (and they're only
> supposed
> to be "on" with no special handling), I don't think a separate compatible
> is necessary at all
>
> Konrad
Hi Konrad,
Thanks for review.
yes, we are going with the NO_SNOOP change for this platform.
And that series has been reviewed and waiting for this patch to get applied.
Thanks,
Mrinmay
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v10 3/3] arm64: dts: qcom: sa8775p: Add ep pcie0 controller node
2024-03-29 15:21 [PATCH v10 0/3] arm64: qcom: sa8775p: add support for EP PCIe Mrinmay Sarkar
2024-03-29 15:21 ` [PATCH v10 1/3] dt-bindings: PCI: qcom-ep: Add support for SA8775P SoC Mrinmay Sarkar
2024-03-29 15:21 ` [PATCH v10 2/3] PCI: qcom-ep: Add support for SA8775P SOC Mrinmay Sarkar
@ 2024-03-29 15:21 ` Mrinmay Sarkar
2 siblings, 0 replies; 6+ messages in thread
From: Mrinmay Sarkar @ 2024-03-29 15:21 UTC (permalink / raw)
To: andersson, krzysztof.kozlowski+dt, conor+dt, konrad.dybcio,
manivannan.sadhasivam
Cc: quic_shazhuss, quic_nitegupt, quic_ramkri, quic_nayiluri,
quic_krichai, quic_vbadigan, quic_schintav, Mrinmay Sarkar,
Bjorn Helgaas, Lorenzo Pieralisi, Krzysztof Wilczyński,
Rob Herring, linux-pci, linux-arm-msm, devicetree, linux-kernel
Add ep pcie dtsi node for pcie0 controller found on sa8775p platform.
It supports gen4 and x2 link width. Limiting the speed to Gen3 due to
stability issues.
Signed-off-by: Mrinmay Sarkar <quic_msarkar@quicinc.com>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
---
arch/arm64/boot/dts/qcom/sa8775p.dtsi | 46 +++++++++++++++++++++++++++++++++++
1 file changed, 46 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sa8775p.dtsi b/arch/arm64/boot/dts/qcom/sa8775p.dtsi
index 231cea1..d9802027 100644
--- a/arch/arm64/boot/dts/qcom/sa8775p.dtsi
+++ b/arch/arm64/boot/dts/qcom/sa8775p.dtsi
@@ -3679,6 +3679,52 @@
status = "disabled";
};
+ pcie0_ep: pcie-ep@1c00000 {
+ compatible = "qcom,sa8775p-pcie-ep";
+ reg = <0x0 0x01c00000 0x0 0x3000>,
+ <0x0 0x40000000 0x0 0xf20>,
+ <0x0 0x40000f20 0x0 0xa8>,
+ <0x0 0x40001000 0x0 0x4000>,
+ <0x0 0x40200000 0x0 0x100000>,
+ <0x0 0x01c03000 0x0 0x1000>,
+ <0x0 0x40005000 0x0 0x2000>;
+ reg-names = "parf", "dbi", "elbi", "atu", "addr_space",
+ "mmio", "dma";
+
+ clocks = <&gcc GCC_PCIE_0_AUX_CLK>,
+ <&gcc GCC_PCIE_0_CFG_AHB_CLK>,
+ <&gcc GCC_PCIE_0_MSTR_AXI_CLK>,
+ <&gcc GCC_PCIE_0_SLV_AXI_CLK>,
+ <&gcc GCC_PCIE_0_SLV_Q2A_AXI_CLK>;
+
+ clock-names = "aux",
+ "cfg",
+ "bus_master",
+ "bus_slave",
+ "slave_q2a";
+
+ interrupts = <GIC_SPI 306 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 630 IRQ_TYPE_LEVEL_HIGH>;
+
+ interrupt-names = "global", "doorbell", "dma";
+
+ interconnects = <&pcie_anoc MASTER_PCIE_0 0 &mc_virt SLAVE_EBI1 0>,
+ <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_PCIE_0 0>;
+ interconnect-names = "pcie-mem", "cpu-pcie";
+
+ iommus = <&pcie_smmu 0x0000 0x7f>;
+ resets = <&gcc GCC_PCIE_0_BCR>;
+ reset-names = "core";
+ power-domains = <&gcc PCIE_0_GDSC>;
+ phys = <&pcie0_phy>;
+ phy-names = "pciephy";
+ max-link-speed = <3>; /* FIXME: Limiting the Gen speed due to stability issues */
+ num-lanes = <2>;
+
+ status = "disabled";
+ };
+
pcie0_phy: phy@1c04000 {
compatible = "qcom,sa8775p-qmp-gen4x2-pcie-phy";
reg = <0x0 0x1c04000 0x0 0x2000>;
--
2.7.4
^ permalink raw reply related [flat|nested] 6+ messages in thread