Commit Graph

427115 Commits

Author SHA1 Message Date
Tomi Valkeinen
17d5ca91cf Merge branch '3.15/dss-dt' into 3.15/fbdev
Merge OMAP DSS DT support
2014-03-20 08:13:50 +02:00
Bo Shen
b7e4ab5041 Video: atmel: avoid the id of fix screen info is overwritten
Correct passing parameter sequence, which will avoid the id of
fix screen info is overwritten.

Signed-off-by: Bo Shen <voice.shen@atmel.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-03-19 13:03:53 +02:00
Tomi Valkeinen
c86907b59f Doc/DT: Add DT binding documentation for tpd12s015 encoder
Add DT binding documentation for tpd12s015 encoder

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Archit Taneja <archit@ti.com>
2014-03-19 12:36:33 +02:00
Tomi Valkeinen
be2868ee1b Doc/DT: Add DT binding documentation for TFP410 encoder
Add DT binding documentation for TFP410 encoder

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Archit Taneja <archit@ti.com>
Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
2014-03-19 12:36:30 +02:00
Tomi Valkeinen
32f20cce0a Doc/DT: Add DT binding documentation for Sony acx565akm panel
Add DT binding documentation for Sony acx565akm panel

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Sebastian Reichel <sre@debian.org>
Reviewed-by: Archit Taneja <archit@ti.com>
Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
2014-03-19 12:36:26 +02:00
Tomi Valkeinen
e433333b69 Doc/DT: Add DT binding documentation for MIPI DSI CM Panel
Add DT binding documentation for MIPI DSI Command Mode Panel.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Archit Taneja <archit@ti.com>
Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
2014-03-19 12:36:23 +02:00
Tomi Valkeinen
e684175eda Doc/DT: Add DT binding documentation for HDMI Connector
Add DT binding documentation for HDMI Connector.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Archit Taneja <archit@ti.com>
Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
2014-03-19 12:36:20 +02:00
Tomi Valkeinen
b987faded0 Doc/DT: Add DT binding documentation for DVI Connector
Add DT binding documentation for DVI Connector.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Archit Taneja <archit@ti.com>
Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
2014-03-19 12:36:16 +02:00
Tomi Valkeinen
07b6565feb Doc/DT: Add DT binding documentation for Analog TV Connector
Add DT binding documentation for Analog TV Connector.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Archit Taneja <archit@ti.com>
Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
2014-03-19 12:36:03 +02:00
Tomi Valkeinen
cbab579bf8 Doc/DT: Add DT binding documentation for OMAP DSS
Add device tree bindings for OMAP Display Subsystem for the following
SoCs: OMAP2, OMAP3, OMAP4.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Archit Taneja <archit@ti.com>
2014-03-19 11:03:11 +02:00
Sebastian Reichel
6e7efe4eb8 OMAPDSS: acx565akm: Add DT support
Add DT support for panel-sony-acx565akm

Signed-off-by: Sebastian Reichel <sre@debian.org>
[tomi.valkeinen@ti.com: some modifications]
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Archit Taneja <archit@ti.com>
2014-03-19 11:03:11 +02:00
Tomi Valkeinen
fcc900a6e4 OMAPDSS: connector-analog-tv: Add DT support
Add DT support for connector-analog-tv.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Archit Taneja <archit@ti.com>
2014-03-19 11:03:10 +02:00
Tomi Valkeinen
0b8879f471 OMAPDSS: hdmi-connector: Add DT support
Add DT support for hdmi-connector.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Archit Taneja <archit@ti.com>
2014-03-19 11:03:10 +02:00
Tomi Valkeinen
5e4c89c018 OMAPDSS: encoder-tpd12s015: Add DT support
Add DT support for encoder-tpd12s015.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Archit Taneja <archit@ti.com>
2014-03-19 11:03:10 +02:00
Tomi Valkeinen
2cbe2304ba OMAPDSS: connector-dvi: Add DT support
Add DT support for connector-dvi.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Archit Taneja <archit@ti.com>
2014-03-19 11:03:09 +02:00
Tomi Valkeinen
cfa71144df OMAPDSS: encoder-tfp410: Add DT support
Add DT support for encoder-tfp410.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Archit Taneja <archit@ti.com>
2014-03-19 11:03:09 +02:00
Tomi Valkeinen
cdeeaca2a1 OMAPDSS: panel-dsi-cm: Add DT support
Add DT support for panel-dsi-cm.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Archit Taneja <archit@ti.com>
2014-03-19 11:03:09 +02:00
Tomi Valkeinen
6274a61978 OMAPDSS: Add DT support to DSI
Add the code to make the DSI driver work with device tree on OMAP3 and
OMAP4.

A minor hack is needed at the moment in the DSI driver: the DSS driver
needs to know the ID number of a DSI device, as clocks are routed in
different ways to the DSI devices. At the moment we don't have any
proper way to manage this, so this patchs adds a simple lookup table
that is used to deduce the ID from the DSI device's base address.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Archit Taneja <archit@ti.com>
2014-03-19 11:03:08 +02:00
Tomi Valkeinen
a2207021f2 OMAPDSS: Add DT support to VENC
Add DT support to VENC.

In contrast to non-DT version, the DT version gets the invert-polarity
and connector type via venc's endpoint, not from the connector.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Archit Taneja <archit@ti.com>
2014-03-19 11:03:08 +02:00
Tomi Valkeinen
0465616d34 OMAPDSS: Add DT support to HDMI
Add DT support to HDMI driver. The only thing needed for DT support here
is the of_match_table.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Archit Taneja <archit@ti.com>
2014-03-19 11:03:07 +02:00
Tomi Valkeinen
d7977f888b OMAPDSS: Add DT support to DISPC
Add DT support to DISPC. Only thing needed here is the of_match_table.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Archit Taneja <archit@ti.com>
2014-03-19 11:03:07 +02:00
Tomi Valkeinen
2ecef24630 OMAPDSS: Add DT support to DSS
Add DT support for DSS. Contrary to the non-DT version, the DSS in DT
mode contains DPI and SDI outputs, which better reflects the hardware.
The non-DT code will be removed after all boards have been converted to
DT, so there's no need to change the non-DT code to act the same way.

The code for DPI and SDI needs to be refined later to make it possible
to add multiple DPI ports. For now, handling just a single DPI port is
enough for all the boards.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Archit Taneja <archit@ti.com>
2014-03-19 11:03:07 +02:00
Tomi Valkeinen
e6fa68ba82 OMAPDSS: Improve regulator names for DT
The regulator names used for DSS components are somewhat ugly for DT
use. As we're just adding DT support, it's simple to change the
regulator names.

This patch makes the DSS driver get the regulators with somewhat cleaner
names when bootin with DT. For example, this allows us to define HDMI's
VDDA regulator in the DT data as:

vdda-supply = <...>;

instead of

vdda_hdmi_dac-supply = <...>;

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Archit Taneja <archit@ti.com>
2014-03-19 11:03:06 +02:00
Tomi Valkeinen
4e7470ddca OMAPDSS: add of helpers
Add helpers to get ports and endpoints from DT data.

These helpers parse v4l2 style ports and endpoints, but compared to the
v4l2 helpers, these allow iterating ports and endpoints separately.

This is a temporary solution until we get generic code to parse the
ports and endpoints.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Archit Taneja <archit@ti.com>
2014-03-19 11:03:06 +02:00
Tomi Valkeinen
a6ec216493 OMAPFB: search for default display with DT alias
Improve the search for the default display in two ways:
* compare the given display name to the display's alias
* if no display name is given, look for "display0" DT alias

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Archit Taneja <archit@ti.com>
2014-03-19 11:03:06 +02:00
Tomi Valkeinen
4b13defce8 OMAPFB: clean up default display search
Separate the code for finding the default display into a function for
clarity and to make it easier to extend it in the future.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Archit Taneja <archit@ti.com>
2014-03-19 11:03:05 +02:00
Tomi Valkeinen
3e22b35534 OMAPDSS: get dssdev->alias from DT alias
We currently create a "displayX" style alias name for all displays,
using a number that is incremented for each registered display. With the
new DSS device model there is no clear order in which the displays are
registered, and thus the numbering is somewhat random.

This patch improves the behavior for DT case so that if the displays
have been assigned DT aliases, those aliases will be used as DSS
aliases.

This means that "display0" is always the one specified in the DT alias,
and thus display0 can be used as default display in case the user didn't
specify a default display.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Archit Taneja <archit@ti.com>
2014-03-19 11:03:05 +02:00
Tomi Valkeinen
7f2bcd0655 OMAPDSS: add 'label' support for DT
Add support to get the label (i.e. a "nickname") for a display from the
DT data. If there is no label defined, use the display's alias (e.g.
'display0') as a name.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Archit Taneja <archit@ti.com>
2014-03-19 11:03:04 +02:00
Tomi Valkeinen
6a0e6b3872 ARM: OMAP2+: DT 'compatible' tweak for displays
As there is no common panel framework in the kernel, we have OMAP
specific panel drivers. However, the DT data should be generic. This
brings the issue that some other platform could use the same panels, and
would need to create a driver with the same 'compatible' string as the
OMAP driver.

In the long run, we have to get a common panel framework. For the time
being, this patch solves the issue:

At early boot time, we go through the DT nodes looking for the panels
the kernel supports for OMAP. For each found node, the 'compatible'
string is prepended with "omapdss,", i.e. "sony,acx565akm" becomes
"omapdss,sony,acx565akm". The OMAP display drivers all have "omapdss,"
at the beginning of their compatible field.

This allows us to have generic DT data, but OMAP specific display
drivers.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Archit Taneja <archit@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
2014-03-19 11:02:46 +02:00
Tomi Valkeinen
dcdf407b9d ARM: OMAP2+: add omapdss_init_of()
The OMAP display architecture requires a bunch of platform devices which
are not created via .dts (for now). We also need to pass a few function
pointers and the DSS hardware version from the arch code to omapdss
driver.

This patch adds omapdss_init_of() function, called from board-generic at
init time, which handles those tasks.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Archit Taneja <archit@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
2014-03-19 10:52:23 +02:00
Denis Carikli
cf071d2ab3 video: imxfb: Add DT default contrast control register property.
Signed-off-by: Denis Carikli <denis@eukrea.com>
Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Acked-by: Grant Likely <grant.likely@linaro.org>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-03-17 12:26:28 +02:00
Antoine Ténart
7d3477d801 video: atmel_lcdfb: ensure the hardware is initialized with the correct mode
If no driver takeover the atmel_lcdfb, the lcd won't be in a working state
since atmel_lcdfb_set_par() will never be called. Enabling a driver which does,
like fbcon, will call the function and put atmel_lcdfb in a working state.

Fixes: b985172b32 (video: atmel_lcdfb: add device tree suport)

Signed-off-by: Antoine Ténart <antoine.tenart@free-electrons.com>
Reported-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-03-12 13:05:50 +02:00
David Herrmann
60231da127 fbdev: vesafb: add dev->remove() callback
If x86-sysfb platform-devices are removed from a system, we should
properly unload vesafb. Otherwise, we end up releasing the parent while
our vesa framebuffer is still running. This currently works just fine, but
will cause problems on handover to real hw. So add the ->remove() callback
and unregister vesafb.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-03-07 15:30:49 +02:00
David Herrmann
65b4021ed6 fbdev: efifb: add dev->remove() callback
If x86-sysfb platform-devices are removed from a system, we should
properly unload efifb. Otherwise, we end up releasing the parent while our
efi framebuffer is still running. This currently works just fine, but will
cause problems on handover to real hw. So add the ->remove() callback and
unregister efifb.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-03-07 15:30:49 +02:00
Daniel Mack
a9b47c7f23 video: pxa3xx-gcu: switch to devres functions
Switch to devres allocators to clean up the error unwinding paths.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Acked-by: Haojian Zhuang <haojian.zhuang@gmail.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-03-07 15:04:53 +02:00
Daniel Mack
3437b2b83f video: pxa3xx-gcu: provide an empty .open call
This is necessary in order to make the core set file->private_data to
miscdev in use. We need that information later to dereference the
container of the device, so we can get access to our private struct from
other callbacks.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Acked-by: Haojian Zhuang <haojian.zhuang@gmail.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-03-07 15:04:49 +02:00
Daniel Mack
9e4f9675be video: pxa3xx-gcu: pass around struct device *
Instead of passing around struct platform_device, use struct device.
That saves one level of dereference. Also, call platform devices pdev,
and provide a shortcut for &pdev->dev.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Acked-by: Haojian Zhuang <haojian.zhuang@gmail.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-03-07 15:04:45 +02:00
Daniel Mack
109393afc8 video: pxa3xx-gcu: rename some symbols
Prefix some functions with more specific names. While at it, kill some
stray newlines and other coding style related minor things.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Acked-by: Haojian Zhuang <haojian.zhuang@gmail.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-03-07 15:04:33 +02:00
Dan Carpenter
d677d2c6ef sisfb: fix 1280x720 resolution support
It uses the wrong mode index because there is no break statement.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-03-07 14:19:55 +02:00
Wang YanQing
92559977dd video: fbdev: uvesafb: Remove impossible code path in uvesafb_init_info
Because uvesafb_vbe_init will fail when get zero avaiable modes,
and we have checked the return value of uvesafb_vbe_init_mode,
so it is impossible to pass NULL as mode into uvesafb_init_info.

[ This patch fix warning report by fengguang.wu@intel.com
  "drivers/video/fbdev/uvesafb.c:1509 uvesafb_init_info()
   error: we previously assumed 'mode' could be null" ]

Signed-off-by: Wang YanQing <udknight@gmail.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-03-06 11:29:40 +02:00
Wang YanQing
a57aa93f44 video: fbdev: uvesafb: Remove redundant NULL check in uvesafb_remove
Because uvesafb_par is allocated as part of fb_info in uvesafb_probe,
so we don't need to do NULL check for both fb_info and uvesafb_par in
uvesafb_remove.

[ This patch also fix a warning report by fengguang.wu@intel.com
  "drivers/video/fbdev/uvesafb.c:1815 uvesafb_remove()
   warn: variable dereferenced before check 'par'" ]

Signed-off-by: Wang YanQing <udknight@gmail.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-03-06 11:29:39 +02:00
Geert Uytterhoeven
2925b0d78f fbdev: FB_OPENCORES should depend on HAS_DMA
If NO_DMA=y:

    drivers/built-in.o: In function `ocfb_remove':
    ocfb.c:(.text+0x27fee): undefined reference to `dma_free_coherent'
    drivers/built-in.o: In function `ocfb_probe':
    ocfb.c:(.text+0x28418): undefined reference to `dma_alloc_coherent'
    ocfb.c:(.text+0x284d2): undefined reference to `dma_free_coherent'

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-03-05 14:42:45 +02:00
Tomi Valkeinen
d8d789416a OMAPDSS: convert pixel clock to common videomode style
omapdss has its own video-timings struct, but we want to move the common
videomode.

The first step is to change the omapdss's pixelclock unit from kHz to
Hz. Also, omapdss uses "pixel_clock" field name, whereas the common
videomode uses "pixelclock" field name. This patch changes the field
name also, as that makes it easy to spot any non-converted pixel_clock
uses.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-03-05 08:33:30 +02:00
Tomi Valkeinen
eba358435b OMAPDSS: Remove unused get_context_loss_count support
The omapdss driver no longer uses get_context_loss_count call, so we can
remove it.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Archit Taneja <archit@ti.com>
2014-02-28 12:35:43 +02:00
Tomi Valkeinen
9229b5165b OMAPDSS: use DISPC register to detect context loss
Instead of relying on the OMAP specific
omap_pm_get_dev_context_loss_count() to detect register context loss, we
can achieve the same in a much simpler way by just observing the DISPC
registers.

We always set DISPC's load mode to LOAD_FRAME_ONLY, which is not the
reset value. Thus we can just observe the load mode to see if we have
lost register context.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Archit Taneja <archit@ti.com>
2014-02-28 12:35:42 +02:00
Manish Badarkhe
622f7c9b9a video: da8xx-fb: Use "SIMPLE_DEV_PM_OPS" macro
Update driver to use SIMPLE_DEV_PM_OPS macro for power
management suspend and resume operations.

Signed-off-by: Manish Badarkhe <badarkhe.manish@gmail.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-02-28 12:35:42 +02:00
Alexander Shiyan
f1d2ff8b9d video: imxfb: Convert to SIMPLE_DEV_PM_OPS
Instead of assigning the pm_ops fields individually we can simply
use SIMPLE_DEV_PM_OPS.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-02-28 12:35:37 +02:00
Alexander Shiyan
f590f99ab9 video: imxfb: Resolve mismatch between backlight/contrast
Currently, driver uses backlight class to control contrast value.
This is not correct. This patch resolves this issue by removing
backlight class from the driver and replace handling of LCDC PWM
Contrast Control Register by contrast control through LCD class.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-02-28 12:35:32 +02:00
Alexander Shiyan
de5013627f video: imxfb: Use module_platform_driver()
We have no reason to call fb_get_options() when registering module,
so move this call in the probe() and convert the driver to use
module_platform_driver() macro.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-02-28 12:35:28 +02:00
Alexander Shiyan
b7d2d37276 video: imxfb: Remove unused fields from platform data structure
Some fields in platform data structure is never used by boards.
This patch removes these fields and as a result optimizes private
driver structure a bit. Additionally patch removes backligh_power()
callback, so if it will be needed in the future, this feature should
be added as pwm{gpio,etc.}-regulator to the board code or in the DTS.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-02-28 12:35:22 +02:00