video: ARM CLCD: support Nomadik variant
authorLinus Walleij <linus.walleij@linaro.org>
Thu, 16 Jun 2016 09:36:16 +0000 (11:36 +0200)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Thu, 11 Aug 2016 14:54:53 +0000 (17:54 +0300)
commit046ad6cdeb3f83abcbfa2af88ce471afb2e7fc30
tree6b668c3b7b7540c22105bc5fc22d0ef5e13af9fb
parent03d14c36af98dd2191c2e35b5ed55ff93b59d345
video: ARM CLCD: support Nomadik variant

The Nomadik variant has a few special quirks that need to be respected
to make the driver work:

- The block need to be clocked during writing of the TIMn registers
  or the bus will stall.
- Special bits in the control register select how many of the output
  display lines get activated.
- Special bits in the control register select how to manage the
  different 565 and 5551 modes.
- There is a packed 24bit graphics mode, i.e 888 pixels can be stored
  in memory is three consecutive bytes, not evenly aligned to a 32bit
  word.

This patch uses the vendor data pointer from the AMBA matching mechanism
to track the quirks for this variant, and adds two hooks that variants
can use to initialize boards and panels during start-up. These will
later be used to adopt a Nomadik board profile.

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/amba-clcd.c
include/linux/amba/clcd.h