本文整理汇总了C++中DISP_REG_SET函数的典型用法代码示例。如果您正苦于以下问题:C++ DISP_REG_SET函数的具体用法?C++ DISP_REG_SET怎么用?C++ DISP_REG_SET使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了DISP_REG_SET函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OVLStop
int OVLStop() {
DISP_REG_SET(DISP_REG_OVL_INTEN, 0x00);
DISP_REG_SET(DISP_REG_OVL_EN, 0x00);
DISP_REG_SET(DISP_REG_OVL_INTSTA, 0x00);
return 0;
}
示例2: OVLLayerSwitch
int OVLLayerSwitch(unsigned layer, bool en) {
ASSERT(layer<=3);
switch(layer) {
case 0:
DISP_REG_SET_FIELD(SRC_CON_FLD_L0_EN, DISP_REG_OVL_SRC_CON, en);
DISP_REG_SET(DISP_REG_OVL_RDMA0_CTRL, 0);
break;
case 1:
DISP_REG_SET_FIELD(SRC_CON_FLD_L1_EN, DISP_REG_OVL_SRC_CON, en);
DISP_REG_SET(DISP_REG_OVL_RDMA1_CTRL, 0);
break;
case 2:
DISP_REG_SET_FIELD(SRC_CON_FLD_L2_EN, DISP_REG_OVL_SRC_CON, en);
DISP_REG_SET(DISP_REG_OVL_RDMA2_CTRL, 0);
break;
case 3:
DISP_REG_SET_FIELD(SRC_CON_FLD_L3_EN, DISP_REG_OVL_SRC_CON, en);
DISP_REG_SET(DISP_REG_OVL_RDMA3_CTRL, 0);
break;
default:
printk("error: invalid layer=%d \n", layer); // invalid layer
ASSERT(0);
}
return 0;
}
示例3: aal_test_ink
static void aal_test_ink(const char *cmd)
{
int en = (cmd[0] - '0');
const unsigned long cabc_04 = DISP_AAL_CABC_00 + 0x4 * 4;
switch (en) {
case 1:
DISP_REG_SET(NULL, cabc_04, (1 << 31) | (511 << 18));
break;
case 2:
DISP_REG_SET(NULL, cabc_04, (1 << 31) | (511 << 9));
break;
case 3:
DISP_REG_SET(NULL, cabc_04, (1 << 31) | (511 << 0));
break;
case 4:
DISP_REG_SET(NULL, cabc_04, (1 << 31) | (511 << 18) | (511 << 9) | 511);
break;
default:
DISP_REG_SET(NULL, cabc_04, 0);
break;
}
disp_aal_trigger_refresh();
}
示例4: OVLStart
int OVLStart(void) {
DISP_REG_SET(DISP_REG_OVL_INTEN, 0x0f);
DISP_REG_SET(DISP_REG_OVL_EN, 0x01);
return 0;
}
示例5: disp_path_config_layer_addr
int disp_path_config_layer_addr(unsigned int layer, unsigned int addr)
{
unsigned int reg_addr;
printf("[DDP]disp_path_config_layer_addr(), layer=%d, addr=0x%x\n ", layer, addr);
// disp_path_get_mutex();
switch(layer)
{
case 0:
DISP_REG_SET(DISP_REG_OVL_L0_ADDR, addr);
reg_addr = DISP_REG_OVL_L0_ADDR;
break;
case 1:
DISP_REG_SET(DISP_REG_OVL_L1_ADDR, addr);
reg_addr = DISP_REG_OVL_L1_ADDR;
break;
case 2:
DISP_REG_SET(DISP_REG_OVL_L2_ADDR, addr);
reg_addr = DISP_REG_OVL_L2_ADDR;
break;
case 3:
DISP_REG_SET(DISP_REG_OVL_L3_ADDR, addr);
reg_addr = DISP_REG_OVL_L3_ADDR;
break;
default:
printf("[DDP] error! error: unknow layer=%d \n", layer);
}
printf("[DDP]disp_path_config_layer_addr() done, addr=0x%x \n", DISP_REG_GET(reg_addr));
// disp_path_release_mutex();
return 0;
}
示例6: disp_bls_enable_irq
int disp_bls_enable_irq(unsigned int value)
{
DISP_REG_SET(DISP_REG_BLS_INTSTA, 0x00);
DISP_REG_SET(DISP_REG_BLS_INTEN, value);
return 0;
}
示例7: ovl_start
int ovl_start(DISP_MODULE_ENUM module, void *handle)
{
int idx = ovl_index(module);
int idx_offset = idx*DISP_OVL_INDEX_OFFSET;
DISP_REG_SET(handle, idx_offset+DISP_REG_OVL_EN, 0x01);
int enable_ovl_irq = 1;
#if defined(CONFIG_TRUSTONIC_TEE_SUPPORT) && defined(CONFIG_MTK_SEC_VIDEO_PATH_SUPPORT)
enable_ovl_irq = 1;
#else
if(gEnableIRQ==1)
enable_ovl_irq = 1;
else
enable_ovl_irq = 0;
#endif
if(enable_ovl_irq)
DISP_REG_SET(handle, idx_offset+DISP_REG_OVL_INTEN, 0x1e2);
else
DISP_REG_SET(handle, idx_offset+DISP_REG_OVL_INTEN, 0x1e0);
DISP_REG_SET_FIELD(handle, DATAPATH_CON_FLD_LAYER_SMI_ID_EN,
idx_offset+DISP_REG_OVL_DATAPATH_CON, 0x1);
return 0;
}
示例8: ovl_layer_switch
int ovl_layer_switch(DISP_MODULE_ENUM module,
unsigned layer,
unsigned int en,
void *handle)
{
int idx = ovl_index(module);
int idx_offset = idx*DISP_OVL_INDEX_OFFSET;
ASSERT(layer <= 3);
// DDPDBG("ovl%d,layer %d,enable %d\n", idx, layer, en);
switch (layer) {
case 0:
DISP_REG_SET(handle, idx_offset+DISP_REG_OVL_RDMA0_CTRL, en);
break;
case 1:
DISP_REG_SET(handle, idx_offset+DISP_REG_OVL_RDMA1_CTRL, en);
break;
case 2:
DISP_REG_SET(handle, idx_offset+DISP_REG_OVL_RDMA2_CTRL, en);
break;
case 3:
DISP_REG_SET(handle, idx_offset+DISP_REG_OVL_RDMA3_CTRL, en);
break;
default:
DDPERR("invalid layer=%d\n", layer);
ASSERT(0);
}
return 0;
}
示例9: SCLStop
/* stop module */
int SCLStop(void)
{
DISP_REG_SET_FIELD(DSCL_CTRL_FLD_SCL_EN, DISP_REG_SCL_CTRL, 0);
DISP_REG_SET(DISP_REG_SCL_INTEN, 0);
DISP_REG_SET(DISP_REG_SCL_INTSTA, 0);
return 0;
}
示例10: disp_bls_set_backlight
int disp_bls_set_backlight(unsigned int level)
{
printf("[DDP] disp_bls_set_backlight: %d, CG = 0x%x, BLS_EN = 0x%x, PWM_DUTY = %d\n",
level,
DISP_REG_GET(DISP_REG_CONFIG_MMSYS_CG_CON0),
DISP_REG_GET(DISP_REG_BLS_EN),
DISP_REG_GET(DISP_REG_BLS_PWM_DUTY));
if (level && (!(DISP_REG_GET(DISP_REG_BLS_EN) & 0x10000)))
{
disp_bls_config();
}
#ifdef USE_DISP_BLS_MUTEX
disp_bls_get_mutex();
#else
DISP_REG_SET(DISP_REG_BLS_DEBUG, 0x3);
#endif
DISP_REG_SET(DISP_REG_BLS_PWM_DUTY, brightness_mapping(level));
printf("[DDP] PWM_DUTY: %x\n", DISP_REG_GET(DISP_REG_BLS_PWM_DUTY));
#ifdef USE_DISP_BLS_MUTEX
disp_bls_release_mutex();
#else
DISP_REG_SET(DISP_REG_BLS_DEBUG, 0x0);
#endif
return 0;
}
示例11: disp_bls_init
void disp_bls_init(unsigned int srcWidth, unsigned int srcHeight)
{
struct cust_mt65xx_led *cust_led_list = get_cust_led_list();
struct cust_mt65xx_led *cust = NULL;
struct PWM_config *config_data = NULL;
if(cust_led_list)
{
cust = &cust_led_list[MT65XX_LED_TYPE_LCD];
if((strcmp(cust->name,"lcd-backlight") == 0) && (cust->mode == MT65XX_LED_MODE_CUST_BLS_PWM))
{
config_data = &cust->config_data;
if (config_data->clock_source >= 0 && config_data->clock_source <= 3)
{
unsigned int regVal = DISP_REG_GET(CLK_CFG_1);
DISP_REG_SET(CLK_CFG_1, (regVal & ~0x3) | config_data->clock_source);
printf("disp_bls_init : CLK_CFG_1 0x%x => 0x%x\n", regVal, DISP_REG_GET(CLK_CFG_1));
}
gPWMDiv = (config_data->div == 0) ? PWM_DEFAULT_DIV_VALUE : config_data->div;
gPWMDiv &= 0x3FF;
printf("disp_bls_init : PWM config data (%d,%d)\n", config_data->clock_source, config_data->div);
}
}
printf("[DDP] disp_bls_init : srcWidth = %d, srcHeight = %d\n", srcWidth, srcHeight);
printf("[DDP] disp_bls_init : CG = 0x%x, BLS_EN = 0x%x, PWM_DUTY = %d\n",
DISP_REG_GET(DISP_REG_CONFIG_MMSYS_CG_CON0),
DISP_REG_GET(DISP_REG_BLS_EN),
DISP_REG_GET(DISP_REG_BLS_PWM_DUTY));
DISP_REG_SET(DISP_REG_BLS_SRC_SIZE, (srcHeight << 16) | srcWidth);
DISP_REG_SET(DISP_REG_BLS_PWM_DUTY, 0);
DISP_REG_SET(DISP_REG_BLS_PWM_CON, 0x0 | (gPWMDiv << 16));
DISP_REG_SET(DISP_REG_BLS_EN, 0x00010000);
}
示例12: RDMAStop
int RDMAStop(unsigned idx) {
ASSERT(idx <= 2);
DISP_REG_SET_FIELD(GLOBAL_CON_FLD_ENGINE_EN, idx * DISP_INDEX_OFFSET + DISP_REG_RDMA_GLOBAL_CON, 0);
DISP_REG_SET(idx * DISP_INDEX_OFFSET + DISP_REG_RDMA_INT_ENABLE, 0);
DISP_REG_SET(idx * DISP_INDEX_OFFSET + DISP_REG_RDMA_INT_STATUS, 0);
return 0;
}
示例13: ddp_mutex_reset
int ddp_mutex_reset(int mutex_id, void * handle)
{
DDPDBG("mutex %d reset\n", mutex_id);
DISP_REG_SET(handle,DISP_REG_CONFIG_MUTEX_RST(mutex_id),1);
DISP_REG_SET(handle,DISP_REG_CONFIG_MUTEX_RST(mutex_id),0);
return 0;
}
示例14: wdma_start
static int wdma_start(DISP_MODULE_ENUM module,void * handle)
{
unsigned int idx = wdma_index(module);
DISP_REG_SET(handle,idx*DISP_WDMA_INDEX_OFFSET+DISP_REG_WDMA_INTEN, 0x03);
DISP_REG_SET(handle,idx*DISP_WDMA_INDEX_OFFSET+DISP_REG_WDMA_EN, 0x01);
return 0;
}
示例15: OVLStop
int OVLStop(DISP_MODULE_ENUM module,void * handle) {
int idx = ovl_index(module);
DISP_REG_SET(handle,idx*DISP_INDEX_OFFSET+DISP_REG_OVL_INTEN, 0x00);
DISP_REG_SET(handle,idx*DISP_INDEX_OFFSET+DISP_REG_OVL_EN, 0x00);
DISP_REG_SET(handle,idx*DISP_INDEX_OFFSET+DISP_REG_OVL_INTSTA, 0x00);
return 0;
}