* [PATCH 1/2] dt-bindings: PCI: qcom: Add SM8550 to binding
@ 2022-11-16 12:35 Abel Vesa
2022-11-16 12:35 ` [PATCH 2/2] pci: dwc: pcie-qcom: Add support for SM8550 PCIEs Abel Vesa
` (4 more replies)
0 siblings, 5 replies; 8+ messages in thread
From: Abel Vesa @ 2022-11-16 12:35 UTC (permalink / raw)
To: Andy Gross, Bjorn Andersson, Konrad Dybcio, Bjorn Helgaas,
Manivannan Sadhasivam, Lorenzo Pieralisi, Rob Herring, kw,
Krzysztof Kozlowski
Cc: Linux Kernel Mailing List, devicetree, linux-arm-msm, linux-pci
Add the SM8550 platform to the binding.
Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
---
.../devicetree/bindings/pci/qcom,pcie.yaml | 96 +++++++++++++++++++
1 file changed, 96 insertions(+)
diff --git a/Documentation/devicetree/bindings/pci/qcom,pcie.yaml b/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
index 54f07852d279..efa01a8411c4 100644
--- a/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
+++ b/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
@@ -34,6 +34,8 @@ properties:
- qcom,pcie-sm8250
- qcom,pcie-sm8450-pcie0
- qcom,pcie-sm8450-pcie1
+ - qcom,pcie-sm8550-pcie0
+ - qcom,pcie-sm8550-pcie1
- qcom,pcie-ipq6018
reg:
@@ -92,6 +94,10 @@ properties:
power-domains:
maxItems: 1
+ enable-gpios:
+ description: GPIO controlled connection to ENABLE# signal
+ maxItems: 1
+
perst-gpios:
description: GPIO controlled connection to PERST# signal
maxItems: 1
@@ -187,6 +193,8 @@ allOf:
- qcom,pcie-sm8250
- qcom,pcie-sm8450-pcie0
- qcom,pcie-sm8450-pcie1
+ - qcom,pcie-sm8550-pcie0
+ - qcom,pcie-sm8550-pcie1
then:
properties:
reg:
@@ -601,6 +609,92 @@ allOf:
items:
- const: pci # PCIe core reset
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - qcom,pcie-sm8550-pcie0
+ then:
+ properties:
+ clocks:
+ minItems: 11
+ maxItems: 11
+ clock-names:
+ items:
+ - const: pipe # PIPE clock
+ - const: pipe_mux # PIPE MUX
+ - const: phy_pipe # PIPE output clock
+ - const: ref # REFERENCE clock
+ - const: aux # Auxiliary clock
+ - const: cfg # Configuration clock
+ - const: bus_master # Master AXI clock
+ - const: bus_slave # Slave AXI clock
+ - const: slave_q2a # Slave Q2A clock
+ - const: ddrss_sf_tbu # PCIe SF TBU clock
+ - const: aggre0 # Aggre NoC PCIe0 AXI clock
+ interconnects:
+ maxItems: 1
+ interconnect-names:
+ const: icc_path
+ iommus:
+ maxItems: 1
+ iommu-map:
+ maxItems: 2
+ power-domains:
+ maxItems: 1
+ power-domain-names:
+ const: gdsc
+ resets:
+ maxItems: 1
+ reset-names:
+ items:
+ - const: pci # PCIe core reset
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - qcom,pcie-sm8550-pcie1
+ then:
+ properties:
+ clocks:
+ minItems: 12
+ maxItems: 12
+ clock-names:
+ items:
+ - const: pipe # PIPE clock
+ - const: pipe_mux # PIPE MUX
+ - const: phy_pipe # PIPE output clock
+ - const: ref # REFERENCE clock
+ - const: aux # Auxiliary clock
+ - const: cfg # Configuration clock
+ - const: bus_master # Master AXI clock
+ - const: bus_slave # Slave AXI clock
+ - const: slave_q2a # Slave Q2A clock
+ - const: ddrss_sf_tbu # PCIe SF TBU clock
+ - const: aggre1 # Aggre NoC PCIe1 AXI clock
+ - const: cnoc_pcie_sf_axi # Config NoC PCIe1 AXI clock
+ interconnects:
+ maxItems: 1
+ interconnect-names:
+ const: icc_path
+ iommus:
+ maxItems: 1
+ iommu-map:
+ maxItems: 2
+ power-domains:
+ maxItems: 1
+ power-domain-names:
+ const: gdsc
+ resets:
+ maxItems: 2
+ reset-names:
+ items:
+ - const: pci # PCIe core reset
+ - const: pcie_1_link_down_reset # PCIe link down reset
+
- if:
properties:
compatible:
@@ -672,6 +766,8 @@ allOf:
- qcom,pcie-sm8250
- qcom,pcie-sm8450-pcie0
- qcom,pcie-sm8450-pcie1
+ - qcom,pcie-sm8550-pcie0
+ - qcom,pcie-sm8550-pcie1
then:
oneOf:
- properties:
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 2/2] pci: dwc: pcie-qcom: Add support for SM8550 PCIEs
2022-11-16 12:35 [PATCH 1/2] dt-bindings: PCI: qcom: Add SM8550 to binding Abel Vesa
@ 2022-11-16 12:35 ` Abel Vesa
2022-11-16 12:37 ` Konrad Dybcio
2022-11-17 19:30 ` Bjorn Helgaas
2022-11-16 13:02 ` [PATCH 1/2] dt-bindings: PCI: qcom: Add SM8550 to binding Krzysztof Kozlowski
` (3 subsequent siblings)
4 siblings, 2 replies; 8+ messages in thread
From: Abel Vesa @ 2022-11-16 12:35 UTC (permalink / raw)
To: Andy Gross, Bjorn Andersson, Konrad Dybcio, Bjorn Helgaas,
Manivannan Sadhasivam, Lorenzo Pieralisi, Rob Herring, kw,
Krzysztof Kozlowski
Cc: Linux Kernel Mailing List, devicetree, linux-arm-msm, linux-pci
Add compatibles for both PCIe G4 and G3 found on SM8550.
Also add the cnoc_pcie_sf_axi clock needed by the SM8550.
Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
---
drivers/pci/controller/dwc/pcie-qcom.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/pci/controller/dwc/pcie-qcom.c b/drivers/pci/controller/dwc/pcie-qcom.c
index 6ac28ea8d67d..4a62b2500c1d 100644
--- a/drivers/pci/controller/dwc/pcie-qcom.c
+++ b/drivers/pci/controller/dwc/pcie-qcom.c
@@ -181,7 +181,7 @@ struct qcom_pcie_resources_2_3_3 {
/* 6 clocks typically, 7 for sm8250 */
struct qcom_pcie_resources_2_7_0 {
- struct clk_bulk_data clks[12];
+ struct clk_bulk_data clks[13];
int num_clks;
struct regulator_bulk_data supplies[2];
struct reset_control *pci_reset;
@@ -1206,6 +1206,7 @@ static int qcom_pcie_get_resources_2_7_0(struct qcom_pcie *pcie)
res->clks[idx++].id = "noc_aggr_4";
res->clks[idx++].id = "noc_aggr_south_sf";
res->clks[idx++].id = "cnoc_qx";
+ res->clks[idx++].id = "cnoc_pcie_sf_axi";
num_opt_clks = idx - num_clks;
res->num_clks = idx;
@@ -1752,6 +1753,8 @@ static const struct of_device_id qcom_pcie_match[] = {
{ .compatible = "qcom,pcie-sm8250", .data = &cfg_1_9_0 },
{ .compatible = "qcom,pcie-sm8450-pcie0", .data = &cfg_1_9_0 },
{ .compatible = "qcom,pcie-sm8450-pcie1", .data = &cfg_1_9_0 },
+ { .compatible = "qcom,pcie-sm8550-pcie0", .data = &cfg_1_9_0 },
+ { .compatible = "qcom,pcie-sm8550-pcie1", .data = &cfg_1_9_0 },
{ }
};
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2] pci: dwc: pcie-qcom: Add support for SM8550 PCIEs
2022-11-16 12:35 ` [PATCH 2/2] pci: dwc: pcie-qcom: Add support for SM8550 PCIEs Abel Vesa
@ 2022-11-16 12:37 ` Konrad Dybcio
2022-11-17 19:30 ` Bjorn Helgaas
1 sibling, 0 replies; 8+ messages in thread
From: Konrad Dybcio @ 2022-11-16 12:37 UTC (permalink / raw)
To: Abel Vesa, Andy Gross, Bjorn Andersson, Bjorn Helgaas,
Manivannan Sadhasivam, Lorenzo Pieralisi, Rob Herring, kw,
Krzysztof Kozlowski
Cc: Linux Kernel Mailing List, devicetree, linux-arm-msm, linux-pci
On 16/11/2022 13:35, Abel Vesa wrote:
> Add compatibles for both PCIe G4 and G3 found on SM8550.
> Also add the cnoc_pcie_sf_axi clock needed by the SM8550.
>
> Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Konrad
> drivers/pci/controller/dwc/pcie-qcom.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/pci/controller/dwc/pcie-qcom.c b/drivers/pci/controller/dwc/pcie-qcom.c
> index 6ac28ea8d67d..4a62b2500c1d 100644
> --- a/drivers/pci/controller/dwc/pcie-qcom.c
> +++ b/drivers/pci/controller/dwc/pcie-qcom.c
> @@ -181,7 +181,7 @@ struct qcom_pcie_resources_2_3_3 {
>
> /* 6 clocks typically, 7 for sm8250 */
> struct qcom_pcie_resources_2_7_0 {
> - struct clk_bulk_data clks[12];
> + struct clk_bulk_data clks[13];
> int num_clks;
> struct regulator_bulk_data supplies[2];
> struct reset_control *pci_reset;
> @@ -1206,6 +1206,7 @@ static int qcom_pcie_get_resources_2_7_0(struct qcom_pcie *pcie)
> res->clks[idx++].id = "noc_aggr_4";
> res->clks[idx++].id = "noc_aggr_south_sf";
> res->clks[idx++].id = "cnoc_qx";
> + res->clks[idx++].id = "cnoc_pcie_sf_axi";
>
> num_opt_clks = idx - num_clks;
> res->num_clks = idx;
> @@ -1752,6 +1753,8 @@ static const struct of_device_id qcom_pcie_match[] = {
> { .compatible = "qcom,pcie-sm8250", .data = &cfg_1_9_0 },
> { .compatible = "qcom,pcie-sm8450-pcie0", .data = &cfg_1_9_0 },
> { .compatible = "qcom,pcie-sm8450-pcie1", .data = &cfg_1_9_0 },
> + { .compatible = "qcom,pcie-sm8550-pcie0", .data = &cfg_1_9_0 },
> + { .compatible = "qcom,pcie-sm8550-pcie1", .data = &cfg_1_9_0 },
> { }
> };
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/2] dt-bindings: PCI: qcom: Add SM8550 to binding
2022-11-16 12:35 [PATCH 1/2] dt-bindings: PCI: qcom: Add SM8550 to binding Abel Vesa
2022-11-16 12:35 ` [PATCH 2/2] pci: dwc: pcie-qcom: Add support for SM8550 PCIEs Abel Vesa
@ 2022-11-16 13:02 ` Krzysztof Kozlowski
2022-11-16 13:34 ` Johan Hovold
` (2 subsequent siblings)
4 siblings, 0 replies; 8+ messages in thread
From: Krzysztof Kozlowski @ 2022-11-16 13:02 UTC (permalink / raw)
To: Abel Vesa, Andy Gross, Bjorn Andersson, Konrad Dybcio,
Bjorn Helgaas, Manivannan Sadhasivam, Lorenzo Pieralisi,
Rob Herring, kw, Krzysztof Kozlowski
Cc: Linux Kernel Mailing List, devicetree, linux-arm-msm, linux-pci
On 16/11/2022 13:35, Abel Vesa wrote:
> Add the SM8550 platform to the binding.
Subject: Drop redundant, second "binding"
>
> Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
> ---
> .../devicetree/bindings/pci/qcom,pcie.yaml | 96 +++++++++++++++++++
> 1 file changed, 96 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/pci/qcom,pcie.yaml b/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
> index 54f07852d279..efa01a8411c4 100644
> --- a/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
> +++ b/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
> @@ -34,6 +34,8 @@ properties:
> - qcom,pcie-sm8250
> - qcom,pcie-sm8450-pcie0
> - qcom,pcie-sm8450-pcie1
> + - qcom,pcie-sm8550-pcie0
> + - qcom,pcie-sm8550-pcie1
I am not sure what's the benefit of encoding arbitrary IDs to compatible
just to differentiate by clocks. The devices are basically the same, so
compatible should be the same.
> - qcom,pcie-ipq6018
>
> reg:
> @@ -92,6 +94,10 @@ properties:
> power-domains:
> maxItems: 1
>
> + enable-gpios:
> + description: GPIO controlled connection to ENABLE# signal
> + maxItems: 1
Does not look like used property...
> +
> perst-gpios:
> description: GPIO controlled connection to PERST# signal
> maxItems: 1
> @@ -187,6 +193,8 @@ allOf:
> - qcom,pcie-sm8250
> - qcom,pcie-sm8450-pcie0
> - qcom,pcie-sm8450-pcie1
> + - qcom,pcie-sm8550-pcie0
> + - qcom,pcie-sm8550-pcie1
> then:
> properties:
> reg:
> @@ -601,6 +609,92 @@ allOf:
> items:
> - const: pci # PCIe core reset
>
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - qcom,pcie-sm8550-pcie0
> + then:
> + properties:
> + clocks:
> + minItems: 11
> + maxItems: 11
> + clock-names:
> + items:
> + - const: pipe # PIPE clock
> + - const: pipe_mux # PIPE MUX
> + - const: phy_pipe # PIPE output clock
> + - const: ref # REFERENCE clock
> + - const: aux # Auxiliary clock
> + - const: cfg # Configuration clock
> + - const: bus_master # Master AXI clock
> + - const: bus_slave # Slave AXI clock
> + - const: slave_q2a # Slave Q2A clock
> + - const: ddrss_sf_tbu # PCIe SF TBU clock
> + - const: aggre0 # Aggre NoC PCIe0 AXI clock
> + interconnects:
> + maxItems: 1
> + interconnect-names:
> + const: icc_path
Keep existing pattern of allOf:if:then or change entire file to a
different style.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/2] dt-bindings: PCI: qcom: Add SM8550 to binding
2022-11-16 12:35 [PATCH 1/2] dt-bindings: PCI: qcom: Add SM8550 to binding Abel Vesa
2022-11-16 12:35 ` [PATCH 2/2] pci: dwc: pcie-qcom: Add support for SM8550 PCIEs Abel Vesa
2022-11-16 13:02 ` [PATCH 1/2] dt-bindings: PCI: qcom: Add SM8550 to binding Krzysztof Kozlowski
@ 2022-11-16 13:34 ` Johan Hovold
2022-11-17 12:50 ` Georgi Djakov
2022-11-17 12:53 ` Dmitry Baryshkov
4 siblings, 0 replies; 8+ messages in thread
From: Johan Hovold @ 2022-11-16 13:34 UTC (permalink / raw)
To: Abel Vesa
Cc: Andy Gross, Bjorn Andersson, Konrad Dybcio, Bjorn Helgaas,
Manivannan Sadhasivam, Lorenzo Pieralisi, Rob Herring, kw,
Krzysztof Kozlowski, Linux Kernel Mailing List, devicetree,
linux-arm-msm, linux-pci
On Wed, Nov 16, 2022 at 02:35:04PM +0200, Abel Vesa wrote:
> Add the SM8550 platform to the binding.
>
> Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
> ---
> .../devicetree/bindings/pci/qcom,pcie.yaml | 96 +++++++++++++++++++
> 1 file changed, 96 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/pci/qcom,pcie.yaml b/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
> index 54f07852d279..efa01a8411c4 100644
> --- a/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
> +++ b/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
> @@ -34,6 +34,8 @@ properties:
> - qcom,pcie-sm8250
> - qcom,pcie-sm8450-pcie0
> - qcom,pcie-sm8450-pcie1
> + - qcom,pcie-sm8550-pcie0
> + - qcom,pcie-sm8550-pcie1
You should only need one compatible even if there are differences in
which bus clocks you need to enable.
> - qcom,pcie-ipq6018
>
> reg:
> @@ -92,6 +94,10 @@ properties:
> power-domains:
> maxItems: 1
>
> + enable-gpios:
> + description: GPIO controlled connection to ENABLE# signal
> + maxItems: 1
> +
> perst-gpios:
> description: GPIO controlled connection to PERST# signal
> maxItems: 1
> @@ -187,6 +193,8 @@ allOf:
> - qcom,pcie-sm8250
> - qcom,pcie-sm8450-pcie0
> - qcom,pcie-sm8450-pcie1
> + - qcom,pcie-sm8550-pcie0
> + - qcom,pcie-sm8550-pcie1
> then:
> properties:
> reg:
> @@ -601,6 +609,92 @@ allOf:
> items:
> - const: pci # PCIe core reset
>
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - qcom,pcie-sm8550-pcie0
> + then:
> + properties:
> + clocks:
> + minItems: 11
> + maxItems: 11
> + clock-names:
> + items:
> + - const: pipe # PIPE clock
> + - const: pipe_mux # PIPE MUX
> + - const: phy_pipe # PIPE output clock
The mux and pipe output does not belong in the binding and instead the
muxing should be handled by the clock driver (cf. sc8280xp). You can
probably drop the refclock too.
> + - const: ref # REFERENCE clock
> + - const: aux # Auxiliary clock
> + - const: cfg # Configuration clock
> + - const: bus_master # Master AXI clock
> + - const: bus_slave # Slave AXI clock
> + - const: slave_q2a # Slave Q2A clock
> + - const: ddrss_sf_tbu # PCIe SF TBU clock
> + - const: aggre0 # Aggre NoC PCIe0 AXI clock
Johan
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/2] dt-bindings: PCI: qcom: Add SM8550 to binding
2022-11-16 12:35 [PATCH 1/2] dt-bindings: PCI: qcom: Add SM8550 to binding Abel Vesa
` (2 preceding siblings ...)
2022-11-16 13:34 ` Johan Hovold
@ 2022-11-17 12:50 ` Georgi Djakov
2022-11-17 12:53 ` Dmitry Baryshkov
4 siblings, 0 replies; 8+ messages in thread
From: Georgi Djakov @ 2022-11-17 12:50 UTC (permalink / raw)
To: Abel Vesa, Andy Gross, Bjorn Andersson, Konrad Dybcio,
Bjorn Helgaas, Manivannan Sadhasivam, Lorenzo Pieralisi,
Rob Herring, kw, Krzysztof Kozlowski
Cc: Linux Kernel Mailing List, devicetree, linux-arm-msm, linux-pci
Hi Abel,
On 16.11.22 14:35, Abel Vesa wrote:
> Add the SM8550 platform to the binding.
>
> Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
> ---
> .../devicetree/bindings/pci/qcom,pcie.yaml | 96 +++++++++++++++++++
> 1 file changed, 96 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/pci/qcom,pcie.yaml b/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
> index 54f07852d279..efa01a8411c4 100644
> --- a/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
> +++ b/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
> @@ -34,6 +34,8 @@ properties:
> - qcom,pcie-sm8250
> - qcom,pcie-sm8450-pcie0
> - qcom,pcie-sm8450-pcie1
> + - qcom,pcie-sm8550-pcie0
> + - qcom,pcie-sm8550-pcie1
> - qcom,pcie-ipq6018
>
> reg:
> @@ -92,6 +94,10 @@ properties:
> power-domains:
> maxItems: 1
>
> + enable-gpios:
> + description: GPIO controlled connection to ENABLE# signal
> + maxItems: 1
> +
> perst-gpios:
> description: GPIO controlled connection to PERST# signal
> maxItems: 1
> @@ -187,6 +193,8 @@ allOf:
> - qcom,pcie-sm8250
> - qcom,pcie-sm8450-pcie0
> - qcom,pcie-sm8450-pcie1
> + - qcom,pcie-sm8550-pcie0
> + - qcom,pcie-sm8550-pcie1
> then:
> properties:
> reg:
> @@ -601,6 +609,92 @@ allOf:
> items:
> - const: pci # PCIe core reset
>
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - qcom,pcie-sm8550-pcie0
> + then:
> + properties:
> + clocks:
> + minItems: 11
> + maxItems: 11
> + clock-names:
> + items:
> + - const: pipe # PIPE clock
> + - const: pipe_mux # PIPE MUX
> + - const: phy_pipe # PIPE output clock
> + - const: ref # REFERENCE clock
> + - const: aux # Auxiliary clock
> + - const: cfg # Configuration clock
> + - const: bus_master # Master AXI clock
> + - const: bus_slave # Slave AXI clock
> + - const: slave_q2a # Slave Q2A clock
> + - const: ddrss_sf_tbu # PCIe SF TBU clock
> + - const: aggre0 # Aggre NoC PCIe0 AXI clock
> + interconnects:
> + maxItems: 1
> + interconnect-names:
> + const: icc_path
> + iommus:
> + maxItems: 1
> + iommu-map:
> + maxItems: 2
> + power-domains:
> + maxItems: 1
> + power-domain-names:
> + const: gdsc
> + resets:
> + maxItems: 1
> + reset-names:
> + items:
> + - const: pci # PCIe core reset
> +
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - qcom,pcie-sm8550-pcie1
> + then:
> + properties:
> + clocks:
> + minItems: 12
> + maxItems: 12
> + clock-names:
> + items:
> + - const: pipe # PIPE clock
> + - const: pipe_mux # PIPE MUX
> + - const: phy_pipe # PIPE output clock
> + - const: ref # REFERENCE clock
> + - const: aux # Auxiliary clock
> + - const: cfg # Configuration clock
> + - const: bus_master # Master AXI clock
> + - const: bus_slave # Slave AXI clock
> + - const: slave_q2a # Slave Q2A clock
> + - const: ddrss_sf_tbu # PCIe SF TBU clock
> + - const: aggre1 # Aggre NoC PCIe1 AXI clock
> + - const: cnoc_pcie_sf_axi # Config NoC PCIe1 AXI clock
> + interconnects:
> + maxItems: 1
> + interconnect-names:
> + const: icc_path
The name of the path is too generic. Probably something like "pcie-mem" or "pcie-ddr" would be
more appropriate to indicate that this is for requesting bandwidth on the path between PCIE and
DDR memory.
Thanks,
Georgi
> + iommus:
> + maxItems: 1
> + iommu-map:
> + maxItems: 2
> + power-domains:
> + maxItems: 1
> + power-domain-names:
> + const: gdsc
> + resets:
> + maxItems: 2
> + reset-names:
> + items:
> + - const: pci # PCIe core reset
> + - const: pcie_1_link_down_reset # PCIe link down reset
> +
> - if:
> properties:
> compatible:
> @@ -672,6 +766,8 @@ allOf:
> - qcom,pcie-sm8250
> - qcom,pcie-sm8450-pcie0
> - qcom,pcie-sm8450-pcie1
> + - qcom,pcie-sm8550-pcie0
> + - qcom,pcie-sm8550-pcie1
> then:
> oneOf:
> - properties:
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/2] dt-bindings: PCI: qcom: Add SM8550 to binding
2022-11-16 12:35 [PATCH 1/2] dt-bindings: PCI: qcom: Add SM8550 to binding Abel Vesa
` (3 preceding siblings ...)
2022-11-17 12:50 ` Georgi Djakov
@ 2022-11-17 12:53 ` Dmitry Baryshkov
4 siblings, 0 replies; 8+ messages in thread
From: Dmitry Baryshkov @ 2022-11-17 12:53 UTC (permalink / raw)
To: Abel Vesa
Cc: Andy Gross, Bjorn Andersson, Konrad Dybcio, Bjorn Helgaas,
Manivannan Sadhasivam, Lorenzo Pieralisi, Rob Herring, kw,
Krzysztof Kozlowski, Linux Kernel Mailing List, devicetree,
linux-arm-msm, linux-pci
On Wed, 16 Nov 2022 at 14:36, Abel Vesa <abel.vesa@linaro.org> wrote:
>
> Add the SM8550 platform to the binding.
>
> Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
> ---
> .../devicetree/bindings/pci/qcom,pcie.yaml | 96 +++++++++++++++++++
> 1 file changed, 96 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/pci/qcom,pcie.yaml b/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
> index 54f07852d279..efa01a8411c4 100644
> --- a/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
> +++ b/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
> @@ -34,6 +34,8 @@ properties:
> - qcom,pcie-sm8250
> - qcom,pcie-sm8450-pcie0
> - qcom,pcie-sm8450-pcie1
> + - qcom,pcie-sm8550-pcie0
> + - qcom,pcie-sm8550-pcie1
> - qcom,pcie-ipq6018
>
> reg:
> @@ -92,6 +94,10 @@ properties:
> power-domains:
> maxItems: 1
>
> + enable-gpios:
> + description: GPIO controlled connection to ENABLE# signal
> + maxItems: 1
> +
> perst-gpios:
> description: GPIO controlled connection to PERST# signal
> maxItems: 1
> @@ -187,6 +193,8 @@ allOf:
> - qcom,pcie-sm8250
> - qcom,pcie-sm8450-pcie0
> - qcom,pcie-sm8450-pcie1
> + - qcom,pcie-sm8550-pcie0
> + - qcom,pcie-sm8550-pcie1
> then:
> properties:
> reg:
> @@ -601,6 +609,92 @@ allOf:
> items:
> - const: pci # PCIe core reset
>
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - qcom,pcie-sm8550-pcie0
> + then:
> + properties:
> + clocks:
> + minItems: 11
> + maxItems: 11
> + clock-names:
> + items:
> + - const: pipe # PIPE clock
> + - const: pipe_mux # PIPE MUX
> + - const: phy_pipe # PIPE output clock
> + - const: ref # REFERENCE clock
> + - const: aux # Auxiliary clock
> + - const: cfg # Configuration clock
> + - const: bus_master # Master AXI clock
> + - const: bus_slave # Slave AXI clock
> + - const: slave_q2a # Slave Q2A clock
> + - const: ddrss_sf_tbu # PCIe SF TBU clock
> + - const: aggre0 # Aggre NoC PCIe0 AXI clock
> + interconnects:
> + maxItems: 1
> + interconnect-names:
> + const: icc_path
> + iommus:
> + maxItems: 1
> + iommu-map:
> + maxItems: 2
> + power-domains:
> + maxItems: 1
> + power-domain-names:
> + const: gdsc
> + resets:
> + maxItems: 1
> + reset-names:
> + items:
> + - const: pci # PCIe core reset
> +
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - qcom,pcie-sm8550-pcie1
> + then:
> + properties:
> + clocks:
> + minItems: 12
> + maxItems: 12
> + clock-names:
> + items:
> + - const: pipe # PIPE clock
> + - const: pipe_mux # PIPE MUX
> + - const: phy_pipe # PIPE output clock
> + - const: ref # REFERENCE clock
You should not need these four clocks. They are unused by the driver.
Same applies to pcie0 too.
> + - const: aux # Auxiliary clock
> + - const: cfg # Configuration clock
> + - const: bus_master # Master AXI clock
> + - const: bus_slave # Slave AXI clock
> + - const: slave_q2a # Slave Q2A clock
> + - const: ddrss_sf_tbu # PCIe SF TBU clock
> + - const: aggre1 # Aggre NoC PCIe1 AXI clock
> + - const: cnoc_pcie_sf_axi # Config NoC PCIe1 AXI clock
> + interconnects:
> + maxItems: 1
> + interconnect-names:
> + const: icc_path
> + iommus:
> + maxItems: 1
> + iommu-map:
> + maxItems: 2
> + power-domains:
> + maxItems: 1
> + power-domain-names:
> + const: gdsc
> + resets:
> + maxItems: 2
> + reset-names:
> + items:
> + - const: pci # PCIe core reset
> + - const: pcie_1_link_down_reset # PCIe link down reset
> +
> - if:
> properties:
> compatible:
> @@ -672,6 +766,8 @@ allOf:
> - qcom,pcie-sm8250
> - qcom,pcie-sm8450-pcie0
> - qcom,pcie-sm8450-pcie1
> + - qcom,pcie-sm8550-pcie0
> + - qcom,pcie-sm8550-pcie1
> then:
> oneOf:
> - properties:
> --
> 2.34.1
>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2] pci: dwc: pcie-qcom: Add support for SM8550 PCIEs
2022-11-16 12:35 ` [PATCH 2/2] pci: dwc: pcie-qcom: Add support for SM8550 PCIEs Abel Vesa
2022-11-16 12:37 ` Konrad Dybcio
@ 2022-11-17 19:30 ` Bjorn Helgaas
1 sibling, 0 replies; 8+ messages in thread
From: Bjorn Helgaas @ 2022-11-17 19:30 UTC (permalink / raw)
To: Abel Vesa
Cc: Andy Gross, Bjorn Andersson, Konrad Dybcio, Bjorn Helgaas,
Manivannan Sadhasivam, Lorenzo Pieralisi, Rob Herring, kw,
Krzysztof Kozlowski, Linux Kernel Mailing List, devicetree,
linux-arm-msm, linux-pci
Hi Abel,
Instead of making up your own subject line prefix, please take a look
at the history and make yours match:
PCI: qcom: Rename host-init error label
PCI: qcom: Drop unused post_deinit callback
PCI: qcom: Sort device-id table
PCI: qcom: Clean up IP configurations
...
On Wed, Nov 16, 2022 at 02:35:05PM +0200, Abel Vesa wrote:
> Add compatibles for both PCIe G4 and G3 found on SM8550.
> Also add the cnoc_pcie_sf_axi clock needed by the SM8550.
>
> Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
> ---
> drivers/pci/controller/dwc/pcie-qcom.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/pci/controller/dwc/pcie-qcom.c b/drivers/pci/controller/dwc/pcie-qcom.c
> index 6ac28ea8d67d..4a62b2500c1d 100644
> --- a/drivers/pci/controller/dwc/pcie-qcom.c
> +++ b/drivers/pci/controller/dwc/pcie-qcom.c
> @@ -181,7 +181,7 @@ struct qcom_pcie_resources_2_3_3 {
>
> /* 6 clocks typically, 7 for sm8250 */
> struct qcom_pcie_resources_2_7_0 {
> - struct clk_bulk_data clks[12];
> + struct clk_bulk_data clks[13];
> int num_clks;
> struct regulator_bulk_data supplies[2];
> struct reset_control *pci_reset;
> @@ -1206,6 +1206,7 @@ static int qcom_pcie_get_resources_2_7_0(struct qcom_pcie *pcie)
> res->clks[idx++].id = "noc_aggr_4";
> res->clks[idx++].id = "noc_aggr_south_sf";
> res->clks[idx++].id = "cnoc_qx";
> + res->clks[idx++].id = "cnoc_pcie_sf_axi";
>
> num_opt_clks = idx - num_clks;
> res->num_clks = idx;
> @@ -1752,6 +1753,8 @@ static const struct of_device_id qcom_pcie_match[] = {
> { .compatible = "qcom,pcie-sm8250", .data = &cfg_1_9_0 },
> { .compatible = "qcom,pcie-sm8450-pcie0", .data = &cfg_1_9_0 },
> { .compatible = "qcom,pcie-sm8450-pcie1", .data = &cfg_1_9_0 },
> + { .compatible = "qcom,pcie-sm8550-pcie0", .data = &cfg_1_9_0 },
> + { .compatible = "qcom,pcie-sm8550-pcie1", .data = &cfg_1_9_0 },
> { }
> };
>
> --
> 2.34.1
>
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2022-11-17 19:30 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-11-16 12:35 [PATCH 1/2] dt-bindings: PCI: qcom: Add SM8550 to binding Abel Vesa
2022-11-16 12:35 ` [PATCH 2/2] pci: dwc: pcie-qcom: Add support for SM8550 PCIEs Abel Vesa
2022-11-16 12:37 ` Konrad Dybcio
2022-11-17 19:30 ` Bjorn Helgaas
2022-11-16 13:02 ` [PATCH 1/2] dt-bindings: PCI: qcom: Add SM8550 to binding Krzysztof Kozlowski
2022-11-16 13:34 ` Johan Hovold
2022-11-17 12:50 ` Georgi Djakov
2022-11-17 12:53 ` Dmitry Baryshkov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).