| /**************************************************************************** |
| **************************************************************************** |
| *** |
| *** 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 <linux/fb.h> |
| |
| 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 |