* [PATCH v3 0/6] Enable IPQ5018 PCI support
[not found] <20250305134239.2236590-1-george.moussalem@outlook.com>
@ 2025-03-05 13:41 ` George Moussalem
2025-03-05 16:49 ` Krzysztof Kozlowski
2025-03-05 13:41 ` [PATCH v3 1/6] dt-bindings: phy: qcom: uniphy-pcie: Add ipq5018 compatible George Moussalem
` (5 subsequent siblings)
6 siblings, 1 reply; 28+ messages in thread
From: George Moussalem @ 2025-03-05 13:41 UTC (permalink / raw)
To: linux-arm-msm, linux-kernel, linux-pci, linux-phy, andersson,
bhelgaas, conor+dt, devicetree, dmitry.baryshkov, kishon,
konradybcio, krzk+dt, kw, lpieralisi, manivannan.sadhasivam,
p.zabel, quic_nsekar, robh, robimarko, vkoul
Cc: quic_srichara, George Moussalem
From: Sricharan Ramabadhran <quic_srichara@quicinc.com>
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 (v2) submitted dates back to August 27, 2024.
As I've worked to add IPQ5018 platform support in OpenWrt, I'm
continuing the efforts to add Linux kernel support.
v3:
*) Depends on: 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: https://lore.kernel.org/all/20240827045757.1101194-1-quic_srichara@quicinc.com/
v2:
Fixed all review comments from Krzysztof, Robert Marko,
Dmitry Baryshkov, Manivannan Sadhasivam, Konrad Dybcio.
Updated the respective patches for their changes.
v1:
https://lore.kernel.org/lkml/32389b66-48f3-8ee8-e2f1-1613feed3cc7@gmail.com/T/
Sricharan Ramabadhran (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 | 49 ++++
.../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, 365 insertions(+), 3 deletions(-)
--
2.48.1
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply [flat|nested] 28+ messages in thread* Re: [PATCH v3 0/6] Enable IPQ5018 PCI support
2025-03-05 13:41 ` [PATCH v3 0/6] Enable IPQ5018 PCI support George Moussalem
@ 2025-03-05 16:49 ` Krzysztof Kozlowski
2025-03-05 16:59 ` George Moussalem
0 siblings, 1 reply; 28+ messages in thread
From: Krzysztof Kozlowski @ 2025-03-05 16:49 UTC (permalink / raw)
To: George Moussalem, linux-arm-msm, linux-kernel, linux-pci,
linux-phy, andersson, bhelgaas, conor+dt, devicetree,
dmitry.baryshkov, kishon, konradybcio, krzk+dt, kw, lpieralisi,
manivannan.sadhasivam, p.zabel, quic_nsekar, robh, robimarko,
vkoul
Cc: quic_srichara
On 05/03/2025 14:41, George Moussalem wrote:
> From: Sricharan Ramabadhran <quic_srichara@quicinc.com>
Not correct From. Cover letter should be written by you.
>
> 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 (v2) submitted dates back to August 27, 2024.
> As I've worked to add IPQ5018 platform support in OpenWrt, I'm
> continuing the efforts to add Linux kernel support.
>
> v3:
> *) Depends on: https://patchwork.kernel.org/project/linux-arm-msm/cover/20250220094251.230936-1-quic_varada@quicinc.com/
Wasn't this applied, so why is it still a dependency?
> *) Added 8 MSI SPI and 1 global interrupts (Thanks Mani for confirming)
Who did it? This v3 or other v3? Which v3 is this one here?
Best regards,
Krzysztof
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH v3 0/6] Enable IPQ5018 PCI support
2025-03-05 16:49 ` Krzysztof Kozlowski
@ 2025-03-05 16:59 ` George Moussalem
2025-03-06 7:18 ` Krzysztof Kozlowski
0 siblings, 1 reply; 28+ messages in thread
From: George Moussalem @ 2025-03-05 16:59 UTC (permalink / raw)
To: Krzysztof Kozlowski, linux-arm-msm, linux-kernel, linux-pci,
linux-phy, andersson, bhelgaas, conor+dt, devicetree,
dmitry.baryshkov, kishon, konradybcio, krzk+dt, kw, lpieralisi,
manivannan.sadhasivam, p.zabel, quic_nsekar, robh, robimarko,
vkoul
Cc: quic_srichara
> On 05/03/2025 14:41, George Moussalem wrote:
>> From: Sricharan Ramabadhran <quic_srichara@quicinc.com>
> Not correct From. Cover letter should be written by you.
Noted. I thought I'd keep the original author included and added my v3 changes which you rightfully pointed out should have been v4 instead.
Will remove in next version.
>
>> 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 (v2) submitted dates back to August 27, 2024.
>> As I've worked to add IPQ5018 platform support in OpenWrt, I'm
>> continuing the efforts to add Linux kernel support.
>>
>> v3:
>> *) Depends on: https://patchwork.kernel.org/project/linux-arm-msm/cover/20250220094251.230936-1-quic_varada@quicinc.com/
>
> Wasn't this applied, so why is it still a dependency?
I explicitly added it as ipq5332 has not made it to the master branch yet. Should I remove?
>
>
>
>> *) Added 8 MSI SPI and 1 global interrupts (Thanks Mani for confirming)
> Who did it? This v3 or other v3? Which v3 is this one here?
As I mentioned, I overlooked the v3 submission and based this series as the next version of v2. Thanks for pointing it out.
>
>
> Best regards,
> Krzysztof
Cheers,
George
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH v3 0/6] Enable IPQ5018 PCI support
2025-03-05 16:59 ` George Moussalem
@ 2025-03-06 7:18 ` Krzysztof Kozlowski
0 siblings, 0 replies; 28+ messages in thread
From: Krzysztof Kozlowski @ 2025-03-06 7:18 UTC (permalink / raw)
To: George Moussalem, linux-arm-msm, linux-kernel, linux-pci,
linux-phy, andersson, bhelgaas, conor+dt, devicetree,
dmitry.baryshkov, kishon, konradybcio, krzk+dt, kw, lpieralisi,
manivannan.sadhasivam, p.zabel, quic_nsekar, robh, robimarko,
vkoul
Cc: quic_srichara
On 05/03/2025 17:59, George Moussalem wrote:
>> On 05/03/2025 14:41, George Moussalem wrote:
>>> From: Sricharan Ramabadhran <quic_srichara@quicinc.com>
>> Not correct From. Cover letter should be written by you.
> Noted. I thought I'd keep the original author included and added my v3 changes which you rightfully pointed out should have been v4 instead.
> Will remove in next version.
>>
>>> 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 (v2) submitted dates back to August 27, 2024.
>>> As I've worked to add IPQ5018 platform support in OpenWrt, I'm
>>> continuing the efforts to add Linux kernel support.
>>>
>>> v3:
>>> *) Depends on: https://patchwork.kernel.org/project/linux-arm-msm/cover/20250220094251.230936-1-quic_varada@quicinc.com/
>>
>> Wasn't this applied, so why is it still a dependency?
> I explicitly added it as ipq5332 has not made it to the master branch yet. Should I remove?
If you treat something not yet released as dependency, then please stop
sending so many versions because nothing here can be applied for this cycle.
Why is this a dependency?
Best regards,
Krzysztof
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply [flat|nested] 28+ messages in thread
* [PATCH v3 1/6] dt-bindings: phy: qcom: uniphy-pcie: Add ipq5018 compatible
[not found] <20250305134239.2236590-1-george.moussalem@outlook.com>
2025-03-05 13:41 ` [PATCH v3 0/6] Enable IPQ5018 PCI support George Moussalem
@ 2025-03-05 13:41 ` George Moussalem
2025-03-05 13:41 ` [PATCH v3 2/6] phy: qualcomm: qcom-uniphy-pcie 28LP add support for IPQ5018 George Moussalem
` (4 subsequent siblings)
6 siblings, 0 replies; 28+ messages in thread
From: George Moussalem @ 2025-03-05 13:41 UTC (permalink / raw)
To: linux-arm-msm, linux-kernel, linux-pci, linux-phy, andersson,
bhelgaas, conor+dt, devicetree, dmitry.baryshkov, kishon,
konradybcio, krzk+dt, kw, lpieralisi, manivannan.sadhasivam,
p.zabel, quic_nsekar, robh, robimarko, vkoul
Cc: quic_srichara, George Moussalem
From: Sricharan Ramabadhran <quic_srichara@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
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply related [flat|nested] 28+ messages in thread* [PATCH v3 2/6] phy: qualcomm: qcom-uniphy-pcie 28LP add support for IPQ5018
[not found] <20250305134239.2236590-1-george.moussalem@outlook.com>
2025-03-05 13:41 ` [PATCH v3 0/6] Enable IPQ5018 PCI support George Moussalem
2025-03-05 13:41 ` [PATCH v3 1/6] dt-bindings: phy: qcom: uniphy-pcie: Add ipq5018 compatible George Moussalem
@ 2025-03-05 13:41 ` George Moussalem
2025-03-05 20:39 ` Dmitry Baryshkov
2025-03-05 13:41 ` [PATCH v3 3/6] dt-bindings: PCI: qcom: Add IPQ5018 SoC George Moussalem
` (3 subsequent siblings)
6 siblings, 1 reply; 28+ messages in thread
From: George Moussalem @ 2025-03-05 13:41 UTC (permalink / raw)
To: linux-arm-msm, linux-kernel, linux-pci, linux-phy, andersson,
bhelgaas, conor+dt, devicetree, dmitry.baryshkov, kishon,
konradybcio, krzk+dt, kw, lpieralisi, manivannan.sadhasivam,
p.zabel, quic_nsekar, robh, robimarko, vkoul
Cc: quic_srichara, George Moussalem
From: Sricharan Ramabadhran <quic_srichara@quicinc.com>
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
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply related [flat|nested] 28+ messages in thread* Re: [PATCH v3 2/6] phy: qualcomm: qcom-uniphy-pcie 28LP add support for IPQ5018
2025-03-05 13:41 ` [PATCH v3 2/6] phy: qualcomm: qcom-uniphy-pcie 28LP add support for IPQ5018 George Moussalem
@ 2025-03-05 20:39 ` Dmitry Baryshkov
2025-03-08 14:25 ` Konrad Dybcio
0 siblings, 1 reply; 28+ messages in thread
From: Dmitry Baryshkov @ 2025-03-05 20:39 UTC (permalink / raw)
To: George Moussalem
Cc: linux-arm-msm, linux-kernel, linux-pci, linux-phy, andersson,
bhelgaas, conor+dt, devicetree, kishon, konradybcio, krzk+dt, kw,
lpieralisi, manivannan.sadhasivam, p.zabel, quic_nsekar, robh,
robimarko, vkoul, quic_srichara
On Wed, Mar 05, 2025 at 05:41:27PM +0400, George Moussalem wrote:
> From: Sricharan Ramabadhran <quic_srichara@quicinc.com>
>
> From: Nitheesh Sekar <quic_nsekar@quicinc.com>
Something is wrong here. There can't be two authors for the patch.
LGTM otherwise
>
> 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(+)
>
--
With best wishes
Dmitry
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH v3 2/6] phy: qualcomm: qcom-uniphy-pcie 28LP add support for IPQ5018
2025-03-05 20:39 ` Dmitry Baryshkov
@ 2025-03-08 14:25 ` Konrad Dybcio
2025-03-08 15:29 ` Dmitry Baryshkov
0 siblings, 1 reply; 28+ messages in thread
From: Konrad Dybcio @ 2025-03-08 14:25 UTC (permalink / raw)
To: Dmitry Baryshkov, George Moussalem
Cc: linux-arm-msm, linux-kernel, linux-pci, linux-phy, andersson,
bhelgaas, conor+dt, devicetree, kishon, konradybcio, krzk+dt, kw,
lpieralisi, manivannan.sadhasivam, p.zabel, quic_nsekar, robh,
robimarko, vkoul, quic_srichara
On 5.03.2025 9:39 PM, Dmitry Baryshkov wrote:
> On Wed, Mar 05, 2025 at 05:41:27PM +0400, George Moussalem wrote:
>> From: Sricharan Ramabadhran <quic_srichara@quicinc.com>
>>
>> From: Nitheesh Sekar <quic_nsekar@quicinc.com>
>
> Something is wrong here. There can't be two authors for the patch.
It may be that Nitheesh was the original author, whose patch was then
picked up by Sricharan for sending (no additional notices of
co-development), but George later did the same, forgetting to remove
Sricharan from the chain.
Konrad
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH v3 2/6] phy: qualcomm: qcom-uniphy-pcie 28LP add support for IPQ5018
2025-03-08 14:25 ` Konrad Dybcio
@ 2025-03-08 15:29 ` Dmitry Baryshkov
0 siblings, 0 replies; 28+ messages in thread
From: Dmitry Baryshkov @ 2025-03-08 15:29 UTC (permalink / raw)
To: Konrad Dybcio
Cc: George Moussalem, linux-arm-msm, linux-kernel, linux-pci,
linux-phy, andersson, bhelgaas, conor+dt, devicetree, kishon,
konradybcio, krzk+dt, kw, lpieralisi, manivannan.sadhasivam,
p.zabel, quic_nsekar, robh, robimarko, vkoul, quic_srichara
On Sat, Mar 08, 2025 at 03:25:05PM +0100, Konrad Dybcio wrote:
> On 5.03.2025 9:39 PM, Dmitry Baryshkov wrote:
> > On Wed, Mar 05, 2025 at 05:41:27PM +0400, George Moussalem wrote:
> >> From: Sricharan Ramabadhran <quic_srichara@quicinc.com>
> >>
> >> From: Nitheesh Sekar <quic_nsekar@quicinc.com>
> >
> > Something is wrong here. There can't be two authors for the patch.
>
> It may be that Nitheesh was the original author, whose patch was then
> picked up by Sricharan for sending (no additional notices of
> co-development), but George later did the same, forgetting to remove
> Sricharan from the chain.
That would go to the SoB trailers. The issue is slightly different. I
can't even come up with a normal way to end up with the patch having
two From: headers:
The only way how one can get the From: header is by doing git
format-patch. But then git am would get rid of it by filling the commit
metadata.
--
With best wishes
Dmitry
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply [flat|nested] 28+ messages in thread
* [PATCH v3 3/6] dt-bindings: PCI: qcom: Add IPQ5018 SoC
[not found] <20250305134239.2236590-1-george.moussalem@outlook.com>
` (2 preceding siblings ...)
2025-03-05 13:41 ` [PATCH v3 2/6] phy: qualcomm: qcom-uniphy-pcie 28LP add support for IPQ5018 George Moussalem
@ 2025-03-05 13:41 ` George Moussalem
2025-03-05 15:51 ` Krzysztof Kozlowski
2025-03-05 13:41 ` [PATCH v3 4/6] PCI: qcom: Add support for IPQ5018 George Moussalem
` (2 subsequent siblings)
6 siblings, 1 reply; 28+ messages in thread
From: George Moussalem @ 2025-03-05 13:41 UTC (permalink / raw)
To: linux-arm-msm, linux-kernel, linux-pci, linux-phy, andersson,
bhelgaas, conor+dt, devicetree, dmitry.baryshkov, kishon,
konradybcio, krzk+dt, kw, lpieralisi, manivannan.sadhasivam,
p.zabel, quic_nsekar, robh, robimarko, vkoul
Cc: quic_srichara, Krzysztof Kozlowski, George Moussalem
From: Sricharan Ramabadhran <quic_srichara@quicinc.com>
From: Nitheesh Sekar <quic_nsekar@quicinc.com>
Add support for the PCIe controller on the Qualcomm
IPQ5108 SoC to the bindings.
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
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 | 49 +++++++++++++++++++
1 file changed, 49 insertions(+)
diff --git a/Documentation/devicetree/bindings/pci/qcom,pcie.yaml b/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
index 6696a36009da..3aa8121b8ae9 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
@@ -210,6 +211,7 @@ allOf:
compatible:
contains:
enum:
+ - qcom,pcie-ipq5018
- qcom,pcie-ipq9574
- qcom,pcie-sdx55
then:
@@ -322,6 +324,53 @@ allOf:
- const: ahb # AHB reset
- const: phy_ahb # PHY AHB reset
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - qcom,pcie-ipq5018
+ then:
+ properties:
+ 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
+ interrupt-names:
+ minItems: 8
+ items:
+ - const: msi0
+ - const: msi1
+ - const: msi2
+ - const: msi3
+ - const: msi4
+ - const: msi5
+ - const: msi6
+ - const: msi7
+ - const: global
+
- if:
properties:
compatible:
--
2.48.1
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply related [flat|nested] 28+ messages in thread* Re: [PATCH v3 3/6] dt-bindings: PCI: qcom: Add IPQ5018 SoC
2025-03-05 13:41 ` [PATCH v3 3/6] dt-bindings: PCI: qcom: Add IPQ5018 SoC George Moussalem
@ 2025-03-05 15:51 ` Krzysztof Kozlowski
2025-03-05 16:41 ` George Moussalem
0 siblings, 1 reply; 28+ messages in thread
From: Krzysztof Kozlowski @ 2025-03-05 15:51 UTC (permalink / raw)
To: George Moussalem, linux-arm-msm, linux-kernel, linux-pci,
linux-phy, andersson, bhelgaas, conor+dt, devicetree,
dmitry.baryshkov, kishon, konradybcio, krzk+dt, kw, lpieralisi,
manivannan.sadhasivam, p.zabel, quic_nsekar, robh, robimarko,
vkoul
Cc: quic_srichara
On 05/03/2025 14:41, George Moussalem wrote:
> From: Sricharan Ramabadhran <quic_srichara@quicinc.com>
>
> From: Nitheesh Sekar <quic_nsekar@quicinc.com>
Nope, that's not a correct chain. Apply it yourself and check results.
>
> Add support for the PCIe controller on the Qualcomm
> IPQ5108 SoC to the bindings.
>
> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Also not really correct. I did not provide tag to Nitheesh patch. How
the tag was added there? b4?
> 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 | 49 +++++++++++++++++++
> 1 file changed, 49 insertions(+)
>
...
> + 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
> + interrupt-names:
> + minItems: 8
Why is this flexible?
> + items:
> + - const: msi0
> + - const: msi1
> + - const: msi2
> + - const: msi3
> + - const: msi4
> + - const: msi5
> + - const: msi6
> + - const: msi7
> + - const: global
> +
Best regards,
Krzysztof
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH v3 3/6] dt-bindings: PCI: qcom: Add IPQ5018 SoC
2025-03-05 15:51 ` Krzysztof Kozlowski
@ 2025-03-05 16:41 ` George Moussalem
2025-03-05 16:45 ` Krzysztof Kozlowski
2025-03-06 7:24 ` Krzysztof Kozlowski
0 siblings, 2 replies; 28+ messages in thread
From: George Moussalem @ 2025-03-05 16:41 UTC (permalink / raw)
To: Krzysztof Kozlowski, linux-arm-msm, linux-kernel, linux-pci,
linux-phy, andersson, bhelgaas, conor+dt, devicetree,
dmitry.baryshkov, kishon, konradybcio, krzk+dt, kw, lpieralisi,
manivannan.sadhasivam, p.zabel, quic_nsekar, robh, robimarko,
vkoul
Cc: quic_srichara
On 3/5/25 19:51, Krzysztof Kozlowski wrote:
> On 05/03/2025 14:41, George Moussalem wrote:
>> From: Sricharan Ramabadhran <quic_srichara@quicinc.com>
>>
>> From: Nitheesh Sekar <quic_nsekar@quicinc.com>
> Nope, that's not a correct chain. Apply it yourself and check results.
this series is dependent on the series to add support for IPQ5332:
https://lore.kernel.org/all/20250220094251.230936-1-quic_varada@quicinc.com/
which was applied to dt-bindings
>
>> Add support for the PCIe controller on the Qualcomm
>> IPQ5108 SoC to the bindings.
>>
>> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> Also not really correct. I did not provide tag to Nitheesh patch. How
> the tag was added there? b4?
the RB tag was passed on from here:
https://lore.kernel.org/all/20240830081132.4016860-3-quic_srichara@quicinc.com/
but I'll drop it as it changed quite a bit since.
>
>> 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 | 49 +++++++++++++++++++
>> 1 file changed, 49 insertions(+)
>>
> ...
>
>> + 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
>> + interrupt-names:
>> + minItems: 8
> Why is this flexible?
I'll restrict it with maxItems in next version, thanks
>
>> + items:
>> + - const: msi0
>> + - const: msi1
>> + - const: msi2
>> + - const: msi3
>> + - const: msi4
>> + - const: msi5
>> + - const: msi6
>> + - const: msi7
>> + - const: global
>> +
> Best regards,
> Krzysztof
Best regards,
George
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH v3 3/6] dt-bindings: PCI: qcom: Add IPQ5018 SoC
2025-03-05 16:41 ` George Moussalem
@ 2025-03-05 16:45 ` Krzysztof Kozlowski
2025-03-06 7:24 ` Krzysztof Kozlowski
1 sibling, 0 replies; 28+ messages in thread
From: Krzysztof Kozlowski @ 2025-03-05 16:45 UTC (permalink / raw)
To: George Moussalem, linux-arm-msm, linux-kernel, linux-pci,
linux-phy, andersson, bhelgaas, conor+dt, devicetree,
dmitry.baryshkov, kishon, konradybcio, krzk+dt, kw, lpieralisi,
manivannan.sadhasivam, p.zabel, quic_nsekar, robh, robimarko,
vkoul
Cc: quic_srichara
On 05/03/2025 17:41, George Moussalem wrote:
>
>
> On 3/5/25 19:51, Krzysztof Kozlowski wrote:
>> On 05/03/2025 14:41, George Moussalem wrote:
>>> From: Sricharan Ramabadhran <quic_srichara@quicinc.com>
>>>
>>> From: Nitheesh Sekar <quic_nsekar@quicinc.com>
>> Nope, that's not a correct chain. Apply it yourself and check results.
> this series is dependent on the series to add support for IPQ5332:
> https://lore.kernel.org/all/20250220094251.230936-1-quic_varada@quicinc.com/
> which was applied to dt-bindings
>>
>>> Add support for the PCIe controller on the Qualcomm
>>> IPQ5108 SoC to the bindings.
>>>
>>> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
>> Also not really correct. I did not provide tag to Nitheesh patch. How
>> the tag was added there? b4?
> the RB tag was passed on from here:
> https://lore.kernel.org/all/20240830081132.4016860-3-quic_srichara@quicinc.com/
> but I'll drop it as it changed quite a bit since.
You linked v3, but this is v3!
I think I was stating it, but just to recap: please keep versioning the
patchsets, so if you ever do any change, it is next version. If you do
not make changes and keep the version but send again something, then
this should be RESEND PATCH.
>>
>>> 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 | 49 +++++++++++++++++++
>>> 1 file changed, 49 insertions(+)
>>>
>> ...
>>
>>> + 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
>>> + interrupt-names:
>>> + minItems: 8
>> Why is this flexible?
> I'll restrict it with maxItems in next version, thanks
This was not in v3, so is this resend of v3 or v4?
You are making this process unnecessary difficult and confusing.
Best regards,
Krzysztof
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH v3 3/6] dt-bindings: PCI: qcom: Add IPQ5018 SoC
2025-03-05 16:41 ` George Moussalem
2025-03-05 16:45 ` Krzysztof Kozlowski
@ 2025-03-06 7:24 ` Krzysztof Kozlowski
2025-03-13 5:55 ` George Moussalem
1 sibling, 1 reply; 28+ messages in thread
From: Krzysztof Kozlowski @ 2025-03-06 7:24 UTC (permalink / raw)
To: George Moussalem, Krzysztof Kozlowski, linux-arm-msm,
linux-kernel, linux-pci, linux-phy, andersson, bhelgaas, conor+dt,
devicetree, dmitry.baryshkov, kishon, konradybcio, krzk+dt, kw,
lpieralisi, manivannan.sadhasivam, p.zabel, quic_nsekar, robh,
robimarko, vkoul
Cc: quic_srichara
On 05/03/2025 17:41, George Moussalem wrote:
>
>
> On 3/5/25 19:51, Krzysztof Kozlowski wrote:
>> On 05/03/2025 14:41, George Moussalem wrote:
>>> From: Sricharan Ramabadhran <quic_srichara@quicinc.com>
>>>
>>> From: Nitheesh Sekar <quic_nsekar@quicinc.com>
>> Nope, that's not a correct chain. Apply it yourself and check results.
> this series is dependent on the series to add support for IPQ5332:
> https://lore.kernel.org/all/20250220094251.230936-1-quic_varada@quicinc.com/
> which was applied to dt-bindings
Your comment is not relevant to reported problem. Instead of
disagreeing, why can't you try it yourself and see?
Best regards,
Krzysztof
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH v3 3/6] dt-bindings: PCI: qcom: Add IPQ5018 SoC
2025-03-06 7:24 ` Krzysztof Kozlowski
@ 2025-03-13 5:55 ` George Moussalem
0 siblings, 0 replies; 28+ messages in thread
From: George Moussalem @ 2025-03-13 5:55 UTC (permalink / raw)
To: Krzysztof Kozlowski, Krzysztof Kozlowski, linux-arm-msm,
linux-kernel, linux-pci, linux-phy, andersson, bhelgaas, conor+dt,
devicetree, dmitry.baryshkov, kishon, konradybcio, krzk+dt, kw,
lpieralisi, manivannan.sadhasivam, p.zabel, quic_nsekar, robh,
robimarko, vkoul
Cc: quic_srichara
apologies for the delayed response, was on a business trip.
On 3/6/25 11:24, Krzysztof Kozlowski wrote:
> On 05/03/2025 17:41, George Moussalem wrote:
>>
>>
>> On 3/5/25 19:51, Krzysztof Kozlowski wrote:
>>> On 05/03/2025 14:41, George Moussalem wrote:
>>>> From: Sricharan Ramabadhran <quic_srichara@quicinc.com>
>>>>
>>>> From: Nitheesh Sekar <quic_nsekar@quicinc.com>
>>> Nope, that's not a correct chain. Apply it yourself and check results.
>> this series is dependent on the series to add support for IPQ5332:
>> https://lore.kernel.org/all/20250220094251.230936-1-quic_varada@quicinc.com/
>> which was applied to dt-bindings
>
> Your comment is not relevant to reported problem. Instead of
> disagreeing, why can't you try it yourself and see?
I wasn't disagreeing, but I now understand what you mean. Thanks for
highlighting it and I will fix in the next version.
>
> Best regards,
> Krzysztof
Best regards,
George
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply [flat|nested] 28+ messages in thread
* [PATCH v3 4/6] PCI: qcom: Add support for IPQ5018
[not found] <20250305134239.2236590-1-george.moussalem@outlook.com>
` (3 preceding siblings ...)
2025-03-05 13:41 ` [PATCH v3 3/6] dt-bindings: PCI: qcom: Add IPQ5018 SoC George Moussalem
@ 2025-03-05 13:41 ` George Moussalem
2025-03-13 6:00 ` Manivannan Sadhasivam
2025-03-05 13:41 ` [PATCH v3 5/6] arm64: dts: qcom: ipq5018: Add PCIe related nodes George Moussalem
2025-03-05 13:41 ` [PATCH v3 6/6] arm64: dts: qcom: ipq5018: Enable PCIe George Moussalem
6 siblings, 1 reply; 28+ messages in thread
From: George Moussalem @ 2025-03-05 13:41 UTC (permalink / raw)
To: linux-arm-msm, linux-kernel, linux-pci, linux-phy, andersson,
bhelgaas, conor+dt, devicetree, dmitry.baryshkov, kishon,
konradybcio, krzk+dt, kw, lpieralisi, manivannan.sadhasivam,
p.zabel, quic_nsekar, robh, robimarko, vkoul
Cc: quic_srichara, George Moussalem
From: Sricharan Ramabadhran <quic_srichara@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.
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
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply related [flat|nested] 28+ messages in thread* Re: [PATCH v3 4/6] PCI: qcom: Add support for IPQ5018
2025-03-05 13:41 ` [PATCH v3 4/6] PCI: qcom: Add support for IPQ5018 George Moussalem
@ 2025-03-13 6:00 ` Manivannan Sadhasivam
0 siblings, 0 replies; 28+ messages in thread
From: Manivannan Sadhasivam @ 2025-03-13 6:00 UTC (permalink / raw)
To: George Moussalem
Cc: linux-arm-msm, linux-kernel, linux-pci, linux-phy, andersson,
bhelgaas, conor+dt, devicetree, dmitry.baryshkov, kishon,
konradybcio, krzk+dt, kw, lpieralisi, p.zabel, quic_nsekar, robh,
robimarko, vkoul, quic_srichara
On Wed, Mar 05, 2025 at 05:41:29PM +0400, George Moussalem wrote:
> From: Sricharan Ramabadhran <quic_srichara@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.
>
> 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>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
- Mani
> ---
> 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
>
--
மணிவண்ணன் சதாசிவம்
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply [flat|nested] 28+ messages in thread
* [PATCH v3 5/6] arm64: dts: qcom: ipq5018: Add PCIe related nodes
[not found] <20250305134239.2236590-1-george.moussalem@outlook.com>
` (4 preceding siblings ...)
2025-03-05 13:41 ` [PATCH v3 4/6] PCI: qcom: Add support for IPQ5018 George Moussalem
@ 2025-03-05 13:41 ` George Moussalem
2025-03-08 15:08 ` Konrad Dybcio
2025-03-18 7:17 ` Manivannan Sadhasivam
2025-03-05 13:41 ` [PATCH v3 6/6] arm64: dts: qcom: ipq5018: Enable PCIe George Moussalem
6 siblings, 2 replies; 28+ messages in thread
From: George Moussalem @ 2025-03-05 13:41 UTC (permalink / raw)
To: linux-arm-msm, linux-kernel, linux-pci, linux-phy, andersson,
bhelgaas, conor+dt, devicetree, dmitry.baryshkov, kishon,
konradybcio, krzk+dt, kw, lpieralisi, manivannan.sadhasivam,
p.zabel, quic_nsekar, robh, robimarko, vkoul
Cc: quic_srichara, George Moussalem
From: Sricharan Ramabadhran <quic_srichara@quicinc.com>
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..301a044bdf6d 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>, /* I/O */
+ <0x82000000 0 0x80300000 0x80300000 0 0x10000000>; /* MEM */
+
+ 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>, /* int_a */
+ <0 0 0 2 &intc 0 143 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
+ <0 0 0 3 &intc 0 144 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
+ <0 0 0 4 &intc 0 145 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
+
+ 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>, /* I/O */
+ <0x82000000 0 0xa0300000 0xa0300000 0 0x10000000>; /* MEM */
+
+ 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>, /* int_a */
+ <0 0 0 2 &intc 0 78 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
+ <0 0 0 3 &intc 0 79 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
+ <0 0 0 4 &intc 0 83 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
+
+ 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
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply related [flat|nested] 28+ messages in thread* Re: [PATCH v3 5/6] arm64: dts: qcom: ipq5018: Add PCIe related nodes
2025-03-05 13:41 ` [PATCH v3 5/6] arm64: dts: qcom: ipq5018: Add PCIe related nodes George Moussalem
@ 2025-03-08 15:08 ` Konrad Dybcio
2025-03-13 6:09 ` George Moussalem
2025-03-18 7:17 ` Manivannan Sadhasivam
1 sibling, 1 reply; 28+ messages in thread
From: Konrad Dybcio @ 2025-03-08 15:08 UTC (permalink / raw)
To: George Moussalem, linux-arm-msm, linux-kernel, linux-pci,
linux-phy, andersson, bhelgaas, conor+dt, devicetree,
dmitry.baryshkov, kishon, konradybcio, krzk+dt, kw, lpieralisi,
manivannan.sadhasivam, p.zabel, quic_nsekar, robh, robimarko,
vkoul
Cc: quic_srichara
On 5.03.2025 2:41 PM, George Moussalem wrote:
> From: Sricharan Ramabadhran <quic_srichara@quicinc.com>
>
> 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>
> ---
[...]
> + #interrupt-cells = <1>;
> + interrupt-map-mask = <0 0 0 0x7>;
> + interrupt-map = <0 0 0 1 &intc 0 142 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
> + <0 0 0 2 &intc 0 143 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
> + <0 0 0 3 &intc 0 144 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
> + <0 0 0 4 &intc 0 145 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
Please all the comments in this patch, they're not very useful
Konrad
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH v3 5/6] arm64: dts: qcom: ipq5018: Add PCIe related nodes
2025-03-08 15:08 ` Konrad Dybcio
@ 2025-03-13 6:09 ` George Moussalem
0 siblings, 0 replies; 28+ messages in thread
From: George Moussalem @ 2025-03-13 6:09 UTC (permalink / raw)
To: Konrad Dybcio, linux-arm-msm, linux-kernel, linux-pci, linux-phy,
andersson, bhelgaas, conor+dt, devicetree, dmitry.baryshkov,
kishon, konradybcio, krzk+dt, kw, lpieralisi,
manivannan.sadhasivam, p.zabel, quic_nsekar, robh, robimarko,
vkoul
Cc: quic_srichara
On 3/8/25 19:08, Konrad Dybcio wrote:
> On 5.03.2025 2:41 PM, George Moussalem wrote:
>> From: Sricharan Ramabadhran <quic_srichara@quicinc.com>
>>
>> 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>
>> ---
>
> [...]
>
>> + #interrupt-cells = <1>;
>> + interrupt-map-mask = <0 0 0 0x7>;
>> + interrupt-map = <0 0 0 1 &intc 0 142 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
>> + <0 0 0 2 &intc 0 143 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
>> + <0 0 0 3 &intc 0 144 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
>> + <0 0 0 4 &intc 0 145 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
>
> Please all the comments in this patch, they're not very useful
Will remove in next version, thanks!
>
> Konrad
Best regards,
George
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH v3 5/6] arm64: dts: qcom: ipq5018: Add PCIe related nodes
2025-03-05 13:41 ` [PATCH v3 5/6] arm64: dts: qcom: ipq5018: Add PCIe related nodes George Moussalem
2025-03-08 15:08 ` Konrad Dybcio
@ 2025-03-18 7:17 ` Manivannan Sadhasivam
2025-03-18 9:41 ` George Moussalem
1 sibling, 1 reply; 28+ messages in thread
From: Manivannan Sadhasivam @ 2025-03-18 7:17 UTC (permalink / raw)
To: George Moussalem
Cc: linux-arm-msm, linux-kernel, linux-pci, linux-phy, andersson,
bhelgaas, conor+dt, devicetree, dmitry.baryshkov, kishon,
konradybcio, krzk+dt, kw, lpieralisi, p.zabel, quic_nsekar, robh,
robimarko, vkoul, quic_srichara
On Wed, Mar 05, 2025 at 05:41:30PM +0400, George Moussalem wrote:
> From: Sricharan Ramabadhran <quic_srichara@quicinc.com>
>
> 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..301a044bdf6d 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>;
Why do you want to limit link speed?
> + #address-cells = <3>;
> + #size-cells = <2>;
> +
> + phys = <&pcie1_phy>;
> + phy-names ="pciephy";
> +
> + ranges = <0x81000000 0 0x80200000 0x80200000 0 0x00100000>, /* I/O */
> + <0x82000000 0 0x80300000 0x80300000 0 0x10000000>; /* MEM */
These ranges are wrong. Please check with other DT files.
Same comments to other instance as well.
> +
> + 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>, /* int_a */
> + <0 0 0 2 &intc 0 143 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
> + <0 0 0 3 &intc 0 144 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
> + <0 0 0 4 &intc 0 145 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
> +
> + 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>;
> +
Please get rid of these newlines between -cells properties.
- Mani
--
மணிவண்ணன் சதாசிவம்
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply [flat|nested] 28+ messages in thread* Re: [PATCH v3 5/6] arm64: dts: qcom: ipq5018: Add PCIe related nodes
2025-03-18 7:17 ` Manivannan Sadhasivam
@ 2025-03-18 9:41 ` George Moussalem
2025-03-24 7:33 ` Manivannan Sadhasivam
0 siblings, 1 reply; 28+ messages in thread
From: George Moussalem @ 2025-03-18 9:41 UTC (permalink / raw)
To: Manivannan Sadhasivam
Cc: linux-arm-msm, linux-kernel, linux-pci, linux-phy, andersson,
bhelgaas, conor+dt, devicetree, dmitry.baryshkov, kishon,
konradybcio, krzk+dt, kw, lpieralisi, p.zabel, quic_nsekar, robh,
robimarko, vkoul, quic_srichara
On 3/18/25 11:17, Manivannan Sadhasivam wrote:
> On Wed, Mar 05, 2025 at 05:41:30PM +0400, George Moussalem wrote:
>> From: Sricharan Ramabadhran <quic_srichara@quicinc.com>
>>
>> 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..301a044bdf6d 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>;
>
> Why do you want to limit link speed?
This was originally sent my qcom. I've just tested with and without.
Without limiting link speed, the phy doesn't come up:
[ 0.112017] qcom-pcie a0000000.pcie: host bridge /soc@0/pcie@a0000000
ranges:
[ 0.112116] qcom-pcie a0000000.pcie: IO
0x00a0200000..0x00a02fffff -> 0x00a0200000
[ 0.112161] qcom-pcie a0000000.pcie: MEM
0x00a0300000..0x00b02fffff -> 0x00a0300000
[ 0.238623] qcom-pcie a0000000.pcie: iATU: unroll T, 8 ob, 8 ib,
align 4K, limit 1024G
...
[ 1.257290] qcom-pcie a0000000.pcie: Phy link never came up
>
>> + #address-cells = <3>;
>> + #size-cells = <2>;
>> +
>> + phys = <&pcie1_phy>;
>> + phy-names ="pciephy";
>> +
>> + ranges = <0x81000000 0 0x80200000 0x80200000 0 0x00100000>, /* I/O */
>> + <0x82000000 0 0x80300000 0x80300000 0 0x10000000>; /* MEM */
>
> These ranges are wrong. Please check with other DT files.
>
Thanks, have corrected them as part of next version:
ranges = <0x01000000 0 0x80200000 0x80200000 0 0x00100000>,
<0x02000000 0 0x80300000 0x80300000 0 0x10000000>;
> Same comments to other instance as well.
and:
ranges = <0x01000000 0 0xa0200000 0xa0200000 0 0x00100000>,
<0x02000000 0 0xa0300000 0xa0300000 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>, /* int_a */
>> + <0 0 0 2 &intc 0 143 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
>> + <0 0 0 3 &intc 0 144 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
>> + <0 0 0 4 &intc 0 145 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
>> +
>> + 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>;
>> +
>
> Please get rid of these newlines between -cells properties.
>
> - Mani
>
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply [flat|nested] 28+ messages in thread* Re: [PATCH v3 5/6] arm64: dts: qcom: ipq5018: Add PCIe related nodes
2025-03-18 9:41 ` George Moussalem
@ 2025-03-24 7:33 ` Manivannan Sadhasivam
0 siblings, 0 replies; 28+ messages in thread
From: Manivannan Sadhasivam @ 2025-03-24 7:33 UTC (permalink / raw)
To: quic_srichara, quic_nsekar, George Moussalem
Cc: linux-arm-msm, linux-kernel, linux-pci, linux-phy, andersson,
bhelgaas, conor+dt, devicetree, dmitry.baryshkov, kishon,
konradybcio, krzk+dt, kw, lpieralisi, p.zabel, robh, robimarko,
vkoul
On Tue, Mar 18, 2025 at 01:41:19PM +0400, George Moussalem wrote:
>
>
> On 3/18/25 11:17, Manivannan Sadhasivam wrote:
> > On Wed, Mar 05, 2025 at 05:41:30PM +0400, George Moussalem wrote:
> > > From: Sricharan Ramabadhran <quic_srichara@quicinc.com>
> > >
> > > 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..301a044bdf6d 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>;
> >
> > Why do you want to limit link speed?
>
> This was originally sent my qcom. I've just tested with and without.
> Without limiting link speed, the phy doesn't come up:
>
> [ 0.112017] qcom-pcie a0000000.pcie: host bridge /soc@0/pcie@a0000000
> ranges:
> [ 0.112116] qcom-pcie a0000000.pcie: IO 0x00a0200000..0x00a02fffff
> -> 0x00a0200000
> [ 0.112161] qcom-pcie a0000000.pcie: MEM 0x00a0300000..0x00b02fffff
> -> 0x00a0300000
> [ 0.238623] qcom-pcie a0000000.pcie: iATU: unroll T, 8 ob, 8 ib, align
> 4K, limit 1024G
> ...
> [ 1.257290] qcom-pcie a0000000.pcie: Phy link never came up
>
Wow. This should never happen unless the PHY sequences are messed up. If there
are stability issues with Gen 3, we should get runtime AER errors and the link
should atleast come up (based on experience with similar issues on other
platforms).
Sricharan/Nitheesh, may I know what is the issue here?
> >
> > > + #address-cells = <3>;
> > > + #size-cells = <2>;
> > > +
> > > + phys = <&pcie1_phy>;
> > > + phy-names ="pciephy";
> > > +
> > > + ranges = <0x81000000 0 0x80200000 0x80200000 0 0x00100000>, /* I/O */
> > > + <0x82000000 0 0x80300000 0x80300000 0 0x10000000>; /* MEM */
> >
> > These ranges are wrong. Please check with other DT files.
> >
>
> Thanks, have corrected them as part of next version:
>
> ranges = <0x01000000 0 0x80200000 0x80200000 0 0x00100000>,
> <0x02000000 0 0x80300000 0x80300000 0 0x10000000>;
>
> > Same comments to other instance as well.
>
> and:
>
> ranges = <0x01000000 0 0xa0200000 0xa0200000 0 0x00100000>,
> <0x02000000 0 0xa0300000 0xa0300000 0 0x10000000>;
>
LGTM.
- Mani
--
மணிவண்ணன் சதாசிவம்
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply [flat|nested] 28+ messages in thread
* [PATCH v3 6/6] arm64: dts: qcom: ipq5018: Enable PCIe
[not found] <20250305134239.2236590-1-george.moussalem@outlook.com>
` (5 preceding siblings ...)
2025-03-05 13:41 ` [PATCH v3 5/6] arm64: dts: qcom: ipq5018: Add PCIe related nodes George Moussalem
@ 2025-03-05 13:41 ` George Moussalem
6 siblings, 0 replies; 28+ messages in thread
From: George Moussalem @ 2025-03-05 13:41 UTC (permalink / raw)
To: linux-arm-msm, linux-kernel, linux-pci, linux-phy, andersson,
bhelgaas, conor+dt, devicetree, dmitry.baryshkov, kishon,
konradybcio, krzk+dt, kw, lpieralisi, manivannan.sadhasivam,
p.zabel, quic_nsekar, robh, robimarko, vkoul
Cc: quic_srichara, George Moussalem
From: Sricharan Ramabadhran <quic_srichara@quicinc.com>
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..d49ff8e8f758 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
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply related [flat|nested] 28+ messages in thread