Path: blob/master/arch/arm/mach-omap1/include/mach/lcd_dma.h
10820 views
/*1* arch/arm/mach-omap1/include/mach/lcd_dma.h2*3* Extracted from arch/arm/plat-omap/include/plat/dma.h4* Copyright (C) 2003 Nokia Corporation5* Author: Juha Yrjölä <[email protected]>6*7* This program is free software; you can redistribute it and/or modify8* it under the terms of the GNU General Public License as published by9* the Free Software Foundation; either version 2 of the License, or10* (at your option) any later version.11*12* This program is distributed in the hope that it will be useful,13* but WITHOUT ANY WARRANTY; without even the implied warranty of14* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the15* GNU General Public License for more details.16*17* You should have received a copy of the GNU General Public License18* along with this program; if not, write to the Free Software19* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA20*/21#ifndef __MACH_OMAP1_LCD_DMA_H__22#define __MACH_OMAP1_LCD_DMA_H__2324/* Hardware registers for LCD DMA */25#define OMAP1510_DMA_LCD_BASE (0xfffedb00)26#define OMAP1510_DMA_LCD_CTRL (OMAP1510_DMA_LCD_BASE + 0x00)27#define OMAP1510_DMA_LCD_TOP_F1_L (OMAP1510_DMA_LCD_BASE + 0x02)28#define OMAP1510_DMA_LCD_TOP_F1_U (OMAP1510_DMA_LCD_BASE + 0x04)29#define OMAP1510_DMA_LCD_BOT_F1_L (OMAP1510_DMA_LCD_BASE + 0x06)30#define OMAP1510_DMA_LCD_BOT_F1_U (OMAP1510_DMA_LCD_BASE + 0x08)3132#define OMAP1610_DMA_LCD_BASE (0xfffee300)33#define OMAP1610_DMA_LCD_CSDP (OMAP1610_DMA_LCD_BASE + 0xc0)34#define OMAP1610_DMA_LCD_CCR (OMAP1610_DMA_LCD_BASE + 0xc2)35#define OMAP1610_DMA_LCD_CTRL (OMAP1610_DMA_LCD_BASE + 0xc4)36#define OMAP1610_DMA_LCD_TOP_B1_L (OMAP1610_DMA_LCD_BASE + 0xc8)37#define OMAP1610_DMA_LCD_TOP_B1_U (OMAP1610_DMA_LCD_BASE + 0xca)38#define OMAP1610_DMA_LCD_BOT_B1_L (OMAP1610_DMA_LCD_BASE + 0xcc)39#define OMAP1610_DMA_LCD_BOT_B1_U (OMAP1610_DMA_LCD_BASE + 0xce)40#define OMAP1610_DMA_LCD_TOP_B2_L (OMAP1610_DMA_LCD_BASE + 0xd0)41#define OMAP1610_DMA_LCD_TOP_B2_U (OMAP1610_DMA_LCD_BASE + 0xd2)42#define OMAP1610_DMA_LCD_BOT_B2_L (OMAP1610_DMA_LCD_BASE + 0xd4)43#define OMAP1610_DMA_LCD_BOT_B2_U (OMAP1610_DMA_LCD_BASE + 0xd6)44#define OMAP1610_DMA_LCD_SRC_EI_B1 (OMAP1610_DMA_LCD_BASE + 0xd8)45#define OMAP1610_DMA_LCD_SRC_FI_B1_L (OMAP1610_DMA_LCD_BASE + 0xda)46#define OMAP1610_DMA_LCD_SRC_EN_B1 (OMAP1610_DMA_LCD_BASE + 0xe0)47#define OMAP1610_DMA_LCD_SRC_FN_B1 (OMAP1610_DMA_LCD_BASE + 0xe4)48#define OMAP1610_DMA_LCD_LCH_CTRL (OMAP1610_DMA_LCD_BASE + 0xea)49#define OMAP1610_DMA_LCD_SRC_FI_B1_U (OMAP1610_DMA_LCD_BASE + 0xf4)5051/* LCD DMA block numbers */52enum {53OMAP_LCD_DMA_B1_TOP,54OMAP_LCD_DMA_B1_BOTTOM,55OMAP_LCD_DMA_B2_TOP,56OMAP_LCD_DMA_B2_BOTTOM57};5859/* LCD DMA functions */60extern int omap_request_lcd_dma(void (*callback)(u16 status, void *data),61void *data);62extern void omap_free_lcd_dma(void);63extern void omap_setup_lcd_dma(void);64extern void omap_enable_lcd_dma(void);65extern void omap_stop_lcd_dma(void);66extern void omap_set_lcd_dma_ext_controller(int external);67extern void omap_set_lcd_dma_single_transfer(int single);68extern void omap_set_lcd_dma_b1(unsigned long addr, u16 fb_xres, u16 fb_yres,69int data_type);70extern void omap_set_lcd_dma_b1_rotation(int rotate);71extern void omap_set_lcd_dma_b1_vxres(unsigned long vxres);72extern void omap_set_lcd_dma_b1_mirror(int mirror);73extern void omap_set_lcd_dma_b1_scale(unsigned int xscale, unsigned int yscale);7475extern int omap_lcd_dma_running(void);7677#endif /* __MACH_OMAP1_LCD_DMA_H__ */787980