video-nuc900fb.h 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. /* linux/include/asm/arch-nuc900/fb.h
  2. *
  3. * Copyright (c) 2008 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. * Changelog:
  12. *
  13. * 2008/08/26 vincen.zswan modify this file for LCD.
  14. */
  15. #ifndef __ASM_ARM_FB_H
  16. #define __ASM_ARM_FB_H
  17. /* LCD Controller Hardware Desc */
  18. struct nuc900fb_hw {
  19. unsigned int lcd_dccs;
  20. unsigned int lcd_device_ctrl;
  21. unsigned int lcd_mpulcd_cmd;
  22. unsigned int lcd_int_cs;
  23. unsigned int lcd_crtc_size;
  24. unsigned int lcd_crtc_dend;
  25. unsigned int lcd_crtc_hr;
  26. unsigned int lcd_crtc_hsync;
  27. unsigned int lcd_crtc_vr;
  28. unsigned int lcd_va_baddr0;
  29. unsigned int lcd_va_baddr1;
  30. unsigned int lcd_va_fbctrl;
  31. unsigned int lcd_va_scale;
  32. unsigned int lcd_va_test;
  33. unsigned int lcd_va_win;
  34. unsigned int lcd_va_stuff;
  35. };
  36. /* LCD Display Description */
  37. struct nuc900fb_display {
  38. /* LCD Image type */
  39. unsigned type;
  40. /* LCD Screen Size */
  41. unsigned short width;
  42. unsigned short height;
  43. /* LCD Screen Info */
  44. unsigned short xres;
  45. unsigned short yres;
  46. unsigned short bpp;
  47. unsigned long pixclock;
  48. unsigned short left_margin;
  49. unsigned short right_margin;
  50. unsigned short hsync_len;
  51. unsigned short upper_margin;
  52. unsigned short lower_margin;
  53. unsigned short vsync_len;
  54. /* hardware special register value */
  55. unsigned int dccs;
  56. unsigned int devctl;
  57. unsigned int fbctrl;
  58. unsigned int scale;
  59. };
  60. struct nuc900fb_mach_info {
  61. struct nuc900fb_display *displays;
  62. unsigned num_displays;
  63. unsigned default_display;
  64. /* GPIO Setting Info */
  65. unsigned gpio_dir;
  66. unsigned gpio_dir_mask;
  67. unsigned gpio_data;
  68. unsigned gpio_data_mask;
  69. };
  70. extern void __init nuc900_fb_set_platdata(struct nuc900fb_mach_info *);
  71. #endif /* __ASM_ARM_FB_H */