Hello, This is a proposal to address one of the issue I've been facing with the atmel-hlcdc driver. This driver provides a DPI (or raw RGB) bus on which we might access several devices (a panel, an HDMI encoder, or any other type of encoder). My problem is that I have to find the best bus format according to the devices connected on the bus. Another problem is when 2 devices on the same bus requires 2 orthogonal formats, we should be able to detect this kind of issue and reject the requested mode setting. This implementation was designed in a few hours and thus is far from perfect. It is given as a starting point to further discuss the available solution I have to support this kind of configuration. Patches 1 and 2 implement a basic DPI bus infrastructure (or whatever name we decide to use: DPI is a MIPI standard that involves more than just video bus format description). Patches 3 and 4 add DPI panel support, and patches 5, 6 and 7 implement a DPI host in the atmel-hlcdc driver (the driver I'm currently working on). This implementation also has the benefit of keeping the display controller driver indepedant of slave device types (panels, encoders, bridges, ...). Feel free to share your thoughts on this problem (and/or the proposed solution). Best Regards, Boris Boris Brezillon (7): drm: add DPI bus support drm: add DPI connector/encoder definitions drm: support panels connected on a DPI bus drm: panel: move foxlink fl500wvr00-a0t panel to the DPI panel list drm: atmel-hlcdc: add DPI support drm: atmel-hlcdc: move to DPI ARM: at91/dt: define sama5d3xek panel as a DPI device arch/arm/boot/dts/sama5d36ek.dts | 12 +- arch/arm/boot/dts/sama5d3_lcd.dtsi | 6 +- arch/arm/boot/dts/sama5d3xdm.dtsi | 28 +- drivers/gpu/drm/Kconfig | 4 + drivers/gpu/drm/Makefile | 1 + drivers/gpu/drm/atmel-hlcdc/Kconfig | 1 + drivers/gpu/drm/atmel-hlcdc/Makefile | 2 +- drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c | 11 +- drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c | 12 +- drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h | 6 +- drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dpi.c | 212 +++++++++++ drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_output.c | 443 ----------------------- drivers/gpu/drm/drm_crtc.c | 2 + drivers/gpu/drm/drm_mipi_dpi.c | 369 +++++++++++++++++++ drivers/gpu/drm/panel/panel-simple.c | 331 +++++++++++++++-- include/drm/drm_mipi_dpi.h | 169 +++++++++ include/uapi/drm/drm_mode.h | 2 + 17 files changed, 1100 insertions(+), 511 deletions(-) create mode 100644 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dpi.c delete mode 100644 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_output.c create mode 100644 drivers/gpu/drm/drm_mipi_dpi.c create mode 100644 include/drm/drm_mipi_dpi.h -- 1.9.1 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel