fd2a052ccd
Several bindings implement parts of Type-C USB orientation and mode switching, and retiming. Keep definition of such properties in one place, new usb-switch schema, to avoid duplicate defines. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/20240122094406.32198-1-krzysztof.kozlowski@linaro.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
139 lines
4.0 KiB
YAML
139 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#
|
|
|
|
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>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
...
|