File Index
Files and directories
Sign in
FILE

fsl,imx6q-pcie-common.yaml

File preview with syntax highlighting.

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