From 2e24b8e3114665bb56632d4611a57707937dddec Mon Sep 17 00:00:00 2001 From: Zheng Yang Date: Tue, 19 Jun 2012 16:52:47 +0800 Subject: [PATCH] rk30 hdmi: add CONFIG_HDMI_RK30_CTL_CODEC to enable control codec: When HDMI inserted, mute codec analog output; When HDMI removed, unmute codec analog output. --- drivers/video/rockchip/hdmi/Kconfig | 10 +++++++++- drivers/video/rockchip/hdmi/rk30_hdmi_task.c | 9 +++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/drivers/video/rockchip/hdmi/Kconfig b/drivers/video/rockchip/hdmi/Kconfig index 76ac81f3ce0f..654bfa0e67db 100755 --- a/drivers/video/rockchip/hdmi/Kconfig +++ b/drivers/video/rockchip/hdmi/Kconfig @@ -1,10 +1,18 @@ -config HDMI_RK30 +menuconfig HDMI_RK30 bool "RK30 HDMI support" depends on LCDC_RK30 select FB_MODE_HELPERS help Support rk30 hdmi if you say y here +config HDMI_RK30_CTL_CODEC + bool "Mute Codec When HDMI Actived" + depends on HDMI_RK30 + default n + help + If you say y heres, Codec will be mute when hdmi inserted, + and unmute when removed. + config HDMI_RK30_DEBUG bool "RK30 HDMI Debugging" depends on HDMI_RK30 && LCDC_RK30 diff --git a/drivers/video/rockchip/hdmi/rk30_hdmi_task.c b/drivers/video/rockchip/hdmi/rk30_hdmi_task.c index cf34d4576967..fbaf507d4453 100755 --- a/drivers/video/rockchip/hdmi/rk30_hdmi_task.c +++ b/drivers/video/rockchip/hdmi/rk30_hdmi_task.c @@ -3,6 +3,9 @@ #include "rk30_hdmi.h" #include "rk30_hdmi_hw.h" +#ifdef CONFIG_HDMI_RK30_CTL_CODEC +extern void codec_set_spk(bool on); +#endif #define HDMI_MAX_TRY_TIMES 1 @@ -83,6 +86,9 @@ void hdmi_sys_remove(void) #ifdef CONFIG_SWITCH switch_set_state(&(hdmi->switch_hdmi), 0); #endif + #if CONFIG_HDMI_RK30_CTL_CODEC + codec_set_spk(1); + #endif } static void hdmi_sys_sleep(void) @@ -219,6 +225,9 @@ void hdmi_work(struct work_struct *work) #ifdef CONFIG_SWITCH switch_set_state(&(hdmi->switch_hdmi), 1); #endif + #ifdef CONFIG_HDMI_RK30_CTL_CODEC + codec_set_spk(0); + #endif } break; case SYSTEM_CONFIG: -- 2.34.1