Hi Rob, As I wanted to re-use your nxp-tda998x driver for the Marvell Dove SoC, I had a look at your IT LCD driver. Comments below.
On Tue, 22 Jan 2013 16:36:22 -0600 Rob Clark <robdclark at gmail.com> wrote: > 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. Currently 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 > v3: get +/- vsync/hsync from timings rather than panel-info, add > option DT max-bandwidth field so driver doesn't attempt to > pick a display mode with too high memory bandwidth, and other > small cleanups > > Signed-off-by: Rob Clark <robdclark at gmail.com> > --- > drivers/gpu/drm/Kconfig | 2 + > drivers/gpu/drm/Makefile | 1 + > drivers/gpu/drm/tilcdc/Kconfig | 10 + > drivers/gpu/drm/tilcdc/Makefile | 8 + > drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 597 ++++++++++++++++++++++++++++++++ > drivers/gpu/drm/tilcdc/tilcdc_drv.c | 605 > +++++++++++++++++++++++++++++++++ > drivers/gpu/drm/tilcdc/tilcdc_drv.h | 159 +++++++++ > drivers/gpu/drm/tilcdc/tilcdc_regs.h | 154 +++++++++ > drivers/gpu/drm/tilcdc/tilcdc_tfp410.c | 423 +++++++++++++++++++++++ > drivers/gpu/drm/tilcdc/tilcdc_tfp410.h | 26 ++ > 10 files changed, 1985 insertions(+) > create mode 100644 drivers/gpu/drm/tilcdc/Kconfig > create mode 100644 drivers/gpu/drm/tilcdc/Makefile > create mode 100644 drivers/gpu/drm/tilcdc/tilcdc_crtc.c > create mode 100644 drivers/gpu/drm/tilcdc/tilcdc_drv.c > create mode 100644 drivers/gpu/drm/tilcdc/tilcdc_drv.h > create mode 100644 drivers/gpu/drm/tilcdc/tilcdc_regs.h > create mode 100644 drivers/gpu/drm/tilcdc/tilcdc_tfp410.c > create mode 100644 drivers/gpu/drm/tilcdc/tilcdc_tfp410.h [snip] > diff --git a/drivers/gpu/drm/tilcdc/Kconfig b/drivers/gpu/drm/tilcdc/Kconfig > new file mode 100644 > index 0000000..ee9b592 > --- /dev/null > +++ b/drivers/gpu/drm/tilcdc/Kconfig > @@ -0,0 +1,10 @@ > +config DRM_TILCDC > + 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. > diff --git a/drivers/gpu/drm/tilcdc/Makefile b/drivers/gpu/drm/tilcdc/Makefile > new file mode 100644 > index 0000000..1359cc2 > --- /dev/null > +++ b/drivers/gpu/drm/tilcdc/Makefile > @@ -0,0 +1,8 @@ > +ccflags-y := -Iinclude/drm -Werror > + > +tilcdc-y := \ > + tilcdc_crtc.o \ > + tilcdc_tfp410.o \ > + tilcdc_drv.o As I understand, this means that the 3 objects will go into the resident kernel. I though that the device tree was created for Linux distributors who might generate generic ARM kernels, the choice of the drivers being done according the local device tree.