Re: [PATCH v6 00/11] drm: bridge: icn6211: Fix hard-coded panel settings and add I2C support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 31 Mar 2022 at 17:05, Marek Vasut <marex@xxxxxxx> wrote:
>
> This series fixes multiple problems with the ICN6211 driver and adds
> support for configuration of the chip via I2C bus.
>
> First, in the current state, the ICN6211 driver hard-codes DPI timing
> and clock settings specific to some unknown panel. The settings provided
> by panel driver are ignored. Using any other panel than the one for which
> this driver is currently hard-coded can lead to permanent damage of the
> panel (per display supplier warning, and it sure did in my case. The
> damage looks like multiple rows of dead pixels at the bottom of the
> panel, and this is not going away even after long power off time).
>
> Much of this series thus fixes incorrect register layout, DPI timing
> programming, clock generation by adding actual PLL configuration code.
> This series no longer adds lane count decoding and retains current
> hard-coded lane count 4 due to disagreement over lane count parsing
> from DT. The lane count support will come later. The series also fills
> in a couple of registers with likely correct default values.
>
> Second, this series adds support for I2C configuration of the ICN6211.
> The device can be configured either via DSI command mode or via I2C,
> the register layout is the same in both cases.
>
> Since the datasheet for this device is very hard to come by, a lot of
> information has been salvaged from [1] and [2].
>
> [1] https://github.com/rockchip-linux/kernel/blob/develop-4.19/drivers/gpu/drm/bridge/icn6211.c
> [2] https://github.com/tdjastrzebski/ICN6211-Configurator
>
> Cc: Jagan Teki <jagan@xxxxxxxxxxxxxxxxxxxx>
> Cc: Maxime Ripard <maxime@xxxxxxxxxx>
> Cc: Robert Foss <robert.foss@xxxxxxxxxx>
> Cc: Sam Ravnborg <sam@xxxxxxxxxxxx>
> Cc: Thomas Zimmermann <tzimmermann@xxxxxxx>
> To: dri-devel@xxxxxxxxxxxxxxxxxxxxx
>
> Marek Vasut (11):
>   drm: bridge: icn6211: Fix register layout
>   drm: bridge: icn6211: Fix HFP_HSW_HBP_HI and HFP_MIN handling
>   drm: bridge: icn6211: Add HS/VS/DE polarity handling
>   drm: bridge: icn6211: Add generic DSI-to-DPI PLL configuration
>   drm: bridge: icn6211: Use DSI burst mode without EoT and with LP
>     command mode
>   drm: bridge: icn6211: Disable DPI color swap
>   drm: bridge: icn6211: Set SYS_CTRL_1 to value used in examples
>   drm: bridge: icn6211: Implement atomic_get_input_bus_fmts
>   drm: bridge: icn6211: Add I2C configuration support
>   drm: bridge: icn6211: Rework ICN6211_DSI to chipone_writeb()
>   drm: bridge: icn6211: Read and validate chip IDs before configuration
>
>  drivers/gpu/drm/bridge/chipone-icn6211.c | 491 ++++++++++++++++++++---
>  1 file changed, 437 insertions(+), 54 deletions(-)
>
> --
> 2.35.1
>

Applied to drm-misc-next.



[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux