1b8900c53SKonstantin Porotchkin# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2b8900c53SKonstantin Porotchkin 3b8900c53SKonstantin Porotchkin%YAML 1.2 4b8900c53SKonstantin Porotchkin--- 5*e43462c1SRob Herring$id: http://devicetree.org/schemas/phy/marvell,armada-cp110-utmi-phy.yaml# 6*e43462c1SRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml# 7b8900c53SKonstantin Porotchkin 8b8900c53SKonstantin Porotchkintitle: Marvell Armada CP110/CP115 UTMI PHY 9b8900c53SKonstantin Porotchkin 10b8900c53SKonstantin Porotchkinmaintainers: 11b8900c53SKonstantin Porotchkin - Konstantin Porotchkin <kostap@marvell.com> 12b8900c53SKonstantin Porotchkin 13b8900c53SKonstantin Porotchkindescription: 14b8900c53SKonstantin Porotchkin On Armada 7k/8k and CN913x, there are two host and one device USB controllers. 15b8900c53SKonstantin Porotchkin Each of two exiting UTMI PHYs could be connected to either USB host or USB device 16b8900c53SKonstantin Porotchkin controller. 17b8900c53SKonstantin Porotchkin The USB device controller can only be connected to a single UTMI PHY port 18b8900c53SKonstantin Porotchkin 0.H----- USB HOST0 19b8900c53SKonstantin Porotchkin UTMI PHY0 --------/ 20b8900c53SKonstantin Porotchkin 0.D-----0 21b8900c53SKonstantin Porotchkin \------ USB DEVICE 22b8900c53SKonstantin Porotchkin 1.D-----1 23b8900c53SKonstantin Porotchkin UTMI PHY1 --------\ 24b8900c53SKonstantin Porotchkin 1.H----- USB HOST1 25b8900c53SKonstantin Porotchkin 26b8900c53SKonstantin Porotchkinproperties: 27b8900c53SKonstantin Porotchkin compatible: 28b8900c53SKonstantin Porotchkin const: marvell,cp110-utmi-phy 29b8900c53SKonstantin Porotchkin 30b8900c53SKonstantin Porotchkin reg: 31b8900c53SKonstantin Porotchkin maxItems: 1 32b8900c53SKonstantin Porotchkin 33b8900c53SKonstantin Porotchkin "#address-cells": 34b8900c53SKonstantin Porotchkin const: 1 35b8900c53SKonstantin Porotchkin 36b8900c53SKonstantin Porotchkin "#size-cells": 37b8900c53SKonstantin Porotchkin const: 0 38b8900c53SKonstantin Porotchkin 39b8900c53SKonstantin Porotchkin marvell,system-controller: 40b8900c53SKonstantin Porotchkin description: 41b8900c53SKonstantin Porotchkin Phandle to the system controller node 42b8900c53SKonstantin Porotchkin $ref: /schemas/types.yaml#/definitions/phandle 43b8900c53SKonstantin Porotchkin 44b8900c53SKonstantin Porotchkin# Required child nodes: 45b8900c53SKonstantin Porotchkin 46b8900c53SKonstantin PorotchkinpatternProperties: 47b8900c53SKonstantin Porotchkin "^usb-phy@[0|1]$": 48b8900c53SKonstantin Porotchkin type: object 49b8900c53SKonstantin Porotchkin description: 50b8900c53SKonstantin Porotchkin Each UTMI PHY port must be represented as a sub-node. 51b8900c53SKonstantin Porotchkin 52b8900c53SKonstantin Porotchkin properties: 53b8900c53SKonstantin Porotchkin reg: 54b8900c53SKonstantin Porotchkin description: phy port index. 55b8900c53SKonstantin Porotchkin maxItems: 1 56b8900c53SKonstantin Porotchkin 57b8900c53SKonstantin Porotchkin "#phy-cells": 58b8900c53SKonstantin Porotchkin const: 0 59b8900c53SKonstantin Porotchkin 60b8900c53SKonstantin Porotchkin required: 61b8900c53SKonstantin Porotchkin - reg 62b8900c53SKonstantin Porotchkin - "#phy-cells" 63b8900c53SKonstantin Porotchkin 64b8900c53SKonstantin Porotchkin additionalProperties: false 65b8900c53SKonstantin Porotchkin 66b8900c53SKonstantin Porotchkinrequired: 67b8900c53SKonstantin Porotchkin - compatible 68b8900c53SKonstantin Porotchkin - reg 69b8900c53SKonstantin Porotchkin - "#address-cells" 70b8900c53SKonstantin Porotchkin - "#size-cells" 71b8900c53SKonstantin Porotchkin - marvell,system-controller 72b8900c53SKonstantin Porotchkin 73b8900c53SKonstantin PorotchkinadditionalProperties: false 74b8900c53SKonstantin Porotchkin 75b8900c53SKonstantin Porotchkinexamples: 76b8900c53SKonstantin Porotchkin - | 77b8900c53SKonstantin Porotchkin cp0_utmi: utmi@580000 { 78b8900c53SKonstantin Porotchkin compatible = "marvell,cp110-utmi-phy"; 79b8900c53SKonstantin Porotchkin reg = <0x580000 0x2000>; 80b8900c53SKonstantin Porotchkin marvell,system-controller = <&cp0_syscon0>; 81b8900c53SKonstantin Porotchkin #address-cells = <1>; 82b8900c53SKonstantin Porotchkin #size-cells = <0>; 83b8900c53SKonstantin Porotchkin 84b8900c53SKonstantin Porotchkin cp0_utmi0: usb-phy@0 { 85b8900c53SKonstantin Porotchkin reg = <0>; 86b8900c53SKonstantin Porotchkin #phy-cells = <0>; 87b8900c53SKonstantin Porotchkin }; 88b8900c53SKonstantin Porotchkin 89b8900c53SKonstantin Porotchkin cp0_utmi1: usb-phy@1 { 90b8900c53SKonstantin Porotchkin reg = <1>; 91b8900c53SKonstantin Porotchkin #phy-cells = <0>; 92b8900c53SKonstantin Porotchkin }; 93b8900c53SKonstantin Porotchkin }; 94b8900c53SKonstantin Porotchkin 95b8900c53SKonstantin Porotchkin cp0_usb3_0 { 96b8900c53SKonstantin Porotchkin usb-phy = <&cp0_usb3_0_phy0>; 97b8900c53SKonstantin Porotchkin phys = <&cp0_utmi0>; 98b8900c53SKonstantin Porotchkin phy-names = "utmi"; 99b8900c53SKonstantin Porotchkin /* UTMI0 is connected to USB host controller (default mode) */ 100b8900c53SKonstantin Porotchkin dr_mode = "host"; 101b8900c53SKonstantin Porotchkin }; 102b8900c53SKonstantin Porotchkin 103b8900c53SKonstantin Porotchkin cp0_usb3_1 { 104b8900c53SKonstantin Porotchkin usb-phy = <&cp0_usb3_0_phy1>; 105b8900c53SKonstantin Porotchkin phys = <&cp0_utmi1>; 106b8900c53SKonstantin Porotchkin phy-names = "utmi"; 107b8900c53SKonstantin Porotchkin /* UTMI1 is connected to USB device controller */ 108b8900c53SKonstantin Porotchkin dr_mode = "peripheral"; 109b8900c53SKonstantin Porotchkin }; 110