On Sun, Feb 14, 2021 at 06:01:06PM +0200, kostap@xxxxxxxxxxx wrote: > From: Konstantin Porotchkin <kostap@xxxxxxxxxxx> > > Add DTS binding for Marvell CP110 UTMI driver Bindings are for h/w blocks/devices, not drivers. > > Signed-off-by: Konstantin Porotchkin <kostap@xxxxxxxxxxx> > --- > Documentation/devicetree/bindings/phy/phy-mvebu-utmi.txt | 78 ++++++++++++++++++-- > 1 file changed, 72 insertions(+), 6 deletions(-) This is a big enough change, please convert to schema first. > > diff --git a/Documentation/devicetree/bindings/phy/phy-mvebu-utmi.txt b/Documentation/devicetree/bindings/phy/phy-mvebu-utmi.txt > index aa99ceec73b0..b66066249861 100644 > --- a/Documentation/devicetree/bindings/phy/phy-mvebu-utmi.txt > +++ b/Documentation/devicetree/bindings/phy/phy-mvebu-utmi.txt > @@ -1,30 +1,56 @@ > -MVEBU A3700 UTMI PHY > --------------------- > +MVEBU UTMI PHY > +--------------- > > USB2 UTMI+ PHY controllers can be found on the following Marvell MVEBU SoCs: > * Armada 3700 > +* Armada 7k/8k (on the CP110) > +* Armada CN913x (on the CP115) > > On Armada 3700, there are two USB controllers, one is compatible with the USB2 > and USB3 specifications and supports OTG. The other one is USB2 compliant and > only supports host mode. Both of these controllers come with a slightly > different UTMI PHY. > > +On Armada 7k/8k and CN913x, there are two host and one device USB controllers. > +Each of two exiting UTMI PHYs could be connected to either USB host or USB device > +controller. > +The USB device controller can only be connected to a single UTMI PHY port: > + 0.H----- USB HOST0 > +UTMI PHY0 --------/ > + 0.D-----0 > + \------ USB DEVICE > + 1.D-----1 > +UTMI PHY1 --------\ > + 1.H----- USB HOST1 > + > + > Required Properties: > > - compatible: Should be one of: > * "marvell,a3700-utmi-host-phy" for the PHY connected to > - the USB2 host-only controller. > + the USB2 host-only controller (for Armada3700 only). > * "marvell,a3700-utmi-otg-phy" for the PHY connected to > - the USB3 and USB2 OTG capable controller. > + the USB3 and USB2 OTG capable controller (for Armada3700 only. > + * "marvell,cp110-utmi-phy" (for Armada 7k/8k or CN913x only). > - reg: PHY IP register range. > - marvell,usb-misc-reg: handle on the "USB miscellaneous registers" shared > region covering registers related to both the host > - controller and the PHY. > -- #phy-cells: Standard property (Documentation: phy-bindings.txt) Should be 0. > + controller and the PHY (for Armada3700 only). > +- marvell,system-controller: should contain a phandle to the system > + controller node (for Armada 7k/8k or CN913x only) > +- #phy-cells: Standard property (Documentation: phy-bindings.txt. > + Should be 0 (for Armada3700 only). > + > + > +Required properties (child nodes, for Armada 7k/8k/CN913x only): > + > +- reg: UTMI PHY port ID (0 or 1). > +- #phy-cells : Should be 0. > > > Example: > > +Armada3700 > usb2_utmi_host_phy: phy@5f000 { > compatible = "marvell,armada-3700-utmi-host-phy"; > reg = <0x5f000 0x800>; > @@ -36,3 +62,43 @@ Example: > compatible = "marvell,armada-3700-usb2-host-misc", "syscon"; > reg = <0x5f800 0x800>; > }; > + > +Armada 7k/8k/CN913x > + > + cp0_utmi: utmi@580000 { > + compatible = "marvell,cp110-utmi-phy"; > + reg = <0x580000 0x2000>; > + marvell,system-controller = <&cp0_syscon0>; > + #address-cells = <1>; > + #size-cells = <0>; > + status = "disabled"; Don't put status in examples. > + > + cp0_utmi0: phy@0 { > + reg = <0>; > + #phy-cells = <0>; > + }; > + > + cp0_utmi1: phy@1 { > + reg = <1>; > + #phy-cells = <0>; > + }; > + }; > + > + cp0_usb3_0 { > + status = "okay"; > + usb-phy = <&cp0_usb3_0_phy0>; > + phys = <&cp0_utmi0>; > + phy-names = "utmi"; > + /* UTMI0 is connected to USB host controller (default mode) */ > + dr_mode = "host"; Nodes need to be complete (and pass validation). > + }; > + > + cp0_usb3_1 { > + status = "okay"; > + usb-phy = <&cp0_usb3_0_phy1>; > + phys = <&cp0_utmi1>; > + phy-names = "utmi"; > + /* UTMI1 is connected to USB device controller */ > + dr_mode = "peripheral"; > + }; > + > -- > 2.17.1 >