1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun #ifndef __RGA_API_H__ 3*4882a593Smuzhiyun #define __RGA_API_H__ 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun #include <linux/miscdevice.h> 6*4882a593Smuzhiyun #include <linux/wakelock.h> 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun #include "rga2_reg_info.h" 9*4882a593Smuzhiyun #include "rga2_debugger.h" 10*4882a593Smuzhiyun #include "rga2.h" 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun /* Driver information */ 13*4882a593Smuzhiyun #define DRIVER_DESC "RGA2 Device Driver" 14*4882a593Smuzhiyun #define DRIVER_NAME "rga2" 15*4882a593Smuzhiyun #define DRIVER_VERSION "2.1.0" 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun /* Logging */ 18*4882a593Smuzhiyun #define RGA_DEBUG 1 19*4882a593Smuzhiyun #if RGA_DEBUG 20*4882a593Smuzhiyun #define DBG(format, args...) printk(KERN_DEBUG "%s: " format, DRIVER_NAME, ## args) 21*4882a593Smuzhiyun #define ERR(format, args...) printk(KERN_ERR "%s: " format, DRIVER_NAME, ## args) 22*4882a593Smuzhiyun #define WARNING(format, args...) printk(KERN_WARN "%s: " format, DRIVER_NAME, ## args) 23*4882a593Smuzhiyun #define INFO(format, args...) printk(KERN_INFO "%s: " format, DRIVER_NAME, ## args) 24*4882a593Smuzhiyun #else 25*4882a593Smuzhiyun #define DBG(format, args...) 26*4882a593Smuzhiyun #define ERR(format, args...) 27*4882a593Smuzhiyun #define WARNING(format, args...) 28*4882a593Smuzhiyun #define INFO(format, args...) 29*4882a593Smuzhiyun #endif 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun struct rga2_drvdata_t { 32*4882a593Smuzhiyun struct miscdevice miscdev; 33*4882a593Smuzhiyun struct device *dev; 34*4882a593Smuzhiyun void *rga_base; 35*4882a593Smuzhiyun int irq; 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun struct delayed_work power_off_work; 38*4882a593Smuzhiyun struct wake_lock wake_lock; 39*4882a593Smuzhiyun void (*rga_irq_callback)(int rga_retval); 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun struct clk *aclk_rga2; 42*4882a593Smuzhiyun struct clk *hclk_rga2; 43*4882a593Smuzhiyun struct clk *pd_rga2; 44*4882a593Smuzhiyun struct clk *clk_rga2; 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun struct ion_client *ion_client; 47*4882a593Smuzhiyun char version[16]; 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun #ifdef CONFIG_ROCKCHIP_RGA2_DEBUGGER 50*4882a593Smuzhiyun struct rga_debugger *debugger; 51*4882a593Smuzhiyun #endif 52*4882a593Smuzhiyun }; 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun #define ENABLE 1 55*4882a593Smuzhiyun #define DISABLE 0 56*4882a593Smuzhiyun 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun 59*4882a593Smuzhiyun #endif 60