sisfb.h
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:2k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. #ifndef _LINUX_SISFB
  2. #define _LINUX_SISFB
  3. #define DISPTYPE_CRT1       0x00000008L
  4. #define DISPTYPE_CRT2       0x00000004L
  5. #define DISPTYPE_LCD        0x00000002L
  6. #define DISPTYPE_TV         0x00000001L
  7. #define DISPTYPE_DISP1      DISPTYPE_CRT1
  8. #define DISPTYPE_DISP2      (DISPTYPE_CRT2 | DISPTYPE_LCD | DISPTYPE_TV)
  9. #define DISPMODE_SINGLE     0x00000020L
  10. #define DISPMODE_MIRROR     0x00000010L
  11. #define DISPMODE_DUALVIEW   0x00000040L
  12. #define HASVB_NONE       0x00
  13. #define HASVB_301        0x01
  14. #define HASVB_LVDS       0x02
  15. #define HASVB_TRUMPION   0x04
  16. #define HASVB_LVDS_CHRONTEL 0x10
  17. #define HASVB_302        0x20
  18. #define HASVB_303        0x40
  19. #define HASVB_CHRONTEL   0x80
  20. typedef enum _SIS_CHIP_TYPE {
  21. SIS_VGALegacy = 0,
  22. SIS_300,
  23. SIS_630,
  24. SIS_540,
  25. SIS_730, 
  26. SIS_315H,
  27. SIS_315,
  28. SIS_550,
  29. SIS_315PRO,
  30. SIS_640,
  31. SIS_740,
  32. SIS_330, 
  33. MAX_SIS_CHIP
  34. } SIS_CHIP_TYPE;
  35. typedef enum _TVTYPE {
  36. TVMODE_NTSC = 0,
  37. TVMODE_PAL,
  38. TVMODE_HIVISION,
  39. TVMODE_TOTAL
  40. } SIS_TV_TYPE;
  41. typedef enum _TVPLUGTYPE {
  42. TVPLUG_Legacy = 0,
  43. TVPLUG_COMPOSITE,
  44. TVPLUG_SVIDEO,
  45. TVPLUG_SCART,
  46. TVPLUG_TOTAL
  47. } SIS_TV_PLUG;
  48. struct sis_memreq {
  49. unsigned long offset;
  50. unsigned long size;
  51. };
  52. struct mode_info {
  53. int    bpp;
  54. int    xres;
  55. int    yres;
  56. int    v_xres;
  57. int    v_yres;
  58. int    org_x;
  59. int    org_y;
  60. unsigned int  vrate;
  61. };
  62. struct ap_data {
  63. struct mode_info minfo;
  64. unsigned long iobase;
  65. unsigned int  mem_size;
  66. unsigned long disp_state;    
  67. SIS_CHIP_TYPE chip;
  68. unsigned char hasVB;
  69. SIS_TV_TYPE TV_type;
  70. SIS_TV_PLUG TV_plug;
  71. unsigned long version;
  72. char reserved[256];
  73. };
  74. struct video_info {
  75. int    chip_id;
  76. unsigned int  video_size;
  77. unsigned long video_base;
  78. char  *video_vbase;
  79. unsigned long mmio_base;
  80. char  *mmio_vbase; 
  81. unsigned long vga_base;
  82. int    video_bpp;
  83. int    video_width;
  84. int    video_height;
  85. int    video_vwidth;
  86. int    video_vheight;
  87. int    org_x;
  88. int    org_y;
  89. unsigned int refresh_rate;
  90. unsigned long disp_state;
  91. unsigned char hasVB;
  92. unsigned char TV_type;
  93. unsigned char TV_plug;
  94. SIS_CHIP_TYPE chip;
  95. unsigned char revision_id;
  96. char reserved[256];
  97. };
  98. #ifdef __KERNEL__
  99. extern struct video_info ivideo;
  100. extern void sis_malloc(struct sis_memreq *req);
  101. extern void sis_free(unsigned long base);
  102. extern void sis_dispinfo(struct ap_data *rec);
  103. #endif
  104. #endif