162306a36Sopenharmony_ci/*
262306a36Sopenharmony_ci * Header file for TI DA8XX LCD controller platform data.
362306a36Sopenharmony_ci *
462306a36Sopenharmony_ci * Copyright (C) 2008-2009 MontaVista Software Inc.
562306a36Sopenharmony_ci * Copyright (C) 2008-2009 Texas Instruments Inc
662306a36Sopenharmony_ci *
762306a36Sopenharmony_ci * This file is licensed under the terms of the GNU General Public License
862306a36Sopenharmony_ci * version 2. This program is licensed "as is" without any warranty of any
962306a36Sopenharmony_ci * kind, whether express or implied.
1062306a36Sopenharmony_ci */
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci#ifndef DA8XX_FB_H
1362306a36Sopenharmony_ci#define DA8XX_FB_H
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_cienum panel_shade {
1662306a36Sopenharmony_ci	MONOCHROME = 0,
1762306a36Sopenharmony_ci	COLOR_ACTIVE,
1862306a36Sopenharmony_ci	COLOR_PASSIVE,
1962306a36Sopenharmony_ci};
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_cienum raster_load_mode {
2262306a36Sopenharmony_ci	LOAD_DATA = 1,
2362306a36Sopenharmony_ci	LOAD_PALETTE,
2462306a36Sopenharmony_ci};
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_cienum da8xx_frame_complete {
2762306a36Sopenharmony_ci	DA8XX_FRAME_WAIT,
2862306a36Sopenharmony_ci	DA8XX_FRAME_NOWAIT,
2962306a36Sopenharmony_ci};
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_cistruct da8xx_lcdc_platform_data {
3262306a36Sopenharmony_ci	const char manu_name[10];
3362306a36Sopenharmony_ci	void *controller_data;
3462306a36Sopenharmony_ci	const char type[25];
3562306a36Sopenharmony_ci};
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_cistruct lcd_ctrl_config {
3862306a36Sopenharmony_ci	enum panel_shade panel_shade;
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci	/* AC Bias Pin Frequency */
4162306a36Sopenharmony_ci	int ac_bias;
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci	/* AC Bias Pin Transitions per Interrupt */
4462306a36Sopenharmony_ci	int ac_bias_intrpt;
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci	/* DMA burst size */
4762306a36Sopenharmony_ci	int dma_burst_sz;
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci	/* Bits per pixel */
5062306a36Sopenharmony_ci	int bpp;
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ci	/* FIFO DMA Request Delay */
5362306a36Sopenharmony_ci	int fdd;
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci	/* TFT Alternative Signal Mapping (Only for active) */
5662306a36Sopenharmony_ci	unsigned char tft_alt_mode;
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci	/* 12 Bit Per Pixel (5-6-5) Mode (Only for passive) */
5962306a36Sopenharmony_ci	unsigned char stn_565_mode;
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_ci	/* Mono 8-bit Mode: 1=D0-D7 or 0=D0-D3 */
6262306a36Sopenharmony_ci	unsigned char mono_8bit_mode;
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ci	/* Horizontal and Vertical Sync Edge: 0=rising 1=falling */
6562306a36Sopenharmony_ci	unsigned char sync_edge;
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci	/* Raster Data Order Select: 1=Most-to-least 0=Least-to-most */
6862306a36Sopenharmony_ci	unsigned char raster_order;
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ci	/* DMA FIFO threshold */
7162306a36Sopenharmony_ci	int fifo_th;
7262306a36Sopenharmony_ci};
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_cistruct lcd_sync_arg {
7562306a36Sopenharmony_ci	int back_porch;
7662306a36Sopenharmony_ci	int front_porch;
7762306a36Sopenharmony_ci	int pulse_width;
7862306a36Sopenharmony_ci};
7962306a36Sopenharmony_ci
8062306a36Sopenharmony_ci/* ioctls */
8162306a36Sopenharmony_ci#define FBIOGET_CONTRAST	_IOR('F', 1, int)
8262306a36Sopenharmony_ci#define FBIOPUT_CONTRAST	_IOW('F', 2, int)
8362306a36Sopenharmony_ci#define FBIGET_BRIGHTNESS	_IOR('F', 3, int)
8462306a36Sopenharmony_ci#define FBIPUT_BRIGHTNESS	_IOW('F', 3, int)
8562306a36Sopenharmony_ci#define FBIGET_COLOR		_IOR('F', 5, int)
8662306a36Sopenharmony_ci#define FBIPUT_COLOR		_IOW('F', 6, int)
8762306a36Sopenharmony_ci#define FBIPUT_HSYNC		_IOW('F', 9, int)
8862306a36Sopenharmony_ci#define FBIPUT_VSYNC		_IOW('F', 10, int)
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_ci/* Proprietary FB_SYNC_ flags */
9162306a36Sopenharmony_ci#define FB_SYNC_CLK_INVERT 0x40000000
9262306a36Sopenharmony_ci
9362306a36Sopenharmony_ci#endif  /* ifndef DA8XX_FB_H */
9462306a36Sopenharmony_ci
95