1b8900c53SKonstantin Porotchkin# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2b8900c53SKonstantin Porotchkin 3b8900c53SKonstantin Porotchkin%YAML 1.2 4b8900c53SKonstantin Porotchkin--- 5e43462c1SRob Herring$id: http://devicetree.org/schemas/phy/marvell,armada-cp110-utmi-phy.yaml# 6e43462c1SRob 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 44*4de48026SJosua Mayer swap-dx-lanes: 45*4de48026SJosua Mayer $ref: /schemas/types.yaml#/definitions/uint32-array 46*4de48026SJosua Mayer description: | 47*4de48026SJosua Mayer Specifies the ports which will swap the differential-pair (D+/D-), 48*4de48026SJosua Mayer default is not-swapped. 49*4de48026SJosua Mayer 50b8900c53SKonstantin Porotchkin# Required child nodes: 51b8900c53SKonstantin Porotchkin 52b8900c53SKonstantin PorotchkinpatternProperties: 53b8900c53SKonstantin Porotchkin "^usb-phy@[0|1]$": 54b8900c53SKonstantin Porotchkin type: object 55b8900c53SKonstantin Porotchkin description: 56b8900c53SKonstantin Porotchkin Each UTMI PHY port must be represented as a sub-node. 57b8900c53SKonstantin Porotchkin 58b8900c53SKonstantin Porotchkin properties: 59b8900c53SKonstantin Porotchkin reg: 60b8900c53SKonstantin Porotchkin description: phy port index. 61b8900c53SKonstantin Porotchkin maxItems: 1 62b8900c53SKonstantin Porotchkin 63b8900c53SKonstantin Porotchkin "#phy-cells": 64b8900c53SKonstantin Porotchkin const: 0 65b8900c53SKonstantin Porotchkin 66b8900c53SKonstantin Porotchkin required: 67b8900c53SKonstantin Porotchkin - reg 68b8900c53SKonstantin Porotchkin - "#phy-cells" 69b8900c53SKonstantin Porotchkin 70b8900c53SKonstantin Porotchkin additionalProperties: false 71b8900c53SKonstantin Porotchkin 72b8900c53SKonstantin Porotchkinrequired: 73b8900c53SKonstantin Porotchkin - compatible 74b8900c53SKonstantin Porotchkin - reg 75b8900c53SKonstantin Porotchkin - "#address-cells" 76b8900c53SKonstantin Porotchkin - "#size-cells" 77b8900c53SKonstantin Porotchkin - marvell,system-controller 78b8900c53SKonstantin Porotchkin 79b8900c53SKonstantin PorotchkinadditionalProperties: false 80b8900c53SKonstantin Porotchkin 81b8900c53SKonstantin Porotchkinexamples: 82b8900c53SKonstantin Porotchkin - | 83b8900c53SKonstantin Porotchkin cp0_utmi: utmi@580000 { 84b8900c53SKonstantin Porotchkin compatible = "marvell,cp110-utmi-phy"; 85b8900c53SKonstantin Porotchkin reg = <0x580000 0x2000>; 86b8900c53SKonstantin Porotchkin marvell,system-controller = <&cp0_syscon0>; 87b8900c53SKonstantin Porotchkin #address-cells = <1>; 88b8900c53SKonstantin Porotchkin #size-cells = <0>; 89b8900c53SKonstantin Porotchkin 90b8900c53SKonstantin Porotchkin cp0_utmi0: usb-phy@0 { 91b8900c53SKonstantin Porotchkin reg = <0>; 92b8900c53SKonstantin Porotchkin #phy-cells = <0>; 93b8900c53SKonstantin Porotchkin }; 94b8900c53SKonstantin Porotchkin 95b8900c53SKonstantin Porotchkin cp0_utmi1: usb-phy@1 { 96b8900c53SKonstantin Porotchkin reg = <1>; 97b8900c53SKonstantin Porotchkin #phy-cells = <0>; 98b8900c53SKonstantin Porotchkin }; 99b8900c53SKonstantin Porotchkin }; 100b8900c53SKonstantin Porotchkin 101b8900c53SKonstantin Porotchkin cp0_usb3_0 { 102b8900c53SKonstantin Porotchkin usb-phy = <&cp0_usb3_0_phy0>; 103b8900c53SKonstantin Porotchkin phys = <&cp0_utmi0>; 104b8900c53SKonstantin Porotchkin phy-names = "utmi"; 105b8900c53SKonstantin Porotchkin /* UTMI0 is connected to USB host controller (default mode) */ 106b8900c53SKonstantin Porotchkin dr_mode = "host"; 107b8900c53SKonstantin Porotchkin }; 108b8900c53SKonstantin Porotchkin 109b8900c53SKonstantin Porotchkin cp0_usb3_1 { 110b8900c53SKonstantin Porotchkin usb-phy = <&cp0_usb3_0_phy1>; 111b8900c53SKonstantin Porotchkin phys = <&cp0_utmi1>; 112b8900c53SKonstantin Porotchkin phy-names = "utmi"; 113b8900c53SKonstantin Porotchkin /* UTMI1 is connected to USB device controller */ 114b8900c53SKonstantin Porotchkin dr_mode = "peripheral"; 115b8900c53SKonstantin Porotchkin }; 116