Skip to content

Commit d69bea3

Browse files
ngphibangcfriedt
authored andcommitted
drivers: display: dcnano_elcdif: Fix RGB565/BGR565 format mismatch
Format is incorrectly forced from RGB565 to BGR565. Fix it. Signed-off-by: Phi Bang Nguyen <[email protected]>
1 parent d951309 commit d69bea3

File tree

1 file changed

+3
-12
lines changed

1 file changed

+3
-12
lines changed

drivers/display/display_mcux_dcnano_lcdif.c

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -133,16 +133,11 @@ static void mcux_dcnano_lcdif_get_capabilities(const struct device *dev,
133133

134134
capabilities->y_resolution = config->dpi_config.panelHeight;
135135
capabilities->x_resolution = config->dpi_config.panelWidth;
136-
capabilities->supported_pixel_formats =
137-
(PIXEL_FORMAT_BGR_565 | PIXEL_FORMAT_ARGB_8888);
136+
capabilities->supported_pixel_formats = (PIXEL_FORMAT_RGB_565 | PIXEL_FORMAT_ARGB_8888);
138137
capabilities->current_orientation = DISPLAY_ORIENTATION_NORMAL;
139138
switch (data->fb_config.format) {
140139
case kLCDIF_PixelFormatRGB565:
141-
/* Zephyr stores RGB565 as big endian, and LCDIF
142-
* expects little endian. Use BGR565 format to resolve
143-
* this.
144-
*/
145-
capabilities->current_pixel_format = PIXEL_FORMAT_BGR_565;
140+
capabilities->current_pixel_format = PIXEL_FORMAT_RGB_565;
146141
break;
147142
#if DT_ENUM_IDX_OR(DT_NODELABEL(lcdif), version, 0) == 1
148143
case kLCDIF_PixelFormatARGB8888:
@@ -185,11 +180,7 @@ static int mcux_dcnano_lcdif_set_pixel_format(const struct device *dev,
185180
struct mcux_dcnano_lcdif_data *data = dev->data;
186181

187182
switch (pixel_format) {
188-
case PIXEL_FORMAT_BGR_565:
189-
/* Zephyr stores RGB565 as big endian, and LCDIF
190-
* expects little endian. Use BGR565 format to resolve
191-
* this.
192-
*/
183+
case PIXEL_FORMAT_RGB_565:
193184
data->fb_config.format = kLCDIF_PixelFormatRGB565;
194185
data->pixel_bytes = 2;
195186
break;

0 commit comments

Comments
 (0)