# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/phy/marvell,armada-cp110-utmi-phy.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Marvell Armada CP110/CP115 UTMI PHY maintainers: - Konstantin Porotchkin <kostap@marvell.com> description: 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 properties: compatible: const: marvell,cp110-utmi-phy reg: maxItems: 1 "#address-cells": const: 1 "#size-cells": const: 0 marvell,system-controller: description: Phandle to the system controller node $ref: /schemas/types.yaml#/definitions/phandle # Required child nodes: patternProperties: "^usb-phy@[0|1]$": type: object description: Each UTMI PHY port must be represented as a sub-node. properties: reg: description: phy port index. maxItems: 1 "#phy-cells": const: 0 required: - reg - "#phy-cells" additionalProperties: false required: - compatible - reg - "#address-cells" - "#size-cells" - marvell,system-controller additionalProperties: false examples: - | cp0_utmi: utmi@580000 { compatible = "marvell,cp110-utmi-phy"; reg = <0x580000 0x2000>; marvell,system-controller = <&cp0_syscon0>; #address-cells = <1>; #size-cells = <0>; cp0_utmi0: usb-phy@0 { reg = <0>; #phy-cells = <0>; }; cp0_utmi1: usb-phy@1 { reg = <1>; #phy-cells = <0>; }; }; cp0_usb3_0 { usb-phy = <&cp0_usb3_0_phy0>; phys = <&cp0_utmi0>; phy-names = "utmi"; /* UTMI0 is connected to USB host controller (default mode) */ dr_mode = "host"; }; cp0_usb3_1 { usb-phy = <&cp0_usb3_0_phy1>; phys = <&cp0_utmi1>; phy-names = "utmi"; /* UTMI1 is connected to USB device controller */ dr_mode = "peripheral"; };