mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-12-28 11:24:07 -05:00
dt-bindings: PCI: Convert fsl,mpc83xx-pcie to YAML
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>
This commit is contained in:
committed by
Krzysztof Wilczyński
parent
f67d04b183
commit
2a49560bd5
113
Documentation/devicetree/bindings/pci/fsl,mpc8xxx-pci.yaml
Normal file
113
Documentation/devicetree/bindings/pci/fsl,mpc8xxx-pci.yaml
Normal file
@@ -0,0 +1,113 @@
|
||||
# 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;
|
||||
};
|
||||
|
||||
...
|
||||
@@ -1,27 +0,0 @@
|
||||
* Bus Enumeration by Freescale PCI-X Agent
|
||||
|
||||
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.
|
||||
|
||||
The property defined below will allow a PCI-X bridge to be used for bus
|
||||
enumeration despite being strapped into Agent mode.
|
||||
|
||||
Required properties:
|
||||
- fsl,pci-agent-force-enum : There is no value associated with this
|
||||
property. The property itself is treated as a boolean.
|
||||
|
||||
Example:
|
||||
|
||||
/* PCI-X bridge known to be PrPMC Monarch */
|
||||
pci0: pci@ef008000 {
|
||||
fsl,pci-agent-force-enum;
|
||||
#interrupt-cells = <1>;
|
||||
#size-cells = <2>;
|
||||
#address-cells = <3>;
|
||||
compatible = "fsl,mpc8540-pcix", "fsl,mpc8540-pci";
|
||||
device_type = "pci";
|
||||
...
|
||||
...
|
||||
};
|
||||
Reference in New Issue
Block a user