From 871480933a1c28f8a9fed4c4d34d06c439a7a422 Mon Sep 17 00:00:00 2001 From: Srikant Patnaik Date: Sun, 11 Jan 2015 12:28:04 +0530 Subject: Moved, renamed, and deleted files The original directory structure was scattered and unorganized. Changes are basically to make it look like kernel structure. --- drivers/video/wmt/vpp-osif.h | 263 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 263 insertions(+) create mode 100755 drivers/video/wmt/vpp-osif.h (limited to 'drivers/video/wmt/vpp-osif.h') diff --git a/drivers/video/wmt/vpp-osif.h b/drivers/video/wmt/vpp-osif.h new file mode 100755 index 00000000..ddc561e7 --- /dev/null +++ b/drivers/video/wmt/vpp-osif.h @@ -0,0 +1,263 @@ +/*++ + * linux/drivers/video/wmt/vpp-osif.h + * WonderMedia video post processor (VPP) driver + * + * Copyright c 2014 WonderMedia Technologies, Inc. + * + * 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, see . + * + * WonderMedia Technologies, Inc. + * 4F, 533, Chung-Cheng Road, Hsin-Tien, Taipei 231, R.O.C +--*/ + +#ifndef VPP_OSIF_H +#define VPP_OSIF_H + +/*-------------------- DEPENDENCY -------------------------------------*/ +#ifdef CFG_LOADER + #define CONFIG_UBOOT + + #ifdef __KERNEL__ + #undef __KERNEL__ + #endif +#elif defined(__KERNEL__) + #define CONFIG_KERNEL +#else + #define CONFIG_VPOST +#endif + +/* -------------------------------------------------- */ +#ifdef DEBUG + #define DBG_MSG(fmt, args...) DPRINT("{%s} " fmt, __func__, ## args) +#else + #define DBG_MSG(fmt, args...) +#endif + +#ifdef DEBUG_DETAIL +#define DBG_DETAIL(fmt, args...) DPRINT("{%s} " fmt, __func__, ## args) +#else +#define DBG_DETAIL(fmt, args...) +#endif +#define MSG(fmt, args...) DPRINT("" fmt, ## args) +#define DBG_ERR(fmt, args...) \ + DPRINT(KERN_ERR "*E* {%s} " fmt, __func__, ## args) +#define DMSG(fmt, args...) \ + DPRINT("{%s,%d} " fmt, __func__, __LINE__, ## args) + +#ifdef DEBUG +#define DBGMSG(fmt, args...) DPRINT("{%s} " fmt, __func__, ## args) +#else +#define DBGMSG(fmt, args...) +#endif + +#if 0 /* disable all msg */ +#undef MSG +#undef DBGMSG + +#define MSG(fmt, args...) +#define DBGMSG(fmt, args...) +#endif + +#define HW_REG volatile + +/* -------------------------------------------------- */ +#ifdef CONFIG_KERNEL +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define SA_INTERRUPT IRQF_DISABLED +#endif + +/* -------------------------------------------------- */ +#ifdef CONFIG_UBOOT +#define CONFIG_WMT_EDID +#define CONFIG_WMT_EXT_DEV_PLUG_DISABLE + +#include +#include "../../board/wmt/include/common_def.h" +#include +#include +#include "hw_devices.h" +#include "hw/wmt_mmap.h" +#include "hw/wmt-pwm.h" +#include "hw/wmt-ost.h" +#include "hw/wmt_gpio.h" +#include "wmt_display.h" +#include "../../board/wmt/include/wmt_clk.h" +#include "../../board/wmt/include/i2c.h" + +#define abs(a) ((a >= 0) ? a : (-1 * a)) +#endif + +/* -------------------------------------------------- */ +#ifdef CONFIG_VPOST +#include +#include +#include + +#include "global.h" +#define __ASM_ARCH_HARDWARE_H +#include "../include/wmt_mmap.h" +#include "../pmc/wmt_clk.h" +#include "../i2c/i2c.h" +#include "linux/wmt-mb.h" +#endif + +/* following is the C++ header */ +#ifdef __cplusplus +extern "C" { +#endif + +/*-------------------- EXPORTED PRIVATE CONSTANTS ----------------------------*/ +#ifdef CONFIG_KERNEL +#define THE_MB_USER "VPP-MB" +#define DPRINT printk +/* -------------------------------------------------- */ +#endif + +#ifdef CONFIG_UBOOT +#define IRQ_GPIO 0 + +#define mdelay(x) wmt_delayus(1000 * x) +#define udelay(x) wmt_delayus(x) + +#define mb_alloc(a) malloc(a) +#define kmalloc(a, b) malloc(a) +#define kfree(a) free(a) +#define GFP_KERNEL 0 +#define module_init(a) + +#define DPRINT printf +#define mb_phys_to_virt(a) (a) +#define mb_virt_to_phys(a) (a) +#define EXPORT_SYMBOL(a) + +#define IRQF_SHARED 0 +#define IRQF_DISABLED 0 +#define SA_INTERRUPT 0 + +#define KERN_ALERT +#define KERN_ERR +#define KERN_DEBUG +#define KERN_WARNING +#define KERN_INFO + +#define printk printf +#endif + +/*-------------------- EXPORTED PRIVATE TYPES---------------------------------*/ +/* typedef void hdmi_xxx_t; *//*Example*/ + +/*-------------------- EXPORTED PRIVATE VARIABLES ----------------------------*/ +#ifdef VPP_OSIF_C +#define EXTERN +#else +#define EXTERN extern +#endif /* ifdef VPP_OSIF_C */ + +/* EXTERN int hdmi_xxx; *//*Example*/ + +#undef EXTERN + +/*--------------------- EXPORTED PRIVATE MACROS ------------------------------*/ +/* #define HDMI_XXX_YYY xxxx *//*Example*/ + +/*--------------------- EXPORTED PRIVATE FUNCTIONS --------------------------*/ +/* extern void hdmi_xxx(void); *//*Example*/ +#ifdef CONFIG_KERNEL +extern void wmt_i2c_xfer_continue_if(struct i2c_msg *msg, + unsigned int num); +extern void wmt_i2c_xfer_if(struct i2c_msg *msg); +extern int wmt_i2c_xfer_continue_if_4(struct i2c_msg *msg, + unsigned int num, int bus_id); +#else +inline unsigned int inl(unsigned int offset); +inline void outl(unsigned int val, unsigned int offset); +inline unsigned short inw(unsigned int offset); +inline void outw(unsigned short val, unsigned int offset); +inline unsigned char inb(unsigned int offset); +inline void outb(unsigned char val, unsigned int offset); +#endif + +#ifdef CONFIG_UBOOT +extern int wmt_getsyspara(char *varname, char *varval, int *varlen); +extern int auto_pll_divisor(enum dev_id dev, enum clk_cmd cmd, + int unit, int freq); +extern struct fb_var_screeninfo vfb_var; +#endif + +#ifdef CONFIG_VPOST +void vpp_initialization(int FunctionNumber); +void udelay(int us); +void mdelay(int ms); +extern int auto_pll_divisor(enum dev_id dev, enum clk_cmd cmd, + int unit, int freq); +extern void vpp_post_delay(U32 tmr); +extern int get_num(unsigned int min, unsigned int max, + char *message, unsigned int retry); +#endif + +extern unsigned int wmt_read_oscr(void); +int wmt_getsyspara(char *varname, char *varval, int *varlen); +int vpp_request_irq(unsigned int irq_no, void *routine, + unsigned int flags, char *name, void *arg); +void vpp_free_irq(unsigned int irq_no, void *arg); +int vpp_parse_param(char *buf, unsigned int *param, + int cnt, unsigned int hex_mask); +void vpp_lock_l(void); +void vpp_unlock(void); + +#define vpp_lock() vpp_lock_l(); \ + /* DPRINT("vpp_lock %s %d\n",__FUNCTION__,__LINE__); */ + +int vpp_i2c_write(int id, unsigned int addr, unsigned int index, + char *pdata, int len); +int vpp_i2c_read(int id, unsigned int addr, unsigned int index, + char *pdata, int len); +int vpp_i2c_enhanced_ddc_read(int id, unsigned int addr, + unsigned int index, char *pdata, int len); +int vpp_i2c_init(int i2c_id, unsigned short addr); +int vpp_i2c_release(void); +void vpp_set_clock_enable(enum dev_id dev, int enable, int force); +void vpp_udelay(unsigned int us); +unsigned int vppif_reg32_write(unsigned int offset, + unsigned int mask, unsigned int shift, unsigned int val); +unsigned int vppif_reg32_read(unsigned int offset, + unsigned int mask, unsigned int shift); +unsigned int vppif_reg32_mask(unsigned int offset, + unsigned int mask, unsigned int shift); +void vpp_reg_dump(unsigned int addr, int size); +unsigned int *vpp_backup_reg(unsigned int addr, unsigned int size); +int vpp_restore_reg(unsigned int addr, + unsigned int size, unsigned int *reg_ptr); + +#ifdef __cplusplus +} +#endif +#endif /* VPP_OSIF_H */ + -- cgit From 63058268f9ab1c96396d3d138aefc3f7b0f72869 Mon Sep 17 00:00:00 2001 From: Srikant Patnaik Date: Sun, 11 Jan 2015 20:10:08 +0530 Subject: Fix white screen issue during bootup Signed-off-by: Manish Patel --- drivers/video/wmt/vpp-osif.h | 26 +++++--------------------- 1 file changed, 5 insertions(+), 21 deletions(-) mode change 100755 => 100644 drivers/video/wmt/vpp-osif.h (limited to 'drivers/video/wmt/vpp-osif.h') diff --git a/drivers/video/wmt/vpp-osif.h b/drivers/video/wmt/vpp-osif.h old mode 100755 new mode 100644 index ddc561e7..988766fd --- a/drivers/video/wmt/vpp-osif.h +++ b/drivers/video/wmt/vpp-osif.h @@ -2,7 +2,7 @@ * linux/drivers/video/wmt/vpp-osif.h * WonderMedia video post processor (VPP) driver * - * Copyright c 2014 WonderMedia Technologies, Inc. + * Copyright c 2013 WonderMedia Technologies, Inc. * * 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 @@ -69,8 +69,6 @@ #define DBGMSG(fmt, args...) #endif -#define HW_REG volatile - /* -------------------------------------------------- */ #ifdef CONFIG_KERNEL #include @@ -145,6 +143,9 @@ extern "C" { #define mdelay(x) wmt_delayus(1000 * x) #define udelay(x) wmt_delayus(x) +#define REG32_VAL(addr) (*(volatile unsigned int *)(addr)) +#define REG16_VAL(addr) (*(volatile unsigned short *)(addr)) +#define REG8_VAL(addr) (*(volatile unsigned char *)(addr)) #define mb_alloc(a) malloc(a) #define kmalloc(a, b) malloc(a) @@ -168,6 +169,7 @@ extern "C" { #define KERN_INFO #define printk printf +#define BIT(x) (1 << x) #endif /*-------------------- EXPORTED PRIVATE TYPES---------------------------------*/ @@ -195,13 +197,6 @@ extern void wmt_i2c_xfer_continue_if(struct i2c_msg *msg, extern void wmt_i2c_xfer_if(struct i2c_msg *msg); extern int wmt_i2c_xfer_continue_if_4(struct i2c_msg *msg, unsigned int num, int bus_id); -#else -inline unsigned int inl(unsigned int offset); -inline void outl(unsigned int val, unsigned int offset); -inline unsigned short inw(unsigned int offset); -inline void outw(unsigned short val, unsigned int offset); -inline unsigned char inb(unsigned int offset); -inline void outb(unsigned char val, unsigned int offset); #endif #ifdef CONFIG_UBOOT @@ -222,7 +217,6 @@ extern int get_num(unsigned int min, unsigned int max, char *message, unsigned int retry); #endif -extern unsigned int wmt_read_oscr(void); int wmt_getsyspara(char *varname, char *varval, int *varlen); int vpp_request_irq(unsigned int irq_no, void *routine, unsigned int flags, char *name, void *arg); @@ -245,16 +239,6 @@ int vpp_i2c_init(int i2c_id, unsigned short addr); int vpp_i2c_release(void); void vpp_set_clock_enable(enum dev_id dev, int enable, int force); void vpp_udelay(unsigned int us); -unsigned int vppif_reg32_write(unsigned int offset, - unsigned int mask, unsigned int shift, unsigned int val); -unsigned int vppif_reg32_read(unsigned int offset, - unsigned int mask, unsigned int shift); -unsigned int vppif_reg32_mask(unsigned int offset, - unsigned int mask, unsigned int shift); -void vpp_reg_dump(unsigned int addr, int size); -unsigned int *vpp_backup_reg(unsigned int addr, unsigned int size); -int vpp_restore_reg(unsigned int addr, - unsigned int size, unsigned int *reg_ptr); #ifdef __cplusplus } -- cgit