• Hans de Goede's avatar
    drm/i915/dsi: Control panel and backlight enable GPIOs on BYT · 25e8a383
    Hans de Goede authored
    On Bay Trail devices the MIPI power on/off sequences for DSI LCD panels
    do not control the LCD panel- and backlight-enable GPIOs. So far, when
    the VBT indicates we should use the SoC for backlight control, we have
    been relying on these GPIOs being configured as output and driven high by
    the Video BIOS (GOP) when it initializes the panel.
    
    This does not work when the device is booted with a HDMI monitor connected
    as then the GOP will initialize the HDMI instead of the panel, leaving the
    panel black, even though the i915 driver tries to output an image to it.
    
    Likewise on some device-models when the GOP does not initialize the DSI
    panel it also leaves the mux of the PWM0 pin in generic GPIO mode instead
    of muxing it to the PWM controller.
    
    This commit makes the DSI code control the SoC GPIOs for panel- and
    backlight-enable on BYT, when the VBT indicates the SoC should be used
    
    for backlight control. It also ensures that the PWM0 pin is muxed to the
    PWM controller in this case.
    
    This fixes the LCD panel not lighting up on various devices when booted
    with a HDMI monitor connected. This has been tested to fix this on the
    following devices:
    
    Peaq C1010
    Point of View MOBII TAB-P800W
    Point of View MOBII TAB-P1005W
    Terra Pad 1061
    Yours Y8W81
    Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20191216205122.1850923-6-hdegoede@redhat.com
    25e8a383
intel_dsi.h 6.19 KB