When extending the driver for xbd599 panel support I tried to do minimal changes and keep the existing initialization timing.
It turned out that it's not good enough and the existing init sequence is too aggressive and doesn't follow the specification. On PinePhone panel is being powered down/up during suspend/resume and with current timings this frequently leads to corrupted display.
This patch series fixes the problems.
The issue was reported by Samuel Holland.
Relevant screenshots from the datasheet:
Power on timing: https://megous.com/dl/tmp/35b72e674ce0ca27.png Power off timing: https://megous.com/dl/tmp/dea195517106ff17.png More optimal reset on poweron: https://megous.com/dl/tmp/a9e5caf14e1b0dc6.png Less optimal reset on poweron: https://megous.com/dl/tmp/246761039283c4cf.png Datasheet: https://megous.com/dl/tmp/ST7703_DS_v01_20160128.pdf
Please take a look.
thank you and regards, Ondrej Jirman
Ondrej Jirman (2): drm/panel: st7703: Make the sleep exit timing match the spec drm/panel: st7703: Fix the power up sequence of the panel
drivers/gpu/drm/panel/panel-sitronix-st7703.c | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-)