On Mon, 20 Feb 2017 15:08:35 +0100 Hans de Goede <hdegoede@xxxxxxxxxx> wrote: > Document the DSI panel enable / disable sequences from the spec, > for easy comparison between the code and the spec. > > Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> > Acked-by: Jani Nikula <jani.nikula@xxxxxxxxx> > --- > drivers/gpu/drm/i915/intel_dsi.c | 68 ++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 68 insertions(+) > > diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c > index 072f99b..8808f87 100644 > --- a/drivers/gpu/drm/i915/intel_dsi.c > +++ b/drivers/gpu/drm/i915/intel_dsi.c > @@ -552,6 +552,74 @@ static void intel_dsi_prepare(struct intel_encoder *intel_encoder, > struct intel_crtc_state *pipe_config); > static void intel_dsi_unprepare(struct intel_encoder *encoder); > > +/* > + * Panel enable/disable sequences from the VBT spec. > + * > + * Note the spec has AssertReset / DeassertReset swapped from their > + * usual naming. We use the normal names to avoid confusion (so below > + * they are swapped compared to the spec). > + * > + * v2 sequence for video mode: > + * - power on > + * - wait t1+t2 > + * - MIPIDeassertResetPin > + * - clk/data lines to lp-11 > + * - MIPISendInitialDcsCmds > + * - turn on DPI > + * - MIPIDisplayOn > + * - wait t5 > + * - backlight on > + * ... > + * - backlight off > + * - wait t6 > + * - MIPIDisplayOff > + * - turn off DPI > + * - clk/data lines to lp-00 > + * - MIPIAssertResetPin > + * - wait t3 > + * - power off > + * - wait t4 > + * > + * v3 sequence for video mode: > + * - MIPIPanelPowerOn > + * - MIPIDeassertResetPin > + * - set clk/data lines to lp-11 > + * - MIPISendInitialDcsCmds (LP) > + * - turn on DPI > + * - MIPITearOn (command mode only) + MIPIDisplayOn (LP and HS) What does (command mode only) mean in the video mode sequence? My assumption is that TearOn is only used in command mode, and as such, shouldn't be done in video mode. Is that wrong? > + * - MIPIBacklightOn What's the difference between MIPIBacklightOn here and "backlight on" in the v2 sequence? It might be cleaner to make this a table with V2 and V3 as columns, that would also help to highlight the differences in the two versions. Maybe even put the command mode sequence in a third column if it doesn't make the lines too long. > + * ... > + * - MIPIBacklightOff > + * - turn off DPI > + * - MIPITearOff + MIPIDisplayOff (LP) > + * - clk/data lines to lp-00 > + * - MIPIAssertResetPin > + * - MIPIPanelPowerOff > + * > + * sequence for command mode: Is this the sequence for both V2 and V3 or only V3? > + * - power on > + * - wait t1+t2 > + * - MIPIDeassertResetPin > + * - clk/data lines to lp-11 > + * - MIPISendInitialDcsCmds > + * - MIPITearOn > + * - MIPIDisplayOn > + * - set pipe to dsr mode > + * - wait t5 > + * - backlight on > + * ... issue write_mem_start/write_mem_continue commands ... > + * - backlight off > + * - wait t6 > + * - disable pipe dsr mode > + * - MIPITearOff > + * - MIPIDisplayOff > + * - clk/data lines to lp-00 > + * - MIPIAssertResetPin > + * - wait t3 > + * - power off > + * - wait t4 > + */ > + > static void intel_dsi_pre_enable(struct intel_encoder *encoder, > struct intel_crtc_state *pipe_config, > struct drm_connector_state *conn_state) -- -- Bob Paauwe Bob.J.Paauwe@xxxxxxxxx IOTG / PED Software Organization Intel Corp. Folsom, CA (916) 356-6193 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx