blob: 7fab84b335313bbd8abc668f347f06c8d0cfe87d [file] [log] [blame]
Ben Dooksd47b62f2014-05-20 01:10:20 +04001Renesas AHB to PCI bridge
2-------------------------
3
4This is the bridge used internally to connect the USB controllers to the
5AHB. There is one bridge instance per USB port connected to the internal
6OHCI and EHCI controllers.
7
8Required properties:
9- compatible: "renesas,pci-r8a7790" for the R8A7790 SoC;
Sergei Shtylyovde24c182015-09-12 02:06:09 +030010 "renesas,pci-r8a7791" for the R8A7791 SoC;
11 "renesas,pci-r8a7794" for the R8A7794 SoC.
Ben Dooksd47b62f2014-05-20 01:10:20 +040012- 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
27Example 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
61Example board setup:
62
63&pci0 {
64 status = "okay";
65 pinctrl-0 = <&usb0_pins>;
66 pinctrl-names = "default";
67};