fb-s3c2410.h 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. /* arch/arm/plat-samsung/include/plat/fb-s3c2410.h
  2. *
  3. * Copyright (c) 2004 Arnaud Patard <arnaud.patard@rtp-net.org>
  4. *
  5. * Inspired by pxafb.h
  6. *
  7. * This program is free software; you can redistribute it and/or modify
  8. * it under the terms of the GNU General Public License version 2 as
  9. * published by the Free Software Foundation.
  10. */
  11. #ifndef __ASM_PLAT_FB_S3C2410_H
  12. #define __ASM_PLAT_FB_S3C2410_H __FILE__
  13. struct s3c2410fb_hw {
  14. unsigned long lcdcon1;
  15. unsigned long lcdcon2;
  16. unsigned long lcdcon3;
  17. unsigned long lcdcon4;
  18. unsigned long lcdcon5;
  19. };
  20. /* LCD description */
  21. struct s3c2410fb_display {
  22. /* LCD type */
  23. unsigned type;
  24. /* Screen size */
  25. unsigned short width;
  26. unsigned short height;
  27. /* Screen info */
  28. unsigned short xres;
  29. unsigned short yres;
  30. unsigned short bpp;
  31. unsigned pixclock; /* pixclock in picoseconds */
  32. unsigned short left_margin; /* value in pixels (TFT) or HCLKs (STN) */
  33. unsigned short right_margin; /* value in pixels (TFT) or HCLKs (STN) */
  34. unsigned short hsync_len; /* value in pixels (TFT) or HCLKs (STN) */
  35. unsigned short upper_margin; /* value in lines (TFT) or 0 (STN) */
  36. unsigned short lower_margin; /* value in lines (TFT) or 0 (STN) */
  37. unsigned short vsync_len; /* value in lines (TFT) or 0 (STN) */
  38. /* lcd configuration registers */
  39. unsigned long lcdcon5;
  40. };
  41. struct s3c2410fb_mach_info {
  42. struct s3c2410fb_display *displays; /* attached diplays info */
  43. unsigned num_displays; /* number of defined displays */
  44. unsigned default_display;
  45. /* GPIOs */
  46. unsigned long gpcup;
  47. unsigned long gpcup_mask;
  48. unsigned long gpccon;
  49. unsigned long gpccon_mask;
  50. unsigned long gpdup;
  51. unsigned long gpdup_mask;
  52. unsigned long gpdcon;
  53. unsigned long gpdcon_mask;
  54. /* lpc3600 control register */
  55. unsigned long lpcsel;
  56. };
  57. extern void __init s3c24xx_fb_set_platdata(struct s3c2410fb_mach_info *);
  58. #endif /* __ASM_PLAT_FB_S3C2410_H */