Controllers with several interface options - one or more drivers?

Sam Ravnborg sam at ravnborg.org
Fri Jul 26 12:25:10 UTC 2019


Hi Josef, Daniel et al.

The driver that triggered this reply is a driver that adds parallel
support to ili9341 in a dedicated panel driver.
The issue here is that we already have a tiny driver that supports the
ili9341 controller - but with a slightly different configuration.

The ili9341 supports several interfaces - from the datasheet:
    "ILI9341 supports parallel 8-/9-/16-/18-bit data bus
     MCU interface, 6-/16-/18-bit data bus RGB interface and
     3-/4-line serial peripheral interface (SPI)"

Noralf - in another mail explained:
"
The MIPI Alliance has lots of standards some wrt. display controller
interfaces:
- MIPI DBI - Display Bus Interface (used for commands and optionally pixels)
- MIPI DPI - Display Pixel Interface (also called RGB interface or
DOTCLK interface)
- MIPI DSI - Display Serial Interface (commands and pixels)

The ili9341 supports both MIPI DBI and DPI.
"

MIPI DPI - is a good fit for a drm_panel driver.
MIPI DBI - requires a full display controller driver.

There are many other examples of driver SoC that in the same way
can be seen only as a panel or as a full display controller driver.

The open question here is if we should try to support both cases in the
same driver / file. Or shall we implment two different drivers.
One for the panel use-case. And one for the display controller usecase?

Not sure - so asking for feedback.

	Sam


More information about the dri-devel mailing list