Skip to contentSkip to conversation

TI LCDC DRM driver

RFC In review Rob Clark 4 participants 10 messages Jan 9, 2013 – Jan 11, 2013

Subsystems (2)
lore
Share & tools
lore

Rob Clark

author
#0 lore raw

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
author
#1 lore raw

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
index 983201b..255efcb 100644
@@ -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
index 6f58c81..8e0a19a 100644
@@ -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
new file mode 100644
index 0000000..58806d4
@@ -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
new file mode 100644
index 0000000..db32161
@@ -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
new file mode 100644
index 0000000..4221e69
@@ -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
author
#2 lore raw

PATCH 2/4 RFC: drm/lcdc: add support for LCD panels (v2)

In reply to 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-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
index 58806d4..7806184 100644
@@ -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
index db32161..27d19ce 100644
@@ -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
index 5e6d218..ee892cb 100644
@@ -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
new file mode 100644
index 0000000..44ce773
@@ -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
#3 lore raw

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-info

v1: original
v2: s/of_find_node_by_name()/of_get_child_by_name()/ from Pantelis
Antoniou

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 |
author
#4 lore raw

PATCH 3/4 RFC: drm/i2c: nxp-tda998x

In reply to Rob Clark

Driver 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
index 9286256..43aa33b 100644
@@ -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
author
#5 lore raw

PATCH 4/4 RFC: drm/lcdc: add encoder slave

In reply to Rob Clark

Add 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
index 7806184..e88809c 100644
@@ -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
index 27d19ce..337e22f 100644
@@ -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
index ee892cb..643664f 100644
@@ -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
new file mode 100644
index 0000000..825aeca
@@ -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
maintainer
#6 lore raw
In reply to Rob Clark
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).

I'd like at least tilcdc :-)

Dave.

#7 lore raw
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
author
#8 lore raw
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

#9 lore raw

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