fb_var_screeninfo 和fb_fix_screeninfo结构体

  1. http://blog.csdn.net/qwaszx523/article/details/72954308


  2. struct fb_var_screeninfo {    
  3.     //struct fb_info的成员(可变参数),其记录用户可修改的显示控制器的参数,包括分  
  4.     //辨率和每个像素点的比特数,其成员需要在驱动程序中初始化和设置  
  5.                  
  6.     /********可见解析度(实际屏幕)********/               
  7.     __u32 xres;/* visible resolution*//*定义屏幕一行有多少个像素点 */  
  8.     __u32 yres;                                /*定义屏幕一列由多少个像素点 */  
  9.   
  10.     /********虚拟解析度(虚拟屏幕)********/  
  11.     __u32 xres_virtual;/* virtual resolution*/ /*虚拟屏幕一行有多少个像素点 */  
  12.     __u32 yres_virtual;                                 /*虚拟屏幕一列由多少个像素点*/  
  13.     __u32 xoffset;/* offset from virtual to visible */ /*虚拟到可见(实际)之间的行方向偏移 */  
  14.     __u32 yoffset;/* resolution*/                           /*虚拟到可见(实际)之间的列方向偏移*/   
  15.   
  16.     __u32 bits_per_pixel; /* guess what */                           /*每像素位数(多少BPP),单位为字节 */  
  17.     __u32 grayscale; /* != 0 Graylevels instead of colors */  /*非0时指灰度*/   
  18.   
  19.     /********fb缓存的RGB位域**********/  
  20.     struct fb_bitfield red;/* bitfield in fb mem if true color, */ /* fb缓存的红色位域*/  
  21.     struct fb_bitfield green;/* else only length is significant *//* fb缓存的绿色位域*/  
  22.     struct fb_bitfield blue;                                                    /* fb缓存的蓝色位域*/  
  23.     struct fb_bitfield transp;/* transparency*/                 /*透明度 =0 */   
  24.   
  25.     __u32 nonstd;/* != 0 Non standard pixel format *//*非标准像素格式时应该为非0值 (标志像素格式时 nonstd=0) */   
  26.   
  27.     __u32 activate;/* see FB_ACTIVATE_**/   /*查看宏FB_ACTIVATE_NOW */   
  28.   
  29.     __u32 height;/* height of picture in mm */ /* 高度*/  
  30.     __u32 width;/* width of picture in mm*/     /* 宽度 */   
  31.   
  32.     __u32 accel_flags;/* (OBSOLETE) see fb_info.flags */ /*查看fb_info.flags */   
  33.   
  34.    
  35.   /************这参数必须通过查看LCD数据手册得到**************/  
  36.     /* Timing: All values in pixclocks, except pixclock (of course) */  
  37.     __u32 pixclock; /* pixel clock in ps (pico seconds) */ /*像素时钟(皮秒),pixclock=1/Dclk=... */  
  38.   
  39.     /* 行切换,从同步到绘图之间的延迟即HFPD(有效数据之后无效的像素的个数) ,对应于LCD数据手册的Hsyn的front-porch*/  
  40.     __u32 left_margin; /* time from sync to picture */    
  41.     /*行切换,从绘图到同步之间的延迟即HBPD(Hsyn脉冲下降沿之后的无效像素的个数) ,对应于LCD数据手册的Hsyn的back-porch*/                        
  42.     __u32 right_margin; /* time from picture to sync */    
  43.     /*帧切换,从同步到绘图之间的延迟即VFPD(有效数据之后还要经历的无效行数(之后是下一帧数据)) ,对应于LCD数据手册的Vsyn的front-porch*/                        
  44.     __u32 upper_margin; /* time from sync to picture */     
  45.     /*帧切换,从绘图到同步之间的延迟即VBPD(Vsyn脉冲下降沿之后还要经历的无效行数) ,对应于LCD数据手册的Vsyn的back-porch */  
  46.     __u32 lower_margin;    
  47.     /*水平同步的长度即HSPW(Hsyn信号的脉冲宽度),对应于LCD数据手册的Hsyn的pulse Width */                     
  48.     __u32 hsync_len;  /* length of horizontal sync*/  
  49.     /*垂直同步的长度即VSPW(Vsyn信号的脉冲宽度),对应于LCD数据手册的Vsyn的pulse Width */  
  50.     __u32 vsync_len;  /* length of vertical sync*/      
  51.   
  52.     __u32 sync;   /* see FB_SYNC_**/            /* 查看宏FB_SYNC_*/  
  53.     __u32 vmode;  /* see FB_VMODE_**/         /*  查看宏FB_VMODE_ */  
  54.     __u32 rotate;  /* angle we rotate counter clockwise */ /*顺时钟旋转的角度 */  
  55.     __u32 reserved[5]; /* Reserved for future compatibility */  /* */  
  56.  };   
  57.    
  58. struct fb_fix_screeninfo {    
  59. // struct fb_info的成员(固定参数),其记录用户不能修改的显示控制器的参数,如屏幕缓冲区物理地址,  
  60. //长度,当对帧缓冲设备进行映射操作时,就是从此结构中取得缓冲区物理地址,其成员需要在驱动程序中初始化和设置  
  61.                                                       
  62.   char id[16]; /* identification string eg "TT Builtin" */           /*字符串形式的标识符  */  
  63.   /* fb缓冲内存的开始地址(物理地址),它一般是作为dma_alloc_writecombine的参数,该函数会将物理地址存放在该变量中*/  
  64.   unsigned long smem_start; /* Start of frame buffer mem physical address) */                            
  65.   __u32 smem_len; /* Length of frame buffer mem */            /* fb缓冲的长度,等于max_xres *max_yres*max_bpp/8  */  
  66.   __u32 type;  /* see FB_TYPE_**/                               /*  查看宏 FB_TYPE_    FB_TYPE_PACKED_PIXELS=0  */  
  67.   __u32 type_aux; /* Interleave for interleaved Planes*/      /* 分界,=0 */  
  68.   __u32 visual;  /* see FB_VISUAL_**/                           /* 查看宏FB_VISUAL_,用于记录屏幕使用的色彩模式,一般是FB_VISUAL_TRUECOLOR(真彩色) */  
  69.   __u16 xpanstep; /* zero if no hardware panning*/            /* 如果没有硬件 panning,=0 */  
  70.   __u16 ypanstep; /* zero if no hardware panning*/            /* 如果没有硬件 panning,=0 */  
  71.   __u16 ywrapstep;/* zero if no hardware ywrap */             /* 如果没有硬件 panning,=0 */  
  72.   __u32 line_length;/* length of a line in bytes */                /* 一行的字节数 */  
  73.   unsigned long mmio_start; /* Start of Memory Mapped I/O*/  /* 内存映射的I/O的开始位置 */  
  74.       /* (physical address) */  
  75.   __u32 mmio_len; /* Length of Memory Mapped I/O  */            /* 内存映射的I/O的长度 */  
  76.   __u32 accel; /* Indicate to driver which */                           /* = FB_ACCEL_NONE */  
  77.       /*  specific chip/card we have */  
  78.   __u16 reserved[3];/* Reserved for future compatibility */       /*  */  
  79.  };   
  80.   
  81.   

你可能感兴趣的:(fb_var_screeninfo 和fb_fix_screeninfo结构体)