0001 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
0002
0003 %YAML 1.2
0004 ---
0005 $id: "http://devicetree.org/schemas/phy/marvell,armada-cp110-utmi-phy.yaml#"
0006 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
0007
0008 title: Marvell Armada CP110/CP115 UTMI PHY
0009
0010 maintainers:
0011 - Konstantin Porotchkin <kostap@marvell.com>
0012
0013 description:
0014 On Armada 7k/8k and CN913x, there are two host and one device USB controllers.
0015 Each of two exiting UTMI PHYs could be connected to either USB host or USB device
0016 controller.
0017 The USB device controller can only be connected to a single UTMI PHY port
0018 0.H----- USB HOST0
0019 UTMI PHY0 --------/
0020 0.D-----0
0021 \------ USB DEVICE
0022 1.D-----1
0023 UTMI PHY1 --------\
0024 1.H----- USB HOST1
0025
0026 properties:
0027 compatible:
0028 const: marvell,cp110-utmi-phy
0029
0030 reg:
0031 maxItems: 1
0032
0033 "#address-cells":
0034 const: 1
0035
0036 "#size-cells":
0037 const: 0
0038
0039 marvell,system-controller:
0040 description:
0041 Phandle to the system controller node
0042 $ref: /schemas/types.yaml#/definitions/phandle
0043
0044 #Required child nodes:
0045
0046 patternProperties:
0047 "^usb-phy@[0|1]$":
0048 type: object
0049 description:
0050 Each UTMI PHY port must be represented as a sub-node.
0051
0052 properties:
0053 reg:
0054 description: phy port index.
0055 maxItems: 1
0056
0057 "#phy-cells":
0058 const: 0
0059
0060 required:
0061 - reg
0062 - "#phy-cells"
0063
0064 additionalProperties: false
0065
0066 required:
0067 - compatible
0068 - reg
0069 - "#address-cells"
0070 - "#size-cells"
0071 - marvell,system-controller
0072
0073 additionalProperties: false
0074
0075 examples:
0076 - |
0077 cp0_utmi: utmi@580000 {
0078 compatible = "marvell,cp110-utmi-phy";
0079 reg = <0x580000 0x2000>;
0080 marvell,system-controller = <&cp0_syscon0>;
0081 #address-cells = <1>;
0082 #size-cells = <0>;
0083
0084 cp0_utmi0: usb-phy@0 {
0085 reg = <0>;
0086 #phy-cells = <0>;
0087 };
0088
0089 cp0_utmi1: usb-phy@1 {
0090 reg = <1>;
0091 #phy-cells = <0>;
0092 };
0093 };
0094
0095 cp0_usb3_0 {
0096 usb-phy = <&cp0_usb3_0_phy0>;
0097 phys = <&cp0_utmi0>;
0098 phy-names = "utmi";
0099 /* UTMI0 is connected to USB host controller (default mode) */
0100 dr_mode = "host";
0101 };
0102
0103 cp0_usb3_1 {
0104 usb-phy = <&cp0_usb3_0_phy1>;
0105 phys = <&cp0_utmi1>;
0106 phy-names = "utmi";
0107 /* UTMI1 is connected to USB device controller */
0108 dr_mode = "peripheral";
0109 };