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