139 lines · yaml
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause2%YAML 1.23---4$id: http://devicetree.org/schemas/usb/onnn,nb7vpq904m.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: ON Semiconductor Type-C DisplayPort ALT Mode Linear Redriver8 9maintainers:10 - Neil Armstrong <neil.armstrong@linaro.org>11 12properties:13 compatible:14 enum:15 - onnn,nb7vpq904m16 17 reg:18 maxItems: 119 20 vcc-supply:21 description: power supply (1.8V)22 23 enable-gpios: true24 orientation-switch: true25 retimer-switch: true26 27 ports:28 $ref: /schemas/graph.yaml#/properties/ports29 properties:30 port@0:31 $ref: /schemas/graph.yaml#/properties/port32 description: Super Speed (SS) Output endpoint to the Type-C connector33 34 port@1:35 $ref: /schemas/graph.yaml#/$defs/port-base36 description: Super Speed (SS) Input endpoint from the Super-Speed PHY37 unevaluatedProperties: false38 39 properties:40 endpoint:41 $ref: /schemas/graph.yaml#/$defs/endpoint-base42 unevaluatedProperties: false43 44 properties:45 data-lanes:46 $ref: /schemas/types.yaml#/definitions/uint32-array47 description: |48 An array of physical data lane indexes. Position determines how49 lanes are connected to the redriver, It is assumed the same order50 is kept on the other side of the redriver.51 Lane number represents the following52 - 0 is RX2 lane53 - 1 is TX2 lane54 - 2 is TX1 lane55 - 3 is RX1 lane56 The position determines the physical port of the redriver, in the57 order A, B, C & D.58 oneOf:59 - items:60 - const: 061 - const: 162 - const: 263 - const: 364 description: |65 This is the lanes default layout66 - Port A to RX2 lane67 - Port B to TX2 lane68 - Port C to TX1 lane69 - Port D to RX1 lane70 - items:71 - const: 372 - const: 273 - const: 174 - const: 075 description: |76 This is the USBRX2/USBTX2 and USBRX1/USBTX1 swapped lanes layout77 - Port A to RX1 lane78 - Port B to TX1 lane79 - Port C to TX2 lane80 - Port D to RX2 lane81 82 port@2:83 $ref: /schemas/graph.yaml#/properties/port84 description:85 Sideband Use (SBU) AUX lines endpoint to the Type-C connector for the purpose of86 handling altmode muxing and orientation switching.87 88required:89 - compatible90 - reg91 92allOf:93 - $ref: usb-switch.yaml#94 95additionalProperties: false96 97examples:98 - |99 i2c {100 #address-cells = <1>;101 #size-cells = <0>;102 103 typec-mux@32 {104 compatible = "onnn,nb7vpq904m";105 reg = <0x32>;106 107 vcc-supply = <&vreg_l15b_1p8>;108 109 retimer-switch;110 orientation-switch;111 112 ports {113 #address-cells = <1>;114 #size-cells = <0>;115 116 port@0 {117 reg = <0>;118 usb_con_ss: endpoint {119 remote-endpoint = <&typec_con_ss>;120 };121 };122 port@1 {123 reg = <1>;124 phy_con_ss: endpoint {125 remote-endpoint = <&usb_phy_ss>;126 data-lanes = <3 2 1 0>;127 };128 };129 port@2 {130 reg = <2>;131 usb_con_sbu: endpoint {132 remote-endpoint = <&typec_dp_aux>;133 };134 };135 };136 };137 };138...139