Renesas AHB to PCI bridge
-------------------------

This is the bridge used internally to connect the USB controllers to the
AHB. There is one bridge instance per USB port connected to the internal
OHCI and EHCI controllers.

Required properties:
- compatible: "renesas,pci-r8a7742" for the R8A7742 SoC;
	      "renesas,pci-r8a7743" for the R8A7743 SoC;
	      "renesas,pci-r8a7744" for the R8A7744 SoC;
	      "renesas,pci-r8a7745" for the R8A7745 SoC;
	      "renesas,pci-r8a7790" for the R8A7790 SoC;
	      "renesas,pci-r8a7791" for the R8A7791 SoC;
	      "renesas,pci-r8a7793" for the R8A7793 SoC;
	      "renesas,pci-r8a7794" for the R8A7794 SoC;
	      "renesas,pci-rcar-gen2" for a generic R-Car Gen2 or
				      RZ/G1 compatible device.


	      When compatible with the generic version, nodes must list the
	      SoC-specific version corresponding to the platform first
	      followed by the generic version.

- reg:	A list of physical regions to access the device: the first is
	the operational registers for the OHCI/EHCI controllers and the
	second is for the bridge configuration and control registers.
- interrupts: interrupt for the device.
- clocks: The reference to the device clock.
- bus-range: The PCI bus number range; as this is a single bus, the range
	     should be specified as the same value twice.
- #address-cells: must be 3.
- #size-cells: must be 2.
- #interrupt-cells: must be 1.
- interrupt-map: standard property used to define the mapping of the PCI
  interrupts to the GIC interrupts.
- interrupt-map-mask: standard property that helps to define the interrupt
  mapping.

Optional properties:
- dma-ranges: a single range for the inbound memory region. If not supplied,
  defaults to 1GiB at 0x40000000. Note there are hardware restrictions on the
  allowed combinations of address and size.

Example SoC configuration:

	pci0: pci@ee090000  {
		compatible = "renesas,pci-r8a7790", "renesas,pci-rcar-gen2";
		clocks = <&mstp7_clks R8A7790_CLK_EHCI>;
		reg = <0x0 0xee090000 0x0 0xc00>,
		      <0x0 0xee080000 0x0 0x1100>;
		interrupts = <0 108 IRQ_TYPE_LEVEL_HIGH>;
		status = "disabled";

		bus-range = <0 0>;
		#address-cells = <3>;
		#size-cells = <2>;
		#interrupt-cells = <1>;
		dma-ranges = <0x42000000 0 0x40000000 0 0x40000000 0 0x40000000>;
		interrupt-map-mask = <0xff00 0 0 0x7>;
		interrupt-map = <0x0000 0 0 1 &gic 0 108 IRQ_TYPE_LEVEL_HIGH
				 0x0800 0 0 1 &gic 0 108 IRQ_TYPE_LEVEL_HIGH
				 0x1000 0 0 2 &gic 0 108 IRQ_TYPE_LEVEL_HIGH>;

		usb@1,0 {
			reg = <0x800 0 0 0 0>;
			phys = <&usb0 0>;
			phy-names = "usb";
		};

		usb@2,0 {
			reg = <0x1000 0 0 0 0>;
			phys = <&usb0 0>;
			phy-names = "usb";
		};
	};

Example board setup:

&pci0 {
	status = "okay";
	pinctrl-0 = <&usb0_pins>;
	pinctrl-names = "default";
};
