Hi Jacopo, On Monday, 23 April 2018 10:41:56 EEST jacopo mondi wrote: > On Sun, Apr 22, 2018 at 10:02:51PM +0200, Peter Rosin wrote: > > On 2018-04-19 11:31, Jacopo Mondi wrote: > >> The THC63LVD1024 LVDS to RGB bridge supports two different LVDS mapping > >> modes, selectable by means of an external pin. > >> > >> Add support for configurable LVDS input mapping modes, using the newly > >> introduced support for bridge input image formats. > >> > >> Signed-off-by: Jacopo Mondi <jacopo+renesas@xxxxxxxxxx> > >> --- > >> > >> drivers/gpu/drm/bridge/thc63lvd1024.c | 41 ++++++++++++++++++++++++++++ > >> 1 file changed, 41 insertions(+) > >> > >> diff --git a/drivers/gpu/drm/bridge/thc63lvd1024.c > >> b/drivers/gpu/drm/bridge/thc63lvd1024.c index 48527f8..a3071a1 100644 > >> --- a/drivers/gpu/drm/bridge/thc63lvd1024.c > >> +++ b/drivers/gpu/drm/bridge/thc63lvd1024.c [snip] > >> +static int thc63_set_bus_fmt(struct thc63_dev *thc63) > >> +{ > >> + u32 bus_fmt; > >> + u32 map; > >> + int ret; > >> + > >> + ret = of_property_read_u32(thc63->dev->of_node, "thine,map", &map); > >> + if (ret) { > >> + dev_err(thc63->dev, > >> + "Unable to parse property \"thine,map\": %d\n", ret); > >> + return ret; > >> + } > >> + > >> + switch (map) { > >> + case THC63_LVDS_MAP_MODE1: > >> + bus_fmt = MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA; > >> + break; > >> + case THC63_LVDS_MAP_MODE2: > >> + bus_fmt = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG; > > > > Why do you assume rgb888/1x7x4 here? It might as well be rgb666/1x7x3 > > or rgb101010/1x7x5, no? > > I should combine the 'map' pin input mode property with the 'bus_width' one > to find that out probably. Yes, but that could also be left for later, when the need to support those formats arise, especially given that include/uapi/linux/media-bus-format.h has no 1x7x5 formats yet. > >> + break; > >> + default: > >> + dev_err(thc63->dev, > >> + "Invalid value for property \"thine,map\": %u\n", map); > >> + return -EINVAL; > >> + } > >> + > >> + drm_bridge_set_bus_formats(&thc63->bridge, &bus_fmt, 1); > >> + > >> + return 0; > >> +} -- Regards, Laurent Pinchart