Blame view

kernel/linux-rt-4.4.41/arch/arm/mach-omap1/include/mach/lcd_dma.h 3.39 KB
5113f6f70   김현기   kernel add
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
  /*
   *  arch/arm/mach-omap1/include/mach/lcd_dma.h
   *
   * Extracted from arch/arm/plat-omap/include/plat/dma.h
   *  Copyright (C) 2003 Nokia Corporation
   *  Author: Juha Yrjölä <juha.yrjola@nokia.com>
   *
   * This program is free software; you can redistribute it and/or modify
   * it under the terms of the GNU General Public License as published by
   * the Free Software Foundation; either version 2 of the License, or
   * (at your option) any later version.
   *
   * This program is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
   * GNU General Public License for more details.
   *
   * You should have received a copy of the GNU General Public License
   * along with this program; if not, write to the Free Software
   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
   */
  #ifndef __MACH_OMAP1_LCD_DMA_H__
  #define __MACH_OMAP1_LCD_DMA_H__
  
  /* Hardware registers for LCD DMA */
  #define OMAP1510_DMA_LCD_BASE		(0xfffedb00)
  #define OMAP1510_DMA_LCD_CTRL		(OMAP1510_DMA_LCD_BASE + 0x00)
  #define OMAP1510_DMA_LCD_TOP_F1_L	(OMAP1510_DMA_LCD_BASE + 0x02)
  #define OMAP1510_DMA_LCD_TOP_F1_U	(OMAP1510_DMA_LCD_BASE + 0x04)
  #define OMAP1510_DMA_LCD_BOT_F1_L	(OMAP1510_DMA_LCD_BASE + 0x06)
  #define OMAP1510_DMA_LCD_BOT_F1_U	(OMAP1510_DMA_LCD_BASE + 0x08)
  
  #define OMAP1610_DMA_LCD_BASE		(0xfffee300)
  #define OMAP1610_DMA_LCD_CSDP		(OMAP1610_DMA_LCD_BASE + 0xc0)
  #define OMAP1610_DMA_LCD_CCR		(OMAP1610_DMA_LCD_BASE + 0xc2)
  #define OMAP1610_DMA_LCD_CTRL		(OMAP1610_DMA_LCD_BASE + 0xc4)
  #define OMAP1610_DMA_LCD_TOP_B1_L	(OMAP1610_DMA_LCD_BASE + 0xc8)
  #define OMAP1610_DMA_LCD_TOP_B1_U	(OMAP1610_DMA_LCD_BASE + 0xca)
  #define OMAP1610_DMA_LCD_BOT_B1_L	(OMAP1610_DMA_LCD_BASE + 0xcc)
  #define OMAP1610_DMA_LCD_BOT_B1_U	(OMAP1610_DMA_LCD_BASE + 0xce)
  #define OMAP1610_DMA_LCD_TOP_B2_L	(OMAP1610_DMA_LCD_BASE + 0xd0)
  #define OMAP1610_DMA_LCD_TOP_B2_U	(OMAP1610_DMA_LCD_BASE + 0xd2)
  #define OMAP1610_DMA_LCD_BOT_B2_L	(OMAP1610_DMA_LCD_BASE + 0xd4)
  #define OMAP1610_DMA_LCD_BOT_B2_U	(OMAP1610_DMA_LCD_BASE + 0xd6)
  #define OMAP1610_DMA_LCD_SRC_EI_B1	(OMAP1610_DMA_LCD_BASE + 0xd8)
  #define OMAP1610_DMA_LCD_SRC_FI_B1_L	(OMAP1610_DMA_LCD_BASE + 0xda)
  #define OMAP1610_DMA_LCD_SRC_EN_B1	(OMAP1610_DMA_LCD_BASE + 0xe0)
  #define OMAP1610_DMA_LCD_SRC_FN_B1	(OMAP1610_DMA_LCD_BASE + 0xe4)
  #define OMAP1610_DMA_LCD_LCH_CTRL	(OMAP1610_DMA_LCD_BASE + 0xea)
  #define OMAP1610_DMA_LCD_SRC_FI_B1_U	(OMAP1610_DMA_LCD_BASE + 0xf4)
  
  /* LCD DMA block numbers */
  enum {
  	OMAP_LCD_DMA_B1_TOP,
  	OMAP_LCD_DMA_B1_BOTTOM,
  	OMAP_LCD_DMA_B2_TOP,
  	OMAP_LCD_DMA_B2_BOTTOM
  };
  
  /* LCD DMA functions */
  extern int omap_request_lcd_dma(void (*callback)(u16 status, void *data),
  				void *data);
  extern void omap_free_lcd_dma(void);
  extern void omap_setup_lcd_dma(void);
  extern void omap_enable_lcd_dma(void);
  extern void omap_stop_lcd_dma(void);
  extern void omap_set_lcd_dma_ext_controller(int external);
  extern void omap_set_lcd_dma_single_transfer(int single);
  extern void omap_set_lcd_dma_b1(unsigned long addr, u16 fb_xres, u16 fb_yres,
  				int data_type);
  extern void omap_set_lcd_dma_b1_rotation(int rotate);
  extern void omap_set_lcd_dma_b1_vxres(unsigned long vxres);
  extern void omap_set_lcd_dma_b1_mirror(int mirror);
  extern void omap_set_lcd_dma_b1_scale(unsigned int xscale, unsigned int yscale);
  
  extern int omap_lcd_dma_running(void);
  
  #endif /* __MACH_OMAP1_LCD_DMA_H__ */