110 lines
2.4 KiB
YAML
110 lines
2.4 KiB
YAML
|
# 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
|
||
|
|
||
|
# 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";
|
||
|
};
|