TI LCDC DRM driver
Subsystems (2)
cover TI LCDC DRM driver
Updated version of DRM driver for TI LCD Controller. Since the initial version of the patch, which only supported TFP410 DVI output, I've added an output driver for LCD panels (for example, LCD3 or LCD7 cape for the beagle-bone), and initial support for HDMI output via NXP TDA19988 HDMI encoder (via i2c encoder-slave output driver).
At this point, I think the basic lcdc drm driver plus TFP410 DVI output (first patch) is in reasonable shape (barring potential rename, if lcdc is too generic of a name... but I was not feeling creative enough yet to pick a new name).
The second patch, adding LCD panel support, still needs backlight support. And the DT bindings for panel parameters should probably be made more generic. But I guess someone should have some opinions on that so I figured it would be good to send as an RFC in it's current form and hear other's opinions.
The remaining two patches, adding support for HDMI output via NXP TDA998x i2c encoder are fairly preliminary, but basically working (for some definitions of working). At this point, there is only basic DVI output support. Audio, HDCP, etc, can come later.
Rob Clark (4):
RFC: drm/lcdc: add TI LCD Controller DRM driver (v2)
RFC: drm/lcdc: add support for LCD panels (v2)
RFC: drm/i2c: nxp-tda998x
RFC: drm/lcdc: add encoder slave
drivers/gpu/drm/Kconfig | 2 + drivers/gpu/drm/Makefile | 1 + drivers/gpu/drm/i2c/Makefile | 3 + drivers/gpu/drm/i2c/tda998x_drv.c | 907 +++++++++++++++++++++++++++++++++++++ drivers/gpu/drm/lcdc/Kconfig | 24 + drivers/gpu/drm/lcdc/Makefile | 10 + drivers/gpu/drm/lcdc/lcdc_crtc.c | 598 ++++++++++++++++++++++++ drivers/gpu/drm/lcdc/lcdc_drv.c | 608 +++++++++++++++++++++++++ drivers/gpu/drm/lcdc/lcdc_drv.h | 164 +++++++ drivers/gpu/drm/lcdc/lcdc_panel.c | 458 +++++++++++++++++++ drivers/gpu/drm/lcdc/lcdc_panel.h | 26 ++ drivers/gpu/drm/lcdc/lcdc_regs.h | 154 +++++++ drivers/gpu/drm/lcdc/lcdc_slave.c | 384 ++++++++++++++++ drivers/gpu/drm/lcdc/lcdc_slave.h | 26 ++ drivers/gpu/drm/lcdc/lcdc_tfp410.c | 425 +++++++++++++++++ drivers/gpu/drm/lcdc/lcdc_tfp410.h | 26 ++ 16 files changed, 3816 insertions(+) create mode 100644 drivers/gpu/drm/i2c/tda998x_drv.c create mode 100644 drivers/gpu/drm/lcdc/Kconfig create mode 100644 drivers/gpu/drm/lcdc/Makefile create mode 100644 drivers/gpu/drm/lcdc/lcdc_crtc.c create mode 100644 drivers/gpu/drm/lcdc/lcdc_drv.c create mode 100644 drivers/gpu/drm/lcdc/lcdc_drv.h create mode 100644 drivers/gpu/drm/lcdc/lcdc_panel.c create mode 100644 drivers/gpu/drm/lcdc/lcdc_panel.h create mode 100644 drivers/gpu/drm/lcdc/lcdc_regs.h create mode 100644 drivers/gpu/drm/lcdc/lcdc_slave.c create mode 100644 drivers/gpu/drm/lcdc/lcdc_slave.h create mode 100644 drivers/gpu/drm/lcdc/lcdc_tfp410.c create mode 100644 drivers/gpu/drm/lcdc/lcdc_tfp410.h
Signature · 1 line
1.8.0.2
PATCH 1/4 RFC: drm/lcdc: add TI LCD Controller DRM driver (v2)
A simple DRM/KMS driver for the TI LCD Controller found in various smaller TI parts (AM33xx, OMAPL138, etc). This driver uses the CMA helpers. Initially only the TFP410 DVI encoder is supported (tested with beaglebone + DVI cape). There are also various LCD displays, for which support can be added (as I get hw to test on), and an external i2c HDMI encoder found on some boards.
The display controller supports a single CRTC. And the encoder+ connector are split out into sub-devices. Depending on which LCD or external encoder is actually present, the appropriate output module(s) will be loaded.
v1: original
v2: fix fb refcnting and few other cleanups
--- drivers/gpu/drm/Kconfig | 2 + drivers/gpu/drm/Makefile | 1 + drivers/gpu/drm/lcdc/Kconfig | 10 + drivers/gpu/drm/lcdc/Makefile | 8 + drivers/gpu/drm/lcdc/lcdc_crtc.c | 598 ++++++++++++++++++++++++++++++++++++ drivers/gpu/drm/lcdc/lcdc_drv.c | 602 +++++++++++++++++++++++++++++++++++++ drivers/gpu/drm/lcdc/lcdc_drv.h | 164 ++++++++++ drivers/gpu/drm/lcdc/lcdc_regs.h | 154 ++++++++++ drivers/gpu/drm/lcdc/lcdc_tfp410.c | 425 ++++++++++++++++++++++++++ drivers/gpu/drm/lcdc/lcdc_tfp410.h | 26 ++ 10 files changed, 1990 insertions(+) create mode 100644 drivers/gpu/drm/lcdc/Kconfig create mode 100644 drivers/gpu/drm/lcdc/Makefile create mode 100644 drivers/gpu/drm/lcdc/lcdc_crtc.c create mode 100644 drivers/gpu/drm/lcdc/lcdc_drv.c create mode 100644 drivers/gpu/drm/lcdc/lcdc_drv.h create mode 100644 drivers/gpu/drm/lcdc/lcdc_regs.h create mode 100644 drivers/gpu/drm/lcdc/lcdc_tfp410.c create mode 100644 drivers/gpu/drm/lcdc/lcdc_tfp410.h
drivers/gpu/drm/Kconfig +2 -0
@@ -212,3 +212,5 @@ source "drivers/gpu/drm/cirrus/Kconfig" source "drivers/gpu/drm/shmobile/Kconfig" source "drivers/gpu/drm/tegra/Kconfig" + +source "drivers/gpu/drm/lcdc/Kconfig"
drivers/gpu/drm/Makefile +1 -0
@@ -50,4 +50,5 @@ obj-$(CONFIG_DRM_UDL) += udl/ obj-$(CONFIG_DRM_AST) += ast/ obj-$(CONFIG_DRM_SHMOBILE) +=shmobile/ obj-$(CONFIG_DRM_TEGRA) += tegra/ +obj-$(CONFIG_DRM_LCDC) += lcdc/ obj-y += i2c/
drivers/gpu/drm/lcdc/Kconfig new file +10 -0
@@ -0,0 +1,10 @@ +config DRM_LCDC + tristate "DRM Support for TI LCDC Display Controller" + depends on DRM && OF + select DRM_KMS_HELPER + select DRM_KMS_CMA_HELPER + select DRM_GEM_CMA_HELPER + help + Choose this option if you have an TI SoC with LCDC display + controller, for example AM33xx in beagle-bone, DA8xx, or + OMAP-L1xx. This driver replaces the FB_DA8XX fbdev driver.
drivers/gpu/drm/lcdc/Makefile new file +8 -0
@@ -0,0 +1,8 @@ +ccflags-y := -Iinclude/drm -Werror + +lcdc-y := \ + lcdc_crtc.o \ + lcdc_tfp410.o \ + lcdc_drv.o + +obj-$(CONFIG_DRM_LCDC) += lcdc.o
drivers/gpu/drm/lcdc/lcdc_crtc.c new file +598 -0
598 lines not on this page · raw message
drivers/gpu/drm/lcdc/lcdc_drv.c new file +602 -0
602 lines not on this page · raw message
drivers/gpu/drm/lcdc/lcdc_drv.h new file +164 -0
164 lines not on this page · raw message
drivers/gpu/drm/lcdc/lcdc_regs.h new file +154 -0
154 lines not on this page · raw message
drivers/gpu/drm/lcdc/lcdc_tfp410.c new file +425 -0
425 lines not on this page · raw message
drivers/gpu/drm/lcdc/lcdc_tfp410.h new file +26 -0
@@ -0,0 +1,26 @@ +/* +* Copyright (C) 2012 Texas Instruments +* Author: Rob Clark <[email protected]> +* +* This program is free software; you can redistribute it and/or modify it +* under the terms of the GNU General Public License version 2 as published by +* the Free Software Foundation. +* +* This program is distributed in the hope that it will be useful, but WITHOUT +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +* more details. +* +* You should have received a copy of the GNU General Public License along with +* this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef __LCDC_TFP410_H__ +#define __LCDC_TFP410_H__ + +/* sub-module for tfp410 dvi adaptor */ + +int lcdc_tfp410_init (void ); +void lcdc_tfp410_fini (void ); + +#endif /* __LCDC_TFP410_H__ */
Signature · 1 line
1.8.0.2
PATCH 2/4 RFC: drm/lcdc: add support for LCD panels (v2)
In reply to Rob ClarkAdd an output panel driver for LCD panels. Tested with LCD3 cape on beaglebone.
TODO: need some way to control the appropriate backlight device
TODO: probably want to make the DT bindings more generic for panel-info
v1: original
v2: s/of_find_node_by_name()/of_get_child_by_name()/ from Pantelis
Antoniou
--- drivers/gpu/drm/lcdc/Kconfig | 2 + drivers/gpu/drm/lcdc/Makefile | 1 + drivers/gpu/drm/lcdc/lcdc_drv.c | 3 + drivers/gpu/drm/lcdc/lcdc_panel.c | 458 ++++++++++++++++++++++++++++++++++++++ drivers/gpu/drm/lcdc/lcdc_panel.h | 26 +++ 5 files changed, 490 insertions(+) create mode 100644 drivers/gpu/drm/lcdc/lcdc_panel.c create mode 100644 drivers/gpu/drm/lcdc/lcdc_panel.h
drivers/gpu/drm/lcdc/Kconfig +2 -0
@@ -4,6 +4,8 @@ config DRM_LCDC select DRM_KMS_HELPER select DRM_KMS_CMA_HELPER select DRM_GEM_CMA_HELPER + select DISPLAY_TIMING + select OF_DISPLAY_TIMINGS help Choose this option if you have an TI SoC with LCDC display controller, for example AM33xx in beagle-bone, DA8xx, or
drivers/gpu/drm/lcdc/Makefile +1 -0
@@ -3,6 +3,7 @@ ccflags-y := -Iinclude/drm -Werror lcdc-y := \ lcdc_crtc.o \ lcdc_tfp410.o \ + lcdc_panel.o \ lcdc_drv.o obj-$(CONFIG_DRM_LCDC) += lcdc.o
drivers/gpu/drm/lcdc/lcdc_drv.c +3 -0
@@ -20,6 +20,7 @@#include "lcdc_drv.h" #include "lcdc_regs.h" #include "lcdc_tfp410.h" +#include "lcdc_panel.h" #include "drm_fb_helper.h"
@@ -584,6 +585,7 @@ static int __init lcdc_drm_init(void) {DBG ("init" );lcdc_tfp410_init (); +lcdc_panel_init ();return platform_driver_register (&lcdc_platform_driver); }
@@ -591,6 +593,7 @@ static void __exit lcdc_drm_fini(void) {DBG ("fini" );lcdc_tfp410_fini (); +lcdc_panel_fini ();platform_driver_unregister (&lcdc_platform_driver); }
drivers/gpu/drm/lcdc/lcdc_panel.c new file +458 -0
458 lines not on this page · raw message
drivers/gpu/drm/lcdc/lcdc_panel.h new file +26 -0
@@ -0,0 +1,26 @@ +/* +* Copyright (C) 2012 Texas Instruments +* Author: Rob Clark <[email protected]> +* +* This program is free software; you can redistribute it and/or modify it +* under the terms of the GNU General Public License version 2 as published by +* the Free Software Foundation. +* +* This program is distributed in the hope that it will be useful, but WITHOUT +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +* more details. +* +* You should have received a copy of the GNU General Public License along with +* this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef __LCDC_PANEL_H__ +#define __LCDC_PANEL_H__ + +/* sub-module for generic lcd panel output */ + +int lcdc_panel_init (void ); +void lcdc_panel_fini (void ); + +#endif /* __LCDC_PANEL_H__ */
Signature · 1 line
1.8.0.2
Re: [PATCH 2/4] RFC: drm/lcdc: add support for LCD panels (v2)
Hi Rob,
Quoted 13 lines · Rob Clark
Add an output panel driver for LCD panels. Tested with LCD3 cape on beaglebone.
TODO: need some way to control the appropriate backlight device
TODO: probably want to make the DT bindings more generic for panel-infov1: original
v2: s/of_find_node_by_name()/of_get_child_by_name()/ from Pantelis
AntoniouSigned-off-by Rob Clark <[email protected]>drivers/gpu/drm/lcdc/lcdc_panel.c new file +1
-0+static enum drm_connector_status panel_connector_detect(
drivers/gpu/drm/lcdc/lcdc_panel.c line 155
Quoted 10 lines
drivers/gpu/drm/lcdc/lcdc_panel.c new file +10
-0+ struct drm_connector *connector, + bool force) +{ +return connector_status_connected; +} + +/* maybe this should be helper in drm-core? */ +static inline void copy_timings_to_drm (struct drm_display_mode *mode, +struct display_timing *timing) +{
This actually is a helper already and is called of_get_drm_display_mode.
Quoted 31 lines
drivers/gpu/drm/lcdc/lcdc_panel.c new file +31
-0+ mode->clock = timing->pixelclock.typ /1000 ; + + mode->hdisplay = timing->hactive.typ; + mode->hsync_start = mode->hdisplay + timing->hfront_porch.typ; + mode->hsync_end = mode->hsync_start + timing->hsync_len.typ; + mode->htotal = mode->hsync_end + timing->hback_porch.typ; + + mode->vdisplay = timing->vactive.typ; + mode->vsync_start = mode->vdisplay + timing->vfront_porch.typ; + mode->vsync_end = mode->vsync_start + timing->vsync_len.typ; + mode->vtotal = mode->vsync_end + timing->vback_porch.typ; + + mode->flags =0 ; + +if (timing->interlaced) + mode->flags |=DRM_MODE_FLAG_INTERLACE ; + +if (timing->doublescan) + mode->flags |=DRM_MODE_FLAG_DBLSCAN ; + +if (timing->hsync_pol_active) + mode->flags |=DRM_MODE_FLAG_PHSYNC ; +else + mode->flags |=DRM_MODE_FLAG_NHSYNC ; + +if (timing->vsync_pol_active) + mode->flags |=DRM_MODE_FLAG_PVSYNC ; +else + mode->flags |=DRM_MODE_FLAG_NVSYNC ; +} +
[...]
Quoted 6 lines
drivers/gpu/drm/lcdc/lcdc_panel.c new file +6
-0+ +static struct of_device_id panel_of_match[]; + +static int __devinit panel_probe (struct platform_device *pdev) +{ +struct device_node *node = pdev->dev.of_node;
drivers/gpu/drm/lcdc/lcdc_panel.c line 395
Quoted 10 lines
drivers/gpu/drm/lcdc/lcdc_panel.c new file +10
-0+struct panel_module *panel_mod; +struct lcdc_module *mod; +struct pinctrl *pinctrl; +int ret = -EINVAL ; + +/* bail out early if no DT data: */ +if (!of_match_device (panel_of_match, &pdev->dev)) { +dev_err (&pdev->dev,"device-tree data is missing\n" ); +return -ENXIO ; + }
You wouldn't be here if the device didn't match. How about
if (!node) return -ENXIO;
instead which prevents you from trying to probe the device when somebody registered a device without dt support?
Same for the other platform devices in this series.
Sascha
Signature · 4 lines
Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
PATCH 3/4 RFC: drm/i2c: nxp-tda998x
In reply to Rob ClarkDriver for the NXP TDA998X i2c hdmi encoder slave.
--- drivers/gpu/drm/i2c/Makefile | 3 + drivers/gpu/drm/i2c/tda998x_drv.c | 907 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 910 insertions(+) create mode 100644 drivers/gpu/drm/i2c/tda998x_drv.c
drivers/gpu/drm/i2c/Makefile +3 -0
@@ -5,3 +5,6 @@ obj-$(CONFIG_DRM_I2C_CH7006) += ch7006.o sil164-y := sil164_drv.o obj-$(CONFIG_DRM_I2C_SIL164) += sil164.o + +tda998x-y := tda998x_drv.o +obj-$(CONFIG_DRM_I2C_NXP_TDA998X) += tda998x.o
drivers/gpu/drm/i2c/tda998x_drv.c new file +907 -0
907 lines not on this page · raw message
Signature · 1 line
1.8.0.2
PATCH 4/4 RFC: drm/lcdc: add encoder slave
In reply to Rob ClarkAdd output panel driver for i2c encoder slaves.
--- drivers/gpu/drm/lcdc/Kconfig | 12 ++ drivers/gpu/drm/lcdc/Makefile | 1 + drivers/gpu/drm/lcdc/lcdc_drv.c | 5 +- drivers/gpu/drm/lcdc/lcdc_slave.c | 384 ++++++++++++++++++++++++++++++++++++++ drivers/gpu/drm/lcdc/lcdc_slave.h | 26 +++ 5 files changed, 427 insertions(+), 1 deletion(-) create mode 100644 drivers/gpu/drm/lcdc/lcdc_slave.c create mode 100644 drivers/gpu/drm/lcdc/lcdc_slave.h
drivers/gpu/drm/lcdc/Kconfig +12 -0
@@ -10,3 +10,15 @@ config DRM_LCDC Choose this option if you have an TI SoC with LCDC display controller, for example AM33xx in beagle-bone, DA8xx, or OMAP-L1xx. This driver replaces the FB_DA8XX fbdev driver. + +menu "I2C encoder or helper chips" + depends on DRM && DRM_KMS_HELPER && I2C + +config DRM_I2C_NXP_TDA998X + tristate "NXP Semiconductors TDA998X HDMI encoder" + default m if DRM_LCDC + help + Support for NXP Semiconductors TDA998X HDMI encoders. + +endmenu +
drivers/gpu/drm/lcdc/Makefile +1 -0
@@ -4,6 +4,7 @@ lcdc-y := \ lcdc_crtc.o \ lcdc_tfp410.o \ lcdc_panel.o \ + lcdc_slave.o \ lcdc_drv.o obj-$(CONFIG_DRM_LCDC) += lcdc.o
drivers/gpu/drm/lcdc/lcdc_drv.c +4 -1
@@ -21,6 +21,7 @@#include "lcdc_regs.h" #include "lcdc_tfp410.h" #include "lcdc_panel.h" +#include "lcdc_slave.h" #include "drm_fb_helper.h"
@@ -586,6 +587,7 @@ static int __init lcdc_drm_init(void)DBG ("init" );lcdc_tfp410_init ();lcdc_panel_init (); +lcdc_slave_init ();return platform_driver_register (&lcdc_platform_driver); }
@@ -594,10 +596,11 @@ static void __exit lcdc_drm_fini(void)DBG ("fini" );lcdc_tfp410_fini ();lcdc_panel_fini (); +lcdc_slave_fini ();platform_driver_unregister (&lcdc_platform_driver); } -module_init (lcdc_drm_init); +late_initcall (lcdc_drm_init);module_exit (lcdc_drm_fini);MODULE_AUTHOR ("Rob Clark <[email protected]" );
drivers/gpu/drm/lcdc/lcdc_slave.c new file +384 -0
384 lines not on this page · raw message
drivers/gpu/drm/lcdc/lcdc_slave.h new file +26 -0
@@ -0,0 +1,26 @@ +/* +* Copyright (C) 2012 Texas Instruments +* Author: Rob Clark <[email protected]> +* +* This program is free software; you can redistribute it and/or modify it +* under the terms of the GNU General Public License version 2 as published by +* the Free Software Foundation. +* +* This program is distributed in the hope that it will be useful, but WITHOUT +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +* more details. +* +* You should have received a copy of the GNU General Public License along with +* this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef __LCDC_SLAVE_H__ +#define __LCDC_SLAVE_H__ + +/* sub-module for i2c slave encoder output */ + +int lcdc_slave_init (void ); +void lcdc_slave_fini (void ); + +#endif /* __LCDC_SLAVE_H__ */
Signature · 1 line
1.8.0.2
Dave Airlie
maintainerQuoted 10 lines · Rob Clark
Updated version of DRM driver for TI LCD Controller. Since the initial version of the patch, which only supported TFP410 DVI output, I've added an output driver for LCD panels (for example, LCD3 or LCD7 cape for the beagle-bone), and initial support for HDMI output via NXP TDA19988 HDMI encoder (via i2c encoder-slave output driver).
At this point, I think the basic lcdc drm driver plus TFP410 DVI output (first patch) is in reasonable shape (barring potential rename, if lcdc is too generic of a name... but I was not feeling creative enough yet to pick a new name).
I'd like at least tilcdc :-)
Dave.
Quoted 7 lines · On Thursday 10 January 2013 10:16:10 Dave Airlie wrote:
Quoted 6 lines · Rob Clark
Updated version of DRM driver for TI LCD Controller. Since the initial version of the patch, which only supported TFP410 DVI output, I've added an output driver for LCD panels (for example, LCD3 or LCD7 cape for the beagle-bone), and initial support for HDMI output via NXP TDA19988 HDMI encoder (via i2c encoder-slave output driver).
Quoted 6 lines
Quoted 4 lines
At this point, I think the basic lcdc drm driver plus TFP410 DVI output (first patch) is in reasonable shape (barring potential rename, if lcdc is too generic of a name... but I was not feeling creative enough yet to pick a new name).
I'd like at least tilcdc :-)
So do I :-) The Renesas LCD controller is also called LCDC, and they called the fbdev driver sh_mobile_lcdcfb. tilcdc isn't *that* long in comparison :-)
Signature · 3 lines
Regards, Laurent Pinchart
Quoted 13 lines · Laurent Pinchart
Quoted 12 lines · On Thursday 10 January 2013 10:16:10 Dave Airlie wrote:
Quoted 10 lines · Rob Clark
Updated version of DRM driver for TI LCD Controller. Since the initial version of the patch, which only supported TFP410 DVI output, I've added an output driver for LCD panels (for example, LCD3 or LCD7 cape for the beagle-bone), and initial support for HDMI output via NXP TDA19988 HDMI encoder (via i2c encoder-slave output driver).
At this point, I think the basic lcdc drm driver plus TFP410 DVI output (first patch) is in reasonable shape (barring potential rename, if lcdc is too generic of a name... but I was not feeling creative enough yet to pick a new name).
Quoted 4 lines
Quoted 1 line
I'd like at least tilcdc :-)
So do I :-) The Renesas LCD controller is also called LCDC, and they called the fbdev driver
sh_mobile_lcdcfb. tilcdc isn't *that* long in comparison :-)
next version will be 'tilcdc' :-)
I would appreciate some thoughts about more generic devicetree lcd panel parameters for the (ti)lcdc_panel patch.. from a functional standpoint, I think the lcd panel support part is also pretty much ready to go (I've added backlight support since the last version I sent), but I'm not really happy with the DT bindings for that because they seem to me a bit too hw specific, but I'm not really sure how they should look.
Fwiw, on the CDF <-> KMS end of things, I'm sort of thinking the i2c encoder slave is not too far off.. just needs to be a bit decoupled from i2c.
BR,
-R
Quoted 5 lines
--
Regards,Laurent Pinchart
Hi Rob,
Quoted 24 lines · On Thursday 10 January 2013 21:15:26 Rob Clark wrote:
Quoted 15 lines · Laurent Pinchart
Quoted 14 lines · On Thursday 10 January 2013 10:16:10 Dave Airlie wrote:
Quoted 12 lines · Rob Clark
Updated version of DRM driver for TI LCD Controller. Since the initial version of the patch, which only supported TFP410 DVI output, I've added
an output driver for LCD panels (for example, LCD3 or LCD7 cape for the beagle-bone), and initial support for HDMI output via NXP TDA19988 HDMI encoder (via i2c encoder-slave output driver).At this point, I think the basic lcdc drm driver plus TFP410 DVI output (first patch) is in reasonable shape (barring potential rename, if lcdc is too generic of a name... but I was not feeling creative enough yet to
pick a new name).Quoted 5 lines
Quoted 1 line
I'd like at least tilcdc :-)
So do I :-) The Renesas LCD controller is also called LCDC, and they called the fbdev driver
sh_mobile_lcdcfb. tilcdc isn't *that* long in comparison :-)next version will be 'tilcdc' :-)
Quoted 7 lines
I would appreciate some thoughts about more generic devicetree lcd panel parameters for the (ti)lcdc_panel patch.. from a functional standpoint, I think the lcd panel support part is also pretty much ready to go (I've added backlight support since the last version I sent), but I'm not really happy with the DT bindings for that because they seem to me a bit too hw specific, but I'm not really sure how they should look.
How urgent is that ? I will be offline next week, can it wait until I come back ? (That's more of a rhetorical question I'm afraid, as I'm pretty sure I won't have time to review that today :-S)
Quoted 3 lines
Fwiw, on the CDF <-> KMS end of things, I'm sort of thinking the i2c encoder slave is not too far off.. just needs to be a bit decoupled from i2c.
Signature · 3 lines
Regards, Laurent Pinchart