mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-08-28 18:10:32 +00:00

Formalise the binding for the PCI controllers in the Freescale MPC8xxx chip family. Information about PCI-X-specific properties was taken from fsl,pci.txt. The examples were taken from mpc8315erdb.dts and xpedite5200_xmon.dts. Signed-off-by: J. Neuschäfer <j.ne@posteo.net> Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Link: https://lore.kernel.org/r/20250220-ppcyaml-pci-v3-1-ca94a4f62a85@posteo.net Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>
114 lines
3.2 KiB
YAML
114 lines
3.2 KiB
YAML
# 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;
|
|
};
|
|
|
|
...
|