Also probably should add a few more (drm_bridge) people, I think that's also somewhat relevant here. -Daniel On Fri, Jul 26, 2019 at 4:55 PM Daniel Vetter <daniel@xxxxxxxx> wrote: > > On Fri, Jul 26, 2019 at 02:25:10PM +0200, Sam Ravnborg wrote: > > 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. > > I'm not sure. Currently we do have DSI and dumb RGB panels all in > drm/panel. I don't think we have DBI panels in there yet, but then > drm/tiny is the only one supporting these. > > I guess we could look into move some of the DBI panel drivers into panel > drivers, but that needs a bit more glue all around. I'm honestly not sure > how the current DSI drivers in drm_panel work exactly, especially for > command mode. > > Or maybe we need a new interface for command mode. > > Wrt sharing code between drivers for the same chip, but different > interfaces: I wouldn't worry too much about that. Maybe try to have a > shared header file at least for registers. Long term we could end up with > one driver module which exposes different flavours of the same chip, so > multiple drm_panel drivers, or maybe we'll get something more specific for > dsi/dbi. > -Daniel > -- > Daniel Vetter > Software Engineer, Intel Corporation > http://blog.ffwll.ch -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch