Re: [PATCH v3 5/5] drm/panel: Add ilitek ili9341 driver
From: Linus Walleij
Date: Thu May 14 2020 - 10:08:14 EST
On Thu, May 14, 2020 at 12:22 PM dillon min <dillon.minfei@xxxxxxxxx> wrote:
> > > + /* Gamma */
> > > + mipi_dbi_command(dbi, ILI9341_3GAMMA_EN, 0x00);
> > > + mipi_dbi_command(dbi, MIPI_DCS_SET_GAMMA_CURVE, 0x01);
> > > + mipi_dbi_command(dbi, ILI9341_PGAMMA,
> > > + 0x0f, 0x31, 0x2b, 0x0c, 0x0e, 0x08, 0x4e, 0xf1,
> > > + 0x37, 0x07, 0x10, 0x03, 0x0e, 0x09, 0x00);
> > > + mipi_dbi_command(dbi, ILI9341_NGAMMA,
> > > + 0x00, 0x0e, 0x14, 0x03, 0x11, 0x07, 0x31, 0xc1,
> > > + 0x48, 0x08, 0x0f, 0x0c, 0x31, 0x36, 0x0f);
> >
> > It seems to be copies of the stuff above, but why is there a different
> > gamma if you use DBI?
> for dbi interface, currently i just copy the code from tiny/ili9341.c.
> as so many boards use this driver now, like raspberry pi, etc
> i'm afraid it's will not work after modification. so, just leave the
> original code there.
OK if you move it to ili9341_config it will be clear which panels
need this gamma and which panels need another gamma.
I think there should be one ili9341_config for the new st,*
variant and one for the old DBI variant.
> anther question:
> is there any panel driver have dbi & dpi or dpi & dsi supported? which
> i mean support
> two different panel interface in one driver.
> thanks
Usually you split the driver in three files becuase a driver can
only list one initcall, and also it makes it modularized.
There is nothing in-tree but look at my branch here:
https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik.git/log/?h=ux500-skomer-v5.7-rc1
You see how I split up the s6e63m0 driver in one SPI part
and one DSI part:
https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik.git/commit/?h=ux500-skomer-v5.7-rc1&id=6c0e1fb5df5fa8fa857dee65f6c0f54d06d158a7
https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik.git/commit/?h=ux500-skomer-v5.7-rc1&id=cfbf562cc709b53b62f5fbc7fedf176ffa17b088
The overall idea should work the same with DBI.
Yours,
Linus Walleij
Yours,
Linus Walleij