* [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* 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 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 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 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
* [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* 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 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 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
* [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