drm/panel: ilitek-ili9881c: Allow configuration of the number of lanes

Not all panels use all 4 data lanes, so allow configuration based
on the compatible string.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20250608142908.54121-2-marek.vasut+renesas@mailbox.org
This commit is contained in:
Marek Vasut 2025-06-08 16:28:17 +02:00 committed by Neil Armstrong
parent 808d26afdc
commit 2f7e4a6997

View File

@ -43,6 +43,7 @@ struct ili9881c_desc {
const struct drm_display_mode *mode;
const unsigned long mode_flags;
u8 default_address_mode;
unsigned int lanes;
};
struct ili9881c {
@ -1548,7 +1549,7 @@ static int ili9881c_dsi_probe(struct mipi_dsi_device *dsi)
dsi->mode_flags = ctx->desc->mode_flags;
dsi->format = MIPI_DSI_FMT_RGB888;
dsi->lanes = 4;
dsi->lanes = ctx->desc->lanes;
return mipi_dsi_attach(dsi);
}
@ -1566,6 +1567,7 @@ static const struct ili9881c_desc lhr050h41_desc = {
.init_length = ARRAY_SIZE(lhr050h41_init),
.mode = &lhr050h41_default_mode,
.mode_flags = MIPI_DSI_MODE_VIDEO_SYNC_PULSE,
.lanes = 4,
};
static const struct ili9881c_desc k101_im2byl02_desc = {
@ -1573,6 +1575,7 @@ static const struct ili9881c_desc k101_im2byl02_desc = {
.init_length = ARRAY_SIZE(k101_im2byl02_init),
.mode = &k101_im2byl02_default_mode,
.mode_flags = MIPI_DSI_MODE_VIDEO_SYNC_PULSE,
.lanes = 4,
};
static const struct ili9881c_desc kd050hdfia020_desc = {
@ -1598,6 +1601,7 @@ static const struct ili9881c_desc w552946aba_desc = {
.mode = &w552946aba_default_mode,
.mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_NO_EOT_PACKET,
.lanes = 4,
};
static const struct ili9881c_desc am8001280g_desc = {