linux/arch/arm/mach-pxa
Eric Miao 198fc108ee [ARM] pxafb: add support for overlay1 and overlay2 as framebuffer devices
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.

This heavily simplified and re-structured work is based on the original
pxafb_overlay.c (which is pending for mainline merge for a long time).

The major problems with this pxafb_overlay.c are (if you are interested
in the history):

  1. heavily redundant (the control logics for overlay1 and overlay2 are
     actually identical except for some small operations,  which are now
     abstracted into a 'pxafb_layer_ops' structure)

  2. a lot of useless and un-tested code (two workarounds which are now
     fixed on mature silicons)

  3. cursorfb is actually useless, hardware cursor should not be used
     this way, and the code was actually un-tested for a long time.

The code in this patch should be self-explanatory, I tried to add minimum
comments. As said, this is basically simplified, there are several things
still on the pending list:

  1. palette mode is un-supported and un-tested (although re-using the
     palette code of the base framebuffer is actually very easy now with
     previous clean-up patches)

  2. fb_pan_display for overlay(s) is un-supported

  3. the base framebuffer can actually be abstracted by 'pxafb_layer' as
     well, which will help further re-use of the code and keep a better
     and consistent structure. (This is the reason I named it 'pxafb_layer'
     instead of 'pxafb_overlay' or something alike)

See Documentation/fb/pxafb.txt for additional usage information.

Signed-off-by: Eric Miao <eric.miao@marvell.com>
Cc: Rodolfo Giometti <giometti@linux.it>
Signed-off-by: Eric Miao <ycmiao@ycmiao-hp520.(none)>
2008-12-29 18:00:04 +08:00
..
include/mach [ARM] pxafb: add support for overlay1 and overlay2 as framebuffer devices 2008-12-29 18:00:04 +08:00
am200epd.c [ARM] pxa/gumstix: fix incorrect init done by am200 2008-12-17 22:51:38 +08:00
clock.c [ARM] pxa: remove unnecessary #include of pxa2xx-gpio.h in clock.c 2008-12-02 14:42:39 +08:00
clock.h [ARM] clocklib: Allow dynamic alias creation 2008-08-12 12:54:30 +01:00
cm-x2xx-pci.c [ARM] 5282/1: pxa: add CM-X255 support 2008-10-07 12:05:07 +01:00
cm-x2xx-pci.h [ARM] 5280/1: pxa: prepare cm-x2xx.c and cm-x2xx-pci.[ch] for addition of CM-X255 2008-10-07 12:05:05 +01:00
cm-x2xx.c [ARM] pxa: convert legacy LCD setup of other boards to new one 2008-12-17 22:45:30 +08:00
cm-x255.c [ARM] 5284/1: pxa: cm-x255: add NOR and NAND flash support 2008-10-07 12:08:14 +01:00
cm-x270.c [ARM] 5306/1: pxa: fix build error on CM-X270 2008-10-15 12:34:48 +01:00
cm-x300.c [ARM] pxa: move I2C pin configurations out into board specific files 2008-12-02 14:42:40 +08:00
colibri.c [ARM] pxa/colibri: convert to use new MFP API 2008-09-26 23:43:21 +01:00
corgi_lcd.c [ARM] pxa: fix the corgi_ssp.c dependency issue in {corgi,spitz}_defconfig 2008-10-21 11:36:19 +08:00
corgi_pm.c [ARM] corgi_lcd: fix simultaneous compilation with corgi_bl 2008-10-29 11:45:37 +08:00
corgi_ssp.c Revert "[ARM] pxa/corgi: remove now unused corgi_ssp.c and corgi_lcd.c" 2008-10-21 09:42:29 +08:00
corgi.c [ARM] pxa/corgi: add physmap mapping for ROM 2008-12-02 14:43:49 +08:00
cpufreq-pxa2xx.c [ARM] pxa: cpufreq-pxa2xx: sdram_rows detection support 2008-12-02 14:43:47 +08:00
cpufreq-pxa3xx.c cpufreq: remove policy->governor setting in drivers initialization 2008-10-15 16:42:47 -07:00
devices.c [ARM] pxa: add resources for incoming rtc-pxa driver 2008-12-02 14:43:47 +08:00
devices.h [ARM] pxa: add resources for incoming rtc-pxa driver 2008-12-02 14:43:47 +08:00
dma.c [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
e330.c [ARM] eseries: move UDC defs to machine files 2008-08-19 13:44:07 +01:00
e350.c [ARM] eseries: move UDC defs to machine files 2008-08-19 13:44:07 +01:00
e400.c [ARM] pxa: convert legacy LCD setup of other boards to new one 2008-12-17 22:45:30 +08:00
e740.c [ARM] eseries: move UDC defs to machine files 2008-08-19 13:44:07 +01:00
e750.c [ARM] eseries: move UDC defs to machine files 2008-08-19 13:44:07 +01:00
e800.c [ARM] eseries: move UDC defs to machine files 2008-08-19 13:44:07 +01:00
em-x270.c [ARM] ohci-pxa27x: introduce flags to avoid direct access to OHCI registers 2008-10-07 19:12:57 +01:00
eseries.c [ARM] eseries: move UDC defs to machine files 2008-08-19 13:44:07 +01:00
eseries.h [ARM] eseries: move UDC defs to machine files 2008-08-19 13:44:07 +01:00
ezx.c [ARM] pxa/ezx: I2C configuration 2008-12-17 22:51:39 +08:00
generic.c [ARM] rtc-sa1100: don't assume CLOCK_TICK_RATE to be a constant 2008-12-29 17:57:48 +08:00
generic.h [ARM] pxa: better MFP low power state support for pxa25x/pxa27x 2008-09-26 23:43:20 +01:00
gpio.c [ARM] pxa: move GPIOx_BASE and GPIO register offsets to gpio.c 2008-12-02 14:42:39 +08:00
gumstix.c [ARM] pxa/gumstix: fix incorrect init done by am200 2008-12-17 22:51:38 +08:00
h5000.c [ARM] pxa: add basic support for HP iPAQ h5000 2008-12-02 14:43:50 +08:00
idp.c [ARM] pxa/idp: remove the unnecessary idp_init_irq() 2008-09-26 23:43:21 +01:00
imote2.c [ARM] pxa: initial support for the Imote2 platform 2008-12-17 22:51:39 +08:00
irq.c [ARM] 5233/1: Allow PXA to have ISA IRQs numbered 0-15 2008-09-01 17:13:26 +01:00
Kconfig [ARM] pxa: initial support for the Imote2 platform 2008-12-17 22:51:39 +08:00
leds-idp.c [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
leds-lubbock.c [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
leds-mainstone.c [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
leds.c [ARM] 5251/1: remove old LED support for Trizeps4 SOM 2008-10-01 22:34:34 +01:00
leds.h fix file specification in comments 2006-10-03 23:01:26 +02:00
littleton.c [ARM] pxa/littleton: add preliminary I2C board info (da9034 + max7320) 2008-12-17 22:52:12 +08:00
lpd270.c [ARM] 5298/1: Drop desc_handle_irq() 2008-10-09 15:00:36 +01:00
lubbock.c [ARM] 5298/1: Drop desc_handle_irq() 2008-10-09 15:00:36 +01:00
magician.c [ARM] pxa: convert legacy LCD setup of other boards to new one 2008-12-17 22:45:30 +08:00
mainstone.c [ARM] pxa: move I2C pin configurations out into board specific files 2008-12-02 14:42:40 +08:00
Makefile [ARM] pxa: initial support for the Imote2 platform 2008-12-17 22:51:39 +08:00
Makefile.boot
mfp-pxa2xx.c [ARM] pxa: add support for additional GPIOs on PXA26x 2008-12-02 14:42:37 +08:00
mfp-pxa3xx.c [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
mioa701_bootresume.S [ARM] 5202/1: pxa: Added Mitac Mio A701 smartphone support. 2008-08-26 17:01:37 +01:00
mioa701.c [ARM] pxa/MioA701: improve power supply sources 2008-12-02 14:43:48 +08:00
mp900.c [ARM] 5277/1: Add basic support for MobilePro 900/c 2008-10-02 22:56:05 +01:00
palmtx.c [ARM] 5248/1: wm97xx generic battery driver 2008-10-02 22:48:34 +01:00
palmz72.c [ARM] 5239/1: Palm Zire 72 power management support 2008-10-09 15:12:07 +01:00
pcm027.c [ARM] pxa/pcm027: convert to use new MFP API 2008-09-26 23:43:22 +01:00
pcm990-baseboard.c [ARM] pxa: convert legacy LCD setup of other boards to new one 2008-12-17 22:45:30 +08:00
pm.c [ARM] pxa: Allow platforms to override PSPR setting 2008-09-09 16:32:52 +01:00
poodle.c [ARM] pxa/poodle: add physmap mapping for ROM 2008-12-02 14:43:49 +08:00
pwm.c [ARM] 5303/1: period_cycles should be greater than 1 2008-10-17 13:44:47 +01:00
pxa2xx.c Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 2008-08-07 11:06:47 +01:00
pxa3xx.c [ARM] pxa: add resources for incoming rtc-pxa driver 2008-12-02 14:43:47 +08:00
pxa25x.c [ARM] pxa: add resources for incoming rtc-pxa driver 2008-12-02 14:43:47 +08:00
pxa27x.c [ARM] pxa: add resources for incoming rtc-pxa driver 2008-12-02 14:43:47 +08:00
pxa300.c [ARM] 5212/1: pxa: fix build error when CPU_PXA310 is not defined 2008-08-20 23:17:13 +01:00
pxa320.c [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
pxa930.c [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
reset.c [ARM] 5330/1: mach-pxa: Fixup reset for systems using reboot=cold or other strings 2008-11-17 14:05:41 +00:00
saar.c [ARM] pxa/saar: add support for the on-board smart panel LCD 2008-12-17 22:52:01 +08:00
sharpsl_pm.c [ARM] pxa: fix the corgi_ssp.c dependency issue in {corgi,spitz}_defconfig 2008-10-21 11:36:19 +08:00
sharpsl.h [ARM] 4737/1: Refactor corgi_lcd to improve readability + bugfix 2008-01-28 13:13:25 +00:00
sleep.S [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
smemc.c [ARM] pxa: introduce sysdev for pxa3xx static memory controller 2008-02-04 13:17:33 +00:00
spitz_pm.c [ARM] corgi_lcd: fix simultaneous compilation with corgi_bl 2008-10-29 11:45:37 +08:00
spitz.c [ARM] pxa/spitz: add physmap mapping for ROM 2008-12-02 14:43:49 +08:00
ssp.c [ARM] Convert asm/io.h to linux/io.h 2008-09-06 12:10:45 +01:00
standby.S [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
tavorevb.c [ARM] pxa/tavorevb: update board support (smartpanel LCD + keypad) 2008-12-29 17:57:23 +08:00
time.c [ARM] rtc-sa1100: don't assume CLOCK_TICK_RATE to be a constant 2008-12-29 17:57:48 +08:00
tosa-bt.c [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
tosa.c [ARM] pxa/tosa: add physmap mapping for ROM 2008-12-02 14:43:49 +08:00
trizeps4.c [ARM] remove extra brace in arch/arm/mach-pxa/trizeps4.c 2008-10-18 14:24:08 +01:00
viper.c [ARM] 5308/1: Fix Viper ISA IRQ handling 2008-10-15 13:01:36 +01:00
zylonite_pxa300.c [ARM] pxa/zylonite: add support for USB OHCI 2008-10-07 19:12:59 +01:00
zylonite_pxa320.c [ARM] pxa: use <linux/gpio.h> instead of unnecessary <mach/gpio.h> 2008-12-02 14:42:37 +08:00
zylonite.c [ARM] pxa: use <linux/gpio.h> instead of unnecessary <mach/gpio.h> 2008-12-02 14:42:37 +08:00