video_s3c.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #ifndef __PLATFORM_DATA_VIDEO_S3C
  2. #define __PLATFORM_DATA_VIDEO_S3C
  3. /* S3C_FB_MAX_WIN
  4. * Set to the maximum number of windows that any of the supported hardware
  5. * can use. Since the platform data uses this for an array size, having it
  6. * set to the maximum of any version of the hardware can do is safe.
  7. */
  8. #define S3C_FB_MAX_WIN (5)
  9. /**
  10. * struct s3c_fb_pd_win - per window setup data
  11. * @xres : The window X size.
  12. * @yres : The window Y size.
  13. * @virtual_x: The virtual X size.
  14. * @virtual_y: The virtual Y size.
  15. */
  16. struct s3c_fb_pd_win {
  17. unsigned short default_bpp;
  18. unsigned short max_bpp;
  19. unsigned short xres;
  20. unsigned short yres;
  21. unsigned short virtual_x;
  22. unsigned short virtual_y;
  23. };
  24. /**
  25. * struct s3c_fb_platdata - S3C driver platform specific information
  26. * @setup_gpio: Setup the external GPIO pins to the right state to transfer
  27. * the data from the display system to the connected display
  28. * device.
  29. * @vidcon0: The base vidcon0 values to control the panel data format.
  30. * @vidcon1: The base vidcon1 values to control the panel data output.
  31. * @vtiming: Video timing when connected to a RGB type panel.
  32. * @win: The setup data for each hardware window, or NULL for unused.
  33. * @display_mode: The LCD output display mode.
  34. *
  35. * The platform data supplies the video driver with all the information
  36. * it requires to work with the display(s) attached to the machine. It
  37. * controls the initial mode, the number of display windows (0 is always
  38. * the base framebuffer) that are initialised etc.
  39. *
  40. */
  41. struct s3c_fb_platdata {
  42. void (*setup_gpio)(void);
  43. struct s3c_fb_pd_win *win[S3C_FB_MAX_WIN];
  44. struct fb_videomode *vtiming;
  45. u32 vidcon0;
  46. u32 vidcon1;
  47. };
  48. #endif