Re: [PATCH v2 4/9] drm/panel: Add driver for the LG Philips LB035Q02 panel

Noralf Trønnes
2019-08-11T17:20:57Z

Den 11.08.2019 18.49, skrev Sam Ravnborg:
> Hi Noralf.
>
>>> +static int lb035q02_write(struct lb035q02_device *lcd, u16 reg, u16 val)
>>> +{
>>> + struct spi_message msg;
>>> + struct spi_transfer index_xfer = {
>>> + .len = 3,
>>> + .cs_change = 1,
>>> + };
>>> + struct spi_transfer value_xfer = {
>>> + .len = 3,
>>> + };
>>> + u8 buffer[16];
>>> +
>>> + spi_message_init(&msg);
>>> +
>>> + /* register index */
>>> + buffer[0] = 0x70;
>>> + buffer[1] = 0x00;
>>> + buffer[2] = reg & 0x7f;
>>> + index_xfer.tx_buf = buffer;
>>> + spi_message_add_tail(&index_xfer, &msg);
>>> +
>>> + /* register value */
>>> + buffer[4] = 0x72;
>>> + buffer[5] = val >> 8;
>>> + buffer[6] = val;
>>> + value_xfer.tx_buf = buffer + 4;
>>> + spi_message_add_tail(&value_xfer, &msg);
>>> +
>>> + return spi_sync(lcd->spi, &msg);
>>> +}
>>
>> Just a note to Sam:
>> This is the same spi protocol that the ili9325 controller on the hy28b
>> panel uses.
>>
>> I remembered that I have experimented with a regmap implementation:
>> https://github.com/notro/tinydrm/blob/master/tinydrm-ili9325.c#L191
>
> regmap seems a too limited interface to use when trying to generalize
> this.
> We should rather go for a ili-lib or something that can be used in all
> the present and future ili based drivers.
> Obviously it depends on how similar the ili based chips are.
>
> I did a quick look and this driver did not match the ili9325 datasheet
> as different bits was are in register 0x1.
> So it smeels like another, similar. ili varaint.
>
> So for this driver we would just use the hardcoded varaint already
> present. Then we may re-visit ili-lib idea later if we see too much
> similar code.
> This is as I see it for now...
>

Yeah, no point in changing this driver until there are more similar
controllers. Just wanted to point out that the hy28b panel you ordered
uses the same protocol.

A web search helped my memory, these 3 supported by staging/fbtft use a
startbyte: ili9320, ili9325 and hx8347d. The ili chips are almost
identical. The search revealed many more including:
st7793, st7781r, S6E63D6, +many ilitek.

Noralf.