Linux Framebuffer Layer development
 help / color / mirror / Atom feed
* [PATCH 00/27] OMAPDSS: dss-dev-model (Part 2/2)
@ 2013-05-30  9:35 Tomi Valkeinen
  2013-05-30  9:35 ` [PATCH 01/27] OMAPDSS: public omapdss_register_output() Tomi Valkeinen
                   ` (26 more replies)
  0 siblings, 27 replies; 28+ messages in thread
From: Tomi Valkeinen @ 2013-05-30  9:35 UTC (permalink / raw)
  To: linux-fbdev, linux-omap, Archit Taneja
  Cc: Tomi Valkeinen, Tony Lindgren, Igor Grinberg

Hi,

Here's are the first sets of patches targeting towards enabling DT for DSS and
changing the DSS device model to be more versatile. The exact division of the
sets of patches is still a bit open, and some splitting up for arch/driver
changes is needed, but most likely there will be at least the following major
sets, each based on the former one:

- base, containing cleanups and changes that do not yet really bring bigger new
  features
- dev-model, implements the new DSS device model, including new panel drivers
- dt, adds DSS DT support (not at all ready yet, although works for a few boards)

The patches can be found from the following branches:

git://gitorious.org/linux-omap-dss2/linux.git work/dss-dev-model-base
git://gitorious.org/linux-omap-dss2/linux.git work/dss-dev-model
git://gitorious.org/linux-omap-dss2/linux.git work/dss-dev-model-dt

The set you are looking at is the "dev-model" set.

The "dev-model" implements a new model for display drivers. The model is very
much in the direction of CDF (Common Display Framework) as has been discussed
on the mailing lists. However, it's still OMAP specific, and, for example, the
display ops have not been improved but they were just copied from the old DSS
API to make the conversion simpler.

The first main change with the "dev-model" is that display devices/drivers are
no longer special omapdss device/driver types, but they are (usually)
devices/drivers of their control bus. This means that many devices/drivers are
platform devices/drivers, but some are i2c or spi devices/drivers.

The other main change is the use of "ops" instead of direct function calls.
This allows us to create "chains" of display entities, which allows us to
(finally) create proper drivers for external encoders. As an example, a board
with an external DSI-to-LVDS encoder chip and an LVDS panel was previously
modelled with a single display driver, handling both the encoder and the panel.
Now we can have separate drivers for the encoder and for the panel.

Note that to keep the old drivers and board files working, the old drivers and
the omapdss support needed for those is not removed yet. This makes the code
quite messy in a few places. The old code can be removed after all the panels
and board files have been converted.

In this set, the following board files have been converted so far:
- OMAP4 Blaze
- OMAP4 Panda
- Overo
- Beagle
- RX51 (not tested)

The panel drivers needed for the above have been converted, but there's still a
bunch of panel drivers not converted. Also, DSS RFBI driver has not been
converted.

The "dev-model" set brings back the support to have multiple panel devices
connected to the same video output, of which only one can be enabled at a time.
For example, DVI and a panel connected to OMAP's DPI output.

Overo board has an added difficulty to support the above: Overo board file adds
two panel devices, lcd43 and lcd35 (in reality those panels are not attached at
the same time, as they are located in add-on boards). Both panels have the same
GPIO used for reset. This causes a problem as when the panel drivers are
loaded, both drivers try to acquire the same GPIO, and the latter one fails.

To solve the problem, I added kernel boot command line parsing to Overo's board
file. The code looks for "default display" parameter for omapdss, and uses that
to decide which panel device to add.

Note that the above is not Overo specific, but as far as I know, Overo is the
only board having such a setup.

 Tomi


Tomi Valkeinen (27):
  OMAPDSS: public omapdss_register_output()
  OMAPDSS: modify get/find functions to go through the device chain
  OMAPDSS: add platform data structs for new panel drivers
  ARM: OMAP: dss-common: use new display drivers
  ARM: OMAP: overo: use new display drivers
  ARM: OMAP: rx51: use new display drivers
  ARM: OMAP: beagle: use new display drivers
  OMAPDSS: add OMAP_DISPLAY_TYPE_DVI
  drm/omap: DVI connector fix
  OMAPDSS: DPI: Add ops
  OMAPDSS: SDI: Add ops
  OMAPDSS: DVI: Add ops
  OMAPDSS: AnalogTV: Add ops
  OMAPDSS: HDMI: Add ops
  OMAPDSS: DSI: Add ops
  OMAPDSS: Add new TFP410 Encoder driver
  OMAPDSS: Add new TPD12S015 Encoder driver
  OMAPDSS: Add new DVI Connector driver
  OMAPDSS: Add new HDMI Connector driver
  OMAPDSS: Add new Analog TV Connector driver
  OMAPDSS: Add new simple DPI panel driver
  OMAPDSS: Add new DSI Command Mode panel  driver
  OMAPDSS: Add Sony ACX565AKM panel driver
  OMAPDSS: Add LG.Philips LB035Q02 panel driver
  ARM: OMAP: fix dsi regulator names
  ARM: OMAP: add vdds_dsi supply for dpi.0
  ARM: OMAP: add vdds_sdi supply for sdi.0

 arch/arm/mach-omap2/board-cm-t35.c                 |    3 +-
 arch/arm/mach-omap2/board-devkit8000.c             |    1 +
 arch/arm/mach-omap2/board-ldp.c                    |    3 +-
 arch/arm/mach-omap2/board-omap3beagle.c            |   56 +-
 arch/arm/mach-omap2/board-omap3pandora.c           |    1 +
 arch/arm/mach-omap2/board-overo.c                  |  160 ++-
 arch/arm/mach-omap2/board-rx51-peripherals.c       |   13 +
 arch/arm/mach-omap2/board-rx51-video.c             |   35 +-
 arch/arm/mach-omap2/dss-common.c                   |  185 +--
 arch/arm/mach-omap2/twl-common.c                   |    1 +
 drivers/gpu/drm/omapdrm/omap_drv.c                 |    6 +-
 drivers/video/omap2/Kconfig                        |    1 +
 drivers/video/omap2/Makefile                       |    1 +
 drivers/video/omap2/displays-new/Kconfig           |   52 +
 drivers/video/omap2/displays-new/Makefile          |    9 +
 .../video/omap2/displays-new/connector-analog-tv.c |  265 ++++
 drivers/video/omap2/displays-new/connector-dvi.c   |  351 +++++
 drivers/video/omap2/displays-new/connector-hdmi.c  |  375 ++++++
 drivers/video/omap2/displays-new/encoder-tfp410.c  |  270 ++++
 .../video/omap2/displays-new/encoder-tpd12s015.c   |  395 ++++++
 drivers/video/omap2/displays-new/panel-dpi.c       |  270 ++++
 drivers/video/omap2/displays-new/panel-dsi-cm.c    | 1336 ++++++++++++++++++++
 .../omap2/displays-new/panel-lgphilips-lb035q02.c  |  358 ++++++
 .../omap2/displays-new/panel-sony-acx565akm.c      |  864 +++++++++++++
 drivers/video/omap2/dss/apply.c                    |   14 +-
 drivers/video/omap2/dss/display.c                  |    1 +
 drivers/video/omap2/dss/dpi.c                      |   74 +-
 drivers/video/omap2/dss/dsi.c                      |   97 +-
 drivers/video/omap2/dss/dss.h                      |    4 -
 drivers/video/omap2/dss/hdmi.c                     |  252 +++-
 drivers/video/omap2/dss/output.c                   |   15 +-
 drivers/video/omap2/dss/rfbi.c                     |    4 +-
 drivers/video/omap2/dss/sdi.c                      |   82 +-
 drivers/video/omap2/dss/venc.c                     |   76 +-
 include/video/omap-panel-data.h                    |  150 +++
 include/video/omapdss.h                            |  195 ++-
 36 files changed, 5758 insertions(+), 217 deletions(-)
 create mode 100644 drivers/video/omap2/displays-new/Kconfig
 create mode 100644 drivers/video/omap2/displays-new/Makefile
 create mode 100644 drivers/video/omap2/displays-new/connector-analog-tv.c
 create mode 100644 drivers/video/omap2/displays-new/connector-dvi.c
 create mode 100644 drivers/video/omap2/displays-new/connector-hdmi.c
 create mode 100644 drivers/video/omap2/displays-new/encoder-tfp410.c
 create mode 100644 drivers/video/omap2/displays-new/encoder-tpd12s015.c
 create mode 100644 drivers/video/omap2/displays-new/panel-dpi.c
 create mode 100644 drivers/video/omap2/displays-new/panel-dsi-cm.c
 create mode 100644 drivers/video/omap2/displays-new/panel-lgphilips-lb035q02.c
 create mode 100644 drivers/video/omap2/displays-new/panel-sony-acx565akm.c

-- 
1.8.1.2


^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2013-05-30  9:36 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-30  9:35 [PATCH 00/27] OMAPDSS: dss-dev-model (Part 2/2) Tomi Valkeinen
2013-05-30  9:35 ` [PATCH 01/27] OMAPDSS: public omapdss_register_output() Tomi Valkeinen
2013-05-30  9:35 ` [PATCH 02/27] OMAPDSS: modify get/find functions to go through the device chain Tomi Valkeinen
2013-05-30  9:35 ` [PATCH 03/27] OMAPDSS: add platform data structs for new panel drivers Tomi Valkeinen
2013-05-30  9:35 ` [PATCH 04/27] ARM: OMAP: dss-common: use new display drivers Tomi Valkeinen
2013-05-30  9:35 ` [PATCH 05/27] ARM: OMAP: overo: " Tomi Valkeinen
2013-05-30  9:35 ` [PATCH 06/27] ARM: OMAP: rx51: " Tomi Valkeinen
2013-05-30  9:36 ` [PATCH 07/27] ARM: OMAP: beagle: " Tomi Valkeinen
2013-05-30  9:36 ` [PATCH 08/27] OMAPDSS: add OMAP_DISPLAY_TYPE_DVI Tomi Valkeinen
2013-05-30  9:36 ` [PATCH 09/27] drm/omap: DVI connector fix Tomi Valkeinen
2013-05-30  9:36 ` [PATCH 10/27] OMAPDSS: DPI: Add ops Tomi Valkeinen
2013-05-30  9:36 ` [PATCH 11/27] OMAPDSS: SDI: " Tomi Valkeinen
2013-05-30  9:36 ` [PATCH 12/27] OMAPDSS: DVI: " Tomi Valkeinen
2013-05-30  9:36 ` [PATCH 13/27] OMAPDSS: AnalogTV: " Tomi Valkeinen
2013-05-30  9:36 ` [PATCH 14/27] OMAPDSS: HDMI: " Tomi Valkeinen
2013-05-30  9:36 ` [PATCH 15/27] OMAPDSS: DSI: " Tomi Valkeinen
2013-05-30  9:36 ` [PATCH 16/27] OMAPDSS: Add new TFP410 Encoder driver Tomi Valkeinen
2013-05-30  9:36 ` [PATCH 17/27] OMAPDSS: Add new TPD12S015 " Tomi Valkeinen
2013-05-30  9:36 ` [PATCH 18/27] OMAPDSS: Add new DVI Connector driver Tomi Valkeinen
2013-05-30  9:36 ` [PATCH 19/27] OMAPDSS: Add new HDMI " Tomi Valkeinen
2013-05-30  9:36 ` [PATCH 20/27] OMAPDSS: Add new Analog TV " Tomi Valkeinen
2013-05-30  9:36 ` [PATCH 21/27] OMAPDSS: Add new simple DPI panel driver Tomi Valkeinen
2013-05-30  9:36 ` [PATCH 22/27] OMAPDSS: Add new DSI Command Mode " Tomi Valkeinen
2013-05-30  9:36 ` [PATCH 23/27] OMAPDSS: Add Sony ACX565AKM " Tomi Valkeinen
2013-05-30  9:36 ` [PATCH 24/27] OMAPDSS: Add LG.Philips LB035Q02 " Tomi Valkeinen
2013-05-30  9:36 ` [PATCH 25/27] ARM: OMAP: fix dsi regulator names Tomi Valkeinen
2013-05-30  9:36 ` [PATCH 26/27] ARM: OMAP: add vdds_dsi supply for dpi.0 Tomi Valkeinen
2013-05-30  9:36 ` [PATCH 27/27] ARM: OMAP: add vdds_sdi supply for sdi.0 Tomi Valkeinen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox