| # 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 |
| |
| swap-dx-lanes: |
| $ref: /schemas/types.yaml#/definitions/uint32-array |
| description: | |
| Specifies the ports which will swap the differential-pair (D+/D-), |
| default is not-swapped. |
| |
| # 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"; |
| }; |