unsigned int cec_cfg;
cec_cfg = cec_config(0, 0);
- if (cec_cfg & (1 << HDMI_OPTION_ENABLE_CEC)) {
+ if (cec_cfg & CEC_FUNC_CFG_CEC_ON) {
/*cec module on*/
if (cec_dev && (!wake_ok || cec_service_suspended()))
cec_rx_process();
return -EINVAL;
cec_cfg = cec_config(0, 0);
- if (cec_cfg & (1 << HDMI_OPTION_ENABLE_CEC)) {
+ if (cec_cfg & CEC_FUNC_CFG_CEC_ON) {
/*cec module on*/
ret = cec_ll_tx(tempbuf, size);
} else {
case CEC_IOC_SET_OPTION_WAKEUP:
tmp = cec_config(0, 0);
- tmp &= ~(1 << AUTO_POWER_ON_MASK);
- tmp |= (arg << AUTO_POWER_ON_MASK);
+ if (arg)
+ tmp |= CEC_FUNC_CFG_AUTO_POWER_ON;
+ else
+ tmp &= ~(CEC_FUNC_CFG_AUTO_POWER_ON);
cec_config(tmp, 1);
break;
case CEC_IOC_SET_AUTO_DEVICE_OFF:
tmp = cec_config(0, 0);
- tmp &= ~(1 << ONE_TOUCH_STANDBY_MASK);
- tmp |= (arg << ONE_TOUCH_STANDBY_MASK);
+ if (arg)
+ tmp |= CEC_FUNC_CFG_AUTO_STANDBY;
+ else
+ tmp &= ~(CEC_FUNC_CFG_AUTO_STANDBY);
cec_config(tmp, 1);
break;
case CEC_IOC_SET_OPTION_ENALBE_CEC:
+ a = cec_config(0, 0);
+ if (arg)
+ a |= CEC_FUNC_CFG_CEC_ON;
+ else
+ a &= ~(CEC_FUNC_CFG_CEC_ON);
+ cec_config(a, 1);
+
tmp = (1 << HDMI_OPTION_ENABLE_CEC);
if (arg) {
cec_dev->hal_flag |= tmp;
- cec_config(CEC_FUNC_CFG_ALL, 1);
cec_pre_init();
} else {
cec_dev->hal_flag &= ~(tmp);
CEC_INFO("disable CEC\n");
- cec_config(CEC_FUNC_CFG_NONE, 1);
/*cec_keep_reset();*/
cec_clear_logical_addr();
}
tmp = (1 << HDMI_OPTION_SYSTEM_CEC_CONTROL);
if (arg) {
cec_dev->hal_flag |= tmp;
- cec_config(CEC_FUNC_CFG_ALL, 1);
+ /*cec_config(CEC_FUNC_CFG_ALL, 1);*/
} else
cec_dev->hal_flag &= ~(tmp);
cec_dev->hal_flag |= (1 << HDMI_OPTION_SERVICE_FLAG);
start_bit_check.function = cec_line_check;
/* for init */
cec_pre_init();
+ /* default enable all function*/
+ cec_config(CEC_FUNC_CFG_ALL, 1);
queue_delayed_work(cec_dev->cec_thread, &cec_dev->cec_work, 0);
CEC_ERR("boot:%#x;%#x\n", *((unsigned int *)&cec_dev->wakup_data),
cec_dev->wakeup_reason);
#ifndef __AO_CEC_H__
#define __AO_CEC_H__
-#define CEC_DRIVER_VERSION "Ver 2018/08/08\n"
+#define CEC_DRIVER_VERSION "Ver 2018/08/10\n"
#define CEC_FRAME_DELAY msecs_to_jiffies(400)
#define CEC_DEV_NAME "cec"
#define L_1 1
#define L_2 2
#define L_3 3
-
+/*
#define CEC_FUNC_MASK 0
#define ONE_TOUCH_PLAY_MASK 1
-#define ONE_TOUCH_STANDBY_MASK 2
+#define ONE_TOUCH_STANDBY_MASK 2
#define AUTO_POWER_ON_MASK 3
-
-#define CEC_FUNC_CFG_ALL 0x2f
-#define CEC_FUNC_CFG_NONE 0x0
+*/
+#define CEC_FUNC_CFG_CEC_ON 0x01
+#define CEC_FUNC_CFG_OTP_ON 0x02
+#define CEC_FUNC_CFG_AUTO_STANDBY 0x04
+#define CEC_FUNC_CFG_AUTO_POWER_ON 0x08
+#define CEC_FUNC_CFG_ALL 0x2f
+#define CEC_FUNC_CFG_NONE 0x0
/*#define AO_BASE 0xc8100000*/