| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- # 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";
- };
|