ysphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget/translations/zh_CN/fb/pxafbmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget/translations/zh_TW/fb/pxafbmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget/translations/it_IT/fb/pxafbmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget/translations/ja_JP/fb/pxafbmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget/translations/ko_KR/fb/pxafbmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget/translations/sp_SP/fb/pxafbmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhsection)}(hhh](htitle)}(h Driver for PXA25x LCD controllerh]h Driver for PXA25x LCD controller}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhh6/var/lib/git/docbuild/linux/Documentation/fb/pxafb.rsthKubh paragraph)}(h|The driver supports the following options, either via options= when modular or video=pxafb: when built in.h]h|The driver supports the following options, either via options= when modular or video=pxafb: when built in.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(h For example::h]h For example:}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh literal_block)}(h5modprobe pxafb options=vmem:2M,mode:640x480-8,passiveh]h5modprobe pxafb options=vmem:2M,mode:640x480-8,passive}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhK hhhhubh)}(hor on the kernel command line::h]hor on the kernel command line:}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hhhhubh)}(h*video=pxafb:vmem:2M,mode:640x480-8,passiveh]h*video=pxafb:vmem:2M,mode:640x480-8,passive}hhsbah}(h]h ]h"]h$]h&]hhuh1hhhhKhhhhubh)}(hvmem: VIDEO_MEM_SIZEh]hvmem: VIDEO_MEM_SIZE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh block_quote)}(h\Amount of video memory to allocate (can be suffixed with K or M for kilobytes or megabytes) h]h)}(h[Amount of video memory to allocate (can be suffixed with K or M for kilobytes or megabytes)h]h[Amount of video memory to allocate (can be suffixed with K or M for kilobytes or megabytes)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhhhKhhhhubh)}(hmode:XRESxYRES[-BPP]h]hmode:XRESxYRES[-BPP]}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubj)}(hXRES == LCCR1_PPL + 1 YRES == LLCR2_LPP + 1 The resolution of the display in pixels BPP == The bit depth. Valid values are 1, 2, 4, 8 and 16. h](h)}(hXRES == LCCR1_PPL + 1h]hXRES == LCCR1_PPL + 1}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj9ubh)}(hYRES == LLCR2_LPP + 1h]hYRES == LLCR2_LPP + 1}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj9ubj)}(h(The resolution of the display in pixels h]h)}(h'The resolution of the display in pixelsh]h'The resolution of the display in pixels}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjYubah}(h]h ]h"]h$]h&]uh1jhhhKhj9ubh)}(h9BPP == The bit depth. Valid values are 1, 2, 4, 8 and 16.h]h9BPP == The bit depth. Valid values are 1, 2, 4, 8 and 16.}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj9ubeh}(h]h ]h"]h$]h&]uh1jhhhKhhhhubh)}(hpixclock:PIXCLOCKh]hpixclock:PIXCLOCK}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubj)}(hPixel clock in picoseconds h]h)}(hPixel clock in picosecondsh]hPixel clock in picoseconds}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK!hjubah}(h]h ]h"]h$]h&]uh1jhhhK!hhhhubh)}(hleft:LEFT == LCCR1_BLW + 1h]hleft:LEFT == LCCR1_BLW + 1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK#hhhhubh)}(hright:RIGHT == LCCR1_ELW + 1h]hright:RIGHT == LCCR1_ELW + 1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK%hhhhubh)}(hhsynclen:HSYNC == LCCR1_HSW + 1h]hhsynclen:HSYNC == LCCR1_HSW + 1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK'hhhhubh)}(hupper:UPPER == LCCR2_BFWh]hupper:UPPER == LCCR2_BFW}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK)hhhhubh)}(hlower:LOWER == LCCR2_EFRh]hlower:LOWER == LCCR2_EFR}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK+hhhhubh)}(hvsynclen:VSYNC == LCCR2_VSW + 1h]hvsynclen:VSYNC == LCCR2_VSW + 1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK-hhhhubj)}(hDisplay margins and sync times h]h)}(hDisplay margins and sync timesh]hDisplay margins and sync times}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK/hjubah}(h]h ]h"]h$]h&]uh1jhhhK/hhhhubh)}(hcolor | mono => LCCR0_CMSh]hcolor | mono => LCCR0_CMS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK1hhhhubj)}(humm... h]h)}(humm...h]humm...}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK3hj%ubah}(h]h ]h"]h$]h&]uh1jhhhK3hhhhubh)}(hactive | passive => LCCR0_PASh]hactive | passive => LCCR0_PAS}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK5hhhhubj)}(h&Active (TFT) or Passive (STN) display h]h)}(h%Active (TFT) or Passive (STN) displayh]h%Active (TFT) or Passive (STN) display}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK7hjKubah}(h]h ]h"]h$]h&]uh1jhhhK7hhhhubh)}(hsingle | dual => LCCR0_SDSh]hsingle | dual => LCCR0_SDS}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK9hhhhubj)}(h%Single or dual panel passive display h]h)}(h$Single or dual panel passive displayh]h$Single or dual panel passive display}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK;hjqubah}(h]h ]h"]h$]h&]uh1jhhhK;hhhhubh)}(h4pix | 8pix => LCCR0_DPDh]h4pix | 8pix => LCCR0_DPD}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK=hhhhubj)}(h*4 or 8 pixel monochrome single panel data h]h)}(h)4 or 8 pixel monochrome single panel datah]h)4 or 8 pixel monochrome single panel data}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK?hjubah}(h]h ]h"]h$]h&]uh1jhhhK?hhhhubh)}(hhsync:HSYNC, vsync:VSYNCh]hhsync:HSYNC, vsync:VSYNC}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKAhhhhubj)}(hAHorizontal and vertical sync. 0 => active low, 1 => active high. h]h)}(h@Horizontal and vertical sync. 0 => active low, 1 => active high.h]h@Horizontal and vertical sync. 0 => active low, 1 => active high.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKChjubah}(h]h ]h"]h$]h&]uh1jhhhKChhhhubh)}(hdpc:DPCh]hdpc:DPC}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKFhhhhubj)}(h&Double pixel clock. 1=>true, 0=>false h]h)}(h%Double pixel clock. 1=>true, 0=>falseh]h%Double pixel clock. 1=>true, 0=>false}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKHhjubah}(h]h ]h"]h$]h&]uh1jhhhKHhhhhubh)}(houtputen:POLARITYh]houtputen:POLARITY}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKJhhhhubj)}(h:Output Enable Polarity. 0 => active low, 1 => active high h]h)}(h9Output Enable Polarity. 0 => active low, 1 => active highh]h9Output Enable Polarity. 0 => active low, 1 => active high}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKLhj ubah}(h]h ]h"]h$]h&]uh1jhhhKLhhhhubh)}(hpixclockpol:POLARITYh]hpixclockpol:POLARITY}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKNhhhhubj)}(h:pixel clock polarity 0 => falling edge, 1 => rising edge h]h)}(h8pixel clock polarity 0 => falling edge, 1 => rising edgeh]h8pixel clock polarity 0 => falling edge, 1 => rising edge}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKPhj/ubah}(h]h ]h"]h$]h&]uh1jhhhKPhhhhubh)}(hhh](h)}(h4Overlay Support for PXA27x and later LCD controllersh]h4Overlay Support for PXA27x and later LCD controllers}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjGhhhhhKUubj)}(hXo PXA27x and later processors support overlay1 and overlay2 on-top of the base framebuffer (although under-neath the base is also possible). They support palette and no-palette RGB formats, as well as YUV formats (only available on overlay2). These overlays have dedicated DMA channels and behave in a similar way as a framebuffer. However, there are some differences between these overlay framebuffers and normal framebuffers, as listed below: 1. overlay can start at a 32-bit word aligned position within the base framebuffer, which means they have a start (x, y). This information is encoded into var->nonstd (no, var->xoffset and var->yoffset are not for such purpose). 2. overlay framebuffer is allocated dynamically according to specified 'struct fb_var_screeninfo', the amount is decided by:: var->xres_virtual * var->yres_virtual * bpp bpp = 16 -- for RGB565 or RGBT555 bpp = 24 -- for YUV444 packed bpp = 24 -- for YUV444 planar bpp = 16 -- for YUV422 planar (1 pixel = 1 Y + 1/2 Cb + 1/2 Cr) bpp = 12 -- for YUV420 planar (1 pixel = 1 Y + 1/4 Cb + 1/4 Cr) NOTE: a. overlay does not support panning in x-direction, thus var->xres_virtual will always be equal to var->xres b. line length of overlay(s) must be on a 32-bit word boundary, for YUV planar modes, it is a requirement for the component with minimum bits per pixel, e.g. for YUV420, Cr component for one pixel is actually 2-bits, it means the line length should be a multiple of 16-pixels c. starting horizontal position (XPOS) should start on a 32-bit word boundary, otherwise the fb_check_var() will just fail. d. the rectangle of the overlay should be within the base plane, otherwise fail Applications should follow the sequence below to operate an overlay framebuffer: a. open("/dev/fb[1-2]", ...) b. ioctl(fd, FBIOGET_VSCREENINFO, ...) c. modify 'var' with desired parameters: 1) var->xres and var->yres 2) larger var->yres_virtual if more memory is required, usually for double-buffering 3) var->nonstd for starting (x, y) and color format 4) var->{red, green, blue, transp} if RGB mode is to be used d. ioctl(fd, FBIOPUT_VSCREENINFO, ...) e. ioctl(fd, FBIOGET_FSCREENINFO, ...) f. mmap g. ... 3. for YUV planar formats, these are actually not supported within the framebuffer framework, application has to take care of the offsets and lengths of each component within the framebuffer. 4. var->nonstd is used to pass starting (x, y) position and color format, the detailed bit fields are shown below:: 31 23 20 10 0 +-----------------+---+----------+----------+ | ... unused ... |FOR| XPOS | YPOS | +-----------------+---+----------+----------+ FOR - color format, as defined by OVERLAY_FORMAT_* in pxafb.h - 0 - RGB - 1 - YUV444 PACKED - 2 - YUV444 PLANAR - 3 - YUV422 PLANAR - 4 - YUR420 PLANAR XPOS - starting horizontal position YPOS - starting vertical positionh](h)}(hXIPXA27x and later processors support overlay1 and overlay2 on-top of the base framebuffer (although under-neath the base is also possible). They support palette and no-palette RGB formats, as well as YUV formats (only available on overlay2). These overlays have dedicated DMA channels and behave in a similar way as a framebuffer.h]hXIPXA27x and later processors support overlay1 and overlay2 on-top of the base framebuffer (although under-neath the base is also possible). They support palette and no-palette RGB formats, as well as YUV formats (only available on overlay2). These overlays have dedicated DMA channels and behave in a similar way as a framebuffer.}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKWhjXubh)}(hpHowever, there are some differences between these overlay framebuffers and normal framebuffers, as listed below:h]hpHowever, there are some differences between these overlay framebuffers and normal framebuffers, as listed below:}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK]hjXubhenumerated_list)}(hhh](h list_item)}(hoverlay can start at a 32-bit word aligned position within the base framebuffer, which means they have a start (x, y). This information is encoded into var->nonstd (no, var->xoffset and var->yoffset are not for such purpose). h]h)}(hoverlay can start at a 32-bit word aligned position within the base framebuffer, which means they have a start (x, y). This information is encoded into var->nonstd (no, var->xoffset and var->yoffset are not for such purpose).h]hoverlay can start at a 32-bit word aligned position within the base framebuffer, which means they have a start (x, y). This information is encoded into var->nonstd (no, var->xoffset and var->yoffset are not for such purpose).}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK`hjubah}(h]h ]h"]h$]h&]uh1j}hjzubj~)}(hX>overlay framebuffer is allocated dynamically according to specified 'struct fb_var_screeninfo', the amount is decided by:: var->xres_virtual * var->yres_virtual * bpp bpp = 16 -- for RGB565 or RGBT555 bpp = 24 -- for YUV444 packed bpp = 24 -- for YUV444 planar bpp = 16 -- for YUV422 planar (1 pixel = 1 Y + 1/2 Cb + 1/2 Cr) bpp = 12 -- for YUV420 planar (1 pixel = 1 Y + 1/4 Cb + 1/4 Cr) NOTE: a. overlay does not support panning in x-direction, thus var->xres_virtual will always be equal to var->xres b. line length of overlay(s) must be on a 32-bit word boundary, for YUV planar modes, it is a requirement for the component with minimum bits per pixel, e.g. for YUV420, Cr component for one pixel is actually 2-bits, it means the line length should be a multiple of 16-pixels c. starting horizontal position (XPOS) should start on a 32-bit word boundary, otherwise the fb_check_var() will just fail. d. the rectangle of the overlay should be within the base plane, otherwise fail Applications should follow the sequence below to operate an overlay framebuffer: a. open("/dev/fb[1-2]", ...) b. ioctl(fd, FBIOGET_VSCREENINFO, ...) c. modify 'var' with desired parameters: 1) var->xres and var->yres 2) larger var->yres_virtual if more memory is required, usually for double-buffering 3) var->nonstd for starting (x, y) and color format 4) var->{red, green, blue, transp} if RGB mode is to be used d. ioctl(fd, FBIOPUT_VSCREENINFO, ...) e. ioctl(fd, FBIOGET_FSCREENINFO, ...) f. mmap g. ... h](h)}(hzoverlay framebuffer is allocated dynamically according to specified 'struct fb_var_screeninfo', the amount is decided by::h]h}overlay framebuffer is allocated dynamically according to specified ‘struct fb_var_screeninfo’, the amount is decided by:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKehjubh)}(h+var->xres_virtual * var->yres_virtual * bpph]h+var->xres_virtual * var->yres_virtual * bpp}hjsbah}(h]h ]h"]h$]h&]hhuh1hhhhKhhjubh)}(h!bpp = 16 -- for RGB565 or RGBT555h]h!bpp = 16 -- for RGB565 or RGBT555}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKjhjubh)}(hbpp = 24 -- for YUV444 packedh]hbpp = 24 -- for YUV444 packed}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKlhjubh)}(hbpp = 24 -- for YUV444 planarh]hbpp = 24 -- for YUV444 planar}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKnhjubh)}(h?bpp = 16 -- for YUV422 planar (1 pixel = 1 Y + 1/2 Cb + 1/2 Cr)h]h?bpp = 16 -- for YUV422 planar (1 pixel = 1 Y + 1/2 Cb + 1/2 Cr)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKphjubh)}(h?bpp = 12 -- for YUV420 planar (1 pixel = 1 Y + 1/4 Cb + 1/4 Cr)h]h?bpp = 12 -- for YUV420 planar (1 pixel = 1 Y + 1/4 Cb + 1/4 Cr)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKrhjubh)}(hNOTE:h]hNOTE:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKthjubjy)}(hhh](j~)}(hjoverlay does not support panning in x-direction, thus var->xres_virtual will always be equal to var->xres h]h)}(hioverlay does not support panning in x-direction, thus var->xres_virtual will always be equal to var->xresh]hioverlay does not support panning in x-direction, thus var->xres_virtual will always be equal to var->xres}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKvhjubah}(h]h ]h"]h$]h&]uh1j}hj ubj~)}(hXline length of overlay(s) must be on a 32-bit word boundary, for YUV planar modes, it is a requirement for the component with minimum bits per pixel, e.g. for YUV420, Cr component for one pixel is actually 2-bits, it means the line length should be a multiple of 16-pixels h]h)}(hXline length of overlay(s) must be on a 32-bit word boundary, for YUV planar modes, it is a requirement for the component with minimum bits per pixel, e.g. for YUV420, Cr component for one pixel is actually 2-bits, it means the line length should be a multiple of 16-pixelsh]hXline length of overlay(s) must be on a 32-bit word boundary, for YUV planar modes, it is a requirement for the component with minimum bits per pixel, e.g. for YUV420, Cr component for one pixel is actually 2-bits, it means the line length should be a multiple of 16-pixels}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKyhj&ubah}(h]h ]h"]h$]h&]uh1j}hj ubj~)}(hystarting horizontal position (XPOS) should start on a 32-bit word boundary, otherwise the fb_check_var() will just fail. h]h)}(hxstarting horizontal position (XPOS) should start on a 32-bit word boundary, otherwise the fb_check_var() will just fail.h]hxstarting horizontal position (XPOS) should start on a 32-bit word boundary, otherwise the fb_check_var() will just fail.}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj>ubah}(h]h ]h"]h$]h&]uh1j}hj ubj~)}(hMthe rectangle of the overlay should be within the base plane, otherwise fail h]h)}(hLthe rectangle of the overlay should be within the base plane, otherwise failh]hLthe rectangle of the overlay should be within the base plane, otherwise fail}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjVubah}(h]h ]h"]h$]h&]uh1j}hj ubeh}(h]h ]h"]h$]h&]enumtype loweralphaprefixhsuffix.uh1jxhjubh)}(hPApplications should follow the sequence below to operate an overlay framebuffer:h]hPApplications should follow the sequence below to operate an overlay framebuffer:}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubj)}(hXa. open("/dev/fb[1-2]", ...) b. ioctl(fd, FBIOGET_VSCREENINFO, ...) c. modify 'var' with desired parameters: 1) var->xres and var->yres 2) larger var->yres_virtual if more memory is required, usually for double-buffering 3) var->nonstd for starting (x, y) and color format 4) var->{red, green, blue, transp} if RGB mode is to be used d. ioctl(fd, FBIOPUT_VSCREENINFO, ...) e. ioctl(fd, FBIOGET_FSCREENINFO, ...) f. mmap g. ... h]jy)}(hhh](j~)}(hopen("/dev/fb[1-2]", ...)h]h)}(hjh]hopen(“/dev/fb[1-2]”, ...)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j}hjubj~)}(h#ioctl(fd, FBIOGET_VSCREENINFO, ...)h]h)}(hjh]h#ioctl(fd, FBIOGET_VSCREENINFO, ...)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j}hjubj~)}(hX modify 'var' with desired parameters: 1) var->xres and var->yres 2) larger var->yres_virtual if more memory is required, usually for double-buffering 3) var->nonstd for starting (x, y) and color format 4) var->{red, green, blue, transp} if RGB mode is to be used h](h)}(h%modify 'var' with desired parameters:h]h)modify ‘var’ with desired parameters:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubjy)}(hhh](j~)}(hvar->xres and var->yresh]h)}(hjh]hvar->xres and var->yres}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j}hjubj~)}(hQlarger var->yres_virtual if more memory is required, usually for double-bufferingh]h)}(hQlarger var->yres_virtual if more memory is required, usually for double-bufferingh]hQlarger var->yres_virtual if more memory is required, usually for double-buffering}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j}hjubj~)}(h0var->nonstd for starting (x, y) and color formath]h)}(hjh]h0var->nonstd for starting (x, y) and color format}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j}hjubj~)}(h:var->{red, green, blue, transp} if RGB mode is to be used h]h)}(h9var->{red, green, blue, transp} if RGB mode is to be usedh]h9var->{red, green, blue, transp} if RGB mode is to be used}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j}hjubeh}(h]h ]h"]h$]h&]jtarabicjvhjw)uh1jxhjubeh}(h]h ]h"]h$]h&]uh1j}hjubj~)}(h#ioctl(fd, FBIOPUT_VSCREENINFO, ...)h]h)}(hj?h]h#ioctl(fd, FBIOPUT_VSCREENINFO, ...)}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj=ubah}(h]h ]h"]h$]h&]uh1j}hjubj~)}(h#ioctl(fd, FBIOGET_FSCREENINFO, ...)h]h)}(hjVh]h#ioctl(fd, FBIOGET_FSCREENINFO, ...)}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjTubah}(h]h ]h"]h$]h&]uh1j}hjubj~)}(hmmaph]h)}(hjmh]hmmap}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjkubah}(h]h ]h"]h$]h&]uh1j}hjubj~)}(h... h]h)}(h...h]h...}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j}hjubeh}(h]h ]h"]h$]h&]jtjujvhjwjxuh1jxhjubah}(h]h ]h"]h$]h&]uh1jhhhKhjubeh}(h]h ]h"]h$]h&]uh1j}hjzubj~)}(hfor YUV planar formats, these are actually not supported within the framebuffer framework, application has to take care of the offsets and lengths of each component within the framebuffer. h]h)}(hfor YUV planar formats, these are actually not supported within the framebuffer framework, application has to take care of the offsets and lengths of each component within the framebuffer.h]hfor YUV planar formats, these are actually not supported within the framebuffer framework, application has to take care of the offsets and lengths of each component within the framebuffer.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j}hjzubj~)}(hX-var->nonstd is used to pass starting (x, y) position and color format, the detailed bit fields are shown below:: 31 23 20 10 0 +-----------------+---+----------+----------+ | ... unused ... |FOR| XPOS | YPOS | +-----------------+---+----------+----------+ FOR - color format, as defined by OVERLAY_FORMAT_* in pxafb.h - 0 - RGB - 1 - YUV444 PACKED - 2 - YUV444 PLANAR - 3 - YUV422 PLANAR - 4 - YUR420 PLANAR XPOS - starting horizontal position YPOS - starting vertical positionh](h)}(hpvar->nonstd is used to pass starting (x, y) position and color format, the detailed bit fields are shown below::h]hovar->nonstd is used to pass starting (x, y) position and color format, the detailed bit fields are shown below:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubh)}(h31 23 20 10 0 +-----------------+---+----------+----------+ | ... unused ... |FOR| XPOS | YPOS | +-----------------+---+----------+----------+h]h31 23 20 10 0 +-----------------+---+----------+----------+ | ... unused ... |FOR| XPOS | YPOS | +-----------------+---+----------+----------+}hjsbah}(h]h ]h"]h$]h&]hhuh1hhhhKhjubh)}(h>FOR - color format, as defined by OVERLAY_FORMAT_* in pxafb.hh]h>FOR - color format, as defined by OVERLAY_FORMAT_* in pxafb.h}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubj)}(hZ- 0 - RGB - 1 - YUV444 PACKED - 2 - YUV444 PLANAR - 3 - YUV422 PLANAR - 4 - YUR420 PLANAR h]h bullet_list)}(hhh](j~)}(h0 - RGBh]h)}(hjh]h0 - RGB}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j}hjubj~)}(h1 - YUV444 PACKEDh]h)}(hjh]h1 - YUV444 PACKED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j}hjubj~)}(h2 - YUV444 PLANARh]h)}(hj+h]h2 - YUV444 PLANAR}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj)ubah}(h]h ]h"]h$]h&]uh1j}hjubj~)}(h3 - YUV422 PLANARh]h)}(hjBh]h3 - YUV422 PLANAR}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj@ubah}(h]h ]h"]h$]h&]uh1j}hjubj~)}(h4 - YUR420 PLANAR h]h)}(h4 - YUR420 PLANARh]h4 - YUR420 PLANAR}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjWubah}(h]h ]h"]h$]h&]uh1j}hjubeh}(h]h ]h"]h$]h&]bullet-uh1jhhhKhjubah}(h]h ]h"]h$]h&]uh1jhhhKhjubh)}(h#XPOS - starting horizontal positionh]h#XPOS - starting horizontal position}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubh)}(h!YPOS - starting vertical positionh]h!YPOS - starting vertical position}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubeh}(h]h ]h"]h$]h&]uh1j}hjzubeh}(h]h ]h"]h$]h&]jtj5jvhjwjxuh1jxhjXubeh}(h]h ]h"]h$]h&]uh1jhhhKWhjGhhubeh}(h]4overlay-support-for-pxa27x-and-later-lcd-controllersah ]h"]4overlay support for pxa27x and later lcd controllersah$]h&]uh1hhhhhhhhKUubeh}(h] driver-for-pxa25x-lcd-controllerah ]h"] driver for pxa25x lcd controllerah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksentryfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerjerror_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}(jjjju nametypes}(jjuh}(jhjjGu footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]hsystem_message)}(hhh]h)}(heUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h]hgUnexpected possible title overline or transition. Treating it as ordinary text because it’s so short.}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjBubah}(h]h ]h"]h$]h&]levelKtypeINFOlineKsourcehuh1j@hjubatransform_messages] transformerN include_log] decorationNhhub.