diff options
-rw-r--r-- | drivers/gpu/drm/renesas/rz-du/rzg2l_mipi_dsi.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/gpu/drm/renesas/rz-du/rzg2l_mipi_dsi.c b/drivers/gpu/drm/renesas/rz-du/rzg2l_mipi_dsi.c index 004911240cef..afb427e678bd 100644 --- a/drivers/gpu/drm/renesas/rz-du/rzg2l_mipi_dsi.c +++ b/drivers/gpu/drm/renesas/rz-du/rzg2l_mipi_dsi.c @@ -34,6 +34,8 @@ #define RZG2L_DCS_BUF_SIZE 128 /* Maximum DCS buffer size in external memory. */ +#define RZ_MIPI_DSI_FEATURE_16BPP BIT(0) + struct rzg2l_mipi_dsi; struct rzg2l_mipi_dsi_hw_info { @@ -43,6 +45,7 @@ struct rzg2l_mipi_dsi_hw_info { u32 link_reg_offset; unsigned long min_dclk; unsigned long max_dclk; + u8 features; }; struct rzg2l_mipi_dsi { @@ -672,8 +675,16 @@ static int rzg2l_mipi_dsi_host_attach(struct mipi_dsi_host *host, switch (mipi_dsi_pixel_format_to_bpp(device->format)) { case 24: + break; case 18: break; + case 16: + if (!(dsi->info->features & RZ_MIPI_DSI_FEATURE_16BPP)) { + dev_err(dsi->dev, "Unsupported format 0x%04x\n", + device->format); + return -EINVAL; + } + break; default: dev_err(dsi->dev, "Unsupported format 0x%04x\n", device->format); return -EINVAL; |