Hi,
We have a parallel LCD panel which is driven by panel/panel-simple. The
power-off sequence specified in the datasheet requires that the enable-gpio
must be deasserted for a number of VSYNC cycles before shutting down all other
control signals. See the diagram below:
__ __ __ __ __
CLK, VSYNC, DE, HSYNC: __><__><__><__><__\_____________________
______
enable-gpio : \_________________________________
So far, in kernel 5.4 we relied on the unprepare delay time for making sure
that the enable-gpio timing requirements are fulfilled. That is, the
panel_simple_unprepare() would:
1. Deassert the enable-gpio
2. Switch off the voltage regulator
3. Wait display_desc.delay.unprepare milliseconds
Afterwards the IPU was shutdown, and all the control signals stopped.
But with the below commits:
- 3235b0f20a0a4135e9053f1174d096eff166d0fb
"drm/panel: panel-simple: Use runtime pm to avoid excessive unprepare /
prepare"
- e5e30dfcf3db1534019c40d94ed58fd2869f9359
"drm: panel: simple: Defer unprepare delay till next prepare to shorten it"
The enable-gpio is now deasserted in panel_simple_suspend(), which is called
some time after the disablement of control signals are stopped:
__ __ __ __ __
CLK, VSYNC, DE, HSYNC: __><__><__><__><__\_____________________
__________________________
enable-gpio : \_____________
With the latest panel-simple, is there a way which allows us to deassert
enable-gpio before the control signals stop?
Mit freundlichen Grüßen / Best regards
Mark Jonas
Building Technologies, Panel Software Fire (BT-FIR/ENG1-Grb)
Bosch Sicherheitssysteme GmbH | Postfach 11 11 | 85626 Grasbrunn | GERMANY |
www.boschsecurity.com
Tel. +49 89 6290-1233 | Telefax +49 89 6290-281233 | [email protected]
Sitz: Stuttgart, Registergericht: Amtsgericht Stuttgart HRB 23118
Aufsichtsratsvorsitzender: Christian Fischer; Geschäftsführung: Thomas Quante,
Peter Löffler, Henrik Siegle