| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299 |
- #define LOG_TAG "INFO"
- #include "disp_drv_platform.h"
- #include "ddp_info.h"
- #include "ddp_debug.h"
- #include "ddp_log.h"
- #include "ddp_dsi.h"
- #include "ddp_ovl.h"
- #include "ddp_rdma.h"
- #include "ddp_rdma_ex.h"
- #include "ddp_wdma.h"
- #include "ddp_wdma_ex.h"
- char *ddp_get_module_name(DISP_MODULE_ENUM module)
- {
- switch (module) {
- case DISP_MODULE_UFOE:
- return "ufoe ";
- case DISP_MODULE_AAL:
- return "aal ";
- case DISP_MODULE_COLOR0:
- return "color0 ";
- case DISP_MODULE_COLOR1:
- return "color1 ";
- case DISP_MODULE_RDMA0:
- return "rdma0 ";
- case DISP_MODULE_RDMA1:
- return "rdma1 ";
- case DISP_MODULE_RDMA2:
- return "rdma2 ";
- case DISP_MODULE_WDMA0:
- return "wdma0 ";
- case DISP_MODULE_WDMA1:
- return "wdma1 ";
- case DISP_MODULE_OVL0:
- return "ovl0 ";
- case DISP_MODULE_OVL1:
- return "ovl1 ";
- case DISP_MODULE_GAMMA:
- return "gamma ";
- case DISP_MODULE_PWM0:
- return "pwm0 ";
- case DISP_MODULE_PWM1:
- return "pwm1 ";
- case DISP_MODULE_OD:
- return "od ";
- case DISP_MODULE_MERGE:
- return "merge ";
- case DISP_MODULE_SPLIT0:
- return "split0 ";
- case DISP_MODULE_SPLIT1:
- return "split1 ";
- case DISP_MODULE_DSI0:
- return "dsi0 ";
- case DISP_MODULE_DSI1:
- return "dsi1 ";
- case DISP_MODULE_DSIDUAL:
- return "dsidual ";
- case DISP_MODULE_DPI:
- return "dpi ";
- case DISP_MODULE_SMI:
- return "smi ";
- case DISP_MODULE_CONFIG:
- return "config ";
- case DISP_MODULE_CMDQ:
- return "cmdq ";
- case DISP_MODULE_MUTEX:
- return "mutex ";
- case DISP_MODULE_CCORR:
- return "ccorr";
- case DISP_MODULE_DITHER:
- return "dither";
- case DISP_MODULE_SMI_LARB0:
- return "smi_larb0";
- case DISP_MODULE_SMI_COMMON:
- return "smi_common";
- default:
- DDPMSG("invalid module id=%d", module);
- return "unknown";
- }
- }
- char *ddp_get_reg_module_name(DISP_REG_ENUM module)
- {
- switch (module) {
- case DISP_REG_OVL0:
- return "ovl0";
- case DISP_REG_OVL1:
- return "ovl1";
- case DISP_REG_RDMA0:
- return "rdma0";
- case DISP_REG_RDMA1:
- return "rdma1";
- case DISP_REG_WDMA0:
- return "wdma0";
- case DISP_REG_COLOR:
- return "color";
- case DISP_REG_CCORR:
- return "ccorr";
- case DISP_REG_AAL:
- return "aal";
- case DISP_REG_GAMMA:
- return "gamma";
- case DISP_REG_DITHER:
- return "dither";
- case DISP_REG_UFOE:
- return "ufoe";
- case DISP_REG_PWM:
- return "pwm";
- case DISP_REG_WDMA1:
- return "wdma1";
- case DISP_REG_MUTEX:
- return "mutex";
- case DISP_REG_DSI0:
- return "dsi0";
- case DISP_REG_DPI0:
- return "dpi0";
- case DISP_REG_CONFIG:
- return "config";
- case DISP_REG_SMI_LARB0:
- return "smi_larb0";
- case DISP_REG_SMI_COMMON:
- return "smi_common";
- case DISP_REG_CONFIG2:
- return "config_clk";
- case DISP_REG_CONFIG3:
- return "config_pll";
- case DISP_REG_IO_DRIVING1:
- return "dpi_io_drive1";
- case DISP_REG_IO_DRIVING2:
- return "dpi_io_drive2";
- case DISP_REG_IO_DRIVING3:
- return "dpi_io_drive3";
- case DISP_REG_EFUSE:
- return "efuse";
- case DISP_REG_EFUSE_PERMISSION:
- return "efuse_permission";
- case DISP_RGE_EFUSE_KEY:
- return "efuse_key";
- case DISP_REG_MIPI:
- return "mipi";
- case DISP_REG_OD:
- return "od";
- case DISP_RGE_VENCPLL:
- return "venc_pll";
- default:
- DDPMSG("invalid module id=%d", module);
- return "unknown";
- }
- }
- int ddp_get_module_max_irq_bit(DISP_MODULE_ENUM module)
- {
- switch (module) {
- case DISP_MODULE_UFOE:
- return 0;
- case DISP_MODULE_AAL:
- return 1;
- case DISP_MODULE_COLOR0:
- return 2;
- case DISP_MODULE_COLOR1:
- return 2;
- case DISP_MODULE_RDMA0:
- return 5;
- case DISP_MODULE_RDMA1:
- return 5;
- case DISP_MODULE_RDMA2:
- return 5;
- case DISP_MODULE_WDMA0:
- return 1;
- case DISP_MODULE_WDMA1:
- return 1;
- case DISP_MODULE_OVL0:
- return 3;
- case DISP_MODULE_OVL1:
- return 3;
- case DISP_MODULE_GAMMA:
- return 0;
- case DISP_MODULE_PWM0:
- return 0;
- case DISP_MODULE_PWM1:
- return 0;
- case DISP_MODULE_OD:
- return 0;
- case DISP_MODULE_MERGE:
- return 0;
- case DISP_MODULE_SPLIT0:
- return 0;
- case DISP_MODULE_SPLIT1:
- return 0;
- case DISP_MODULE_DSI0:
- return 6;
- case DISP_MODULE_DSI1:
- return 6;
- case DISP_MODULE_DSIDUAL:
- return 6;
- case DISP_MODULE_DPI:
- return 2;
- case DISP_MODULE_SMI:
- return 0;
- case DISP_MODULE_CONFIG:
- return 0;
- case DISP_MODULE_CMDQ:
- return 0;
- case DISP_MODULE_MUTEX:
- return 14;
- case DISP_MODULE_CCORR:
- return 0;
- case DISP_MODULE_DITHER:
- return 0;
- default:
- DDPMSG("invalid module id=%d", module);
- }
- return 0;
- }
- unsigned int ddp_module_to_idx(int module)
- {
- unsigned int id = 0;
- switch (module) {
- case DISP_MODULE_UFOE:
- case DISP_MODULE_AAL:
- case DISP_MODULE_COLOR0:
- case DISP_MODULE_RDMA0:
- case DISP_MODULE_WDMA0:
- case DISP_MODULE_OVL0:
- case DISP_MODULE_GAMMA:
- case DISP_MODULE_PWM0:
- case DISP_MODULE_OD:
- case DISP_MODULE_SPLIT0:
- case DISP_MODULE_DSI0:
- case DISP_MODULE_DPI:
- case DISP_MODULE_DITHER:
- case DISP_MODULE_CCORR:
- id = 0;
- break;
- case DISP_MODULE_COLOR1:
- case DISP_MODULE_RDMA1:
- case DISP_MODULE_WDMA1:
- case DISP_MODULE_OVL1:
- case DISP_MODULE_PWM1:
- case DISP_MODULE_SPLIT1:
- case DISP_MODULE_DSI1:
- id = 1;
- break;
- case DISP_MODULE_RDMA2:
- case DISP_MODULE_DSIDUAL:
- id = 2;
- break;
- default:
- DDPERR("ddp_module_to_idx, module=0x%x\n", module);
- }
- return id;
- }
- DDP_MODULE_DRIVER *ddp_modules_driver[DISP_MODULE_NUM] = {
- &ddp_driver_ovl, /* DISP_MODULE_OVL0 , */
- &ddp_driver_ovl, /* DISP_MODULE_OVL1 , */
- &ddp_driver_rdma, /* DISP_MODULE_RDMA0 , */
- &ddp_driver_rdma, /* DISP_MODULE_RDMA1 , */
- &ddp_driver_wdma, /* DISP_MODULE_WDMA0 , */
- &ddp_driver_color, /* DISP_MODULE_COLOR0, */
- &ddp_driver_ccorr, /* DISP_MODULE_CCORR , */
- &ddp_driver_aal, /* DISP_MODULE_AAL , */
- &ddp_driver_gamma, /* DISP_MODULE_GAMMA , */
- &ddp_driver_dither, /* DISP_MODULE_DITHER, */
- 0, /* DISP_MODULE_UFOE , //10 */
- &ddp_driver_pwm, /* DISP_MODULE_PWM0 , */
- 0, /* DISP_MODULE_WDMA1 , */
- &ddp_driver_dsi0, /* DISP_MODULE_DSI0 , */
- #ifndef DISP_NO_DPI
- &ddp_driver_dpi, /* DISP_MODULE_DPI , */
- #endif
- 0, /* DISP_MODULE_SMI, */
- 0, /* DISP_MODULE_CONFIG, */
- 0, /* DISP_MODULE_CMDQ, */
- 0, /* DISP_MODULE_MUTEX, */
- 0, /* DISP_MODULE_COLOR1, */
- 0, /* DISP_MODULE_RDMA2, */
- 0, /* DISP_MODULE_PWM1, */
- #if defined(MTK_FB_OD_SUPPORT)
- &ddp_driver_od, /* DISP_MODULE_OD, */
- #else
- 0, /* DISP_MODULE_OD, */
- #endif
- 0, /* DISP_MODULE_MERGE, */
- 0, /* DISP_MODULE_SPLIT0, */
- 0, /* DISP_MODULE_SPLIT1, */
- 0, /* DISP_MODULE_DSI1, */
- 0, /* DISP_MODULE_DSIDUAL, */
- 0, /* DISP_MODULE_SMI_LARB0 , */
- 0, /* DISP_MODULE_SMI_COMMON, */
- 0, /* DISP_MODULE_UNKNOWN, //20 */
- };
|