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