mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
The ports definition currently defined in the usb-switch.yaml
fits standards devices which are either recipient of altmode
muxing and orientation switching events or an element of the
USB Super Speed data lanes.
This doesn't necessarely fit combo PHYs like the Qualcomm
USB3/DP Combo which has a different ports representation.
Move the ports definition to a separate usb-switch-ports.yaml
and reference it next to the usb-switch.yaml, except for
the Qualcomm USB3/DP Combo PHY bindings.
Reported-by: Rob Herring <robh@kernel.org>
Closes: https://lore.kernel.org/all/175462129176.394940.16810637795278334342.robh@kernel.org/
Fixes: 3bad7fe227 ("dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp: Reference usb-switch.yaml to allow mode-switch")
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
140 lines
4.0 KiB
YAML
140 lines
4.0 KiB
YAML
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/usb/onnn,nb7vpq904m.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: ON Semiconductor Type-C DisplayPort ALT Mode Linear Redriver
|
|
|
|
maintainers:
|
|
- Neil Armstrong <neil.armstrong@linaro.org>
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- onnn,nb7vpq904m
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
vcc-supply:
|
|
description: power supply (1.8V)
|
|
|
|
enable-gpios: true
|
|
orientation-switch: true
|
|
retimer-switch: true
|
|
|
|
ports:
|
|
$ref: /schemas/graph.yaml#/properties/ports
|
|
properties:
|
|
port@0:
|
|
$ref: /schemas/graph.yaml#/properties/port
|
|
description: Super Speed (SS) Output endpoint to the Type-C connector
|
|
|
|
port@1:
|
|
$ref: /schemas/graph.yaml#/$defs/port-base
|
|
description: Super Speed (SS) Input endpoint from the Super-Speed PHY
|
|
unevaluatedProperties: false
|
|
|
|
properties:
|
|
endpoint:
|
|
$ref: /schemas/graph.yaml#/$defs/endpoint-base
|
|
unevaluatedProperties: false
|
|
|
|
properties:
|
|
data-lanes:
|
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
|
description: |
|
|
An array of physical data lane indexes. Position determines how
|
|
lanes are connected to the redriver, It is assumed the same order
|
|
is kept on the other side of the redriver.
|
|
Lane number represents the following
|
|
- 0 is RX2 lane
|
|
- 1 is TX2 lane
|
|
- 2 is TX1 lane
|
|
- 3 is RX1 lane
|
|
The position determines the physical port of the redriver, in the
|
|
order A, B, C & D.
|
|
oneOf:
|
|
- items:
|
|
- const: 0
|
|
- const: 1
|
|
- const: 2
|
|
- const: 3
|
|
description: |
|
|
This is the lanes default layout
|
|
- Port A to RX2 lane
|
|
- Port B to TX2 lane
|
|
- Port C to TX1 lane
|
|
- Port D to RX1 lane
|
|
- items:
|
|
- const: 3
|
|
- const: 2
|
|
- const: 1
|
|
- const: 0
|
|
description: |
|
|
This is the USBRX2/USBTX2 and USBRX1/USBTX1 swapped lanes layout
|
|
- Port A to RX1 lane
|
|
- Port B to TX1 lane
|
|
- Port C to TX2 lane
|
|
- Port D to RX2 lane
|
|
|
|
port@2:
|
|
$ref: /schemas/graph.yaml#/properties/port
|
|
description:
|
|
Sideband Use (SBU) AUX lines endpoint to the Type-C connector for the purpose of
|
|
handling altmode muxing and orientation switching.
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
|
|
allOf:
|
|
- $ref: usb-switch.yaml#
|
|
- $ref: usb-switch-ports.yaml#
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
i2c {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
typec-mux@32 {
|
|
compatible = "onnn,nb7vpq904m";
|
|
reg = <0x32>;
|
|
|
|
vcc-supply = <&vreg_l15b_1p8>;
|
|
|
|
retimer-switch;
|
|
orientation-switch;
|
|
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
port@0 {
|
|
reg = <0>;
|
|
usb_con_ss: endpoint {
|
|
remote-endpoint = <&typec_con_ss>;
|
|
};
|
|
};
|
|
port@1 {
|
|
reg = <1>;
|
|
phy_con_ss: endpoint {
|
|
remote-endpoint = <&usb_phy_ss>;
|
|
data-lanes = <3 2 1 0>;
|
|
};
|
|
};
|
|
port@2 {
|
|
reg = <2>;
|
|
usb_con_sbu: endpoint {
|
|
remote-endpoint = <&typec_dp_aux>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
...
|