Skip to content

Commit 1097385

Browse files
committed
Merge branch 'pci/dt-bindings'
- Update socionext,uniphier-pcie binding pcie_intc name to 'legacy-interrupt-controller' to match .dts files (Rob Herring) - Merge SC8180x binding into SM8150 (Krzysztof Kozlowski) - Move SDX55, SDM845, QCS404, IPQ5018, IPQ6018, IPQ8074 Gen3, IPQ8074, IPQ4019, IPQ9574, APQ8064, MSM8996, APQ8084 to dedicated schema (Krzysztof Kozlowski) - Add MT7981 compatible to mediatek-pcie-gen3 binding (Sjoerd Simons) - Document Loongson msi-parent property (Yao Zi) - Add Glymur compatible to qcom,pcie-x1e80100 binding (Prudhvi Yarlagadda) * pci/dt-bindings: dt-bindings: PCI: qcom: Document the Glymur PCIe Controller dt-bindings: PCI: loongson: Document msi-parent property dt-bindings: PCI: mediatek-gen3: Add MT7981 PCIe compatible dt-bindings: PCI: qcom,pcie-apq8084: Move APQ8084 to dedicated schema dt-bindings: PCI: qcom,pcie-msm8996: Move MSM8996 to dedicated schema dt-bindings: PCI: qcom,pcie-apq8064: Move APQ8064 to dedicated schema dt-bindings: PCI: qcom,pcie-ipq9574: Move IPQ9574 to dedicated schema dt-bindings: PCI: qcom,pcie-ipq4019: Move IPQ4019 to dedicated schema dt-bindings: PCI: qcom,pcie-ipq8074: Move IPQ8074 to dedicated schema dt-bindings: PCI: qcom,pcie-ipq6018: Move IPQ6018 and IPQ8074 Gen3 to dedicated schema dt-bindings: PCI: qcom,pcie-ipq5018: Move IPQ5018 to dedicated schema dt-bindings: PCI: qcom,pcie-qcs404: Move QCS404 to dedicated schema dt-bindings: PCI: qcom,pcie-sdm845: Move SDM845 to dedicated schema dt-bindings: PCI: qcom,pcie-sdx55: Move SDX55 to dedicated schema dt-bindings: PCI: qcom,pcie-sm8150: Merge SC8180x into SM8150 dt-bindings: PCI: socionext,uniphier-pcie: Fix interrupt controller node name
2 parents 0bf9207 + e748870 commit 1097385

18 files changed

Lines changed: 1802 additions & 953 deletions

Documentation/devicetree/bindings/pci/loongson.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ properties:
3232
minItems: 1
3333
maxItems: 3
3434

35+
msi-parent: true
36+
3537
required:
3638
- compatible
3739
- reg

Documentation/devicetree/bindings/pci/mediatek-pcie-gen3.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ properties:
4848
oneOf:
4949
- items:
5050
- enum:
51+
- mediatek,mt7981-pcie
5152
- mediatek,mt7986-pcie
5253
- mediatek,mt8188-pcie
5354
- mediatek,mt8195-pcie
Lines changed: 170 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,170 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/pci/qcom,pcie-apq8064.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Qualcomm APQ8064/IPQ8064 PCI Express Root Complex
8+
9+
maintainers:
10+
- Bjorn Andersson <andersson@kernel.org>
11+
- Manivannan Sadhasivam <mani@kernel.org>
12+
13+
properties:
14+
compatible:
15+
enum:
16+
- qcom,pcie-apq8064
17+
- qcom,pcie-ipq8064
18+
- qcom,pcie-ipq8064-v2
19+
20+
reg:
21+
maxItems: 4
22+
23+
reg-names:
24+
items:
25+
- const: dbi
26+
- const: elbi
27+
- const: parf
28+
- const: config
29+
30+
clocks:
31+
minItems: 3
32+
maxItems: 5
33+
34+
clock-names:
35+
minItems: 3
36+
items:
37+
- const: core # Clocks the pcie hw block
38+
- const: iface # Configuration AHB clock
39+
- const: phy
40+
- const: aux
41+
- const: ref
42+
43+
interrupts:
44+
maxItems: 1
45+
46+
interrupt-names:
47+
items:
48+
- const: msi
49+
50+
resets:
51+
minItems: 5
52+
maxItems: 6
53+
54+
reset-names:
55+
minItems: 5
56+
items:
57+
- const: axi
58+
- const: ahb
59+
- const: por
60+
- const: pci
61+
- const: phy
62+
- const: ext
63+
64+
vdda-supply:
65+
description: A phandle to the core analog power supply
66+
67+
vdda_phy-supply:
68+
description: A phandle to the core analog power supply for PHY
69+
70+
vdda_refclk-supply:
71+
description: A phandle to the core analog power supply for IC which generates reference clock
72+
73+
required:
74+
- resets
75+
- reset-names
76+
- vdda-supply
77+
- vdda_phy-supply
78+
- vdda_refclk-supply
79+
80+
allOf:
81+
- $ref: qcom,pcie-common.yaml#
82+
- if:
83+
properties:
84+
compatible:
85+
contains:
86+
enum:
87+
- qcom,pcie-apq8064
88+
then:
89+
properties:
90+
clocks:
91+
maxItems: 3
92+
clock-names:
93+
maxItems: 3
94+
resets:
95+
maxItems: 5
96+
reset-names:
97+
maxItems: 5
98+
else:
99+
properties:
100+
clocks:
101+
minItems: 5
102+
clock-names:
103+
minItems: 5
104+
resets:
105+
minItems: 6
106+
reset-names:
107+
minItems: 6
108+
109+
unevaluatedProperties: false
110+
111+
examples:
112+
- |
113+
#include <dt-bindings/clock/qcom,gcc-msm8960.h>
114+
#include <dt-bindings/gpio/gpio.h>
115+
#include <dt-bindings/interrupt-controller/arm-gic.h>
116+
#include <dt-bindings/reset/qcom,gcc-msm8960.h>
117+
118+
pcie@1b500000 {
119+
compatible = "qcom,pcie-apq8064";
120+
reg = <0x1b500000 0x1000>,
121+
<0x1b502000 0x80>,
122+
<0x1b600000 0x100>,
123+
<0x0ff00000 0x100000>;
124+
reg-names = "dbi", "elbi", "parf", "config";
125+
ranges = <0x81000000 0x0 0x00000000 0x0fe00000 0x0 0x00100000>, /* I/O */
126+
<0x82000000 0x0 0x08000000 0x08000000 0x0 0x07e00000>; /* mem */
127+
128+
device_type = "pci";
129+
linux,pci-domain = <0>;
130+
bus-range = <0x00 0xff>;
131+
num-lanes = <1>;
132+
#address-cells = <3>;
133+
#size-cells = <2>;
134+
135+
clocks = <&gcc PCIE_A_CLK>,
136+
<&gcc PCIE_H_CLK>,
137+
<&gcc PCIE_PHY_REF_CLK>;
138+
clock-names = "core", "iface", "phy";
139+
140+
interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
141+
interrupt-names = "msi";
142+
#interrupt-cells = <1>;
143+
interrupt-map-mask = <0 0 0 0x7>;
144+
interrupt-map = <0 0 0 1 &intc GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
145+
<0 0 0 2 &intc GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
146+
<0 0 0 3 &intc GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
147+
<0 0 0 4 &intc GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
148+
149+
resets = <&gcc PCIE_ACLK_RESET>,
150+
<&gcc PCIE_HCLK_RESET>,
151+
<&gcc PCIE_POR_RESET>,
152+
<&gcc PCIE_PCI_RESET>,
153+
<&gcc PCIE_PHY_RESET>;
154+
reset-names = "axi", "ahb", "por", "pci", "phy";
155+
156+
perst-gpios = <&tlmm_pinmux 27 GPIO_ACTIVE_LOW>;
157+
vdda-supply = <&pm8921_s3>;
158+
vdda_phy-supply = <&pm8921_lvs6>;
159+
vdda_refclk-supply = <&v3p3_fixed>;
160+
161+
pcie@0 {
162+
device_type = "pci";
163+
reg = <0x0 0x0 0x0 0x0 0x0>;
164+
bus-range = <0x01 0xff>;
165+
166+
#address-cells = <3>;
167+
#size-cells = <2>;
168+
ranges;
169+
};
170+
};
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/pci/qcom,pcie-apq8084.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Qualcomm APQ8084 PCI Express Root Complex
8+
9+
maintainers:
10+
- Bjorn Andersson <andersson@kernel.org>
11+
- Manivannan Sadhasivam <mani@kernel.org>
12+
13+
properties:
14+
compatible:
15+
enum:
16+
- qcom,pcie-apq8084
17+
18+
reg:
19+
minItems: 4
20+
maxItems: 5
21+
22+
reg-names:
23+
minItems: 4
24+
items:
25+
- const: parf
26+
- const: dbi
27+
- const: elbi
28+
- const: config
29+
- const: mhi
30+
31+
clocks:
32+
maxItems: 4
33+
34+
clock-names:
35+
items:
36+
- const: iface # Configuration AHB clock
37+
- const: master_bus # Master AXI clock
38+
- const: slave_bus # Slave AXI clock
39+
- const: aux
40+
41+
interrupts:
42+
maxItems: 1
43+
44+
interrupt-names:
45+
items:
46+
- const: msi
47+
48+
resets:
49+
maxItems: 1
50+
51+
reset-names:
52+
items:
53+
- const: core
54+
55+
vdda-supply:
56+
description: A phandle to the core analog power supply
57+
58+
required:
59+
- power-domains
60+
- resets
61+
- reset-names
62+
63+
allOf:
64+
- $ref: qcom,pcie-common.yaml#
65+
66+
unevaluatedProperties: false
67+
68+
examples:
69+
- |
70+
#include <dt-bindings/interrupt-controller/arm-gic.h>
71+
#include <dt-bindings/gpio/gpio.h>
72+
pcie@fc520000 {
73+
compatible = "qcom,pcie-apq8084";
74+
reg = <0xfc520000 0x2000>,
75+
<0xff000000 0x1000>,
76+
<0xff001000 0x1000>,
77+
<0xff002000 0x2000>;
78+
reg-names = "parf", "dbi", "elbi", "config";
79+
device_type = "pci";
80+
linux,pci-domain = <0>;
81+
bus-range = <0x00 0xff>;
82+
num-lanes = <1>;
83+
#address-cells = <3>;
84+
#size-cells = <2>;
85+
ranges = <0x81000000 0 0 0xff200000 0 0x00100000>,
86+
<0x82000000 0 0x00300000 0xff300000 0 0x00d00000>;
87+
interrupts = <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH>;
88+
interrupt-names = "msi";
89+
#interrupt-cells = <1>;
90+
interrupt-map-mask = <0 0 0 0x7>;
91+
interrupt-map = <0 0 0 1 &intc 0 244 IRQ_TYPE_LEVEL_HIGH>,
92+
<0 0 0 2 &intc 0 245 IRQ_TYPE_LEVEL_HIGH>,
93+
<0 0 0 3 &intc 0 247 IRQ_TYPE_LEVEL_HIGH>,
94+
<0 0 0 4 &intc 0 248 IRQ_TYPE_LEVEL_HIGH>;
95+
clocks = <&gcc 324>,
96+
<&gcc 325>,
97+
<&gcc 327>,
98+
<&gcc 323>;
99+
clock-names = "iface", "master_bus", "slave_bus", "aux";
100+
resets = <&gcc 81>;
101+
reset-names = "core";
102+
power-domains = <&gcc 1>;
103+
vdda-supply = <&pma8084_l3>;
104+
phys = <&pciephy0>;
105+
phy-names = "pciephy";
106+
perst-gpios = <&tlmm 70 GPIO_ACTIVE_LOW>;
107+
pinctrl-0 = <&pcie0_pins_default>;
108+
pinctrl-names = "default";
109+
};

0 commit comments

Comments
 (0)