1* Renesas R-Car USB 2.0 clock selector 2 3This file provides information on what the device node for the R-Car USB 2.0 4clock selector. 5 6If you connect an external clock to the USB_EXTAL pin only, you should set 7the clock rate to "usb_extal" node only. 8If you connect an oscillator to both the USB_XTAL and USB_EXTAL, this module 9is not needed because this is default setting. (Of course, you can set the 10clock rates to both "usb_extal" and "usb_xtal" nodes. 11 12Case 1: An external clock connects to R-Car SoC 13 +----------+ +--- R-Car ---------------------+ 14 |External |---|USB_EXTAL ---> all usb channels| 15 |clock | |USB_XTAL | 16 +----------+ +-------------------------------+ 17In this case, we need this driver with "usb_extal" clock. 18 19Case 2: An oscillator connects to R-Car SoC 20 +----------+ +--- R-Car ---------------------+ 21 |Oscillator|---|USB_EXTAL -+-> all usb channels| 22 | |---|USB_XTAL --+ | 23 +----------+ +-------------------------------+ 24In this case, we don't need this selector. 25 26Required properties: 27- compatible: "renesas,r8a7795-rcar-usb2-clock-sel" if the device is a part of 28 an R8A7795 SoC. 29 "renesas,r8a7796-rcar-usb2-clock-sel" if the device if a part of 30 an R8A77960 SoC. 31 "renesas,r8a77961-rcar-usb2-clock-sel" if the device if a part of 32 an R8A77961 SoC. 33 "renesas,rcar-gen3-usb2-clock-sel" for a generic R-Car Gen3 34 compatible device. 35 36 When compatible with the generic version, nodes must list the 37 SoC-specific version corresponding to the platform first 38 followed by the generic version. 39 40- reg: offset and length of the USB 2.0 clock selector register block. 41- clocks: A list of phandles and specifier pairs. 42- clock-names: Name of the clocks. 43 - The functional clock of USB 2.0 host side must be "ehci_ohci" 44 - The functional clock of HS-USB side must be "hs-usb-if" 45 - The USB_EXTAL clock pin must be "usb_extal" 46 - The USB_XTAL clock pin must be "usb_xtal" 47- #clock-cells: Must be 0 48- power-domains: A phandle and symbolic PM domain specifier. 49 See power/renesas,rcar-sysc.yaml. 50- resets: A list of phandles and specifier pairs. 51- reset-names: Name of the resets. 52 - The reset of USB 2.0 host side must be "ehci_ohci" 53 - The reset of HS-USB side must be "hs-usb-if" 54 55Example (R-Car H3): 56 57 usb2_clksel: clock-controller@e6590630 { 58 compatible = "renesas,r8a7795-rcar-usb2-clock-sel", 59 "renesas,rcar-gen3-usb2-clock-sel"; 60 reg = <0 0xe6590630 0 0x02>; 61 clocks = <&cpg CPG_MOD 703>, <&cpg CPG_MOD 704>, 62 <&usb_extal>, <&usb_xtal>; 63 clock-names = "ehci_ohci", "hs-usb-if", "usb_extal", "usb_xtal"; 64 #clock-cells = <0>; 65 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 66 resets = <&cpg 703>, <&cpg 704>; 67 reset-names = "ehci_ohci", "hs-usb-if"; 68 }; 69