nuc900fb.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /*
  2. *
  3. * Copyright (c) 2009 Nuvoton technology corporation
  4. * All rights reserved.
  5. *
  6. * This program is free software; you can redistribute it and/or modify
  7. * it under the terms of the GNU General Public License as published by
  8. * the Free Software Foundation; either version 2 of the License, or
  9. * (at your option) any later version.
  10. *
  11. * Author:
  12. * Wang Qiang(rurality.linux@gmail.com) 2009/12/16
  13. */
  14. #ifndef __NUC900FB_H
  15. #define __NUC900FB_H
  16. #include <mach/map.h>
  17. #include <linux/platform_data/video-nuc900fb.h>
  18. enum nuc900_lcddrv_type {
  19. LCDDRV_NUC910,
  20. LCDDRV_NUC930,
  21. LCDDRV_NUC932,
  22. LCDDRV_NUC950,
  23. LCDDRV_NUC960,
  24. };
  25. #define PALETTE_BUFFER_SIZE 256
  26. #define PALETTE_BUFF_CLEAR (0x80000000) /* entry is clear/invalid */
  27. struct nuc900fb_info {
  28. struct device *dev;
  29. struct clk *clk;
  30. struct resource *mem;
  31. void __iomem *io;
  32. void __iomem *irq_base;
  33. int drv_type;
  34. struct nuc900fb_hw regs;
  35. unsigned long clk_rate;
  36. #ifdef CONFIG_CPU_FREQ
  37. struct notifier_block freq_transition;
  38. #endif
  39. /* keep these registers in case we need to re-write palette */
  40. u32 palette_buffer[PALETTE_BUFFER_SIZE];
  41. u32 pseudo_pal[16];
  42. };
  43. int nuc900fb_init(void);
  44. #endif /* __NUC900FB_H */