Messages in this thread | | | From | Linus Walleij <> | Date | Thu, 18 Apr 2024 16:00:24 +0200 | Subject | Re: [PATCH v1 2/4] drm/panel: boe-tv101wum-nl6: Support for BOE nv110wum-l60 MIPI-DSI panel |
| |
On Thu, Apr 18, 2024 at 2:42 PM cong yang <yangcong5@huaqin.corp-partner.google.com> wrote:
> I learned from himax that even if the same controller is used with > different glasses, the corresponding parameters are not fixed. > > For example: _INIT_DCS_CMD(0xB9, 0x83, 0x10, 0x21, 0x55, 0x00), > > even in the group initial code, the same register will be loaded with > parameters twice. (...) > So assuming that the registers of the two screens is the same now, > it cannot be set as a common parameter. > Otherwise, it may be a bit troublesome for the maintainers. > > If necessary, I can break out starry_himax83102_j02, boe_nv110wum and > ivo_t109nw41 > as separate driver. Then add some define to these registers.
Why would you do a separate driver per panel despite they have the same display controller? I don't get it.
Use one driver, use different compatible strings for the different panels and use the corresponding sequence for each panel selected by compatible string.
For example, see drivers/gpu/drm/panel/panel-novatek-nt35510.c:
static const struct of_device_id nt35510_of_match[] = { { .compatible = "frida,frd400b25025", .data = &nt35510_frida_frd400b25025, }, { .compatible = "hydis,hva40wv1", .data = &nt35510_hydis_hva40wv1, }, { } };
Take some inspiration from this driver and how we parameterize the different data depending on compatible string.
Yours, Linus Walleij
| |