diff options
Diffstat (limited to 'include/video')
-rw-r--r-- | include/video/atmel_lcdc.h | 1 | ||||
-rw-r--r-- | include/video/cyblafb.h | 2 | ||||
-rw-r--r-- | include/video/metronomefb.h | 31 | ||||
-rw-r--r-- | include/video/neomagic.h | 1 | ||||
-rw-r--r-- | include/video/radeon.h | 23 | ||||
-rw-r--r-- | include/video/s1d13xxxfb.h | 3 | ||||
-rw-r--r-- | include/video/sh_mobile_lcdc.h | 78 |
7 files changed, 112 insertions, 27 deletions
diff --git a/include/video/atmel_lcdc.h b/include/video/atmel_lcdc.h index 920c4e9cb93d..6ad87f485992 100644 --- a/include/video/atmel_lcdc.h +++ b/include/video/atmel_lcdc.h | |||
@@ -30,6 +30,7 @@ | |||
30 | */ | 30 | */ |
31 | #define ATMEL_LCDC_WIRING_BGR 0 | 31 | #define ATMEL_LCDC_WIRING_BGR 0 |
32 | #define ATMEL_LCDC_WIRING_RGB 1 | 32 | #define ATMEL_LCDC_WIRING_RGB 1 |
33 | #define ATMEL_LCDC_WIRING_RGB555 2 | ||
33 | 34 | ||
34 | 35 | ||
35 | /* LCD Controller info data structure, stored in device platform_data */ | 36 | /* LCD Controller info data structure, stored in device platform_data */ |
diff --git a/include/video/cyblafb.h b/include/video/cyblafb.h index 717440575380..d3c1d4e2c8e3 100644 --- a/include/video/cyblafb.h +++ b/include/video/cyblafb.h | |||
@@ -4,7 +4,7 @@ | |||
4 | #endif | 4 | #endif |
5 | 5 | ||
6 | #if CYBLAFB_DEBUG | 6 | #if CYBLAFB_DEBUG |
7 | #define debug(f,a...) printk("%s:" f, __FUNCTION__ , ## a); | 7 | #define debug(f,a...) printk("%s:" f, __func__ , ## a); |
8 | #else | 8 | #else |
9 | #define debug(f,a...) | 9 | #define debug(f,a...) |
10 | #endif | 10 | #endif |
diff --git a/include/video/metronomefb.h b/include/video/metronomefb.h index dab04b4fad7f..9863f4b6d418 100644 --- a/include/video/metronomefb.h +++ b/include/video/metronomefb.h | |||
@@ -12,14 +12,6 @@ | |||
12 | #ifndef _LINUX_METRONOMEFB_H_ | 12 | #ifndef _LINUX_METRONOMEFB_H_ |
13 | #define _LINUX_METRONOMEFB_H_ | 13 | #define _LINUX_METRONOMEFB_H_ |
14 | 14 | ||
15 | /* address and control descriptors used by metronome controller */ | ||
16 | struct metromem_desc { | ||
17 | u32 mFDADR0; | ||
18 | u32 mFSADR0; | ||
19 | u32 mFIDR0; | ||
20 | u32 mLDCMD0; | ||
21 | }; | ||
22 | |||
23 | /* command structure used by metronome controller */ | 15 | /* command structure used by metronome controller */ |
24 | struct metromem_cmd { | 16 | struct metromem_cmd { |
25 | u16 opcode; | 17 | u16 opcode; |
@@ -29,34 +21,37 @@ struct metromem_cmd { | |||
29 | 21 | ||
30 | /* struct used by metronome. board specific stuff comes from *board */ | 22 | /* struct used by metronome. board specific stuff comes from *board */ |
31 | struct metronomefb_par { | 23 | struct metronomefb_par { |
32 | unsigned char *metromem; | ||
33 | struct metromem_desc *metromem_desc; | ||
34 | struct metromem_cmd *metromem_cmd; | 24 | struct metromem_cmd *metromem_cmd; |
35 | unsigned char *metromem_wfm; | 25 | unsigned char *metromem_wfm; |
36 | unsigned char *metromem_img; | 26 | unsigned char *metromem_img; |
37 | u16 *metromem_img_csum; | 27 | u16 *metromem_img_csum; |
38 | u16 *csum_table; | 28 | u16 *csum_table; |
39 | int metromemsize; | ||
40 | dma_addr_t metromem_dma; | 29 | dma_addr_t metromem_dma; |
41 | dma_addr_t metromem_desc_dma; | ||
42 | struct fb_info *info; | 30 | struct fb_info *info; |
43 | struct metronome_board *board; | 31 | struct metronome_board *board; |
44 | wait_queue_head_t waitq; | 32 | wait_queue_head_t waitq; |
45 | u8 frame_count; | 33 | u8 frame_count; |
34 | int extra_size; | ||
35 | int dt; | ||
46 | }; | 36 | }; |
47 | 37 | ||
48 | /* board specific routines */ | 38 | /* board specific routines and data */ |
49 | struct metronome_board { | 39 | struct metronome_board { |
50 | struct module *owner; | 40 | struct module *owner; /* the platform device */ |
51 | void (*free_irq)(struct fb_info *); | ||
52 | void (*init_gpio_regs)(struct metronomefb_par *); | ||
53 | void (*init_lcdc_regs)(struct metronomefb_par *); | ||
54 | void (*post_dma_setup)(struct metronomefb_par *); | ||
55 | void (*set_rst)(struct metronomefb_par *, int); | 41 | void (*set_rst)(struct metronomefb_par *, int); |
56 | void (*set_stdby)(struct metronomefb_par *, int); | 42 | void (*set_stdby)(struct metronomefb_par *, int); |
43 | void (*cleanup)(struct metronomefb_par *); | ||
57 | int (*met_wait_event)(struct metronomefb_par *); | 44 | int (*met_wait_event)(struct metronomefb_par *); |
58 | int (*met_wait_event_intr)(struct metronomefb_par *); | 45 | int (*met_wait_event_intr)(struct metronomefb_par *); |
59 | int (*setup_irq)(struct fb_info *); | 46 | int (*setup_irq)(struct fb_info *); |
47 | int (*setup_fb)(struct metronomefb_par *); | ||
48 | int (*setup_io)(struct metronomefb_par *); | ||
49 | int (*get_panel_type)(void); | ||
50 | unsigned char *metromem; | ||
51 | int fw; | ||
52 | int fh; | ||
53 | int wfm_size; | ||
54 | struct fb_info *host_fbinfo; /* the host LCD controller's fbi */ | ||
60 | }; | 55 | }; |
61 | 56 | ||
62 | #endif | 57 | #endif |
diff --git a/include/video/neomagic.h b/include/video/neomagic.h index 38910da0ae59..08b663782956 100644 --- a/include/video/neomagic.h +++ b/include/video/neomagic.h | |||
@@ -123,7 +123,6 @@ typedef volatile struct { | |||
123 | 123 | ||
124 | struct neofb_par { | 124 | struct neofb_par { |
125 | struct vgastate state; | 125 | struct vgastate state; |
126 | struct mutex open_lock; | ||
127 | unsigned int ref_count; | 126 | unsigned int ref_count; |
128 | 127 | ||
129 | unsigned char MiscOutReg; /* Misc */ | 128 | unsigned char MiscOutReg; /* Misc */ |
diff --git a/include/video/radeon.h b/include/video/radeon.h index 099ffa5e5bee..d5dcaf154ba4 100644 --- a/include/video/radeon.h +++ b/include/video/radeon.h | |||
@@ -386,7 +386,7 @@ | |||
386 | #define SC_BOTTOM_RIGHT 0x16F0 | 386 | #define SC_BOTTOM_RIGHT 0x16F0 |
387 | #define SRC_SC_BOTTOM_RIGHT 0x16F4 | 387 | #define SRC_SC_BOTTOM_RIGHT 0x16F4 |
388 | #define RB2D_DSTCACHE_MODE 0x3428 | 388 | #define RB2D_DSTCACHE_MODE 0x3428 |
389 | #define RB2D_DSTCACHE_CTLSTAT 0x342C | 389 | #define RB2D_DSTCACHE_CTLSTAT_broken 0x342C /* do not use */ |
390 | #define LVDS_GEN_CNTL 0x02d0 | 390 | #define LVDS_GEN_CNTL 0x02d0 |
391 | #define LVDS_PLL_CNTL 0x02d4 | 391 | #define LVDS_PLL_CNTL 0x02d4 |
392 | #define FP2_GEN_CNTL 0x0288 | 392 | #define FP2_GEN_CNTL 0x0288 |
@@ -525,6 +525,9 @@ | |||
525 | #define CRTC_DISPLAY_DIS (1 << 10) | 525 | #define CRTC_DISPLAY_DIS (1 << 10) |
526 | #define CRTC_CRT_ON (1 << 15) | 526 | #define CRTC_CRT_ON (1 << 15) |
527 | 527 | ||
528 | /* DSTCACHE_MODE bits constants */ | ||
529 | #define RB2D_DC_AUTOFLUSH_ENABLE (1 << 8) | ||
530 | #define RB2D_DC_DC_DISABLE_IGNORE_PE (1 << 17) | ||
528 | 531 | ||
529 | /* DSTCACHE_CTLSTAT bit constants */ | 532 | /* DSTCACHE_CTLSTAT bit constants */ |
530 | #define RB2D_DC_FLUSH_2D (1 << 0) | 533 | #define RB2D_DC_FLUSH_2D (1 << 0) |
@@ -532,6 +535,9 @@ | |||
532 | #define RB2D_DC_FLUSH_ALL (RB2D_DC_FLUSH_2D | RB2D_DC_FREE_2D) | 535 | #define RB2D_DC_FLUSH_ALL (RB2D_DC_FLUSH_2D | RB2D_DC_FREE_2D) |
533 | #define RB2D_DC_BUSY (1 << 31) | 536 | #define RB2D_DC_BUSY (1 << 31) |
534 | 537 | ||
538 | /* DSTCACHE_MODE bits constants */ | ||
539 | #define RB2D_DC_AUTOFLUSH_ENABLE (1 << 8) | ||
540 | #define RB2D_DC_DC_DISABLE_IGNORE_PE (1 << 17) | ||
535 | 541 | ||
536 | /* CRTC_GEN_CNTL bit constants */ | 542 | /* CRTC_GEN_CNTL bit constants */ |
537 | #define CRTC_DBL_SCAN_EN 0x00000001 | 543 | #define CRTC_DBL_SCAN_EN 0x00000001 |
@@ -863,15 +869,10 @@ | |||
863 | #define GMC_DST_16BPP_YVYU422 0x00000c00 | 869 | #define GMC_DST_16BPP_YVYU422 0x00000c00 |
864 | #define GMC_DST_32BPP_AYUV444 0x00000e00 | 870 | #define GMC_DST_32BPP_AYUV444 0x00000e00 |
865 | #define GMC_DST_16BPP_ARGB4444 0x00000f00 | 871 | #define GMC_DST_16BPP_ARGB4444 0x00000f00 |
866 | #define GMC_SRC_MONO 0x00000000 | ||
867 | #define GMC_SRC_MONO_LBKGD 0x00001000 | ||
868 | #define GMC_SRC_DSTCOLOR 0x00003000 | ||
869 | #define GMC_BYTE_ORDER_MSB_TO_LSB 0x00000000 | 872 | #define GMC_BYTE_ORDER_MSB_TO_LSB 0x00000000 |
870 | #define GMC_BYTE_ORDER_LSB_TO_MSB 0x00004000 | 873 | #define GMC_BYTE_ORDER_LSB_TO_MSB 0x00004000 |
871 | #define GMC_DP_CONVERSION_TEMP_9300 0x00008000 | 874 | #define GMC_DP_CONVERSION_TEMP_9300 0x00008000 |
872 | #define GMC_DP_CONVERSION_TEMP_6500 0x00000000 | 875 | #define GMC_DP_CONVERSION_TEMP_6500 0x00000000 |
873 | #define GMC_DP_SRC_RECT 0x02000000 | ||
874 | #define GMC_DP_SRC_HOST 0x03000000 | ||
875 | #define GMC_DP_SRC_HOST_BYTEALIGN 0x04000000 | 876 | #define GMC_DP_SRC_HOST_BYTEALIGN 0x04000000 |
876 | #define GMC_3D_FCN_EN_CLR 0x00000000 | 877 | #define GMC_3D_FCN_EN_CLR 0x00000000 |
877 | #define GMC_3D_FCN_EN_SET 0x08000000 | 878 | #define GMC_3D_FCN_EN_SET 0x08000000 |
@@ -882,6 +883,9 @@ | |||
882 | #define GMC_WRITE_MASK_LEAVE 0x00000000 | 883 | #define GMC_WRITE_MASK_LEAVE 0x00000000 |
883 | #define GMC_WRITE_MASK_SET 0x40000000 | 884 | #define GMC_WRITE_MASK_SET 0x40000000 |
884 | #define GMC_CLR_CMP_CNTL_DIS (1 << 28) | 885 | #define GMC_CLR_CMP_CNTL_DIS (1 << 28) |
886 | #define GMC_SRC_DATATYPE_MASK (3 << 12) | ||
887 | #define GMC_SRC_DATATYPE_MONO_FG_BG (0 << 12) | ||
888 | #define GMC_SRC_DATATYPE_MONO_FG_LA (1 << 12) | ||
885 | #define GMC_SRC_DATATYPE_COLOR (3 << 12) | 889 | #define GMC_SRC_DATATYPE_COLOR (3 << 12) |
886 | #define ROP3_S 0x00cc0000 | 890 | #define ROP3_S 0x00cc0000 |
887 | #define ROP3_SRCCOPY 0x00cc0000 | 891 | #define ROP3_SRCCOPY 0x00cc0000 |
@@ -890,6 +894,7 @@ | |||
890 | #define DP_SRC_SOURCE_MASK (7 << 24) | 894 | #define DP_SRC_SOURCE_MASK (7 << 24) |
891 | #define GMC_BRUSH_NONE (15 << 4) | 895 | #define GMC_BRUSH_NONE (15 << 4) |
892 | #define DP_SRC_SOURCE_MEMORY (2 << 24) | 896 | #define DP_SRC_SOURCE_MEMORY (2 << 24) |
897 | #define DP_SRC_SOURCE_HOST_DATA (3 << 24) | ||
893 | #define GMC_BRUSH_SOLIDCOLOR 0x000000d0 | 898 | #define GMC_BRUSH_SOLIDCOLOR 0x000000d0 |
894 | 899 | ||
895 | /* DP_MIX bit constants */ | 900 | /* DP_MIX bit constants */ |
@@ -975,6 +980,12 @@ | |||
975 | #define DISP_PWR_MAN_TV_ENABLE_RST (1 << 25) | 980 | #define DISP_PWR_MAN_TV_ENABLE_RST (1 << 25) |
976 | #define DISP_PWR_MAN_AUTO_PWRUP_EN (1 << 26) | 981 | #define DISP_PWR_MAN_AUTO_PWRUP_EN (1 << 26) |
977 | 982 | ||
983 | /* RBBM_GUICNTL constants */ | ||
984 | #define RBBM_GUICNTL_HOST_DATA_SWAP_NONE (0 << 0) | ||
985 | #define RBBM_GUICNTL_HOST_DATA_SWAP_16BIT (1 << 0) | ||
986 | #define RBBM_GUICNTL_HOST_DATA_SWAP_32BIT (2 << 0) | ||
987 | #define RBBM_GUICNTL_HOST_DATA_SWAP_HDW (3 << 0) | ||
988 | |||
978 | /* masks */ | 989 | /* masks */ |
979 | 990 | ||
980 | #define CONFIG_MEMSIZE_MASK 0x1f000000 | 991 | #define CONFIG_MEMSIZE_MASK 0x1f000000 |
diff --git a/include/video/s1d13xxxfb.h b/include/video/s1d13xxxfb.h index c99d261df8f7..fe41b8407946 100644 --- a/include/video/s1d13xxxfb.h +++ b/include/video/s1d13xxxfb.h | |||
@@ -14,7 +14,8 @@ | |||
14 | #define S1D13XXXFB_H | 14 | #define S1D13XXXFB_H |
15 | 15 | ||
16 | #define S1D_PALETTE_SIZE 256 | 16 | #define S1D_PALETTE_SIZE 256 |
17 | #define S1D_CHIP_REV 7 /* expected chip revision number for s1d13806 */ | 17 | #define S1D13506_CHIP_REV 4 /* expected chip revision number for s1d13506 */ |
18 | #define S1D13806_CHIP_REV 7 /* expected chip revision number for s1d13806 */ | ||
18 | #define S1D_FBID "S1D13806" | 19 | #define S1D_FBID "S1D13806" |
19 | #define S1D_DEVICENAME "s1d13806fb" | 20 | #define S1D_DEVICENAME "s1d13806fb" |
20 | 21 | ||
diff --git a/include/video/sh_mobile_lcdc.h b/include/video/sh_mobile_lcdc.h new file mode 100644 index 000000000000..1a4bc6ada606 --- /dev/null +++ b/include/video/sh_mobile_lcdc.h | |||
@@ -0,0 +1,78 @@ | |||
1 | #ifndef __ASM_SH_MOBILE_LCDC_H__ | ||
2 | #define __ASM_SH_MOBILE_LCDC_H__ | ||
3 | |||
4 | #include <linux/fb.h> | ||
5 | |||
6 | enum { RGB8, /* 24bpp, 8:8:8 */ | ||
7 | RGB9, /* 18bpp, 9:9 */ | ||
8 | RGB12A, /* 24bpp, 12:12 */ | ||
9 | RGB12B, /* 12bpp */ | ||
10 | RGB16, /* 16bpp */ | ||
11 | RGB18, /* 18bpp */ | ||
12 | RGB24, /* 24bpp */ | ||
13 | SYS8A, /* 24bpp, 8:8:8 */ | ||
14 | SYS8B, /* 18bpp, 8:8:2 */ | ||
15 | SYS8C, /* 18bpp, 2:8:8 */ | ||
16 | SYS8D, /* 16bpp, 8:8 */ | ||
17 | SYS9, /* 18bpp, 9:9 */ | ||
18 | SYS12, /* 24bpp, 12:12 */ | ||
19 | SYS16A, /* 16bpp */ | ||
20 | SYS16B, /* 18bpp, 16:2 */ | ||
21 | SYS16C, /* 18bpp, 2:16 */ | ||
22 | SYS18, /* 18bpp */ | ||
23 | SYS24 };/* 24bpp */ | ||
24 | |||
25 | enum { LCDC_CHAN_DISABLED = 0, | ||
26 | LCDC_CHAN_MAINLCD, | ||
27 | LCDC_CHAN_SUBLCD }; | ||
28 | |||
29 | enum { LCDC_CLK_BUS, LCDC_CLK_PERIPHERAL, LCDC_CLK_EXTERNAL }; | ||
30 | |||
31 | #define LCDC_FLAGS_DWPOL (1 << 0) /* Rising edge dot clock data latch */ | ||
32 | #define LCDC_FLAGS_DIPOL (1 << 1) /* Active low display enable polarity */ | ||
33 | #define LCDC_FLAGS_DAPOL (1 << 2) /* Active low display data polarity */ | ||
34 | #define LCDC_FLAGS_HSCNT (1 << 3) /* Disable HSYNC during VBLANK */ | ||
35 | #define LCDC_FLAGS_DWCNT (1 << 4) /* Disable dotclock during blanking */ | ||
36 | |||
37 | struct sh_mobile_lcdc_sys_bus_cfg { | ||
38 | unsigned long ldmt2r; | ||
39 | unsigned long ldmt3r; | ||
40 | }; | ||
41 | |||
42 | struct sh_mobile_lcdc_sys_bus_ops { | ||
43 | void (*write_index)(void *handle, unsigned long data); | ||
44 | void (*write_data)(void *handle, unsigned long data); | ||
45 | unsigned long (*read_data)(void *handle); | ||
46 | }; | ||
47 | |||
48 | struct sh_mobile_lcdc_board_cfg { | ||
49 | void *board_data; | ||
50 | int (*setup_sys)(void *board_data, void *sys_ops_handle, | ||
51 | struct sh_mobile_lcdc_sys_bus_ops *sys_ops); | ||
52 | void (*display_on)(void *board_data); | ||
53 | void (*display_off)(void *board_data); | ||
54 | }; | ||
55 | |||
56 | struct sh_mobile_lcdc_lcd_size_cfg { /* width and height of panel in mm */ | ||
57 | unsigned long width; | ||
58 | unsigned long height; | ||
59 | }; | ||
60 | |||
61 | struct sh_mobile_lcdc_chan_cfg { | ||
62 | int chan; | ||
63 | int bpp; | ||
64 | int interface_type; /* selects RGBn or SYSn I/F, see above */ | ||
65 | int clock_divider; | ||
66 | unsigned long flags; /* LCDC_FLAGS_... */ | ||
67 | struct fb_videomode lcd_cfg; | ||
68 | struct sh_mobile_lcdc_lcd_size_cfg lcd_size_cfg; | ||
69 | struct sh_mobile_lcdc_board_cfg board_cfg; | ||
70 | struct sh_mobile_lcdc_sys_bus_cfg sys_bus_cfg; /* only for SYSn I/F */ | ||
71 | }; | ||
72 | |||
73 | struct sh_mobile_lcdc_info { | ||
74 | int clock_source; | ||
75 | struct sh_mobile_lcdc_chan_cfg ch[2]; | ||
76 | }; | ||
77 | |||
78 | #endif /* __ASM_SH_MOBILE_LCDC_H__ */ | ||