Skip to content

Commit 5c5dd88

Browse files
committed
Merge branch 'pci/controller/qcom'
- Use correct PCIE20_PARF_AXI_MSTR_WR_ADDR_HALT_V2 register for v2.7.0 (Manivannan Sadhasivam) - Remove "PCIE20_" prefix from register definitions (Manivannan Sadhasivam) - Sort registers and bitfield declarations (Manivannan Sadhasivam) - Convert to GENMASK and FIELD_PREP (Manivannan Sadhasivam) - Use bulk APIs for clocks of IP 1.0.0, 2.3.2, 2.3.3 (Manivannan Sadhasivam) - Use bulk APIs for reset of IP 2.1.0, 2.3.3, 2.4.0 (Manivannan Sadhasivam) - Rename qcom_pcie_config_sid_sm8250() to be non SM8250-specific (Manivannan Sadhasivam) - Add DT "mhi" register region for supported SoCs (Manivannan Sadhasivam) - Expose link transition counts via debugfs to help debug low power issues (Manivannan Sadhasivam) - Support system suspend and resume; reduce interconnect bandwidth and turn off clock and PHY if there are no active devices (Manivannan Sadhasivam) - Enable async probe by default to reduce boot time (Manivannan Sadhasivam) - Add Manivannan Sadhasivam as qcom DT binding maintainer, replacing Stanimir Varbanov (Manivannan Sadhasivam) - Add DT binding and driver support for Qcom SDX55 SoC (Manivannan Sadhasivam) - Add DT binding and driver support for SM8550 SoC (Abel Vesa) - Document msi-map and msi-map-mask DT properties (Manivannan Sadhasivam) * pci/controller/qcom: dt-bindings: PCI: qcom: Document msi-map and msi-map-mask properties PCI: qcom: Add SM8550 PCIe support dt-bindings: PCI: qcom: Add SM8550 compatible PCI: qcom: Add support for SDX55 SoC dt-bindings: PCI: qcom-ep: Fix the unit address used in example dt-bindings: PCI: qcom: Add SDX55 SoC dt-bindings: PCI: qcom: Update maintainers entry PCI: qcom: Enable async probe by default PCI: qcom: Add support for system suspend and resume PCI: qcom: Expose link transition counts via debugfs dt-bindings: PCI: qcom: Add "mhi" register region to supported SoCs PCI: qcom: Rename qcom_pcie_config_sid_sm8250() to reflect IP version PCI: qcom: Use macros for defining total no. of clocks & supplies PCI: qcom: Use bulk reset APIs for handling resets for IP rev 2.4.0 PCI: qcom: Use bulk reset APIs for handling resets for IP rev 2.3.3 PCI: qcom: Use bulk clock APIs for handling clocks for IP rev 2.3.3 PCI: qcom: Use bulk clock APIs for handling clocks for IP rev 2.3.2 PCI: qcom: Use bulk clock APIs for handling clocks for IP rev 1.0.0 PCI: qcom: Use bulk reset APIs for handling resets for IP rev 2.1.0 PCI: qcom: Use lower case for hex PCI: qcom: Add missing macros for register fields PCI: qcom: Use bitfield definitions for register fields PCI: qcom: Sort and group registers and bitfield definitions PCI: qcom: Remove PCIE20_ prefix from register definitions PCI: qcom: Fix the incorrect register usage in v2.7.0 config
2 parents b4c85e7 + c025c7e commit 5c5dd88

3 files changed

Lines changed: 600 additions & 739 deletions

File tree

Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ examples:
166166
#include <dt-bindings/clock/qcom,gcc-sdx55.h>
167167
#include <dt-bindings/gpio/gpio.h>
168168
#include <dt-bindings/interrupt-controller/arm-gic.h>
169-
pcie_ep: pcie-ep@40000000 {
169+
pcie_ep: pcie-ep@1c00000 {
170170
compatible = "qcom,sdx55-pcie-ep";
171171
reg = <0x01c00000 0x3000>,
172172
<0x40000000 0xf1d>,

Documentation/devicetree/bindings/pci/qcom,pcie.yaml

Lines changed: 83 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ title: Qualcomm PCI express root complex
88

99
maintainers:
1010
- Bjorn Andersson <bjorn.andersson@linaro.org>
11-
- Stanimir Varbanov <svarbanov@mm-sol.com>
11+
- Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
1212

1313
description: |
1414
Qualcomm PCIe root complex controller is based on the Synopsys DesignWare
@@ -33,22 +33,24 @@ properties:
3333
- qcom,pcie-sc8180x
3434
- qcom,pcie-sc8280xp
3535
- qcom,pcie-sdm845
36+
- qcom,pcie-sdx55
3637
- qcom,pcie-sm8150
3738
- qcom,pcie-sm8250
3839
- qcom,pcie-sm8350
3940
- qcom,pcie-sm8450-pcie0
4041
- qcom,pcie-sm8450-pcie1
42+
- qcom,pcie-sm8550
4143
- items:
4244
- const: qcom,pcie-msm8998
4345
- const: qcom,pcie-msm8996
4446

4547
reg:
4648
minItems: 4
47-
maxItems: 5
49+
maxItems: 6
4850

4951
reg-names:
5052
minItems: 4
51-
maxItems: 5
53+
maxItems: 6
5254

5355
interrupts:
5456
minItems: 1
@@ -58,6 +60,9 @@ properties:
5860
minItems: 1
5961
maxItems: 8
6062

63+
iommu-map:
64+
maxItems: 2
65+
6166
# Common definitions for clocks, clock-names and reset.
6267
# Platform constraints are described later.
6368
clocks:
@@ -120,14 +125,20 @@ required:
120125
- compatible
121126
- reg
122127
- reg-names
123-
- interrupts
124-
- interrupt-names
125-
- "#interrupt-cells"
126128
- interrupt-map-mask
127129
- interrupt-map
128130
- clocks
129131
- clock-names
130132

133+
anyOf:
134+
- required:
135+
- interrupts
136+
- interrupt-names
137+
- "#interrupt-cells"
138+
- required:
139+
- msi-map
140+
- msi-map-mask
141+
131142
allOf:
132143
- $ref: /schemas/pci/pci-bus.yaml#
133144
- if:
@@ -185,13 +196,15 @@ allOf:
185196
properties:
186197
reg:
187198
minItems: 4
188-
maxItems: 4
199+
maxItems: 5
189200
reg-names:
201+
minItems: 4
190202
items:
191203
- const: parf # Qualcomm specific registers
192204
- const: dbi # DesignWare PCIe registers
193205
- const: elbi # External local bus interface registers
194206
- const: config # PCIe configuration space
207+
- const: mhi # MHI registers
195208

196209
- if:
197210
properties:
@@ -201,22 +214,26 @@ allOf:
201214
- qcom,pcie-sc7280
202215
- qcom,pcie-sc8180x
203216
- qcom,pcie-sc8280xp
217+
- qcom,pcie-sdx55
204218
- qcom,pcie-sm8250
205219
- qcom,pcie-sm8350
206220
- qcom,pcie-sm8450-pcie0
207221
- qcom,pcie-sm8450-pcie1
222+
- qcom,pcie-sm8550
208223
then:
209224
properties:
210225
reg:
211226
minItems: 5
212-
maxItems: 5
227+
maxItems: 6
213228
reg-names:
229+
minItems: 5
214230
items:
215231
- const: parf # Qualcomm specific registers
216232
- const: dbi # DesignWare PCIe registers
217233
- const: elbi # External local bus interface registers
218234
- const: atu # ATU address space
219235
- const: config # PCIe configuration space
236+
- const: mhi # MHI registers
220237

221238
- if:
222239
properties:
@@ -639,6 +656,37 @@ allOf:
639656
items:
640657
- const: pci # PCIe core reset
641658

659+
- if:
660+
properties:
661+
compatible:
662+
contains:
663+
enum:
664+
- qcom,pcie-sm8550
665+
then:
666+
properties:
667+
clocks:
668+
minItems: 7
669+
maxItems: 8
670+
clock-names:
671+
minItems: 7
672+
items:
673+
- const: aux # Auxiliary clock
674+
- const: cfg # Configuration clock
675+
- const: bus_master # Master AXI clock
676+
- const: bus_slave # Slave AXI clock
677+
- const: slave_q2a # Slave Q2A clock
678+
- const: ddrss_sf_tbu # PCIe SF TBU clock
679+
- const: noc_aggr # Aggre NoC PCIe AXI clock
680+
- const: cnoc_sf_axi # Config NoC PCIe1 AXI clock
681+
resets:
682+
minItems: 1
683+
maxItems: 2
684+
reset-names:
685+
minItems: 1
686+
items:
687+
- const: pci # PCIe core reset
688+
- const: link_down # PCIe link down reset
689+
642690
- if:
643691
properties:
644692
compatible:
@@ -669,6 +717,32 @@ allOf:
669717
items:
670718
- const: pci # PCIe core reset
671719

720+
- if:
721+
properties:
722+
compatible:
723+
contains:
724+
enum:
725+
- qcom,pcie-sdx55
726+
then:
727+
properties:
728+
clocks:
729+
minItems: 7
730+
maxItems: 7
731+
clock-names:
732+
items:
733+
- const: pipe # PIPE clock
734+
- const: aux # Auxiliary clock
735+
- const: cfg # Configuration clock
736+
- const: bus_master # Master AXI clock
737+
- const: bus_slave # Slave AXI clock
738+
- const: slave_q2a # Slave Q2A clock
739+
- const: sleep # PCIe Sleep clock
740+
resets:
741+
maxItems: 1
742+
reset-names:
743+
items:
744+
- const: pci # PCIe core reset
745+
672746
- if:
673747
properties:
674748
compatible:
@@ -724,6 +798,7 @@ allOf:
724798
- qcom,pcie-sm8350
725799
- qcom,pcie-sm8450-pcie0
726800
- qcom,pcie-sm8450-pcie1
801+
- qcom,pcie-sm8550
727802
then:
728803
oneOf:
729804
- properties:

0 commit comments

Comments
 (0)