12eb4d8dcSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 22eb4d8dcSEmmanuel Vadot 32eb4d8dcSEmmanuel Vadot%YAML 1.2 42eb4d8dcSEmmanuel Vadot--- 5*fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/phy/marvell,armada-cp110-utmi-phy.yaml# 6*fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 72eb4d8dcSEmmanuel Vadot 82eb4d8dcSEmmanuel Vadottitle: Marvell Armada CP110/CP115 UTMI PHY 92eb4d8dcSEmmanuel Vadot 102eb4d8dcSEmmanuel Vadotmaintainers: 112eb4d8dcSEmmanuel Vadot - Konstantin Porotchkin <kostap@marvell.com> 122eb4d8dcSEmmanuel Vadot 132eb4d8dcSEmmanuel Vadotdescription: 142eb4d8dcSEmmanuel Vadot On Armada 7k/8k and CN913x, there are two host and one device USB controllers. 152eb4d8dcSEmmanuel Vadot Each of two exiting UTMI PHYs could be connected to either USB host or USB device 162eb4d8dcSEmmanuel Vadot controller. 172eb4d8dcSEmmanuel Vadot The USB device controller can only be connected to a single UTMI PHY port 182eb4d8dcSEmmanuel Vadot 0.H----- USB HOST0 192eb4d8dcSEmmanuel Vadot UTMI PHY0 --------/ 202eb4d8dcSEmmanuel Vadot 0.D-----0 212eb4d8dcSEmmanuel Vadot \------ USB DEVICE 222eb4d8dcSEmmanuel Vadot 1.D-----1 232eb4d8dcSEmmanuel Vadot UTMI PHY1 --------\ 242eb4d8dcSEmmanuel Vadot 1.H----- USB HOST1 252eb4d8dcSEmmanuel Vadot 262eb4d8dcSEmmanuel Vadotproperties: 272eb4d8dcSEmmanuel Vadot compatible: 282eb4d8dcSEmmanuel Vadot const: marvell,cp110-utmi-phy 292eb4d8dcSEmmanuel Vadot 302eb4d8dcSEmmanuel Vadot reg: 312eb4d8dcSEmmanuel Vadot maxItems: 1 322eb4d8dcSEmmanuel Vadot 332eb4d8dcSEmmanuel Vadot "#address-cells": 342eb4d8dcSEmmanuel Vadot const: 1 352eb4d8dcSEmmanuel Vadot 362eb4d8dcSEmmanuel Vadot "#size-cells": 372eb4d8dcSEmmanuel Vadot const: 0 382eb4d8dcSEmmanuel Vadot 392eb4d8dcSEmmanuel Vadot marvell,system-controller: 402eb4d8dcSEmmanuel Vadot description: 412eb4d8dcSEmmanuel Vadot Phandle to the system controller node 422eb4d8dcSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle 432eb4d8dcSEmmanuel Vadot 442eb4d8dcSEmmanuel Vadot# Required child nodes: 452eb4d8dcSEmmanuel Vadot 462eb4d8dcSEmmanuel VadotpatternProperties: 472eb4d8dcSEmmanuel Vadot "^usb-phy@[0|1]$": 482eb4d8dcSEmmanuel Vadot type: object 492eb4d8dcSEmmanuel Vadot description: 502eb4d8dcSEmmanuel Vadot Each UTMI PHY port must be represented as a sub-node. 512eb4d8dcSEmmanuel Vadot 522eb4d8dcSEmmanuel Vadot properties: 532eb4d8dcSEmmanuel Vadot reg: 542eb4d8dcSEmmanuel Vadot description: phy port index. 552eb4d8dcSEmmanuel Vadot maxItems: 1 562eb4d8dcSEmmanuel Vadot 572eb4d8dcSEmmanuel Vadot "#phy-cells": 582eb4d8dcSEmmanuel Vadot const: 0 592eb4d8dcSEmmanuel Vadot 602eb4d8dcSEmmanuel Vadot required: 612eb4d8dcSEmmanuel Vadot - reg 622eb4d8dcSEmmanuel Vadot - "#phy-cells" 632eb4d8dcSEmmanuel Vadot 642eb4d8dcSEmmanuel Vadot additionalProperties: false 652eb4d8dcSEmmanuel Vadot 662eb4d8dcSEmmanuel Vadotrequired: 672eb4d8dcSEmmanuel Vadot - compatible 682eb4d8dcSEmmanuel Vadot - reg 692eb4d8dcSEmmanuel Vadot - "#address-cells" 702eb4d8dcSEmmanuel Vadot - "#size-cells" 712eb4d8dcSEmmanuel Vadot - marvell,system-controller 722eb4d8dcSEmmanuel Vadot 732eb4d8dcSEmmanuel VadotadditionalProperties: false 742eb4d8dcSEmmanuel Vadot 752eb4d8dcSEmmanuel Vadotexamples: 762eb4d8dcSEmmanuel Vadot - | 772eb4d8dcSEmmanuel Vadot cp0_utmi: utmi@580000 { 782eb4d8dcSEmmanuel Vadot compatible = "marvell,cp110-utmi-phy"; 792eb4d8dcSEmmanuel Vadot reg = <0x580000 0x2000>; 802eb4d8dcSEmmanuel Vadot marvell,system-controller = <&cp0_syscon0>; 812eb4d8dcSEmmanuel Vadot #address-cells = <1>; 822eb4d8dcSEmmanuel Vadot #size-cells = <0>; 832eb4d8dcSEmmanuel Vadot 842eb4d8dcSEmmanuel Vadot cp0_utmi0: usb-phy@0 { 852eb4d8dcSEmmanuel Vadot reg = <0>; 862eb4d8dcSEmmanuel Vadot #phy-cells = <0>; 872eb4d8dcSEmmanuel Vadot }; 882eb4d8dcSEmmanuel Vadot 892eb4d8dcSEmmanuel Vadot cp0_utmi1: usb-phy@1 { 902eb4d8dcSEmmanuel Vadot reg = <1>; 912eb4d8dcSEmmanuel Vadot #phy-cells = <0>; 922eb4d8dcSEmmanuel Vadot }; 932eb4d8dcSEmmanuel Vadot }; 942eb4d8dcSEmmanuel Vadot 952eb4d8dcSEmmanuel Vadot cp0_usb3_0 { 962eb4d8dcSEmmanuel Vadot usb-phy = <&cp0_usb3_0_phy0>; 972eb4d8dcSEmmanuel Vadot phys = <&cp0_utmi0>; 982eb4d8dcSEmmanuel Vadot phy-names = "utmi"; 992eb4d8dcSEmmanuel Vadot /* UTMI0 is connected to USB host controller (default mode) */ 1002eb4d8dcSEmmanuel Vadot dr_mode = "host"; 1012eb4d8dcSEmmanuel Vadot }; 1022eb4d8dcSEmmanuel Vadot 1032eb4d8dcSEmmanuel Vadot cp0_usb3_1 { 1042eb4d8dcSEmmanuel Vadot usb-phy = <&cp0_usb3_0_phy1>; 1052eb4d8dcSEmmanuel Vadot phys = <&cp0_utmi1>; 1062eb4d8dcSEmmanuel Vadot phy-names = "utmi"; 1072eb4d8dcSEmmanuel Vadot /* UTMI1 is connected to USB device controller */ 1082eb4d8dcSEmmanuel Vadot dr_mode = "peripheral"; 1092eb4d8dcSEmmanuel Vadot }; 110