xref: /linux/drivers/video/fbdev/omap/lcdc.h (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
2f7018c21STomi Valkeinen #ifndef LCDC_H
3f7018c21STomi Valkeinen #define LCDC_H
4*042c4884SArnd Bergmann /*
5*042c4884SArnd Bergmann  * Copyright (C) 2004 Nokia Corporation
6*042c4884SArnd Bergmann  * Author: Imre Deak <imre.deak@nokia.com>
7*042c4884SArnd Bergmann  */
8*042c4884SArnd Bergmann #define OMAP_LCDC_BASE			0xfffec000
9*042c4884SArnd Bergmann #define OMAP_LCDC_SIZE			256
10*042c4884SArnd Bergmann #define OMAP_LCDC_IRQ			INT_LCD_CTRL
11*042c4884SArnd Bergmann 
12*042c4884SArnd Bergmann #define OMAP_LCDC_CONTROL		(OMAP_LCDC_BASE + 0x00)
13*042c4884SArnd Bergmann #define OMAP_LCDC_TIMING0		(OMAP_LCDC_BASE + 0x04)
14*042c4884SArnd Bergmann #define OMAP_LCDC_TIMING1		(OMAP_LCDC_BASE + 0x08)
15*042c4884SArnd Bergmann #define OMAP_LCDC_TIMING2		(OMAP_LCDC_BASE + 0x0c)
16*042c4884SArnd Bergmann #define OMAP_LCDC_STATUS		(OMAP_LCDC_BASE + 0x10)
17*042c4884SArnd Bergmann #define OMAP_LCDC_SUBPANEL		(OMAP_LCDC_BASE + 0x14)
18*042c4884SArnd Bergmann #define OMAP_LCDC_LINE_INT		(OMAP_LCDC_BASE + 0x18)
19*042c4884SArnd Bergmann #define OMAP_LCDC_DISPLAY_STATUS	(OMAP_LCDC_BASE + 0x1c)
20*042c4884SArnd Bergmann 
21*042c4884SArnd Bergmann #define OMAP_LCDC_STAT_DONE		(1 << 0)
22*042c4884SArnd Bergmann #define OMAP_LCDC_STAT_VSYNC		(1 << 1)
23*042c4884SArnd Bergmann #define OMAP_LCDC_STAT_SYNC_LOST	(1 << 2)
24*042c4884SArnd Bergmann #define OMAP_LCDC_STAT_ABC		(1 << 3)
25*042c4884SArnd Bergmann #define OMAP_LCDC_STAT_LINE_INT		(1 << 4)
26*042c4884SArnd Bergmann #define OMAP_LCDC_STAT_FUF		(1 << 5)
27*042c4884SArnd Bergmann #define OMAP_LCDC_STAT_LOADED_PALETTE	(1 << 6)
28*042c4884SArnd Bergmann 
29*042c4884SArnd Bergmann #define OMAP_LCDC_CTRL_LCD_EN		(1 << 0)
30*042c4884SArnd Bergmann #define OMAP_LCDC_CTRL_LCD_TFT		(1 << 7)
31*042c4884SArnd Bergmann #define OMAP_LCDC_CTRL_LINE_IRQ_CLR_SEL	(1 << 10)
32*042c4884SArnd Bergmann 
33*042c4884SArnd Bergmann #define OMAP_LCDC_IRQ_VSYNC		(1 << 2)
34*042c4884SArnd Bergmann #define OMAP_LCDC_IRQ_DONE		(1 << 3)
35*042c4884SArnd Bergmann #define OMAP_LCDC_IRQ_LOADED_PALETTE	(1 << 4)
36*042c4884SArnd Bergmann #define OMAP_LCDC_IRQ_LINE_NIRQ		(1 << 5)
37*042c4884SArnd Bergmann #define OMAP_LCDC_IRQ_LINE		(1 << 6)
38*042c4884SArnd Bergmann #define OMAP_LCDC_IRQ_MASK		(((1 << 5) - 1) << 2)
39f7018c21STomi Valkeinen 
40f7018c21STomi Valkeinen int omap_lcdc_set_dma_callback(void (*callback)(void *data), void *data);
41f7018c21STomi Valkeinen void omap_lcdc_free_dma_callback(void);
42f7018c21STomi Valkeinen 
43f7018c21STomi Valkeinen extern const struct lcd_ctrl omap1_int_ctrl;
44f7018c21STomi Valkeinen 
45f7018c21STomi Valkeinen #endif
46