| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| |
| $id: http://devicetree.org/schemas/pci/fsl,mpc8xxx-pci.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Freescale MPC83xx PCI/PCI-X/PCIe controllers |
| |
| description: |
| Binding for the PCI/PCI-X/PCIe host bridges on MPC8xxx SoCs |
| |
| maintainers: |
| - J. Neuschäfer <j.neuschaefer@gmx.net> |
| |
| allOf: |
| - $ref: /schemas/pci/pci-host-bridge.yaml# |
| |
| properties: |
| compatible: |
| oneOf: |
| - enum: |
| - fsl,mpc8314-pcie |
| - fsl,mpc8349-pci |
| - fsl,mpc8540-pci |
| - fsl,mpc8548-pcie |
| - fsl,mpc8641-pcie |
| - items: |
| - enum: |
| - fsl,mpc8308-pcie |
| - fsl,mpc8315-pcie |
| - fsl,mpc8377-pcie |
| - fsl,mpc8378-pcie |
| - const: fsl,mpc8314-pcie |
| - items: |
| - const: fsl,mpc8360-pci |
| - const: fsl,mpc8349-pci |
| - items: |
| - const: fsl,mpc8540-pcix |
| - const: fsl,mpc8540-pci |
| |
| reg: |
| minItems: 1 |
| items: |
| - description: internal registers |
| - description: config space access registers |
| |
| clock-frequency: true |
| |
| interrupts: |
| items: |
| - description: Consolidated PCI interrupt |
| |
| fsl,pci-agent-force-enum: |
| type: boolean |
| description: |
| Typically any Freescale PCI-X bridge hardware strapped into Agent mode is |
| prevented from enumerating the bus. The PrPMC form-factor requires all |
| mezzanines to be PCI-X Agents, but one per system may still enumerate the |
| bus. |
| |
| This property allows a PCI-X bridge to be used for bus enumeration |
| despite being strapped into Agent mode. |
| |
| required: |
| - reg |
| - compatible |
| |
| unevaluatedProperties: false |
| |
| examples: |
| - | |
| #include <dt-bindings/interrupt-controller/irq.h> |
| |
| pcie@e0009000 { |
| compatible = "fsl,mpc8315-pcie", "fsl,mpc8314-pcie"; |
| reg = <0xe0009000 0x00001000>; |
| ranges = <0x02000000 0 0xa0000000 0xa0000000 0 0x10000000 |
| 0x01000000 0 0x00000000 0xb1000000 0 0x00800000>; |
| #address-cells = <3>; |
| #size-cells = <2>; |
| #interrupt-cells = <1>; |
| device_type = "pci"; |
| bus-range = <0 255>; |
| interrupt-map-mask = <0xf800 0 0 7>; |
| interrupt-map = <0 0 0 1 &ipic 1 IRQ_TYPE_LEVEL_LOW |
| 0 0 0 2 &ipic 1 IRQ_TYPE_LEVEL_LOW |
| 0 0 0 3 &ipic 1 IRQ_TYPE_LEVEL_LOW |
| 0 0 0 4 &ipic 1 IRQ_TYPE_LEVEL_LOW>; |
| clock-frequency = <0>; |
| }; |
| |
| - | |
| pci@ef008000 { |
| compatible = "fsl,mpc8540-pcix", "fsl,mpc8540-pci"; |
| reg = <0xef008000 0x1000>; |
| ranges = <0x02000000 0 0x80000000 0x80000000 0 0x20000000 |
| 0x01000000 0 0x00000000 0xd0000000 0 0x01000000>; |
| #interrupt-cells = <1>; |
| #size-cells = <2>; |
| #address-cells = <3>; |
| device_type = "pci"; |
| clock-frequency = <33333333>; |
| interrupt-map-mask = <0xf800 0x0 0x0 0x7>; |
| interrupt-map = </* IDSEL */ |
| 0xe000 0 0 1 &mpic 2 1 |
| 0xe000 0 0 2 &mpic 3 1>; |
| interrupts-extended = <&mpic 24 2>; |
| bus-range = <0 0>; |
| fsl,pci-agent-force-enum; |
| }; |
| |
| ... |