Commit | Line | Data |
---|---|---|
53d7ad1e RK |
1 | /* |
2 | * This structure describes the machine which we are running on. | |
3 | */ | |
ad851bff UKK |
4 | #ifndef __MACH_IMXFB_H__ |
5 | #define __MACH_IMXFB_H__ | |
72330b0e | 6 | |
343684ff SH |
7 | #include <linux/fb.h> |
8 | ||
72330b0e JB |
9 | #define PCR_TFT (1 << 31) |
10 | #define PCR_COLOR (1 << 30) | |
11 | #define PCR_PBSIZ_1 (0 << 28) | |
12 | #define PCR_PBSIZ_2 (1 << 28) | |
13 | #define PCR_PBSIZ_4 (2 << 28) | |
14 | #define PCR_PBSIZ_8 (3 << 28) | |
15 | #define PCR_BPIX_1 (0 << 25) | |
16 | #define PCR_BPIX_2 (1 << 25) | |
17 | #define PCR_BPIX_4 (2 << 25) | |
18 | #define PCR_BPIX_8 (3 << 25) | |
19 | #define PCR_BPIX_12 (4 << 25) | |
f497d015 SH |
20 | #define PCR_BPIX_16 (5 << 25) |
21 | #define PCR_BPIX_18 (6 << 25) | |
72330b0e JB |
22 | #define PCR_PIXPOL (1 << 24) |
23 | #define PCR_FLMPOL (1 << 23) | |
24 | #define PCR_LPPOL (1 << 22) | |
25 | #define PCR_CLKPOL (1 << 21) | |
26 | #define PCR_OEPOL (1 << 20) | |
27 | #define PCR_SCLKIDLE (1 << 19) | |
28 | #define PCR_END_SEL (1 << 18) | |
29 | #define PCR_END_BYTE_SWAP (1 << 17) | |
30 | #define PCR_REV_VS (1 << 16) | |
31 | #define PCR_ACD_SEL (1 << 15) | |
32 | #define PCR_ACD(x) (((x) & 0x7f) << 8) | |
33 | #define PCR_SCLK_SEL (1 << 7) | |
34 | #define PCR_SHARP (1 << 6) | |
35 | #define PCR_PCD(x) ((x) & 0x3f) | |
36 | ||
37 | #define PWMR_CLS(x) (((x) & 0x1ff) << 16) | |
38 | #define PWMR_LDMSK (1 << 15) | |
39 | #define PWMR_SCR1 (1 << 10) | |
40 | #define PWMR_SCR0 (1 << 9) | |
41 | #define PWMR_CC_EN (1 << 8) | |
42 | #define PWMR_PW(x) ((x) & 0xff) | |
43 | ||
44 | #define LSCR1_PS_RISE_DELAY(x) (((x) & 0x7f) << 26) | |
45 | #define LSCR1_CLS_RISE_DELAY(x) (((x) & 0x3f) << 16) | |
46 | #define LSCR1_REV_TOGGLE_DELAY(x) (((x) & 0xf) << 8) | |
47 | #define LSCR1_GRAY2(x) (((x) & 0xf) << 4) | |
48 | #define LSCR1_GRAY1(x) (((x) & 0xf)) | |
49 | ||
50 | #define DMACR_BURST (1 << 31) | |
51 | #define DMACR_HM(x) (((x) & 0xf) << 16) | |
52 | #define DMACR_TM(x) ((x) & 0xf) | |
53 | ||
343684ff SH |
54 | struct imx_fb_videomode { |
55 | struct fb_videomode mode; | |
56 | u32 pcr; | |
57 | unsigned char bpp; | |
58 | }; | |
53d7ad1e | 59 | |
343684ff SH |
60 | struct imx_fb_platform_data { |
61 | struct imx_fb_videomode *mode; | |
62 | int num_modes; | |
53d7ad1e RK |
63 | |
64 | u_int cmap_greyscale:1, | |
65 | cmap_inverse:1, | |
66 | cmap_static:1, | |
67 | unused:29; | |
68 | ||
53d7ad1e RK |
69 | u_int pwmr; |
70 | u_int lscr1; | |
772a9e63 | 71 | u_int dmacr; |
53d7ad1e RK |
72 | |
73 | u_char * fixed_screen_cpu; | |
74 | dma_addr_t fixed_screen_dma; | |
75 | ||
fde36474 HS |
76 | int (*init)(struct platform_device *); |
77 | void (*exit)(struct platform_device *); | |
c0b90a31 | 78 | |
53d7ad1e RK |
79 | void (*lcd_power)(int); |
80 | void (*backlight_power)(int); | |
81 | }; | |
27889273 SH |
82 | |
83 | void set_imx_fb_info(struct imx_fb_platform_data *); | |
ad851bff | 84 | #endif /* ifndef __MACH_IMXFB_H__ */ |