/**************************************************************************** **************************************************************************** *** *** This header was automatically generated from a Linux kernel header *** of the same name, to make information necessary for userspace to *** call into the kernel available to libc. It contains only constants, *** structures, and macros generated from the original header, and thus, *** contains no copyrightable information. *** **************************************************************************** ****************************************************************************/ #ifndef __ASM_SH_MOBILE_LCDC_H__ #define __ASM_SH_MOBILE_LCDC_H__ #include enum { RGB8, RGB9, RGB12A, RGB12B, RGB16, RGB18, RGB24, SYS8A, SYS8B, SYS8C, SYS8D, SYS9, SYS12, SYS16A, SYS16B, SYS16C, SYS18, SYS24 }; enum { LCDC_CHAN_DISABLED = 0, LCDC_CHAN_MAINLCD, LCDC_CHAN_SUBLCD }; enum { LCDC_CLK_BUS, LCDC_CLK_PERIPHERAL, LCDC_CLK_EXTERNAL }; struct sh_mobile_lcdc_sys_bus_cfg { unsigned long ldmt2r; unsigned long ldmt3r; }; struct sh_mobile_lcdc_sys_bus_ops { void (*write_index)(void *handle, unsigned long data); void (*write_data)(void *handle, unsigned long data); unsigned long (*read_data)(void *handle); }; struct sh_mobile_lcdc_board_cfg { void *board_data; int (*setup_sys)(void *board_data, void *sys_ops_handle, struct sh_mobile_lcdc_sys_bus_ops *sys_ops); void (*display_on)(void *board_data); void (*display_off)(void *board_data); }; struct sh_mobile_lcdc_lcd_size_cfg { unsigned long width; unsigned long height; }; struct sh_mobile_lcdc_chan_cfg { int chan; int bpp; int interface_type; int clock_divider; struct fb_videomode lcd_cfg; struct sh_mobile_lcdc_lcd_size_cfg lcd_size_cfg; struct sh_mobile_lcdc_board_cfg board_cfg; struct sh_mobile_lcdc_sys_bus_cfg sys_bus_cfg; }; struct sh_mobile_lcdc_info { unsigned long lddckr; int clock_source; struct sh_mobile_lcdc_chan_cfg ch[2]; }; #endif