2019-05-27 08:55:05 +02:00
/* SPDX-License-Identifier: GPL-2.0-or-later */
2009-12-11 16:16:33 -08:00
/*
* 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 >
*/
# 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 ) ;
# endif /* __MACH_OMAP1_LCD_DMA_H__ */