drm/bridge: ti-sn65dsi83: Fix enable/disable flow to meet spec
authorFrieder Schrempf <frieder.schrempf@kontron.de>
Wed, 3 May 2023 16:33:07 +0000 (18:33 +0200)
committerNeil Armstrong <neil.armstrong@linaro.org>
Thu, 25 May 2023 16:16:32 +0000 (18:16 +0200)
commitdd9e329af7236e34c566d3705ea32a63069b9b13
tree7a4839b99dd5b71929973c74227e80b2d24c8ddf
parent0c14d3130654fe459fca3067d2d4317fc607bc71
drm/bridge: ti-sn65dsi83: Fix enable/disable flow to meet spec

The datasheet describes the following initialization flow including
minimum delay times between each step:

1. DSI data lanes need to be in LP-11 and the clock lane in HS mode
2. toggle EN signal
3. initialize registers
4. enable PLL
5. soft reset
6. enable DSI stream
7. check error status register

To meet this requirement we need to make sure the host bridge's
pre_enable() is called first by using the pre_enable_prev_first
flag.

Furthermore we need to split enable() into pre_enable() which covers
steps 2-5 from above and enable() which covers step 7 and is called
after the host bridge's enable().

Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
Fixes: ceb515ba29ba ("drm/bridge: ti-sn65dsi83: Add TI SN65DSI83 and SN65DSI84 driver")
Tested-by: Alexander Stein <alexander.stein@ew.tq-group.com> #TQMa8MxML/MBa8Mx
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20230503163313.2640898-3-frieder@fris.de
drivers/gpu/drm/bridge/ti-sn65dsi83.c