Back to home page

OSCL-LXR

 
 

    


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     };