mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-12 09:26:44 +07:00
77e196752b
The amount of video memory size is decided according to the following order: 1. <xres> x <yres> x <bits_per_pixel> by default, which is the backward compatible way 2. size specified in platform data 3. size specified in module parameter 'options' string or specified in kernel boot command line (see updated Documentation/fb/pxafb.txt) And now since the memory is allocated from system memory, the pxafb_mmap can be removed and the default fb_mmap() should be working all right. Also, since we now have introduced the 'struct pxafb_dma_buff' for DMA descriptors and palettes, the allocation can be separated cleanly. NOTE: the LCD DMA actually supports chained transfer (i.e. page-based transfers), to simplify the logic and keep the performance (with less TLB misses when accessing from memory mapped user space), the memory is allocated by alloc_pages_*() to ensures it's physical contiguous. Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Eric Miao <ycmiao@ycmiao-hp520.(none)>
59 lines
1.4 KiB
Plaintext
59 lines
1.4 KiB
Plaintext
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
|