1*f126890aSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2*f126890aSEmmanuel Vadot%YAML 1.2 3*f126890aSEmmanuel Vadot--- 4*f126890aSEmmanuel Vadot$id: http://devicetree.org/schemas/usb/onnn,nb7vpq904m.yaml# 5*f126890aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*f126890aSEmmanuel Vadot 7*f126890aSEmmanuel Vadottitle: ON Semiconductor Type-C DisplayPort ALT Mode Linear Redriver 8*f126890aSEmmanuel Vadot 9*f126890aSEmmanuel Vadotmaintainers: 10*f126890aSEmmanuel Vadot - Neil Armstrong <neil.armstrong@linaro.org> 11*f126890aSEmmanuel Vadot 12*f126890aSEmmanuel Vadotproperties: 13*f126890aSEmmanuel Vadot compatible: 14*f126890aSEmmanuel Vadot enum: 15*f126890aSEmmanuel Vadot - onnn,nb7vpq904m 16*f126890aSEmmanuel Vadot 17*f126890aSEmmanuel Vadot reg: 18*f126890aSEmmanuel Vadot maxItems: 1 19*f126890aSEmmanuel Vadot 20*f126890aSEmmanuel Vadot vcc-supply: 21*f126890aSEmmanuel Vadot description: power supply (1.8V) 22*f126890aSEmmanuel Vadot 23*f126890aSEmmanuel Vadot enable-gpios: true 24*f126890aSEmmanuel Vadot 25*f126890aSEmmanuel Vadot retimer-switch: 26*f126890aSEmmanuel Vadot description: Flag the port as possible handle of SuperSpeed signals retiming 27*f126890aSEmmanuel Vadot type: boolean 28*f126890aSEmmanuel Vadot 29*f126890aSEmmanuel Vadot orientation-switch: 30*f126890aSEmmanuel Vadot description: Flag the port as possible handler of orientation switching 31*f126890aSEmmanuel Vadot type: boolean 32*f126890aSEmmanuel Vadot 33*f126890aSEmmanuel Vadot ports: 34*f126890aSEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/ports 35*f126890aSEmmanuel Vadot properties: 36*f126890aSEmmanuel Vadot port@0: 37*f126890aSEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/port 38*f126890aSEmmanuel Vadot description: Super Speed (SS) Output endpoint to the Type-C connector 39*f126890aSEmmanuel Vadot 40*f126890aSEmmanuel Vadot port@1: 41*f126890aSEmmanuel Vadot $ref: /schemas/graph.yaml#/$defs/port-base 42*f126890aSEmmanuel Vadot description: Super Speed (SS) Input endpoint from the Super-Speed PHY 43*f126890aSEmmanuel Vadot unevaluatedProperties: false 44*f126890aSEmmanuel Vadot 45*f126890aSEmmanuel Vadot properties: 46*f126890aSEmmanuel Vadot endpoint: 47*f126890aSEmmanuel Vadot $ref: /schemas/graph.yaml#/$defs/endpoint-base 48*f126890aSEmmanuel Vadot unevaluatedProperties: false 49*f126890aSEmmanuel Vadot 50*f126890aSEmmanuel Vadot properties: 51*f126890aSEmmanuel Vadot data-lanes: 52*f126890aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32-array 53*f126890aSEmmanuel Vadot description: | 54*f126890aSEmmanuel Vadot An array of physical data lane indexes. Position determines how 55*f126890aSEmmanuel Vadot lanes are connected to the redriver, It is assumed the same order 56*f126890aSEmmanuel Vadot is kept on the other side of the redriver. 57*f126890aSEmmanuel Vadot Lane number represents the following 58*f126890aSEmmanuel Vadot - 0 is RX2 lane 59*f126890aSEmmanuel Vadot - 1 is TX2 lane 60*f126890aSEmmanuel Vadot - 2 is TX1 lane 61*f126890aSEmmanuel Vadot - 3 is RX1 lane 62*f126890aSEmmanuel Vadot The position determines the physical port of the redriver, in the 63*f126890aSEmmanuel Vadot order A, B, C & D. 64*f126890aSEmmanuel Vadot oneOf: 65*f126890aSEmmanuel Vadot - items: 66*f126890aSEmmanuel Vadot - const: 0 67*f126890aSEmmanuel Vadot - const: 1 68*f126890aSEmmanuel Vadot - const: 2 69*f126890aSEmmanuel Vadot - const: 3 70*f126890aSEmmanuel Vadot description: | 71*f126890aSEmmanuel Vadot This is the lanes default layout 72*f126890aSEmmanuel Vadot - Port A to RX2 lane 73*f126890aSEmmanuel Vadot - Port B to TX2 lane 74*f126890aSEmmanuel Vadot - Port C to TX1 lane 75*f126890aSEmmanuel Vadot - Port D to RX1 lane 76*f126890aSEmmanuel Vadot - items: 77*f126890aSEmmanuel Vadot - const: 3 78*f126890aSEmmanuel Vadot - const: 2 79*f126890aSEmmanuel Vadot - const: 1 80*f126890aSEmmanuel Vadot - const: 0 81*f126890aSEmmanuel Vadot description: | 82*f126890aSEmmanuel Vadot This is the USBRX2/USBTX2 and USBRX1/USBTX1 swapped lanes layout 83*f126890aSEmmanuel Vadot - Port A to RX1 lane 84*f126890aSEmmanuel Vadot - Port B to TX1 lane 85*f126890aSEmmanuel Vadot - Port C to TX2 lane 86*f126890aSEmmanuel Vadot - Port D to RX2 lane 87*f126890aSEmmanuel Vadot 88*f126890aSEmmanuel Vadot port@2: 89*f126890aSEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/port 90*f126890aSEmmanuel Vadot description: 91*f126890aSEmmanuel Vadot Sideband Use (SBU) AUX lines endpoint to the Type-C connector for the purpose of 92*f126890aSEmmanuel Vadot handling altmode muxing and orientation switching. 93*f126890aSEmmanuel Vadot 94*f126890aSEmmanuel Vadotrequired: 95*f126890aSEmmanuel Vadot - compatible 96*f126890aSEmmanuel Vadot - reg 97*f126890aSEmmanuel Vadot 98*f126890aSEmmanuel VadotadditionalProperties: false 99*f126890aSEmmanuel Vadot 100*f126890aSEmmanuel Vadotexamples: 101*f126890aSEmmanuel Vadot - | 102*f126890aSEmmanuel Vadot i2c { 103*f126890aSEmmanuel Vadot #address-cells = <1>; 104*f126890aSEmmanuel Vadot #size-cells = <0>; 105*f126890aSEmmanuel Vadot 106*f126890aSEmmanuel Vadot typec-mux@32 { 107*f126890aSEmmanuel Vadot compatible = "onnn,nb7vpq904m"; 108*f126890aSEmmanuel Vadot reg = <0x32>; 109*f126890aSEmmanuel Vadot 110*f126890aSEmmanuel Vadot vcc-supply = <&vreg_l15b_1p8>; 111*f126890aSEmmanuel Vadot 112*f126890aSEmmanuel Vadot retimer-switch; 113*f126890aSEmmanuel Vadot orientation-switch; 114*f126890aSEmmanuel Vadot 115*f126890aSEmmanuel Vadot ports { 116*f126890aSEmmanuel Vadot #address-cells = <1>; 117*f126890aSEmmanuel Vadot #size-cells = <0>; 118*f126890aSEmmanuel Vadot 119*f126890aSEmmanuel Vadot port@0 { 120*f126890aSEmmanuel Vadot reg = <0>; 121*f126890aSEmmanuel Vadot usb_con_ss: endpoint { 122*f126890aSEmmanuel Vadot remote-endpoint = <&typec_con_ss>; 123*f126890aSEmmanuel Vadot }; 124*f126890aSEmmanuel Vadot }; 125*f126890aSEmmanuel Vadot port@1 { 126*f126890aSEmmanuel Vadot reg = <1>; 127*f126890aSEmmanuel Vadot phy_con_ss: endpoint { 128*f126890aSEmmanuel Vadot remote-endpoint = <&usb_phy_ss>; 129*f126890aSEmmanuel Vadot data-lanes = <3 2 1 0>; 130*f126890aSEmmanuel Vadot }; 131*f126890aSEmmanuel Vadot }; 132*f126890aSEmmanuel Vadot port@2 { 133*f126890aSEmmanuel Vadot reg = <2>; 134*f126890aSEmmanuel Vadot usb_con_sbu: endpoint { 135*f126890aSEmmanuel Vadot remote-endpoint = <&typec_dp_aux>; 136*f126890aSEmmanuel Vadot }; 137*f126890aSEmmanuel Vadot }; 138*f126890aSEmmanuel Vadot }; 139*f126890aSEmmanuel Vadot }; 140*f126890aSEmmanuel Vadot }; 141*f126890aSEmmanuel Vadot... 142