Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: phy: rcar-gen2: Add r8a77470 support

Add USB PHY support for r8a77470 SoC. Renesas RZ/G1C (R8A77470)
USB PHY is similar to the R-Car Gen2 family, but has the below
feature compared to other RZ/G1 and R-Car Gen2/3 SoCs

It has a shared pll reset for usbphy0/usbphy1 and this register
reside in usbphy0 block.

Signed-off-by: Biju Das <biju.das@bp.renesas.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>

authored by

Biju Das and committed by
Kishon Vijay Abraham I
f56511d0 1d1bae72

+53 -4
+53 -4
Documentation/devicetree/bindings/phy/rcar-gen2-phy.txt
··· 7 7 - compatible: "renesas,usb-phy-r8a7743" if the device is a part of R8A7743 SoC. 8 8 "renesas,usb-phy-r8a7744" if the device is a part of R8A7744 SoC. 9 9 "renesas,usb-phy-r8a7745" if the device is a part of R8A7745 SoC. 10 + "renesas,usb-phy-r8a77470" if the device is a part of R8A77470 SoC. 10 11 "renesas,usb-phy-r8a7790" if the device is a part of R8A7790 SoC. 11 12 "renesas,usb-phy-r8a7791" if the device is a part of R8A7791 SoC. 12 13 "renesas,usb-phy-r8a7794" if the device is a part of R8A7794 SoC. ··· 31 30 - #phy-cells: see phy-bindings.txt in the same directory, must be <1>. 32 31 33 32 The phandle's argument in the PHY specifier is the USB controller selector for 34 - the USB channel; see the selector meanings below: 33 + the USB channel other than r8a77470 SoC; see the selector meanings below: 35 34 36 35 +-----------+---------------+---------------+ 37 36 |\ Selector | | | ··· 42 41 | 2 | PCI EHCI/OHCI | xHCI | 43 42 +-----------+---------------+---------------+ 44 43 44 + For r8a77470 SoC;see the selector meaning below: 45 + 46 + +-----------+---------------+---------------+ 47 + |\ Selector | | | 48 + + --------- + 0 | 1 | 49 + | Channel \| | | 50 + +-----------+---------------+---------------+ 51 + | 0 | EHCI/OHCI | HS-USB | 52 + +-----------+---------------+---------------+ 53 + 45 54 Example (Lager board): 46 55 47 56 usb-phy@e6590100 { ··· 59 48 reg = <0 0xe6590100 0 0x100>; 60 49 #address-cells = <1>; 61 50 #size-cells = <0>; 62 - clocks = <&mstp7_clks R8A7790_CLK_HSUSB>; 51 + clocks = <&cpg CPG_MOD 704>; 63 52 clock-names = "usbhs"; 53 + power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 54 + resets = <&cpg 704>; 64 55 65 - usb-channel@0 { 56 + usb0: usb-channel@0 { 66 57 reg = <0>; 67 58 #phy-cells = <1>; 68 59 }; 69 - usb-channel@2 { 60 + usb2: usb-channel@2 { 70 61 reg = <2>; 62 + #phy-cells = <1>; 63 + }; 64 + }; 65 + 66 + Example (iWave RZ/G1C sbc): 67 + 68 + usbphy0: usb-phy0@e6590100 { 69 + compatible = "renesas,usb-phy-r8a77470", 70 + "renesas,rcar-gen2-usb-phy"; 71 + reg = <0 0xe6590100 0 0x100>; 72 + #address-cells = <1>; 73 + #size-cells = <0>; 74 + clocks = <&cpg CPG_MOD 704>; 75 + clock-names = "usbhs"; 76 + power-domains = <&sysc R8A77470_PD_ALWAYS_ON>; 77 + resets = <&cpg 704>; 78 + 79 + usb0: usb-channel@0 { 80 + reg = <0>; 81 + #phy-cells = <1>; 82 + }; 83 + }; 84 + 85 + usbphy1: usb-phy@e6598100 { 86 + compatible = "renesas,usb-phy-r8a77470", 87 + "renesas,rcar-gen2-usb-phy"; 88 + reg = <0 0xe6598100 0 0x100>; 89 + #address-cells = <1>; 90 + #size-cells = <0>; 91 + clocks = <&cpg CPG_MOD 706>; 92 + clock-names = "usbhs"; 93 + power-domains = <&sysc R8A77470_PD_ALWAYS_ON>; 94 + resets = <&cpg 706>; 95 + 96 + usb1: usb-channel@0 { 97 + reg = <0>; 71 98 #phy-cells = <1>; 72 99 }; 73 100 };