Skip to content

Commit 2a1754f

Browse files
Dharma Balasubiramanimanikandan-m11
authored andcommitted
drm: atmel-hlcdc: add support for LVDS encoder type and bus format for sam9x7
Add support for encoder type "DRM_MODE_ENCODER_LVDS" with the following bus formats: MEDIA_BUS_FMT_RGB888_1X7X4_SPWG, MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA, MEDIA_BUS_FMT_RGB666_1X7X3_SPWG, MEDIA_BUS_FMT_RGB666_1X18. Signed-off-by: Dharma Balasubiramani <dharma.b@microchip.com>
1 parent 0971a10 commit 2a1754f

1 file changed

Lines changed: 32 additions & 2 deletions

File tree

drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,8 @@ static int atmel_hlcdc_connector_output_mode(struct drm_connector_state *state)
320320
if (!encoder)
321321
encoder = connector->encoder;
322322

323-
if (encoder->encoder_type == DRM_MODE_ENCODER_DSI) {
323+
switch (encoder->encoder_type) {
324+
case DRM_MODE_ENCODER_DSI:
324325
/*
325326
* atmel-hlcdc to support DSI formats with DSI video pipeline
326327
* when DRM_MODE_ENCODER_DSI type is set by
@@ -363,7 +364,35 @@ static int atmel_hlcdc_connector_output_mode(struct drm_connector_state *state)
363364
break;
364365
}
365366
}
366-
} else {
367+
break;
368+
case DRM_MODE_ENCODER_LVDS:
369+
switch (atmel_hlcdc_encoder_get_bus_fmt(encoder)) {
370+
case 0:
371+
break;
372+
case MEDIA_BUS_FMT_RGB666_1X7X3_SPWG:
373+
case MEDIA_BUS_FMT_RGB666_1X18:
374+
return ATMEL_HLCDC_RGB666_OUTPUT;
375+
case MEDIA_BUS_FMT_RGB888_1X7X4_SPWG:
376+
case MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA:
377+
default:
378+
return ATMEL_HLCDC_RGB888_OUTPUT;
379+
}
380+
381+
for (j = 0; j < info->num_bus_formats; j++) {
382+
switch (info->bus_formats[j]) {
383+
case MEDIA_BUS_FMT_RGB666_1X7X3_SPWG:
384+
case MEDIA_BUS_FMT_RGB666_1X18:
385+
supported_fmts |= ATMEL_HLCDC_RGB666_OUTPUT;
386+
break;
387+
case MEDIA_BUS_FMT_RGB888_1X7X4_SPWG:
388+
case MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA:
389+
default:
390+
supported_fmts |= ATMEL_HLCDC_RGB888_OUTPUT;
391+
break;
392+
}
393+
}
394+
break;
395+
default:
367396
switch (atmel_hlcdc_encoder_get_bus_fmt(encoder)) {
368397
case 0:
369398
break;
@@ -397,6 +426,7 @@ static int atmel_hlcdc_connector_output_mode(struct drm_connector_state *state)
397426
break;
398427
}
399428
}
429+
break;
400430
}
401431
return supported_fmts;
402432
}

0 commit comments

Comments
 (0)