Skip to content

Commit 29a3e5a

Browse files
committed
Merge branch 'remotes/lorenzo/pci/dwc'
- Fix n_fts[] array overrun (Vidya Sagar) - Don't advertise PTM Responder role for Endpoints (Vidya Sagar) - Fix qcom "reset assert" error message (Manivannan Sadhasivam) - Downgrade "link didn't come up" message to dev_info (Vidya Sagar) - Initialize PHY before deasserting core reset so the link comes up on boards where the PHY provides the reference clock (this was a regression in v6.0) (Sascha Hauer) - Switch histb to the gpiod API (Dmitry Torokhov) - Fix imx6sx and imx8mq clock names in DT binding (Serge Semin) - Fix visconti MSI interrupt in DT binding (Serge Semin) - Consolidate reset-gpio, cdm, windows info in common DT shared by both Root Port and Endpoint bindings (Serge Semin) - Remove bus node from DT examples (Serge Semin) - Add common phys, phy-names to DT (Serge Semin) - Add default max-link-speed of Gen5 to DT (Serge Semin) - Apply generic schema for generic device (Serge Semin) - Add default max-functions of 32 to DT (Serge Semin) - Add common interrupts, interrupt-names to DT (Serge Semin) - Add common regs, reg-names to DT (Serge Semin) - Add common clocks, resets to DT (Serge Semin) - Add dma-coherent to DT (Serge Semin) - Apply common schema to Rockchip DT (Serge Semin) - Add Baikal-T1 DT bindings (Serge Semin) - Add dma-ranges support in DesignWare core (Serge Semin) - Add dw_pcie_cap_is() for testing controller capabilities (Serge Semin) - Add generic resources getter to DesignWare core (Serge Semin) - Combine iATU detection procedures (Serge Semin) - Add generic clock and reset names to DesignWare core (Serge Semin) - Add Baikal-T1 PCIe controller driver (Serge Semin) * remotes/lorenzo/pci/dwc: PCI: dwc: Add Baikal-T1 PCIe controller support PCI: dwc: Introduce generic platform clocks and resets PCI: dwc: Combine iATU detection procedures PCI: dwc: Introduce generic resources getter PCI: dwc: Introduce generic controller capabilities interface PCI: dwc: Introduce dma-ranges property support for RC-host dt-bindings: PCI: dwc: Add Baikal-T1 PCIe Root Port bindings dt-bindings: PCI: dwc: Apply common schema to Rockchip DW PCIe nodes dt-bindings: PCI: dwc: Add dma-coherent property dt-bindings: PCI: dwc: Add clocks/resets common properties dt-bindings: PCI: dwc: Add reg/reg-names common properties dt-bindings: PCI: dwc: Add interrupts/interrupt-names common properties dt-bindings: PCI: dwc: Add max-functions EP property dt-bindings: PCI: dwc: Apply generic schema for generic device only dt-bindings: PCI: dwc: Add max-link-speed common property dt-bindings: PCI: dwc: Add phys/phy-names common properties dt-bindings: PCI: dwc: Remove bus node from the examples dt-bindings: PCI: dwc: Detach common RP/EP DT bindings dt-bindings: visconti-pcie: Fix interrupts array max constraints dt-bindings: imx6q-pcie: Fix clock names for imx6sx and imx8mq PCI: histb: Switch to using gpiod API PCI: imx6: Initialize PHY before deasserting core reset PCI: dwc: Use dev_info for PCIe link down event logging PCI: qcom: Fix error message for reset_control_assert() PCI: designware-ep: Disable PTM capabilities for EP mode PCI: Add PCI_PTM_CAP_RES macro PCI: dwc: Fix n_fts[] array overrun
2 parents 0ef2830 + ba6ed46 commit 29a3e5a

File tree

18 files changed

+1844
-251
lines changed

18 files changed

+1844
-251
lines changed
Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/pci/baikal,bt1-pcie.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Baikal-T1 PCIe Root Port Controller
8+
9+
maintainers:
10+
- Serge Semin <[email protected]>
11+
12+
description:
13+
Embedded into Baikal-T1 SoC Root Complex controller with a single port
14+
activated. It's based on the DWC RC PCIe v4.60a IP-core, which is configured
15+
to have just a single Root Port function and is capable of establishing the
16+
link up to Gen.3 speed on x4 lanes. It doesn't have embedded clock and reset
17+
control module, so the proper interface initialization is supposed to be
18+
performed by software. There four in- and four outbound iATU regions
19+
which can be used to emit all required TLP types on the PCIe bus.
20+
21+
allOf:
22+
- $ref: /schemas/pci/snps,dw-pcie.yaml#
23+
24+
properties:
25+
compatible:
26+
const: baikal,bt1-pcie
27+
28+
reg:
29+
description:
30+
DBI, DBI2 and at least 4KB outbound iATU-capable region for the
31+
peripheral devices CFG-space access.
32+
maxItems: 3
33+
34+
reg-names:
35+
items:
36+
- const: dbi
37+
- const: dbi2
38+
- const: config
39+
40+
interrupts:
41+
description:
42+
MSI, AER, PME, Hot-plug, Link Bandwidth Management, Link Equalization
43+
request and eight Read/Write eDMA IRQ lines are available.
44+
maxItems: 14
45+
46+
interrupt-names:
47+
items:
48+
- const: dma0
49+
- const: dma1
50+
- const: dma2
51+
- const: dma3
52+
- const: dma4
53+
- const: dma5
54+
- const: dma6
55+
- const: dma7
56+
- const: msi
57+
- const: aer
58+
- const: pme
59+
- const: hp
60+
- const: bw_mg
61+
- const: l_eq
62+
63+
clocks:
64+
description:
65+
DBI (attached to the APB bus), AXI-bus master and slave interfaces
66+
are fed up by the dedicated application clocks. A common reference
67+
clock signal is supposed to be attached to the corresponding Ref-pad
68+
of the SoC. It will be redistributed amongst the controller core
69+
sub-modules (pipe, core, aux, etc).
70+
maxItems: 4
71+
72+
clock-names:
73+
items:
74+
- const: dbi
75+
- const: mstr
76+
- const: slv
77+
- const: ref
78+
79+
resets:
80+
description:
81+
A comprehensive controller reset logic is supposed to be implemented
82+
by software, so almost all the possible application and core reset
83+
signals are exposed via the system CCU module.
84+
maxItems: 9
85+
86+
reset-names:
87+
items:
88+
- const: mstr
89+
- const: slv
90+
- const: pwr
91+
- const: hot
92+
- const: phy
93+
- const: core
94+
- const: pipe
95+
- const: sticky
96+
- const: non-sticky
97+
98+
baikal,bt1-syscon:
99+
$ref: /schemas/types.yaml#/definitions/phandle
100+
description:
101+
Phandle to the Baikal-T1 System Controller DT node. It's required to
102+
access some additional PM, Reset-related and LTSSM signals.
103+
104+
num-lanes:
105+
maximum: 4
106+
107+
max-link-speed:
108+
maximum: 3
109+
110+
required:
111+
- compatible
112+
- reg
113+
- reg-names
114+
- interrupts
115+
- interrupt-names
116+
117+
unevaluatedProperties: false
118+
119+
examples:
120+
- |
121+
#include <dt-bindings/interrupt-controller/mips-gic.h>
122+
#include <dt-bindings/gpio/gpio.h>
123+
124+
pcie@1f052000 {
125+
compatible = "baikal,bt1-pcie";
126+
device_type = "pci";
127+
reg = <0x1f052000 0x1000>, <0x1f053000 0x1000>, <0x1bdbf000 0x1000>;
128+
reg-names = "dbi", "dbi2", "config";
129+
#address-cells = <3>;
130+
#size-cells = <2>;
131+
ranges = <0x81000000 0 0x00000000 0x1bdb0000 0 0x00008000>,
132+
<0x82000000 0 0x20000000 0x08000000 0 0x13db0000>;
133+
bus-range = <0x0 0xff>;
134+
135+
interrupts = <GIC_SHARED 80 IRQ_TYPE_LEVEL_HIGH>,
136+
<GIC_SHARED 81 IRQ_TYPE_LEVEL_HIGH>,
137+
<GIC_SHARED 82 IRQ_TYPE_LEVEL_HIGH>,
138+
<GIC_SHARED 83 IRQ_TYPE_LEVEL_HIGH>,
139+
<GIC_SHARED 84 IRQ_TYPE_LEVEL_HIGH>,
140+
<GIC_SHARED 85 IRQ_TYPE_LEVEL_HIGH>,
141+
<GIC_SHARED 86 IRQ_TYPE_LEVEL_HIGH>,
142+
<GIC_SHARED 87 IRQ_TYPE_LEVEL_HIGH>,
143+
<GIC_SHARED 88 IRQ_TYPE_LEVEL_HIGH>,
144+
<GIC_SHARED 89 IRQ_TYPE_LEVEL_HIGH>,
145+
<GIC_SHARED 90 IRQ_TYPE_LEVEL_HIGH>,
146+
<GIC_SHARED 91 IRQ_TYPE_LEVEL_HIGH>,
147+
<GIC_SHARED 92 IRQ_TYPE_LEVEL_HIGH>,
148+
<GIC_SHARED 93 IRQ_TYPE_LEVEL_HIGH>;
149+
interrupt-names = "dma0", "dma1", "dma2", "dma3",
150+
"dma4", "dma5", "dma6", "dma7",
151+
"msi", "aer", "pme", "hp", "bw_mg",
152+
"l_eq";
153+
154+
clocks = <&ccu_sys 1>, <&ccu_axi 6>, <&ccu_axi 7>, <&clk_pcie>;
155+
clock-names = "dbi", "mstr", "slv", "ref";
156+
157+
resets = <&ccu_axi 6>, <&ccu_axi 7>, <&ccu_sys 7>, <&ccu_sys 10>,
158+
<&ccu_sys 4>, <&ccu_sys 6>, <&ccu_sys 5>, <&ccu_sys 8>,
159+
<&ccu_sys 9>;
160+
reset-names = "mstr", "slv", "pwr", "hot", "phy", "core", "pipe",
161+
"sticky", "non-sticky";
162+
163+
reset-gpios = <&port0 0 GPIO_ACTIVE_LOW>;
164+
165+
num-lanes = <4>;
166+
max-link-speed = <3>;
167+
};
168+
...

Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml

Lines changed: 42 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,6 @@ description: |+
1414
This PCIe host controller is based on the Synopsys DesignWare PCIe IP
1515
and thus inherits all the common properties defined in snps,dw-pcie.yaml.
1616
17-
allOf:
18-
- $ref: /schemas/pci/snps,dw-pcie.yaml#
19-
2017
properties:
2118
compatible:
2219
enum:
@@ -61,7 +58,7 @@ properties:
6158
- const: pcie
6259
- const: pcie_bus
6360
- const: pcie_phy
64-
- const: pcie_inbound_axi for imx6sx-pcie, pcie_aux for imx8mq-pcie
61+
- enum: [ pcie_inbound_axi, pcie_aux ]
6562

6663
num-lanes:
6764
const: 1
@@ -175,6 +172,47 @@ required:
175172
- clocks
176173
- clock-names
177174

175+
allOf:
176+
- $ref: /schemas/pci/snps,dw-pcie.yaml#
177+
- if:
178+
properties:
179+
compatible:
180+
contains:
181+
const: fsl,imx6sx-pcie
182+
then:
183+
properties:
184+
clock-names:
185+
items:
186+
- {}
187+
- {}
188+
- {}
189+
- const: pcie_inbound_axi
190+
- if:
191+
properties:
192+
compatible:
193+
contains:
194+
const: fsl,imx8mq-pcie
195+
then:
196+
properties:
197+
clock-names:
198+
items:
199+
- {}
200+
- {}
201+
- {}
202+
- const: pcie_aux
203+
- if:
204+
properties:
205+
compatible:
206+
not:
207+
contains:
208+
enum:
209+
- fsl,imx6sx-pcie
210+
- fsl,imx8mq-pcie
211+
then:
212+
properties:
213+
clock-names:
214+
maxItems: 3
215+
178216
unevaluatedProperties: false
179217

180218
examples:

Documentation/devicetree/bindings/pci/rockchip-dw-pcie.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ maintainers:
1414
description: |+
1515
RK3568 SoC PCIe host controller is based on the Synopsys DesignWare
1616
PCIe IP and thus inherits all the common properties defined in
17-
designware-pcie.txt.
17+
snps,dw-pcie.yaml.
1818
1919
allOf:
20-
- $ref: /schemas/pci/pci-bus.yaml#
20+
- $ref: /schemas/pci/snps,dw-pcie.yaml#
2121

2222
properties:
2323
compatible:

0 commit comments

Comments
 (0)