OSDN Git Service

video: ARM CLCD: add special board and panel hooks for Nomadik
authorLinus Walleij <linus.walleij@linaro.org>
Thu, 16 Jun 2016 09:36:17 +0000 (11:36 +0200)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Thu, 11 Aug 2016 14:54:54 +0000 (17:54 +0300)
commit1d3f0cbe0d3a537cbc8fb1a91f6d14407acece62
tree5967571cd10063d3c246683ada23a1e261a311e1
parent046ad6cdeb3f83abcbfa2af88ce471afb2e7fc30
video: ARM CLCD: add special board and panel hooks for Nomadik

In the .board_init() callback will set up a mux register in
the Nomadik system controller. It so happens that the platform
has two display output engines, and we have to poke a bit in
a special register to make sure the right engine is muxed in
as they are mutually exclusive.

The Nomadik CLCD variant is instantiated on a platform where
it is combined with a 800x480 TPO WVGA display. In the
.panel_init() hook we will detect this display from the
compatible string and set it up. We also add .enable() and
.disable() callbacks for it as the sleep state is software
controlled.

The display is connected with a special 3-wire serial bus
(this is sadly neither I2C or SPI) using three GPIO lines that
we bitbang to detect the display and enable/disable sleep
state.

Cc: Pawel Moll <pawel.moll@arm.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/video/fbdev/Makefile
drivers/video/fbdev/amba-clcd-nomadik.c [new file with mode: 0644]
drivers/video/fbdev/amba-clcd-nomadik.h [new file with mode: 0644]
drivers/video/fbdev/amba-clcd.c