0001 * Renesas R-Car generation 2 USB PHY
0002
0003 This file provides information on what the device node for the R-Car generation
0004 2 USB PHY contains.
0005
0006 Required properties:
0007 - compatible: "renesas,usb-phy-r8a7742" if the device is a part of R8A7742 SoC.
0008 "renesas,usb-phy-r8a7743" if the device is a part of R8A7743 SoC.
0009 "renesas,usb-phy-r8a7744" if the device is a part of R8A7744 SoC.
0010 "renesas,usb-phy-r8a7745" if the device is a part of R8A7745 SoC.
0011 "renesas,usb-phy-r8a77470" if the device is a part of R8A77470 SoC.
0012 "renesas,usb-phy-r8a7790" if the device is a part of R8A7790 SoC.
0013 "renesas,usb-phy-r8a7791" if the device is a part of R8A7791 SoC.
0014 "renesas,usb-phy-r8a7794" if the device is a part of R8A7794 SoC.
0015 "renesas,rcar-gen2-usb-phy" for a generic R-Car Gen2 or
0016 RZ/G1 compatible device.
0017
0018 When compatible with the generic version, nodes must list the
0019 SoC-specific version corresponding to the platform first
0020 followed by the generic version.
0021
0022 - reg: offset and length of the register block.
0023 - #address-cells: number of address cells for the USB channel subnodes, must
0024 be <1>.
0025 - #size-cells: number of size cells for the USB channel subnodes, must be <0>.
0026 - clocks: clock phandle and specifier pair.
0027 - clock-names: string, clock input name, must be "usbhs".
0028
0029 The USB PHY device tree node should have the subnodes corresponding to the USB
0030 channels. These subnodes must contain the following properties:
0031 - reg: the USB controller selector; see the table below for the values.
0032 - #phy-cells: see phy-bindings.txt in the same directory, must be <1>.
0033
0034 The phandle's argument in the PHY specifier is the USB controller selector for
0035 the USB channel other than r8a77470 SoC; see the selector meanings below:
0036
0037 +-----------+---------------+---------------+
0038 |\ Selector | | |
0039 + --------- + 0 | 1 |
0040 | Channel \| | |
0041 +-----------+---------------+---------------+
0042 | 0 | PCI EHCI/OHCI | HS-USB |
0043 | 2 | PCI EHCI/OHCI | xHCI |
0044 +-----------+---------------+---------------+
0045
0046 For r8a77470 SoC;see the selector meaning below:
0047
0048 +-----------+---------------+---------------+
0049 |\ Selector | | |
0050 + --------- + 0 | 1 |
0051 | Channel \| | |
0052 +-----------+---------------+---------------+
0053 | 0 | EHCI/OHCI | HS-USB |
0054 +-----------+---------------+---------------+
0055
0056 Example (Lager board):
0057
0058 usb-phy@e6590100 {
0059 compatible = "renesas,usb-phy-r8a7790", "renesas,rcar-gen2-usb-phy";
0060 reg = <0 0xe6590100 0 0x100>;
0061 #address-cells = <1>;
0062 #size-cells = <0>;
0063 clocks = <&cpg CPG_MOD 704>;
0064 clock-names = "usbhs";
0065 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
0066 resets = <&cpg 704>;
0067
0068 usb0: usb-channel@0 {
0069 reg = <0>;
0070 #phy-cells = <1>;
0071 };
0072 usb2: usb-channel@2 {
0073 reg = <2>;
0074 #phy-cells = <1>;
0075 };
0076 };
0077
0078 Example (iWave RZ/G1C sbc):
0079
0080 usbphy0: usb-phy0@e6590100 {
0081 compatible = "renesas,usb-phy-r8a77470",
0082 "renesas,rcar-gen2-usb-phy";
0083 reg = <0 0xe6590100 0 0x100>;
0084 #address-cells = <1>;
0085 #size-cells = <0>;
0086 clocks = <&cpg CPG_MOD 704>;
0087 clock-names = "usbhs";
0088 power-domains = <&sysc R8A77470_PD_ALWAYS_ON>;
0089 resets = <&cpg 704>;
0090
0091 usb0: usb-channel@0 {
0092 reg = <0>;
0093 #phy-cells = <1>;
0094 };
0095 };
0096
0097 usbphy1: usb-phy@e6598100 {
0098 compatible = "renesas,usb-phy-r8a77470",
0099 "renesas,rcar-gen2-usb-phy";
0100 reg = <0 0xe6598100 0 0x100>;
0101 #address-cells = <1>;
0102 #size-cells = <0>;
0103 clocks = <&cpg CPG_MOD 706>;
0104 clock-names = "usbhs";
0105 power-domains = <&sysc R8A77470_PD_ALWAYS_ON>;
0106 resets = <&cpg 706>;
0107
0108 usb1: usb-channel@0 {
0109 reg = <0>;
0110 #phy-cells = <1>;
0111 };
0112 };