* Renesas R-Car generation 3 USB 3.0 PHY

This file provides information on what the device node for the R-Car generation
3 and RZ/G2 USB 3.0 PHY contain.
If you want to enable spread spectrum clock (ssc), you should use USB_EXTAL
instead of USB3_CLK. However, if you don't want to these features, you don't
need this driver.

Required properties:
- compatible: "renesas,r8a774a1-usb3-phy" if the device is a part of an R8A774A1
	      SoC.
	      "renesas,r8a7795-usb3-phy" if the device is a part of an R8A7795
	      SoC.
	      "renesas,r8a7796-usb3-phy" if the device is a part of an R8A7796
	      SoC.
	      "renesas,r8a77965-usb3-phy" if the device is a part of an
	      R8A77965 SoC.
	      "renesas,rcar-gen3-usb3-phy" for a generic R-Car Gen3 or RZ/G2
	      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: offset and length of the USB 3.0 PHY register block.
- clocks: A list of phandles and clock-specifier pairs.
- clock-names: Name of the clocks.
  - The funcional clock must be "usb3-if".
  - The usb3's external clock must be "usb3s_clk".
  - The usb2's external clock must be "usb_extal". If you want to use the ssc,
    the clock-frequency must not be 0.
- #phy-cells: see phy-bindings.txt in the same directory, must be <0>.

Optional properties:
- renesas,ssc-range: Enable/disable spread spectrum clock (ssc) by using
		     the following values as u32:
			- 0 (or the property doesn't exist): disable the ssc
			- 4980: enable the ssc as -4980 ppm
			- 4492: enable the ssc as -4492 ppm
			- 4003: enable the ssc as -4003 ppm

Example (R-Car H3):

	usb-phy@e65ee000 {
		compatible = "renesas,r8a7795-usb3-phy",
			     "renesas,rcar-gen3-usb3-phy";
		reg = <0 0xe65ee000 0 0x90>;
		clocks = <&cpg CPG_MOD 328>, <&usb3s0_clk>, <&usb_extal>;
		clock-names = "usb3-if", "usb3s_clk", "usb_extal";
	};
