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

Noralf Trønnes noralf at tronnes.org
Sun Aug 11 17:20:50 UTC 2019



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.


More information about the dri-devel mailing list