diff --git a/drivers/amlogic/cec/hdmi_ao_cec.c b/drivers/amlogic/cec/hdmi_ao_cec.c index 3016350180ba..ce95ff16a672 100644 --- a/drivers/amlogic/cec/hdmi_ao_cec.c +++ b/drivers/amlogic/cec/hdmi_ao_cec.c @@ -2333,6 +2333,8 @@ static ssize_t fun_cfg_store(struct class *cla, struct class_attribute *attr, cnt = kstrtouint(bu, 16, &val); if (cnt < 0 || val > 0xff) return -EINVAL; + if ((val&&CEC_FUNC_CFG_CEC_ON) == CEC_FUNC_CFG_CEC_ON) + val |= CEC_FUNC_CFG_STREAMPATH_POWER_ON; cec_config(val, 1); if (val == 0) cec_clear_all_logical_addr(ee_cec);/*cec_keep_reset();*/ diff --git a/drivers/amlogic/cec/hdmi_ao_cec.h b/drivers/amlogic/cec/hdmi_ao_cec.h index bf8b5b9a4aed..a5e4f6774a48 100644 --- a/drivers/amlogic/cec/hdmi_ao_cec.h +++ b/drivers/amlogic/cec/hdmi_ao_cec.h @@ -57,12 +57,16 @@ enum cecbver { #define ONE_TOUCH_PLAY_MASK 1 #define ONE_TOUCH_STANDBY_MASK 2 #define AUTO_POWER_ON_MASK 3 +#define STREAMPATH_POWER_ON_MASK 4 +#define CEC_INPUT_MASK 5 +#define ACTIVE_SOURCE_MASK 6 */ #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_STREAMPATH_POWER_ON 0x10 +#define CEC_FUNC_CFG_ALL 0x3f #define CEC_FUNC_CFG_NONE 0x0 /*#define AO_BASE 0xc8100000*/