~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/pci/mediatek-pcie-gen3.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/devicetree/bindings/pci/mediatek-pcie-gen3.yaml (Architecture i386) and /Documentation/devicetree/bindings/pci/mediatek-pcie-gen3.yaml (Architecture mips)


  1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-C      1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
  2 %YAML 1.2                                           2 %YAML 1.2
  3 ---                                                 3 ---
  4 $id: http://devicetree.org/schemas/pci/mediate      4 $id: http://devicetree.org/schemas/pci/mediatek-pcie-gen3.yaml#
  5 $schema: http://devicetree.org/meta-schemas/co      5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6                                                     6 
  7 title: Gen3 PCIe controller on MediaTek SoCs        7 title: Gen3 PCIe controller on MediaTek SoCs
  8                                                     8 
  9 maintainers:                                        9 maintainers:
 10   - Jianjun Wang <jianjun.wang@mediatek.com>        10   - Jianjun Wang <jianjun.wang@mediatek.com>
 11                                                    11 
 12 description: |+                                    12 description: |+
 13   PCIe Gen3 MAC controller for MediaTek SoCs,      13   PCIe Gen3 MAC controller for MediaTek SoCs, it supports Gen3 speed
 14   and compatible with Gen2, Gen1 speed.            14   and compatible with Gen2, Gen1 speed.
 15                                                    15 
 16   This PCIe controller supports up to 256 MSI      16   This PCIe controller supports up to 256 MSI vectors, the MSI hardware
 17   block diagram is as follows:                     17   block diagram is as follows:
 18                                                    18 
 19                     +-----+                        19                     +-----+
 20                     | GIC |                        20                     | GIC |
 21                     +-----+                        21                     +-----+
 22                        ^                           22                        ^
 23                        |                           23                        |
 24                    port->irq                       24                    port->irq
 25                        |                           25                        |
 26                +-+-+-+-+-+-+-+-+                   26                +-+-+-+-+-+-+-+-+
 27                |0|1|2|3|4|5|6|7| (PCIe intc)       27                |0|1|2|3|4|5|6|7| (PCIe intc)
 28                +-+-+-+-+-+-+-+-+                   28                +-+-+-+-+-+-+-+-+
 29                 ^ ^           ^                    29                 ^ ^           ^
 30                 | |    ...    |                    30                 | |    ...    |
 31         +-------+ +------+    +-----------+        31         +-------+ +------+    +-----------+
 32         |                |                |        32         |                |                |
 33   +-+-+---+--+--+  +-+-+---+--+--+  +-+-+---+-     33   +-+-+---+--+--+  +-+-+---+--+--+  +-+-+---+--+--+
 34   |0|1|...|30|31|  |0|1|...|30|31|  |0|1|...|3     34   |0|1|...|30|31|  |0|1|...|30|31|  |0|1|...|30|31| (MSI sets)
 35   +-+-+---+--+--+  +-+-+---+--+--+  +-+-+---+-     35   +-+-+---+--+--+  +-+-+---+--+--+  +-+-+---+--+--+
 36    ^ ^      ^  ^    ^ ^      ^  ^    ^ ^           36    ^ ^      ^  ^    ^ ^      ^  ^    ^ ^      ^  ^
 37    | |      |  |    | |      |  |    | |           37    | |      |  |    | |      |  |    | |      |  |  (MSI vectors)
 38    | |      |  |    | |      |  |    | |           38    | |      |  |    | |      |  |    | |      |  |
 39                                                    39 
 40     (MSI SET0)       (MSI SET1)  ...   (MSI SE     40     (MSI SET0)       (MSI SET1)  ...   (MSI SET7)
 41                                                    41 
 42   With 256 MSI vectors supported, the MSI vect     42   With 256 MSI vectors supported, the MSI vectors are composed of 8 sets,
 43   each set has its own address for MSI message     43   each set has its own address for MSI message, and supports 32 MSI vectors
 44   to generate interrupt.                           44   to generate interrupt.
 45                                                    45 
 46 properties:                                        46 properties:
 47   compatible:                                      47   compatible:
 48     oneOf:                                         48     oneOf:
 49       - items:                                     49       - items:
 50           - enum:                                  50           - enum:
 51               - mediatek,mt7986-pcie               51               - mediatek,mt7986-pcie
 52               - mediatek,mt8188-pcie               52               - mediatek,mt8188-pcie
 53               - mediatek,mt8195-pcie               53               - mediatek,mt8195-pcie
 54           - const: mediatek,mt8192-pcie            54           - const: mediatek,mt8192-pcie
 55       - const: mediatek,mt8192-pcie                55       - const: mediatek,mt8192-pcie
 56       - const: airoha,en7581-pcie                  56       - const: airoha,en7581-pcie
 57                                                    57 
 58   reg:                                             58   reg:
 59     maxItems: 1                                    59     maxItems: 1
 60                                                    60 
 61   reg-names:                                       61   reg-names:
 62     items:                                         62     items:
 63       - const: pcie-mac                            63       - const: pcie-mac
 64                                                    64 
 65   interrupts:                                      65   interrupts:
 66     maxItems: 1                                    66     maxItems: 1
 67                                                    67 
 68   ranges:                                          68   ranges:
 69     minItems: 1                                    69     minItems: 1
 70     maxItems: 8                                    70     maxItems: 8
 71                                                    71 
 72   iommu-map:                                       72   iommu-map:
 73     maxItems: 1                                    73     maxItems: 1
 74                                                    74 
 75   iommu-map-mask:                                  75   iommu-map-mask:
 76     const: 0                                       76     const: 0
 77                                                    77 
 78   resets:                                          78   resets:
 79     minItems: 1                                    79     minItems: 1
 80     maxItems: 3                                    80     maxItems: 3
 81                                                    81 
 82   reset-names:                                     82   reset-names:
 83     minItems: 1                                    83     minItems: 1
 84     maxItems: 3                                    84     maxItems: 3
 85     items:                                         85     items:
 86       enum: [ phy, mac, phy-lane0, phy-lane1,      86       enum: [ phy, mac, phy-lane0, phy-lane1, phy-lane2 ]
 87                                                    87 
 88   clocks:                                          88   clocks:
 89     minItems: 1                                    89     minItems: 1
 90     maxItems: 6                                    90     maxItems: 6
 91                                                    91 
 92   clock-names:                                     92   clock-names:
 93     minItems: 1                                    93     minItems: 1
 94     maxItems: 6                                    94     maxItems: 6
 95                                                    95 
 96   assigned-clocks:                                 96   assigned-clocks:
 97     maxItems: 1                                    97     maxItems: 1
 98                                                    98 
 99   assigned-clock-parents:                          99   assigned-clock-parents:
100     maxItems: 1                                   100     maxItems: 1
101                                                   101 
102   phys:                                           102   phys:
103     maxItems: 1                                   103     maxItems: 1
104                                                   104 
105   phy-names:                                      105   phy-names:
106     items:                                        106     items:
107       - const: pcie-phy                           107       - const: pcie-phy
108                                                   108 
109   power-domains:                                  109   power-domains:
110     maxItems: 1                                   110     maxItems: 1
111                                                   111 
112   '#interrupt-cells':                             112   '#interrupt-cells':
113     const: 1                                      113     const: 1
114                                                   114 
115   interrupt-controller:                           115   interrupt-controller:
116     description: Interrupt controller node for    116     description: Interrupt controller node for handling legacy PCI interrupts.
117     type: object                                  117     type: object
118     properties:                                   118     properties:
119       '#address-cells':                           119       '#address-cells':
120         const: 0                                  120         const: 0
121       '#interrupt-cells':                         121       '#interrupt-cells':
122         const: 1                                  122         const: 1
123       interrupt-controller: true                  123       interrupt-controller: true
124                                                   124 
125     required:                                     125     required:
126       - '#address-cells'                          126       - '#address-cells'
127       - '#interrupt-cells'                        127       - '#interrupt-cells'
128       - interrupt-controller                      128       - interrupt-controller
129                                                   129 
130     additionalProperties: false                   130     additionalProperties: false
131                                                   131 
132 required:                                         132 required:
133   - compatible                                    133   - compatible
134   - reg                                           134   - reg
135   - reg-names                                     135   - reg-names
136   - interrupts                                    136   - interrupts
137   - ranges                                        137   - ranges
138   - clocks                                        138   - clocks
139   - clock-names                                   139   - clock-names
140   - '#interrupt-cells'                            140   - '#interrupt-cells'
141   - interrupt-controller                          141   - interrupt-controller
142                                                   142 
143 allOf:                                            143 allOf:
144   - $ref: /schemas/pci/pci-host-bridge.yaml#      144   - $ref: /schemas/pci/pci-host-bridge.yaml#
145   - if:                                           145   - if:
146       properties:                                 146       properties:
147         compatible:                               147         compatible:
148           const: mediatek,mt8192-pcie             148           const: mediatek,mt8192-pcie
149     then:                                         149     then:
150       properties:                                 150       properties:
151         clocks:                                   151         clocks:
152           minItems: 4                             152           minItems: 4
153                                                   153 
154         clock-names:                              154         clock-names:
155           items:                                  155           items:
156             - const: pl_250m                      156             - const: pl_250m
157             - const: tl_26m                       157             - const: tl_26m
158             - const: tl_96m                       158             - const: tl_96m
159             - const: tl_32k                       159             - const: tl_32k
160             - const: peri_26m                     160             - const: peri_26m
161             - const: top_133m                     161             - const: top_133m
162                                                   162 
163         resets:                                   163         resets:
164           minItems: 1                             164           minItems: 1
165           maxItems: 2                             165           maxItems: 2
166                                                   166 
167         reset-names:                              167         reset-names:
168           minItems: 1                             168           minItems: 1
169           maxItems: 2                             169           maxItems: 2
170                                                   170 
171   - if:                                           171   - if:
172       properties:                                 172       properties:
173         compatible:                               173         compatible:
174           contains:                               174           contains:
175             enum:                                 175             enum:
176               - mediatek,mt8188-pcie              176               - mediatek,mt8188-pcie
177               - mediatek,mt8195-pcie              177               - mediatek,mt8195-pcie
178     then:                                         178     then:
179       properties:                                 179       properties:
180         clocks:                                   180         clocks:
181           minItems: 4                             181           minItems: 4
182                                                   182 
183         clock-names:                              183         clock-names:
184           items:                                  184           items:
185             - const: pl_250m                      185             - const: pl_250m
186             - const: tl_26m                       186             - const: tl_26m
187             - const: tl_96m                       187             - const: tl_96m
188             - const: tl_32k                       188             - const: tl_32k
189             - const: peri_26m                     189             - const: peri_26m
190             - const: peri_mem                     190             - const: peri_mem
191                                                   191 
192         resets:                                   192         resets:
193           minItems: 1                             193           minItems: 1
194           maxItems: 2                             194           maxItems: 2
195                                                   195 
196         reset-names:                              196         reset-names:
197           minItems: 1                             197           minItems: 1
198           maxItems: 2                             198           maxItems: 2
199                                                   199 
200   - if:                                           200   - if:
201       properties:                                 201       properties:
202         compatible:                               202         compatible:
203           contains:                               203           contains:
204             enum:                                 204             enum:
205               - mediatek,mt7986-pcie              205               - mediatek,mt7986-pcie
206     then:                                         206     then:
207       properties:                                 207       properties:
208         clocks:                                   208         clocks:
209           minItems: 4                             209           minItems: 4
210                                                   210 
211         clock-names:                              211         clock-names:
212           items:                                  212           items:
213             - const: pl_250m                      213             - const: pl_250m
214             - const: tl_26m                       214             - const: tl_26m
215             - const: peri_26m                     215             - const: peri_26m
216             - const: top_133m                     216             - const: top_133m
217                                                   217 
218         resets:                                   218         resets:
219           minItems: 1                             219           minItems: 1
220           maxItems: 2                             220           maxItems: 2
221                                                   221 
222         reset-names:                              222         reset-names:
223           minItems: 1                             223           minItems: 1
224           maxItems: 2                             224           maxItems: 2
225                                                   225 
226   - if:                                           226   - if:
227       properties:                                 227       properties:
228         compatible:                               228         compatible:
229           const: airoha,en7581-pcie               229           const: airoha,en7581-pcie
230     then:                                         230     then:
231       properties:                                 231       properties:
232         clocks:                                   232         clocks:
233           maxItems: 1                             233           maxItems: 1
234                                                   234 
235         clock-names:                              235         clock-names:
236           items:                                  236           items:
237             - const: sys-ck                       237             - const: sys-ck
238                                                   238 
239         resets:                                   239         resets:
240           minItems: 3                             240           minItems: 3
241                                                   241 
242         reset-names:                              242         reset-names:
243           items:                                  243           items:
244             - const: phy-lane0                    244             - const: phy-lane0
245             - const: phy-lane1                    245             - const: phy-lane1
246             - const: phy-lane2                    246             - const: phy-lane2
247                                                   247 
248 unevaluatedProperties: false                      248 unevaluatedProperties: false
249                                                   249 
250 examples:                                         250 examples:
251   - |                                             251   - |
252     #include <dt-bindings/interrupt-controller    252     #include <dt-bindings/interrupt-controller/arm-gic.h>
253     #include <dt-bindings/interrupt-controller    253     #include <dt-bindings/interrupt-controller/irq.h>
254                                                   254 
255     bus {                                         255     bus {
256         #address-cells = <2>;                     256         #address-cells = <2>;
257         #size-cells = <2>;                        257         #size-cells = <2>;
258                                                   258 
259         pcie: pcie@11230000 {                     259         pcie: pcie@11230000 {
260             compatible = "mediatek,mt8192-pcie    260             compatible = "mediatek,mt8192-pcie";
261             device_type = "pci";                  261             device_type = "pci";
262             #address-cells = <3>;                 262             #address-cells = <3>;
263             #size-cells = <2>;                    263             #size-cells = <2>;
264             reg = <0x00 0x11230000 0x00 0x4000    264             reg = <0x00 0x11230000 0x00 0x4000>;
265             reg-names = "pcie-mac";               265             reg-names = "pcie-mac";
266             interrupts = <GIC_SPI 251 IRQ_TYPE    266             interrupts = <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH 0>;
267             bus-range = <0x00 0xff>;              267             bus-range = <0x00 0xff>;
268             ranges = <0x82000000 0x00 0x120000    268             ranges = <0x82000000 0x00 0x12000000 0x00
269                       0x12000000 0x00 0x100000    269                       0x12000000 0x00 0x1000000>;
270             clocks = <&infracfg 44>,              270             clocks = <&infracfg 44>,
271                      <&infracfg 40>,              271                      <&infracfg 40>,
272                      <&infracfg 43>,              272                      <&infracfg 43>,
273                      <&infracfg 97>,              273                      <&infracfg 97>,
274                      <&infracfg 99>,              274                      <&infracfg 99>,
275                      <&infracfg 111>;             275                      <&infracfg 111>;
276             clock-names = "pl_250m", "tl_26m",    276             clock-names = "pl_250m", "tl_26m", "tl_96m",
277                           "tl_32k", "peri_26m"    277                           "tl_32k", "peri_26m", "top_133m";
278             assigned-clocks = <&topckgen 50>;     278             assigned-clocks = <&topckgen 50>;
279             assigned-clock-parents = <&topckge    279             assigned-clock-parents = <&topckgen 91>;
280                                                   280 
281             phys = <&pciephy>;                    281             phys = <&pciephy>;
282             phy-names = "pcie-phy";               282             phy-names = "pcie-phy";
283                                                   283 
284             resets = <&infracfg_rst 2>,           284             resets = <&infracfg_rst 2>,
285                      <&infracfg_rst 3>;           285                      <&infracfg_rst 3>;
286             reset-names = "phy", "mac";           286             reset-names = "phy", "mac";
287                                                   287 
288             #interrupt-cells = <1>;               288             #interrupt-cells = <1>;
289             interrupt-map-mask = <0 0 0 0x7>;     289             interrupt-map-mask = <0 0 0 0x7>;
290             interrupt-map = <0 0 0 1 &pcie_int    290             interrupt-map = <0 0 0 1 &pcie_intc 0>,
291                             <0 0 0 2 &pcie_int    291                             <0 0 0 2 &pcie_intc 1>,
292                             <0 0 0 3 &pcie_int    292                             <0 0 0 3 &pcie_intc 2>,
293                             <0 0 0 4 &pcie_int    293                             <0 0 0 4 &pcie_intc 3>;
294             pcie_intc: interrupt-controller {     294             pcie_intc: interrupt-controller {
295                       #address-cells = <0>;       295                       #address-cells = <0>;
296                       #interrupt-cells = <1>;     296                       #interrupt-cells = <1>;
297                       interrupt-controller;       297                       interrupt-controller;
298             };                                    298             };
299         };                                        299         };
300     };                                            300     };
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php