142 lines
4.1 KiB
YAML
142 lines
4.1 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
|
||
|
|
||
|
retimer-switch:
|
||
|
description: Flag the port as possible handle of SuperSpeed signals retiming
|
||
|
type: boolean
|
||
|
|
||
|
orientation-switch:
|
||
|
description: Flag the port as possible handler of orientation switching
|
||
|
type: boolean
|
||
|
|
||
|
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
|
||
|
|
||
|
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>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
...
|