xref: /linux/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie-common.yaml (revision 946661e3bef8efa11ba8079d4ebafe6fc3b0aaad)
1b10f8238SRichard Zhu# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2b10f8238SRichard Zhu%YAML 1.2
3b10f8238SRichard Zhu---
4b10f8238SRichard Zhu$id: http://devicetree.org/schemas/pci/fsl,imx6q-pcie-common.yaml#
5b10f8238SRichard Zhu$schema: http://devicetree.org/meta-schemas/core.yaml#
6b10f8238SRichard Zhu
7b10f8238SRichard Zhutitle: Freescale i.MX6 PCIe RC/EP controller
8b10f8238SRichard Zhu
9b10f8238SRichard Zhumaintainers:
10b10f8238SRichard Zhu  - Lucas Stach <l.stach@pengutronix.de>
11b10f8238SRichard Zhu  - Richard Zhu <hongxing.zhu@nxp.com>
12b10f8238SRichard Zhu
13b10f8238SRichard Zhudescription:
14b10f8238SRichard Zhu  Generic Freescale i.MX PCIe Root Port and Endpoint controller
15b10f8238SRichard Zhu  properties.
16b10f8238SRichard Zhu
17b10f8238SRichard Zhuproperties:
18b10f8238SRichard Zhu  clocks:
19b10f8238SRichard Zhu    minItems: 3
20*d4627402SRichard Zhu    maxItems: 5
21b10f8238SRichard Zhu
22b10f8238SRichard Zhu  clock-names:
23b10f8238SRichard Zhu    minItems: 3
24*d4627402SRichard Zhu    maxItems: 5
25b10f8238SRichard Zhu
26b10f8238SRichard Zhu  num-lanes:
27b10f8238SRichard Zhu    const: 1
28b10f8238SRichard Zhu
29b10f8238SRichard Zhu  fsl,imx7d-pcie-phy:
30b10f8238SRichard Zhu    $ref: /schemas/types.yaml#/definitions/phandle
31b10f8238SRichard Zhu    description: A phandle to an fsl,imx7d-pcie-phy node. Additional
32b10f8238SRichard Zhu      required properties for imx7d-pcie, imx7d-pcie-ep, imx8mq-pcie,
33b10f8238SRichard Zhu      and imx8mq-pcie-ep.
34b10f8238SRichard Zhu
35b10f8238SRichard Zhu  power-domains:
36b10f8238SRichard Zhu    minItems: 1
37b10f8238SRichard Zhu    items:
38b10f8238SRichard Zhu      - description: The phandle pointing to the DISPLAY domain for
39b10f8238SRichard Zhu          imx6sx-pcie, imx6sx-pcie-ep, to PCIE_PHY power domain for
40b10f8238SRichard Zhu          imx7d-pcie, imx7d-pcie-ep, imx8mq-pcie and imx8mq-pcie-ep.
41b10f8238SRichard Zhu      - description: The phandle pointing to the PCIE_PHY power domains
42b10f8238SRichard Zhu          for imx6sx-pcie and imx6sx-pcie-ep.
43b10f8238SRichard Zhu
44b10f8238SRichard Zhu  power-domain-names:
45b10f8238SRichard Zhu    minItems: 1
46b10f8238SRichard Zhu    items:
47b10f8238SRichard Zhu      - const: pcie
48b10f8238SRichard Zhu      - const: pcie_phy
49b10f8238SRichard Zhu
50b10f8238SRichard Zhu  resets:
51b10f8238SRichard Zhu    minItems: 2
52b10f8238SRichard Zhu    maxItems: 3
53b10f8238SRichard Zhu    description: Phandles to PCIe-related reset lines exposed by SRC
54b10f8238SRichard Zhu      IP block. Additional required by imx7d-pcie, imx7d-pcie-ep,
55b10f8238SRichard Zhu      imx8mq-pcie, and imx8mq-pcie-ep.
56b10f8238SRichard Zhu
57b10f8238SRichard Zhu  reset-names:
58b10f8238SRichard Zhu    minItems: 2
59b10f8238SRichard Zhu    maxItems: 3
60b10f8238SRichard Zhu
61b10f8238SRichard Zhu  fsl,tx-deemph-gen1:
62b10f8238SRichard Zhu    description: Gen1 De-emphasis value (optional required).
63b10f8238SRichard Zhu    $ref: /schemas/types.yaml#/definitions/uint32
64b10f8238SRichard Zhu    default: 0
65b10f8238SRichard Zhu
66b10f8238SRichard Zhu  fsl,tx-deemph-gen2-3p5db:
67b10f8238SRichard Zhu    description: Gen2 (3.5db) De-emphasis value (optional required).
68b10f8238SRichard Zhu    $ref: /schemas/types.yaml#/definitions/uint32
69b10f8238SRichard Zhu    default: 0
70b10f8238SRichard Zhu
71b10f8238SRichard Zhu  fsl,tx-deemph-gen2-6db:
72b10f8238SRichard Zhu    description: Gen2 (6db) De-emphasis value (optional required).
73b10f8238SRichard Zhu    $ref: /schemas/types.yaml#/definitions/uint32
74b10f8238SRichard Zhu    default: 20
75b10f8238SRichard Zhu
76b10f8238SRichard Zhu  fsl,tx-swing-full:
77b10f8238SRichard Zhu    description: Gen2 TX SWING FULL value (optional required).
78b10f8238SRichard Zhu    $ref: /schemas/types.yaml#/definitions/uint32
79b10f8238SRichard Zhu    default: 127
80b10f8238SRichard Zhu
81b10f8238SRichard Zhu  fsl,tx-swing-low:
82b10f8238SRichard Zhu    description: TX launch amplitude swing_low value (optional required).
83b10f8238SRichard Zhu    $ref: /schemas/types.yaml#/definitions/uint32
84b10f8238SRichard Zhu    default: 127
85b10f8238SRichard Zhu
86b10f8238SRichard Zhu  fsl,max-link-speed:
87b10f8238SRichard Zhu    description: Specify PCI Gen for link capability (optional required).
88b10f8238SRichard Zhu      Note that the IMX6 LVDS clock outputs do not meet gen2 jitter
89b10f8238SRichard Zhu      requirements and thus for gen2 capability a gen2 compliant clock
90b10f8238SRichard Zhu      generator should be used and configured.
91b10f8238SRichard Zhu    $ref: /schemas/types.yaml#/definitions/uint32
92b10f8238SRichard Zhu    enum: [1, 2, 3, 4]
93b10f8238SRichard Zhu    default: 1
94b10f8238SRichard Zhu
95b10f8238SRichard Zhu  phys:
96b10f8238SRichard Zhu    maxItems: 1
97b10f8238SRichard Zhu
98b10f8238SRichard Zhu  phy-names:
99b10f8238SRichard Zhu    const: pcie-phy
100b10f8238SRichard Zhu
101b10f8238SRichard Zhu  vpcie-supply:
102b10f8238SRichard Zhu    description: Should specify the regulator in charge of PCIe port power.
103b10f8238SRichard Zhu      The regulator will be enabled when initializing the PCIe host and
104b10f8238SRichard Zhu      disabled either as part of the init process or when shutting down
105b10f8238SRichard Zhu      the host (optional required).
106b10f8238SRichard Zhu
107b10f8238SRichard Zhu  vph-supply:
108b10f8238SRichard Zhu    description: Should specify the regulator in charge of VPH one of
109b10f8238SRichard Zhu      the three PCIe PHY powers. This regulator can be supplied by both
110b10f8238SRichard Zhu      1.8v and 3.3v voltage supplies (optional required).
111b10f8238SRichard Zhu
112b10f8238SRichard Zhurequired:
113b10f8238SRichard Zhu  - clocks
114b10f8238SRichard Zhu  - clock-names
115b10f8238SRichard Zhu  - num-lanes
116b10f8238SRichard Zhu
117b10f8238SRichard ZhuallOf:
118b10f8238SRichard Zhu  - if:
119b10f8238SRichard Zhu      properties:
120b10f8238SRichard Zhu        compatible:
121b10f8238SRichard Zhu          contains:
122b10f8238SRichard Zhu            enum:
123b10f8238SRichard Zhu              - fsl,imx6sx-pcie
124b10f8238SRichard Zhu              - fsl,imx6sx-pcie-ep
125b10f8238SRichard Zhu    then:
126b10f8238SRichard Zhu      properties:
127b10f8238SRichard Zhu        clock-names:
128b10f8238SRichard Zhu          items:
129b10f8238SRichard Zhu            - {}
130b10f8238SRichard Zhu            - {}
131b10f8238SRichard Zhu            - const: pcie_phy
132b10f8238SRichard Zhu            - const: pcie_inbound_axi
133b10f8238SRichard Zhu        power-domains:
134b10f8238SRichard Zhu          minItems: 2
135b10f8238SRichard Zhu        power-domain-names:
136b10f8238SRichard Zhu          minItems: 2
137b10f8238SRichard Zhu
138b10f8238SRichard Zhu  - if:
139b10f8238SRichard Zhu      properties:
140b10f8238SRichard Zhu        compatible:
141b10f8238SRichard Zhu          contains:
142b10f8238SRichard Zhu            enum:
143b10f8238SRichard Zhu              - fsl,imx8mq-pcie
144b10f8238SRichard Zhu              - fsl,imx8mq-pcie-ep
145b10f8238SRichard Zhu    then:
146b10f8238SRichard Zhu      properties:
147b10f8238SRichard Zhu        clock-names:
148b10f8238SRichard Zhu          items:
149b10f8238SRichard Zhu            - {}
150b10f8238SRichard Zhu            - {}
151b10f8238SRichard Zhu            - const: pcie_phy
152b10f8238SRichard Zhu            - const: pcie_aux
153b10f8238SRichard Zhu
154b10f8238SRichard Zhu  - if:
155b10f8238SRichard Zhu      properties:
156b10f8238SRichard Zhu        compatible:
157b10f8238SRichard Zhu          contains:
158b10f8238SRichard Zhu            enum:
159b10f8238SRichard Zhu              - fsl,imx6q-pcie
160b10f8238SRichard Zhu              - fsl,imx6qp-pcie
161b10f8238SRichard Zhu              - fsl,imx7d-pcie
162b10f8238SRichard Zhu              - fsl,imx6q-pcie-ep
163b10f8238SRichard Zhu              - fsl,imx6qp-pcie-ep
164b10f8238SRichard Zhu              - fsl,imx7d-pcie-ep
165b10f8238SRichard Zhu    then:
166b10f8238SRichard Zhu      properties:
167b10f8238SRichard Zhu        clock-names:
168b10f8238SRichard Zhu          maxItems: 3
169b10f8238SRichard Zhu          contains:
170b10f8238SRichard Zhu            const: pcie_phy
171b10f8238SRichard Zhu
172b10f8238SRichard Zhu  - if:
173b10f8238SRichard Zhu      properties:
174b10f8238SRichard Zhu        compatible:
175b10f8238SRichard Zhu          contains:
176b10f8238SRichard Zhu            enum:
177b10f8238SRichard Zhu              - fsl,imx8mm-pcie
178b10f8238SRichard Zhu              - fsl,imx8mp-pcie
179b10f8238SRichard Zhu              - fsl,imx8mm-pcie-ep
180b10f8238SRichard Zhu              - fsl,imx8mp-pcie-ep
181b10f8238SRichard Zhu    then:
182b10f8238SRichard Zhu      properties:
183b10f8238SRichard Zhu        clock-names:
184b10f8238SRichard Zhu          maxItems: 3
185b10f8238SRichard Zhu          contains:
186b10f8238SRichard Zhu            const: pcie_aux
187b10f8238SRichard Zhu  - if:
188b10f8238SRichard Zhu      properties:
189b10f8238SRichard Zhu        compatible:
190b10f8238SRichard Zhu          contains:
191b10f8238SRichard Zhu            enum:
192b10f8238SRichard Zhu              - fsl,imx6q-pcie
193b10f8238SRichard Zhu              - fsl,imx6qp-pcie
194b10f8238SRichard Zhu              - fsl,imx6q-pcie-ep
195b10f8238SRichard Zhu              - fsl,imx6qp-pcie-ep
196b10f8238SRichard Zhu    then:
197b10f8238SRichard Zhu      properties:
198b10f8238SRichard Zhu        power-domains: false
199b10f8238SRichard Zhu        power-domain-names: false
200b10f8238SRichard Zhu
201b10f8238SRichard Zhu  - if:
202b10f8238SRichard Zhu      not:
203b10f8238SRichard Zhu        properties:
204b10f8238SRichard Zhu          compatible:
205b10f8238SRichard Zhu            contains:
206b10f8238SRichard Zhu              enum:
207b10f8238SRichard Zhu                - fsl,imx6sx-pcie
208b10f8238SRichard Zhu                - fsl,imx6q-pcie
209b10f8238SRichard Zhu                - fsl,imx6qp-pcie
210671a89c4SRichard Zhu                - fsl,imx95-pcie
211b10f8238SRichard Zhu                - fsl,imx6sx-pcie-ep
212b10f8238SRichard Zhu                - fsl,imx6q-pcie-ep
213b10f8238SRichard Zhu                - fsl,imx6qp-pcie-ep
214b10f8238SRichard Zhu    then:
215b10f8238SRichard Zhu      properties:
216b10f8238SRichard Zhu        power-domains:
217b10f8238SRichard Zhu          maxItems: 1
218b10f8238SRichard Zhu        power-domain-names: false
219b10f8238SRichard Zhu
220b10f8238SRichard Zhu  - if:
221b10f8238SRichard Zhu      properties:
222b10f8238SRichard Zhu        compatible:
223b10f8238SRichard Zhu          contains:
224b10f8238SRichard Zhu            enum:
225b10f8238SRichard Zhu              - fsl,imx6q-pcie
226b10f8238SRichard Zhu              - fsl,imx6sx-pcie
227b10f8238SRichard Zhu              - fsl,imx6qp-pcie
228b10f8238SRichard Zhu              - fsl,imx7d-pcie
229b10f8238SRichard Zhu              - fsl,imx8mq-pcie
230b10f8238SRichard Zhu              - fsl,imx6q-pcie-ep
231b10f8238SRichard Zhu              - fsl,imx6sx-pcie-ep
232b10f8238SRichard Zhu              - fsl,imx6qp-pcie-ep
233b10f8238SRichard Zhu              - fsl,imx7d-pcie-ep
234b10f8238SRichard Zhu              - fsl,imx8mq-pcie-ep
235b10f8238SRichard Zhu    then:
236b10f8238SRichard Zhu      properties:
237b10f8238SRichard Zhu        resets:
238b10f8238SRichard Zhu          minItems: 3
239b10f8238SRichard Zhu        reset-names:
240b10f8238SRichard Zhu          items:
241b10f8238SRichard Zhu            - const: pciephy
242b10f8238SRichard Zhu            - const: apps
243b10f8238SRichard Zhu            - const: turnoff
244b10f8238SRichard Zhu    else:
245b10f8238SRichard Zhu      properties:
246b10f8238SRichard Zhu        resets:
247b10f8238SRichard Zhu          maxItems: 2
248b10f8238SRichard Zhu        reset-names:
249b10f8238SRichard Zhu          items:
250b10f8238SRichard Zhu            - const: apps
251b10f8238SRichard Zhu            - const: turnoff
252b10f8238SRichard Zhu
253b10f8238SRichard ZhuadditionalProperties: true
254b10f8238SRichard Zhu
255b10f8238SRichard Zhu...
256