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