diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-03-27 21:17:02 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-03-27 21:17:02 -0400 |
commit | 9e4db1c3eed55c22328d8022c2c80adb3093833f (patch) | |
tree | 9643545e6bd182f1d3e19942f590a6a1e3198320 /drivers/video/sa1100fb.h | |
parent | de8856d2c11f562c60ed9340a83db4a4f829a6e6 (diff) | |
parent | aae528d9a8ad79d4b21b1b723abc9447fdb0d200 (diff) |
Merge branch 'platforms' of git://git.linaro.org/people/rmk/linux-arm
Pull ARM platform updates from Russell King:
"This covers platform stuff for platforms I have a direct interest in
(iow, I have the hardware). Essentially:
- as we no longer support any other Acorn platforms other than RiscPC
anymore, we can collect all that code into mach-rpc.
- convert Acorn expansion card stuff to use IRQ allocation functions,
and get rid of NO_IRQ from there.
- cleanups to the ebsa110 platform to move some private stuff out of
its header files.
- large amount of SA11x0 updates:
- conversion of private DMA implementation to DMA engine support
(this actually gives us greater flexibility in drivers over the old
API.)
- re-worked ucb1x00 updates - convert to genirq, remove sa11x0
dependencies, fix various minor issues
- move platform specific sa11x0 framebuffer data into platform files
in arch/arm instead of keeping this in the driver itself
- update sa11x0 IrDA driver for DMA engine, and allow it to use DMA
for SIR transmissions as well as FIR
- rework sa1111 support for genirq, and irq allocation
- fix sa1111 IRQ support so it works again
- use sparse IRQ support
After this, I have one more pull request remaining from my current
set, which I think is going to be the most problematical as it
generates 8 conflicts."
Fixed up the trivial conflict in arch/arm/mach-rpc/Makefile as per
Russell.
* 'platforms' of git://git.linaro.org/people/rmk/linux-arm: (125 commits)
ARM: 7343/1: sa11x0: convert to sparse IRQ
ARM: 7342/2: sa1100: prepare for sparse irq conversion
ARM: 7341/1: input: prepare jornada720 keyboard and ts for sa11x0 sparse irq
ARM: 7340/1: rtc: sa1100: include mach/irqs.h instead of asm/irq.h
ARM: sa11x0: remove unused DMA controller definitions
ARM: sa11x0: remove old SoC private DMA driver
USB: sa1111: add hcd .reset method
USB: sa1111: add OHCI shutdown methods
USB: sa1111: reorganize ohci-sa1111.c
USB: sa1111: get rid of nasty printk(KERN_DEBUG "%s: ...", __FILE__)
USB: sa1111: sparse and checkpatch cleanups
ARM: sa11x0: don't static map sa1111
ARM: sa1111: use dev_err() rather than printk()
ARM: sa1111: cleanup sub-device registration and unregistration
ARM: sa1111: only setup DMA for DMA capable devices
ARM: sa1111: register sa1111 devices with dmabounce in bus notifier
ARM: sa1111: move USB interface register definitions to ohci-sa1111.c
ARM: sa1111: move PCMCIA interface register definitions to sa1111_generic.c
ARM: sa1111: move PS/2 interface register definitions to sa1111p2.c
ARM: sa1111: delete unused physical GPIO register definitions
...
Diffstat (limited to 'drivers/video/sa1100fb.h')
-rw-r--r-- | drivers/video/sa1100fb.h | 76 |
1 files changed, 13 insertions, 63 deletions
diff --git a/drivers/video/sa1100fb.h b/drivers/video/sa1100fb.h index 1c3b459865d8..fc5d4292fad6 100644 --- a/drivers/video/sa1100fb.h +++ b/drivers/video/sa1100fb.h | |||
@@ -10,44 +10,15 @@ | |||
10 | * for more details. | 10 | * for more details. |
11 | */ | 11 | */ |
12 | 12 | ||
13 | /* | 13 | #define LCCR0 0x0000 /* LCD Control Reg. 0 */ |
14 | * These are the bitfields for each | 14 | #define LCSR 0x0004 /* LCD Status Reg. */ |
15 | * display depth that we support. | 15 | #define DBAR1 0x0010 /* LCD DMA Base Address Reg. channel 1 */ |
16 | */ | 16 | #define DCAR1 0x0014 /* LCD DMA Current Address Reg. channel 1 */ |
17 | struct sa1100fb_rgb { | 17 | #define DBAR2 0x0018 /* LCD DMA Base Address Reg. channel 2 */ |
18 | struct fb_bitfield red; | 18 | #define DCAR2 0x001C /* LCD DMA Current Address Reg. channel 2 */ |
19 | struct fb_bitfield green; | 19 | #define LCCR1 0x0020 /* LCD Control Reg. 1 */ |
20 | struct fb_bitfield blue; | 20 | #define LCCR2 0x0024 /* LCD Control Reg. 2 */ |
21 | struct fb_bitfield transp; | 21 | #define LCCR3 0x0028 /* LCD Control Reg. 3 */ |
22 | }; | ||
23 | |||
24 | /* | ||
25 | * This structure describes the machine which we are running on. | ||
26 | */ | ||
27 | struct sa1100fb_mach_info { | ||
28 | u_long pixclock; | ||
29 | |||
30 | u_short xres; | ||
31 | u_short yres; | ||
32 | |||
33 | u_char bpp; | ||
34 | u_char hsync_len; | ||
35 | u_char left_margin; | ||
36 | u_char right_margin; | ||
37 | |||
38 | u_char vsync_len; | ||
39 | u_char upper_margin; | ||
40 | u_char lower_margin; | ||
41 | u_char sync; | ||
42 | |||
43 | u_int cmap_greyscale:1, | ||
44 | cmap_inverse:1, | ||
45 | cmap_static:1, | ||
46 | unused:29; | ||
47 | |||
48 | u_int lccr0; | ||
49 | u_int lccr3; | ||
50 | }; | ||
51 | 22 | ||
52 | /* Shadows for LCD controller registers */ | 23 | /* Shadows for LCD controller registers */ |
53 | struct sa1100fb_lcd_reg { | 24 | struct sa1100fb_lcd_reg { |
@@ -57,19 +28,11 @@ struct sa1100fb_lcd_reg { | |||
57 | unsigned long lccr3; | 28 | unsigned long lccr3; |
58 | }; | 29 | }; |
59 | 30 | ||
60 | #define RGB_4 (0) | ||
61 | #define RGB_8 (1) | ||
62 | #define RGB_16 (2) | ||
63 | #define NR_RGB 3 | ||
64 | |||
65 | struct sa1100fb_info { | 31 | struct sa1100fb_info { |
66 | struct fb_info fb; | 32 | struct fb_info fb; |
67 | struct device *dev; | 33 | struct device *dev; |
68 | struct sa1100fb_rgb *rgb[NR_RGB]; | 34 | const struct sa1100fb_rgb *rgb[NR_RGB]; |
69 | 35 | void __iomem *base; | |
70 | u_int max_bpp; | ||
71 | u_int max_xres; | ||
72 | u_int max_yres; | ||
73 | 36 | ||
74 | /* | 37 | /* |
75 | * These are the addresses we mapped | 38 | * These are the addresses we mapped |
@@ -88,12 +51,6 @@ struct sa1100fb_info { | |||
88 | dma_addr_t dbar1; | 51 | dma_addr_t dbar1; |
89 | dma_addr_t dbar2; | 52 | dma_addr_t dbar2; |
90 | 53 | ||
91 | u_int lccr0; | ||
92 | u_int lccr3; | ||
93 | u_int cmap_inverse:1, | ||
94 | cmap_static:1, | ||
95 | unused:30; | ||
96 | |||
97 | u_int reg_lccr0; | 54 | u_int reg_lccr0; |
98 | u_int reg_lccr1; | 55 | u_int reg_lccr1; |
99 | u_int reg_lccr2; | 56 | u_int reg_lccr2; |
@@ -109,6 +66,8 @@ struct sa1100fb_info { | |||
109 | struct notifier_block freq_transition; | 66 | struct notifier_block freq_transition; |
110 | struct notifier_block freq_policy; | 67 | struct notifier_block freq_policy; |
111 | #endif | 68 | #endif |
69 | |||
70 | const struct sa1100fb_mach_info *inf; | ||
112 | }; | 71 | }; |
113 | 72 | ||
114 | #define TO_INF(ptr,member) container_of(ptr,struct sa1100fb_info,member) | 73 | #define TO_INF(ptr,member) container_of(ptr,struct sa1100fb_info,member) |
@@ -130,15 +89,6 @@ struct sa1100fb_info { | |||
130 | #define SA1100_NAME "SA1100" | 89 | #define SA1100_NAME "SA1100" |
131 | 90 | ||
132 | /* | 91 | /* |
133 | * Debug macros | ||
134 | */ | ||
135 | #if DEBUG | ||
136 | # define DPRINTK(fmt, args...) printk("%s: " fmt, __func__ , ## args) | ||
137 | #else | ||
138 | # define DPRINTK(fmt, args...) | ||
139 | #endif | ||
140 | |||
141 | /* | ||
142 | * Minimum X and Y resolutions | 92 | * Minimum X and Y resolutions |
143 | */ | 93 | */ |
144 | #define MIN_XRES 64 | 94 | #define MIN_XRES 64 |