* Renesas R-Car USB 2.0 clock selector

This file provides information on what the device node for the R-Car USB 2.0
clock selector.

If you connect an external clock to the USB_EXTAL pin only, you should set
the clock rate to "usb_extal" node only.
If you connect an oscillator to both the USB_XTAL and USB_EXTAL, this module
is not needed because this is default setting. (Of course, you can set the
clock rates to both "usb_extal" and "usb_xtal" nodes.

Case 1: An external clock connects to R-Car SoC
	+----------+   +--- R-Car ---------------------+
	|External  |---|USB_EXTAL ---> all usb channels|
	|clock     |   |USB_XTAL                       |
	+----------+   +-------------------------------+
In this case, we need this driver with "usb_extal" clock.

Case 2: An oscillator connects to R-Car SoC
	+----------+   +--- R-Car ---------------------+
	|Oscillator|---|USB_EXTAL -+-> all usb channels|
	|          |---|USB_XTAL --+                   |
	+----------+   +-------------------------------+
In this case, we don't need this selector.

Required properties:
- compatible: "renesas,r8a7795-rcar-usb2-clock-sel" if the device is a part of
	      an R8A7795 SoC.
	      "renesas,r8a7796-rcar-usb2-clock-sel" if the device if a part of
	      an R8A7796 SoC.
	      "renesas,rcar-gen3-usb2-clock-sel" for a generic R-Car Gen3
	      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 2.0 clock selector register block.
- clocks: A list of phandles and specifier pairs.
- clock-names: Name of the clocks.
 - The functional clock must be "ehci_ohci"
 - The USB_EXTAL clock pin must be "usb_extal"
 - The USB_XTAL clock pin must be "usb_xtal"
- #clock-cells: Must be 0

Example (R-Car H3):

	usb2_clksel: clock-controller@e6590630 {
		compatible = "renesas,r8a7795-rcar-usb2-clock-sel",
			     "renesas,rcar-gen3-usb2-clock-sel";
		reg = <0 0xe6590630 0 0x02>;
		clocks = <&cpg CPG_MOD 703>, <&usb_extal>, <&usb_xtal>;
		clock-names = "ehci_ohci", "usb_extal", "usb_xtal";
		#clock-cells = <0>;
	};
