• Linus Walleij's avatar
    video: ARM CLCD: support Nomadik variant · 046ad6cd
    Linus Walleij authored
    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: default avatarLinus Walleij <linus.walleij@linaro.org>
    Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
    046ad6cd
amba-clcd.c 25.1 KB