1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
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;
};
...
|