/* Copyright (c) 2008-2009, Code Aurora Forum. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * Neither the name of Code Aurora nor * the names of its contributors may be used to endorse or promote * products derived from this software without specific prior written * permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * */ #ifndef MSM_FB_DEF_H #define MSM_FB_DEF_H #include #include #include #include #include #include #include #include "msm_mdp.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include typedef s64 int64; typedef s32 int32; typedef s16 int16; typedef s8 int8; typedef u64 uint64; typedef u32 uint32; typedef u16 uint16; typedef u8 uint8; typedef s32 int4; typedef s16 int2; typedef s8 int1; typedef u32 uint4; typedef u16 uint2; typedef u8 uint1; typedef u32 dword; typedef u16 word; typedef u8 byte; typedef unsigned int boolean; #ifndef TRUE #define TRUE 1 #endif #ifndef FALSE #define FALSE 0 #endif #define MSM_FB_ENABLE_DBGFS #define FEATURE_MDDI #define outp32(addr, val) writel(val, addr) #define outp16(addr, val) writew(val, addr) #define outp8(addr, val) writeb(val, addr) #define outp(addr, val) outp32(addr, val) #ifndef MAX #define MAX( x, y ) (((x) > (y)) ? (x) : (y)) #endif #ifndef MIN #define MIN( x, y ) (((x) < (y)) ? (x) : (y)) #endif /*--------------------------------------------------------------------------*/ #define inp32(addr) readl(addr) #define inp16(addr) readw(addr) #define inp8(addr) readb(addr) #define inp(addr) inp32(addr) #define inpw(port) readw(port) #define outpw(port, val) writew(val, port) #define inpdw(port) readl(port) #define outpdw(port, val) writel(val, port) #define clk_busy_wait(x) msleep_interruptible((x)/1000) #define memory_barrier() #define assert(expr) \ if(!(expr)) { \ printk(KERN_ERR "msm_fb: assertion failed! %s,%s,%s,line=%d\n",\ #expr, __FILE__, __func__, __LINE__); \ } #define ASSERT(x) assert(x) #define DISP_EBI2_LOCAL_DEFINE #ifdef DISP_EBI2_LOCAL_DEFINE #define LCD_PRIM_BASE_PHYS 0x98000000 #define LCD_SECD_BASE_PHYS 0x9c000000 #define EBI2_PRIM_LCD_RS_PIN 0x20000 #define EBI2_SECD_LCD_RS_PIN 0x20000 #define EBI2_PRIM_LCD_CLR 0xC0 #define EBI2_PRIM_LCD_SEL 0x40 #define EBI2_SECD_LCD_CLR 0x300 #define EBI2_SECD_LCD_SEL 0x100 #endif extern u32 msm_fb_msg_level; /* * Message printing priorities: * LEVEL 0 KERN_EMERG (highest priority) * LEVEL 1 KERN_ALERT * LEVEL 2 KERN_CRIT * LEVEL 3 KERN_ERR * LEVEL 4 KERN_WARNING * LEVEL 5 KERN_NOTICE * LEVEL 6 KERN_INFO * LEVEL 7 KERN_DEBUG (Lowest priority) */ #define MSM_FB_EMERG(msg, ...) \ if (msm_fb_msg_level > 0) \ printk(KERN_EMERG msg, ## __VA_ARGS__); #define MSM_FB_ALERT(msg, ...) \ if (msm_fb_msg_level > 1) \ printk(KERN_ALERT msg, ## __VA_ARGS__); #define MSM_FB_CRIT(msg, ...) \ if (msm_fb_msg_level > 2) \ printk(KERN_CRIT msg, ## __VA_ARGS__); #define MSM_FB_ERR(msg, ...) \ if (msm_fb_msg_level > 3) \ printk(KERN_ERR msg, ## __VA_ARGS__); #define MSM_FB_WARNING(msg, ...) \ if (msm_fb_msg_level > 4) \ printk(KERN_WARNING msg, ## __VA_ARGS__); #define MSM_FB_NOTICE(msg, ...) \ if (msm_fb_msg_level > 5) \ printk(KERN_NOTICE msg, ## __VA_ARGS__); #define MSM_FB_INFO(msg, ...) \ if (msm_fb_msg_level > 6) \ printk(KERN_INFO msg, ## __VA_ARGS__); #define MSM_FB_DEBUG(msg, ...) \ if (msm_fb_msg_level > 7) \ printk(KERN_DEBUG msg, ## __VA_ARGS__); #ifdef MSM_FB_C unsigned char *msm_mdp_base; unsigned char *msm_pmdh_base; unsigned char *msm_emdh_base; #else extern unsigned char *msm_mdp_base; extern unsigned char *msm_pmdh_base; extern unsigned char *msm_emdh_base; #endif #endif /* MSM_FB_DEF_H */