Merge tag 'sunxi-fixes-for-4.3' of https://git.kernel.org/pub/scm/linux/kernel/git...
[linux-drm-fsl-dcu.git] / Documentation / devicetree / bindings / pci / pci-rcar-gen2.txt
1 Renesas AHB to PCI bridge
2 -------------------------
3
4 This is the bridge used internally to connect the USB controllers to the
5 AHB. There is one bridge instance per USB port connected to the internal
6 OHCI and EHCI controllers.
7
8 Required properties:
9 - compatible: "renesas,pci-r8a7790" for the R8A7790 SoC;
10               "renesas,pci-r8a7791" for the R8A7791 SoC;
11               "renesas,pci-r8a7794" for the R8A7794 SoC.
12 - reg:  A list of physical regions to access the device: the first is
13         the operational registers for the OHCI/EHCI controllers and the
14         second is for the bridge configuration and control registers.
15 - interrupts: interrupt for the device.
16 - clocks: The reference to the device clock.
17 - bus-range: The PCI bus number range; as this is a single bus, the range
18              should be specified as the same value twice.
19 - #address-cells: must be 3.
20 - #size-cells: must be 2.
21 - #interrupt-cells: must be 1.
22 - interrupt-map: standard property used to define the mapping of the PCI
23   interrupts to the GIC interrupts.
24 - interrupt-map-mask: standard property that helps to define the interrupt
25   mapping.
26
27 Example SoC configuration:
28
29         pci0: pci@ee090000  {
30                 compatible = "renesas,pci-r8a7790";
31                 clocks = <&mstp7_clks R8A7790_CLK_EHCI>;
32                 reg = <0x0 0xee090000 0x0 0xc00>,
33                       <0x0 0xee080000 0x0 0x1100>;
34                 interrupts = <0 108 IRQ_TYPE_LEVEL_HIGH>;
35                 status = "disabled";
36
37                 bus-range = <0 0>;
38                 #address-cells = <3>;
39                 #size-cells = <2>;
40                 #interrupt-cells = <1>;
41                 interrupt-map-mask = <0xff00 0 0 0x7>;
42                 interrupt-map = <0x0000 0 0 1 &gic 0 108 IRQ_TYPE_LEVEL_HIGH
43                                  0x0800 0 0 1 &gic 0 108 IRQ_TYPE_LEVEL_HIGH
44                                  0x1000 0 0 2 &gic 0 108 IRQ_TYPE_LEVEL_HIGH>;
45
46                 pci@0,1 {
47                         reg = <0x800 0 0 0 0>;
48                         device_type = "pci";
49                         phys = <&usbphy 0 0>;
50                         phy-names = "usb";
51                 };
52
53                 pci@0,2 {
54                         reg = <0x1000 0 0 0 0>;
55                         device_type = "pci";
56                         phys = <&usbphy 0 0>;
57                         phy-names = "usb";
58                 };
59         };
60
61 Example board setup:
62
63 &pci0 {
64         status = "okay";
65         pinctrl-0 = <&usb0_pins>;
66         pinctrl-names = "default";
67 };