xref: /linux/Documentation/devicetree/bindings/pci/fsl,mpc8xxx-pci.yaml (revision 4f9786035f9e519db41375818e1d0b5f20da2f10)
1*2a49560bSJ. Neuschäfer# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*2a49560bSJ. Neuschäfer%YAML 1.2
3*2a49560bSJ. Neuschäfer---
4*2a49560bSJ. Neuschäfer
5*2a49560bSJ. Neuschäfer$id: http://devicetree.org/schemas/pci/fsl,mpc8xxx-pci.yaml#
6*2a49560bSJ. Neuschäfer$schema: http://devicetree.org/meta-schemas/core.yaml#
7*2a49560bSJ. Neuschäfer
8*2a49560bSJ. Neuschäfertitle: Freescale MPC83xx PCI/PCI-X/PCIe controllers
9*2a49560bSJ. Neuschäfer
10*2a49560bSJ. Neuschäferdescription:
11*2a49560bSJ. Neuschäfer  Binding for the PCI/PCI-X/PCIe host bridges on MPC8xxx SoCs
12*2a49560bSJ. Neuschäfer
13*2a49560bSJ. Neuschäfermaintainers:
14*2a49560bSJ. Neuschäfer  - J. Neuschäfer <j.neuschaefer@gmx.net>
15*2a49560bSJ. Neuschäfer
16*2a49560bSJ. NeuschäferallOf:
17*2a49560bSJ. Neuschäfer  - $ref: /schemas/pci/pci-host-bridge.yaml#
18*2a49560bSJ. Neuschäfer
19*2a49560bSJ. Neuschäferproperties:
20*2a49560bSJ. Neuschäfer  compatible:
21*2a49560bSJ. Neuschäfer    oneOf:
22*2a49560bSJ. Neuschäfer      - enum:
23*2a49560bSJ. Neuschäfer          - fsl,mpc8314-pcie
24*2a49560bSJ. Neuschäfer          - fsl,mpc8349-pci
25*2a49560bSJ. Neuschäfer          - fsl,mpc8540-pci
26*2a49560bSJ. Neuschäfer          - fsl,mpc8548-pcie
27*2a49560bSJ. Neuschäfer          - fsl,mpc8641-pcie
28*2a49560bSJ. Neuschäfer      - items:
29*2a49560bSJ. Neuschäfer          - enum:
30*2a49560bSJ. Neuschäfer              - fsl,mpc8308-pcie
31*2a49560bSJ. Neuschäfer              - fsl,mpc8315-pcie
32*2a49560bSJ. Neuschäfer              - fsl,mpc8377-pcie
33*2a49560bSJ. Neuschäfer              - fsl,mpc8378-pcie
34*2a49560bSJ. Neuschäfer          - const: fsl,mpc8314-pcie
35*2a49560bSJ. Neuschäfer      - items:
36*2a49560bSJ. Neuschäfer          - const: fsl,mpc8360-pci
37*2a49560bSJ. Neuschäfer          - const: fsl,mpc8349-pci
38*2a49560bSJ. Neuschäfer      - items:
39*2a49560bSJ. Neuschäfer          - const: fsl,mpc8540-pcix
40*2a49560bSJ. Neuschäfer          - const: fsl,mpc8540-pci
41*2a49560bSJ. Neuschäfer
42*2a49560bSJ. Neuschäfer  reg:
43*2a49560bSJ. Neuschäfer    minItems: 1
44*2a49560bSJ. Neuschäfer    items:
45*2a49560bSJ. Neuschäfer      - description: internal registers
46*2a49560bSJ. Neuschäfer      - description: config space access registers
47*2a49560bSJ. Neuschäfer
48*2a49560bSJ. Neuschäfer  clock-frequency: true
49*2a49560bSJ. Neuschäfer
50*2a49560bSJ. Neuschäfer  interrupts:
51*2a49560bSJ. Neuschäfer    items:
52*2a49560bSJ. Neuschäfer      - description: Consolidated PCI interrupt
53*2a49560bSJ. Neuschäfer
54*2a49560bSJ. Neuschäfer  fsl,pci-agent-force-enum:
55*2a49560bSJ. Neuschäfer    type: boolean
56*2a49560bSJ. Neuschäfer    description:
57*2a49560bSJ. Neuschäfer      Typically any Freescale PCI-X bridge hardware strapped into Agent mode is
58*2a49560bSJ. Neuschäfer      prevented from enumerating the bus. The PrPMC form-factor requires all
59*2a49560bSJ. Neuschäfer      mezzanines to be PCI-X Agents, but one per system may still enumerate the
60*2a49560bSJ. Neuschäfer      bus.
61*2a49560bSJ. Neuschäfer
62*2a49560bSJ. Neuschäfer      This property allows a PCI-X bridge to be used for bus enumeration
63*2a49560bSJ. Neuschäfer      despite being strapped into Agent mode.
64*2a49560bSJ. Neuschäfer
65*2a49560bSJ. Neuschäferrequired:
66*2a49560bSJ. Neuschäfer  - reg
67*2a49560bSJ. Neuschäfer  - compatible
68*2a49560bSJ. Neuschäfer
69*2a49560bSJ. NeuschäferunevaluatedProperties: false
70*2a49560bSJ. Neuschäfer
71*2a49560bSJ. Neuschäferexamples:
72*2a49560bSJ. Neuschäfer  - |
73*2a49560bSJ. Neuschäfer    #include <dt-bindings/interrupt-controller/irq.h>
74*2a49560bSJ. Neuschäfer
75*2a49560bSJ. Neuschäfer    pcie@e0009000 {
76*2a49560bSJ. Neuschäfer        compatible = "fsl,mpc8315-pcie", "fsl,mpc8314-pcie";
77*2a49560bSJ. Neuschäfer        reg = <0xe0009000 0x00001000>;
78*2a49560bSJ. Neuschäfer        ranges = <0x02000000 0 0xa0000000 0xa0000000 0 0x10000000
79*2a49560bSJ. Neuschäfer                  0x01000000 0 0x00000000 0xb1000000 0 0x00800000>;
80*2a49560bSJ. Neuschäfer        #address-cells = <3>;
81*2a49560bSJ. Neuschäfer        #size-cells = <2>;
82*2a49560bSJ. Neuschäfer        #interrupt-cells = <1>;
83*2a49560bSJ. Neuschäfer        device_type = "pci";
84*2a49560bSJ. Neuschäfer        bus-range = <0 255>;
85*2a49560bSJ. Neuschäfer        interrupt-map-mask = <0xf800 0 0 7>;
86*2a49560bSJ. Neuschäfer        interrupt-map = <0 0 0 1 &ipic 1 IRQ_TYPE_LEVEL_LOW
87*2a49560bSJ. Neuschäfer                         0 0 0 2 &ipic 1 IRQ_TYPE_LEVEL_LOW
88*2a49560bSJ. Neuschäfer                         0 0 0 3 &ipic 1 IRQ_TYPE_LEVEL_LOW
89*2a49560bSJ. Neuschäfer                         0 0 0 4 &ipic 1 IRQ_TYPE_LEVEL_LOW>;
90*2a49560bSJ. Neuschäfer        clock-frequency = <0>;
91*2a49560bSJ. Neuschäfer    };
92*2a49560bSJ. Neuschäfer
93*2a49560bSJ. Neuschäfer  - |
94*2a49560bSJ. Neuschäfer    pci@ef008000 {
95*2a49560bSJ. Neuschäfer        compatible = "fsl,mpc8540-pcix", "fsl,mpc8540-pci";
96*2a49560bSJ. Neuschäfer        reg = <0xef008000 0x1000>;
97*2a49560bSJ. Neuschäfer        ranges = <0x02000000 0 0x80000000 0x80000000 0 0x20000000
98*2a49560bSJ. Neuschäfer                  0x01000000 0 0x00000000 0xd0000000 0 0x01000000>;
99*2a49560bSJ. Neuschäfer        #interrupt-cells = <1>;
100*2a49560bSJ. Neuschäfer        #size-cells = <2>;
101*2a49560bSJ. Neuschäfer        #address-cells = <3>;
102*2a49560bSJ. Neuschäfer        device_type = "pci";
103*2a49560bSJ. Neuschäfer        clock-frequency = <33333333>;
104*2a49560bSJ. Neuschäfer        interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
105*2a49560bSJ. Neuschäfer        interrupt-map = </* IDSEL */
106*2a49560bSJ. Neuschäfer                         0xe000 0 0 1 &mpic 2 1
107*2a49560bSJ. Neuschäfer                         0xe000 0 0 2 &mpic 3 1>;
108*2a49560bSJ. Neuschäfer        interrupts-extended = <&mpic 24 2>;
109*2a49560bSJ. Neuschäfer        bus-range = <0 0>;
110*2a49560bSJ. Neuschäfer        fsl,pci-agent-force-enum;
111*2a49560bSJ. Neuschäfer    };
112*2a49560bSJ. Neuschäfer
113*2a49560bSJ. Neuschäfer...
114