| # 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>; |
| }; |
| }; |
| }; |
| }; |
| }; |
| ... |