• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ****************************************************************************
11  ****************************************************************************/
12 #ifndef __ASM_SH_MOBILE_LCDC_H__
13 #define __ASM_SH_MOBILE_LCDC_H__
14 
15 #include <linux/fb.h>
16 
17 enum { RGB8,
18  RGB9,
19  RGB12A,
20  RGB12B,
21  RGB16,
22  RGB18,
23  RGB24,
24  SYS8A,
25  SYS8B,
26  SYS8C,
27  SYS8D,
28  SYS9,
29  SYS12,
30  SYS16A,
31  SYS16B,
32  SYS16C,
33  SYS18,
34  SYS24 };
35 
36 enum { LCDC_CHAN_DISABLED = 0,
37  LCDC_CHAN_MAINLCD,
38  LCDC_CHAN_SUBLCD };
39 
40 enum { LCDC_CLK_BUS, LCDC_CLK_PERIPHERAL, LCDC_CLK_EXTERNAL };
41 
42 struct sh_mobile_lcdc_sys_bus_cfg {
43  unsigned long ldmt2r;
44  unsigned long ldmt3r;
45 };
46 
47 struct sh_mobile_lcdc_sys_bus_ops {
48  void (*write_index)(void *handle, unsigned long data);
49  void (*write_data)(void *handle, unsigned long data);
50  unsigned long (*read_data)(void *handle);
51 };
52 
53 struct sh_mobile_lcdc_board_cfg {
54  void *board_data;
55  int (*setup_sys)(void *board_data, void *sys_ops_handle,
56  struct sh_mobile_lcdc_sys_bus_ops *sys_ops);
57  void (*display_on)(void *board_data);
58  void (*display_off)(void *board_data);
59 };
60 
61 struct sh_mobile_lcdc_lcd_size_cfg {
62  unsigned long width;
63  unsigned long height;
64 };
65 
66 struct sh_mobile_lcdc_chan_cfg {
67  int chan;
68  int bpp;
69  int interface_type;
70  int clock_divider;
71  struct fb_videomode lcd_cfg;
72  struct sh_mobile_lcdc_lcd_size_cfg lcd_size_cfg;
73  struct sh_mobile_lcdc_board_cfg board_cfg;
74  struct sh_mobile_lcdc_sys_bus_cfg sys_bus_cfg;
75 };
76 
77 struct sh_mobile_lcdc_info {
78  unsigned long lddckr;
79  int clock_source;
80  struct sh_mobile_lcdc_chan_cfg ch[2];
81 };
82 
83 #endif
84