diff options
Diffstat (limited to 'arch/arm/mach-pxa/include/mach/regs-lcd.h')
-rw-r--r-- | arch/arm/mach-pxa/include/mach/regs-lcd.h | 67 |
1 files changed, 42 insertions, 25 deletions
diff --git a/arch/arm/mach-pxa/include/mach/regs-lcd.h b/arch/arm/mach-pxa/include/mach/regs-lcd.h index c689c4ea769c..f82dcea792d9 100644 --- a/arch/arm/mach-pxa/include/mach/regs-lcd.h +++ b/arch/arm/mach-pxa/include/mach/regs-lcd.h | |||
@@ -12,27 +12,29 @@ | |||
12 | #define LCCR3 (0x00C) /* LCD Controller Control Register 3 */ | 12 | #define LCCR3 (0x00C) /* LCD Controller Control Register 3 */ |
13 | #define LCCR4 (0x010) /* LCD Controller Control Register 4 */ | 13 | #define LCCR4 (0x010) /* LCD Controller Control Register 4 */ |
14 | #define LCCR5 (0x014) /* LCD Controller Control Register 5 */ | 14 | #define LCCR5 (0x014) /* LCD Controller Control Register 5 */ |
15 | #define DFBR0 (0x020) /* DMA Channel 0 Frame Branch Register */ | 15 | #define LCSR (0x038) /* LCD Controller Status Register 0 */ |
16 | #define DFBR1 (0x024) /* DMA Channel 1 Frame Branch Register */ | 16 | #define LCSR1 (0x034) /* LCD Controller Status Register 1 */ |
17 | #define LCSR (0x038) /* LCD Controller Status Register */ | ||
18 | #define LIIDR (0x03C) /* LCD Controller Interrupt ID Register */ | 17 | #define LIIDR (0x03C) /* LCD Controller Interrupt ID Register */ |
19 | #define TMEDRGBR (0x040) /* TMED RGB Seed Register */ | 18 | #define TMEDRGBR (0x040) /* TMED RGB Seed Register */ |
20 | #define TMEDCR (0x044) /* TMED Control Register */ | 19 | #define TMEDCR (0x044) /* TMED Control Register */ |
21 | 20 | ||
21 | #define FBR0 (0x020) /* DMA Channel 0 Frame Branch Register */ | ||
22 | #define FBR1 (0x024) /* DMA Channel 1 Frame Branch Register */ | ||
23 | #define FBR2 (0x028) /* DMA Channel 2 Frame Branch Register */ | ||
24 | #define FBR3 (0x02C) /* DMA Channel 2 Frame Branch Register */ | ||
25 | #define FBR4 (0x030) /* DMA Channel 2 Frame Branch Register */ | ||
26 | #define FBR5 (0x110) /* DMA Channel 2 Frame Branch Register */ | ||
27 | #define FBR6 (0x114) /* DMA Channel 2 Frame Branch Register */ | ||
28 | |||
29 | #define OVL1C1 (0x050) /* Overlay 1 Control Register 1 */ | ||
30 | #define OVL1C2 (0x060) /* Overlay 1 Control Register 2 */ | ||
31 | #define OVL2C1 (0x070) /* Overlay 2 Control Register 1 */ | ||
32 | #define OVL2C2 (0x080) /* Overlay 2 Control Register 2 */ | ||
33 | |||
22 | #define CMDCR (0x100) /* Command Control Register */ | 34 | #define CMDCR (0x100) /* Command Control Register */ |
23 | #define PRSR (0x104) /* Panel Read Status Register */ | 35 | #define PRSR (0x104) /* Panel Read Status Register */ |
24 | 36 | ||
25 | #define LCCR3_1BPP (0 << 24) | 37 | #define LCCR3_BPP(x) ((((x) & 0x7) << 24) | (((x) & 0x8) ? (1 << 29) : 0)) |
26 | #define LCCR3_2BPP (1 << 24) | ||
27 | #define LCCR3_4BPP (2 << 24) | ||
28 | #define LCCR3_8BPP (3 << 24) | ||
29 | #define LCCR3_16BPP (4 << 24) | ||
30 | #define LCCR3_18BPP (5 << 24) | ||
31 | #define LCCR3_18BPP_P (6 << 24) | ||
32 | #define LCCR3_19BPP (7 << 24) | ||
33 | #define LCCR3_19BPP_P (1 << 29) | ||
34 | #define LCCR3_24BPP ((1 << 29) | (1 << 24)) | ||
35 | #define LCCR3_25BPP ((1 << 29) | (2 << 24)) | ||
36 | 38 | ||
37 | #define LCCR3_PDFOR_0 (0 << 30) | 39 | #define LCCR3_PDFOR_0 (0 << 30) |
38 | #define LCCR3_PDFOR_1 (1 << 30) | 40 | #define LCCR3_PDFOR_1 (1 << 30) |
@@ -42,19 +44,16 @@ | |||
42 | #define LCCR4_PAL_FOR_0 (0 << 15) | 44 | #define LCCR4_PAL_FOR_0 (0 << 15) |
43 | #define LCCR4_PAL_FOR_1 (1 << 15) | 45 | #define LCCR4_PAL_FOR_1 (1 << 15) |
44 | #define LCCR4_PAL_FOR_2 (2 << 15) | 46 | #define LCCR4_PAL_FOR_2 (2 << 15) |
47 | #define LCCR4_PAL_FOR_3 (3 << 15) | ||
45 | #define LCCR4_PAL_FOR_MASK (3 << 15) | 48 | #define LCCR4_PAL_FOR_MASK (3 << 15) |
46 | 49 | ||
47 | #define FDADR0 (0x200) /* DMA Channel 0 Frame Descriptor Address Register */ | 50 | #define FDADR0 (0x200) /* DMA Channel 0 Frame Descriptor Address Register */ |
48 | #define FSADR0 (0x204) /* DMA Channel 0 Frame Source Address Register */ | ||
49 | #define FIDR0 (0x208) /* DMA Channel 0 Frame ID Register */ | ||
50 | #define LDCMD0 (0x20C) /* DMA Channel 0 Command Register */ | ||
51 | #define FDADR1 (0x210) /* DMA Channel 1 Frame Descriptor Address Register */ | 51 | #define FDADR1 (0x210) /* DMA Channel 1 Frame Descriptor Address Register */ |
52 | #define FSADR1 (0x214) /* DMA Channel 1 Frame Source Address Register */ | 52 | #define FDADR2 (0x220) /* DMA Channel 2 Frame Descriptor Address Register */ |
53 | #define FIDR1 (0x218) /* DMA Channel 1 Frame ID Register */ | 53 | #define FDADR3 (0x230) /* DMA Channel 3 Frame Descriptor Address Register */ |
54 | #define LDCMD1 (0x21C) /* DMA Channel 1 Command Register */ | 54 | #define FDADR4 (0x240) /* DMA Channel 4 Frame Descriptor Address Register */ |
55 | #define FDADR5 (0x250) /* DMA Channel 5 Frame Descriptor Address Register */ | ||
55 | #define FDADR6 (0x260) /* DMA Channel 6 Frame Descriptor Address Register */ | 56 | #define FDADR6 (0x260) /* DMA Channel 6 Frame Descriptor Address Register */ |
56 | #define FSADR6 (0x264) /* DMA Channel 6 Frame Source Address Register */ | ||
57 | #define FIDR6 (0x268) /* DMA Channel 6 Frame ID Register */ | ||
58 | 57 | ||
59 | #define LCCR0_ENB (1 << 0) /* LCD Controller enable */ | 58 | #define LCCR0_ENB (1 << 0) /* LCD Controller enable */ |
60 | #define LCCR0_CMS (1 << 1) /* Color/Monochrome Display Select */ | 59 | #define LCCR0_CMS (1 << 1) /* Color/Monochrome Display Select */ |
@@ -126,9 +125,6 @@ | |||
126 | #define LCCR3_PCD Fld (8, 0) /* Pixel Clock Divisor */ | 125 | #define LCCR3_PCD Fld (8, 0) /* Pixel Clock Divisor */ |
127 | #define LCCR3_PixClkDiv(Div) (((Div) << FShft (LCCR3_PCD))) | 126 | #define LCCR3_PixClkDiv(Div) (((Div) << FShft (LCCR3_PCD))) |
128 | 127 | ||
129 | #define LCCR3_BPP Fld (3, 24) /* Bit Per Pixel */ | ||
130 | #define LCCR3_Bpp(Bpp) (((Bpp) << FShft (LCCR3_BPP))) | ||
131 | |||
132 | #define LCCR3_ACB Fld (8, 8) /* AC Bias */ | 128 | #define LCCR3_ACB Fld (8, 8) /* AC Bias */ |
133 | #define LCCR3_Acb(Acb) (((Acb) << FShft (LCCR3_ACB))) | 129 | #define LCCR3_Acb(Acb) (((Acb) << FShft (LCCR3_ACB))) |
134 | 130 | ||
@@ -157,8 +153,22 @@ | |||
157 | #define LCSR_RD_ST (1 << 11) /* read status */ | 153 | #define LCSR_RD_ST (1 << 11) /* read status */ |
158 | #define LCSR_CMD_INT (1 << 12) /* command interrupt */ | 154 | #define LCSR_CMD_INT (1 << 12) /* command interrupt */ |
159 | 155 | ||
156 | #define LCSR1_IU(x) (1 << ((x) + 23)) /* Input FIFO underrun */ | ||
157 | #define LCSR1_BS(x) (1 << ((x) + 15)) /* Branch Status */ | ||
158 | #define LCSR1_EOF(x) (1 << ((x) + 7)) /* End of Frame Status */ | ||
159 | #define LCSR1_SOF(x) (1 << ((x) - 1)) /* Start of Frame Status */ | ||
160 | |||
160 | #define LDCMD_PAL (1 << 26) /* instructs DMA to load palette buffer */ | 161 | #define LDCMD_PAL (1 << 26) /* instructs DMA to load palette buffer */ |
161 | 162 | ||
163 | /* overlay control registers */ | ||
164 | #define OVLxC1_PPL(x) ((((x) - 1) & 0x3ff) << 0) /* Pixels Per Line */ | ||
165 | #define OVLxC1_LPO(x) ((((x) - 1) & 0x3ff) << 10) /* Number of Lines */ | ||
166 | #define OVLxC1_BPP(x) (((x) & 0xf) << 20) /* Bits Per Pixel */ | ||
167 | #define OVLxC1_OEN (1 << 31) /* Enable bit for Overlay */ | ||
168 | #define OVLxC2_XPOS(x) (((x) & 0x3ff) << 0) /* Horizontal Position */ | ||
169 | #define OVLxC2_YPOS(x) (((x) & 0x3ff) << 10) /* Vertical Position */ | ||
170 | #define OVL2C2_PFOR(x) (((x) & 0x7) << 20) /* Pixel Format */ | ||
171 | |||
162 | /* smartpanel related */ | 172 | /* smartpanel related */ |
163 | #define PRSR_DATA(x) ((x) & 0xff) /* Panel Data */ | 173 | #define PRSR_DATA(x) ((x) & 0xff) /* Panel Data */ |
164 | #define PRSR_A0 (1 << 8) /* Read Data Source */ | 174 | #define PRSR_A0 (1 << 8) /* Read Data Source */ |
@@ -177,4 +187,11 @@ | |||
177 | 187 | ||
178 | #define SMART_CMD(x) (SMART_CMD_WRITE_COMMAND | ((x) & 0xff)) | 188 | #define SMART_CMD(x) (SMART_CMD_WRITE_COMMAND | ((x) & 0xff)) |
179 | #define SMART_DAT(x) (SMART_CMD_WRITE_DATA | ((x) & 0xff)) | 189 | #define SMART_DAT(x) (SMART_CMD_WRITE_DATA | ((x) & 0xff)) |
190 | |||
191 | /* SMART_DELAY() is introduced for software controlled delay primitive which | ||
192 | * can be inserted between command sequences, unused command 0x6 is used here | ||
193 | * and delay ranges from 0ms ~ 255ms | ||
194 | */ | ||
195 | #define SMART_CMD_DELAY (0x6 << 9) | ||
196 | #define SMART_DELAY(ms) (SMART_CMD_DELAY | ((ms) & 0xff)) | ||
180 | #endif /* __ASM_ARCH_REGS_LCD_H */ | 197 | #endif /* __ASM_ARCH_REGS_LCD_H */ |