1 # SPDX-License-Identifier: (GPL-2.0-only OR BS 2 %YAML 1.2 3 --- 4 $id: http://devicetree.org/schemas/display/pan 5 $schema: http://devicetree.org/meta-schemas/co 6 7 title: Probeable (via DP AUX / EDID) eDP Panel 8 9 maintainers: 10 - Douglas Anderson <dianders@chromium.org> 11 12 description: | 13 This binding file can be used to indicate th 14 to a Embedded DisplayPort AUX bus (see displ 15 actually specifying exactly what panel is co 16 the case that more than one different panel 17 board, either for second-sourcing purposes o 18 with different LCDs that hook up to a common 19 20 As per above, a requirement for using this b 21 represented under the DP AUX bus. This means 22 information provided by the DP AUX bus (incl 23 the panel. We can use this to identify displ 24 timings among other things. 25 26 One piece of information about eDP panels th 27 provided anywhere on the DP AUX bus is the p 28 This is the reason why, historically, we've 29 list eDP panels. We solve that here with two 30 power on timings for any panels expected to 31 specified in these bindings. Once we've powe 32 the operating system will lookup the panel i 33 information) to figure out other power seque 34 35 eDP panels in general can have somewhat arbi 36 requirements. However, even though it's arbi 37 vast majority of panel datasheets have a pow 38 looks the exactly the same as every other pa 39 cares about different timings in this diagra 40 diagram is so similar means we can come up w 41 handle it. 42 43 These diagrams all look roughly like this, s 44 slightly different numbers / lines but all p 45 sequence. This is because much of this diagr 46 the eDP Standard. 47 48 ______________________________ 49 Vdd ___/: 50 _/ : 51 :<T1>:<T2>: 52 : +-----------------------+ 53 eDP -----------+ Black video | 54 Display : +-----------------------+ 55 : _______________________: 56 HPD :<T3>| : 57 ___________| : 58 : : 59 Sink +-----------------------: 60 AUX CH -----------+ AUX Ch operational : 61 +-----------------------: 62 : : 63 :<T4>: :<T7>: 64 Src main +------+------+----- 65 lnk data----------------+LnkTrn| Idle |Valid 66 +------+------+----- 67 : <T5> :<-T6->:<-T8- 68 69 LED_EN 70 ____________________________________ 71 72 _________ 73 PWM | 74 __________________________| 75 : 76 _____________:_________ 77 Bklight ____/: : 78 power _______/ :<---T13---->: 79 (Vbl) :<T17>:<---------T14--------- 80 81 The above looks fairly complex but, as per a 82 about a subset of those timings. 83 84 allOf: 85 - $ref: panel-common.yaml# 86 87 properties: 88 compatible: 89 const: edp-panel 90 91 hpd-reliable-delay-ms: 92 description: 93 A fixed amount of time that must be wait 94 panel's power-supply before the HPD sign 95 when the AUX channel is ready. This is u 96 the HPD at the start of power-on. This v 97 always reliable for all panels that migh 98 99 hpd-absent-delay-ms: 100 description: 101 The panel specifies that HPD will be ass 102 from power on (timing T3 in the diagram 103 measure HPD then a fixed delay of this m 104 This can also be used as a timeout when 105 include the hpd-reliable-delay, so if hp 106 and hpd-absent-delay was 200 ms then we' 107 then we know HPD would assert in the nex 108 needed if HPD hooked up, either through 109 hooked up directly to the eDP controller 110 111 backlight: true 112 enable-gpios: true 113 port: true 114 power-supply: true 115 no-hpd: true 116 hpd-gpios: true 117 118 additionalProperties: false 119 120 required: 121 - compatible 122 - power-supply 123 124 examples: 125 - | 126 #include <dt-bindings/clock/qcom,rpmh.h> 127 #include <dt-bindings/gpio/gpio.h> 128 #include <dt-bindings/interrupt-controller 129 130 i2c { 131 #address-cells = <1>; 132 #size-cells = <0>; 133 134 bridge@2d { 135 compatible = "ti,sn65dsi86"; 136 reg = <0x2d>; 137 138 interrupt-parent = <&tlmm>; 139 interrupts = <10 IRQ_TYPE_LEVEL_HIGH>; 140 141 enable-gpios = <&tlmm 102 GPIO_ACTIVE_ 142 143 vpll-supply = <&src_pp1800_s4a>; 144 vccio-supply = <&src_pp1800_s4a>; 145 vcca-supply = <&src_pp1200_l2a>; 146 vcc-supply = <&src_pp1200_l2a>; 147 148 clocks = <&rpmhcc RPMH_LN_BB_CLK2>; 149 clock-names = "refclk"; 150 151 no-hpd; 152 153 ports { 154 #address-cells = <1>; 155 #size-cells = <0>; 156 157 port@0 { 158 reg = <0>; 159 endpoint { 160 remote-endpoint = <&dsi0_out>; 161 }; 162 }; 163 164 port@1 { 165 reg = <1>; 166 sn65dsi86_out: endpoint { 167 remote-endpoint = <&panel_in_edp 168 }; 169 }; 170 }; 171 172 aux-bus { 173 panel { 174 compatible = "edp-panel"; 175 power-supply = <&pp3300_dx_edp>; 176 backlight = <&backlight>; 177 hpd-gpios = <&sn65dsi86_bridge 2 G 178 hpd-reliable-delay-ms = <15>; 179 180 port { 181 panel_in_edp: endpoint { 182 remote-endpoint = <&sn65dsi86_ 183 }; 184 }; 185 }; 186 }; 187 }; 188 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.