1 * Mediatek/Ralink RT3883 PCI controller
7 - compatible: must be "ralink,rt3883-pci"
9 - reg: specifies the physical base address of the controller and
10 the length of the memory mapped region.
12 - #address-cells: specifies the number of cells needed to encode an
13 address. The value must be 1.
15 - #size-cells: specifies the number of cells used to represent the size
16 of an address. The value must be 1.
18 - ranges: specifies the translation between child address space and parent
23 - status: indicates the operational status of the device.
24 Value must be either "disabled" or "okay".
28 The main node must have two child nodes which describes the built-in
29 interrupt controller and the PCI host bridge.
31 a) Interrupt controller:
35 - interrupt-controller: identifies the node as an interrupt controller
37 - #address-cells: specifies the number of cells needed to encode an
38 address. The value must be 0. As such, 'interrupt-map' nodes do not
39 have to specify a parent unit address.
41 - #interrupt-cells: specifies the number of cells needed to encode an
42 interrupt source. The value must be 1.
44 - interrupts: specifies the interrupt source of the parent interrupt
45 controller. The format of the interrupt specifier depends on the
46 parent interrupt controller.
52 - #address-cells: specifies the number of cells needed to encode an
53 address. The value must be 0.
55 - #size-cells: specifies the number of cells used to represent the size
56 of an address. The value must be 2.
58 - #interrupt-cells: specifies the number of cells needed to encode an
59 interrupt source. The value must be 1.
61 - device_type: must be "pci"
63 - bus-range: PCI bus numbers covered
65 - ranges: specifies the ranges for the PCI memory and I/O regions
68 - interrupt-map: standard PCI properties to define the mapping of the
69 PCI interface to interrupt numbers.
71 The PCI host bridge node might have additional sub-nodes representing
72 the onboard PCI devices/PCI slots. Each such sub-node must have the
73 following mandatory properties:
75 - reg: used only for interrupt mapping, so only the first four bytes
76 are used to refer to the correct bus number and device number.
78 - device_type: must be "pci"
80 If a given sub-node represents a PCI bridge it must have following
81 mandatory properties as well:
83 - #address-cells: must be set to <3>
85 - #size-cells: must set to <2>
87 - #interrupt-cells: must be set to <1>
90 - interrupt-map: standard PCI properties to define the mapping of the
91 PCI interface to interrupt numbers.
93 Besides the required properties the sub-nodes may have these optional
96 - status: indicates the operational status of the sub-node.
97 Value must be either "disabled" or "okay".
101 a) SoC specific dtsi file:
104 compatible = "ralink,rt3883-pci";
105 reg = <0x10140000 0x20000>;
106 #address-cells = <1>;
108 ranges; /* direct mapping */
112 pciintc: interrupt-controller {
113 interrupt-controller;
114 #address-cells = <0>;
115 #interrupt-cells = <1>;
117 interrupt-parent = <&cpuintc>;
122 #address-cells = <3>;
124 #interrupt-cells = <1>;
130 0x02000000 0 0x00000000 0x20000000 0 0x10000000 /* pci memory */
131 0x01000000 0 0x00000000 0x10160000 0 0x00010000 /* io space */
134 interrupt-map-mask = <0xf800 0 0 7>;
137 0x8800 0 0 1 &pciintc 18
138 0x8800 0 0 2 &pciintc 18
139 0x8800 0 0 3 &pciintc 18
140 0x8800 0 0 4 &pciintc 18
142 0x9000 0 0 1 &pciintc 19
143 0x9000 0 0 2 &pciintc 19
144 0x9000 0 0 3 &pciintc 19
145 0x9000 0 0 4 &pciintc 19
149 reg = <0x0800 0 0 0 0>;
151 #interrupt-cells = <1>;
152 #address-cells = <3>;
155 interrupt-map-mask = <0x0 0 0 0>;
156 interrupt-map = <0x0 0 0 0 &pciintc 20>;
162 reg = <0x8800 0 0 0 0>;
169 reg = <0x9000 0 0 0 0>;
177 b) Board specific dts file: