summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSvyatoslav Ryhel <clamor95@gmail.com>2025-02-21 13:59:35 +0200
committerSvyatoslav Ryhel <clamor95@gmail.com>2025-03-13 19:13:18 +0200
commit86b0c2f2e8fed503a51065664cf41bd59dcdfe52 (patch)
tree35fc6d946a68704aeec5018966768a70a0cdf919
parent980a6c043941f55ec2b92e78366b791d12a8f3a0 (diff)
video: bridge: ssd2825: make pixel format calculation more obvious
Use switch condition to get pixel format. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
-rw-r--r--drivers/video/bridge/ssd2825.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/drivers/video/bridge/ssd2825.c b/drivers/video/bridge/ssd2825.c
index e7c9dc6b62b..eafd9f55913 100644
--- a/drivers/video/bridge/ssd2825.c
+++ b/drivers/video/bridge/ssd2825.c
@@ -351,8 +351,26 @@ static int ssd2825_bridge_attach(struct udevice *dev)
struct ssd2825_bridge_priv *priv = dev_get_priv(dev);
struct mipi_dsi_device *device = &priv->device;
struct display_timing *dt = &priv->timing;
+ u8 pixel_format;
int ret;
+ /* Set pixel format */
+ switch (device->format) {
+ case MIPI_DSI_FMT_RGB565:
+ pixel_format = 0x00;
+ break;
+ case MIPI_DSI_FMT_RGB666_PACKED:
+ pixel_format = 0x01;
+ break;
+ case MIPI_DSI_FMT_RGB666:
+ pixel_format = 0x02;
+ break;
+ case MIPI_DSI_FMT_RGB888:
+ default:
+ pixel_format = 0x03;
+ break;
+ }
+
/* Perform SW reset */
ssd2825_write_register(dev, SSD2825_OPERATION_CTRL_REG, 0x0100);
@@ -371,7 +389,7 @@ static int ssd2825_bridge_attach(struct udevice *dev)
ssd2825_write_register(dev, SSD2825_RGB_INTERFACE_CTRL_REG_6,
SSD2825_HSYNC_HIGH | SSD2825_VSYNC_HIGH |
SSD2825_PCKL_HIGH | SSD2825_NON_BURST |
- (3 - device->format));
+ pixel_format);
ssd2825_write_register(dev, SSD2825_LANE_CONFIGURATION_REG,
device->lanes - 1);
ssd2825_write_register(dev, SSD2825_TEST_REG, 0x0004);