diff options
author | Mauro Carvalho Chehab <mchehab+samsung@kernel.org> | 2019-06-12 19:52:45 +0200 |
---|---|---|
committer | Jonathan Corbet <corbet@lwn.net> | 2019-06-14 22:21:11 +0200 |
commit | ab42b818954c040fa13639dc031d8541edcecb4b (patch) | |
tree | baf9142b53b039fa58ca66af479156f4886c9cc8 /Documentation/fb/pxafb.txt | |
parent | docs: fault-injection: convert docs to ReST and rename to *.rst (diff) | |
download | linux-ab42b818954c040fa13639dc031d8541edcecb4b.tar.xz linux-ab42b818954c040fa13639dc031d8541edcecb4b.zip |
docs: fb: convert docs to ReST and rename to *.rst
The conversion is actually:
- add blank lines and identation in order to identify paragraphs;
- fix tables markups;
- add some lists markups;
- mark literal blocks;
- adjust title markups.
At its new index.rst, let's add a :orphan: while this is not linked to
the main index.rst file, in order to avoid build warnings.
Also, removed the Maintained by, as requested by Geert.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Diffstat (limited to 'Documentation/fb/pxafb.txt')
-rw-r--r-- | Documentation/fb/pxafb.txt | 142 |
1 files changed, 0 insertions, 142 deletions
diff --git a/Documentation/fb/pxafb.txt b/Documentation/fb/pxafb.txt deleted file mode 100644 index d143a0a749f9..000000000000 --- a/Documentation/fb/pxafb.txt +++ /dev/null @@ -1,142 +0,0 @@ -Driver for PXA25x LCD controller -================================ - -The driver supports the following options, either via -options=<OPTIONS> when modular or video=pxafb:<OPTIONS> when built in. - -For example: - modprobe pxafb options=vmem:2M,mode:640x480-8,passive -or on the kernel command line - video=pxafb:vmem:2M,mode:640x480-8,passive - -vmem: VIDEO_MEM_SIZE - Amount of video memory to allocate (can be suffixed with K or M - for kilobytes or megabytes) - -mode:XRESxYRES[-BPP] - XRES == 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. - -pixclock:PIXCLOCK - Pixel clock in picoseconds - -left:LEFT == LCCR1_BLW + 1 -right:RIGHT == LCCR1_ELW + 1 -hsynclen:HSYNC == LCCR1_HSW + 1 -upper:UPPER == LCCR2_BFW -lower:LOWER == LCCR2_EFR -vsynclen:VSYNC == LCCR2_VSW + 1 - Display margins and sync times - -color | mono => LCCR0_CMS - umm... - -active | passive => LCCR0_PAS - Active (TFT) or Passive (STN) display - -single | dual => LCCR0_SDS - Single or dual panel passive display - -4pix | 8pix => LCCR0_DPD - 4 or 8 pixel monochrome single panel data - -hsync:HSYNC -vsync:VSYNC - Horizontal and vertical sync. 0 => active low, 1 => active - high. - -dpc:DPC - Double pixel clock. 1=>true, 0=>false - -outputen:POLARITY - Output Enable Polarity. 0 => active low, 1 => active high - -pixclockpol:POLARITY - pixel clock polarity - 0 => falling edge, 1 => rising edge - - -Overlay Support for PXA27x and later LCD controllers -==================================================== - - 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 - = 24 -- for YUV444 packed - = 24 -- for YUV444 planar - = 16 -- for YUV422 planar (1 pixel = 1 Y + 1/2 Cb + 1/2 Cr) - = 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 position |