From 99e2caa2b5ae97409b6ba51c612b2aeb1a3c3fcf Mon Sep 17 00:00:00 2001 From: Dongjin Kim Date: Wed, 20 Feb 2019 15:49:01 +0900 Subject: [PATCH] ODROID-COMMON: media/vout: add new kernel param 'cvbscable=' This patch is to indicate when CVBS cable is connected or not, '1' as the cable is attached and '0' otherwise. Currently CVBS cable only can be detected by U-boot since the detection signal can be read by ADC. Change-Id: I8fdff0cf0a2cf2bb2a94b296a1e2e5946864513d Signed-off-by: Dongjin Kim (cherry picked from commit 781aec7eee5bdb3ecbb1883859d2f20e6854efd6) --- drivers/amlogic/media/vout/cvbs/cvbs_out.c | 18 ++++++++++++++++++ .../amlogic/media/vout/vout_serve/vout_func.h | 4 ++++ 2 files changed, 22 insertions(+) diff --git a/drivers/amlogic/media/vout/cvbs/cvbs_out.c b/drivers/amlogic/media/vout/cvbs/cvbs_out.c index 23c14545bfd9..f765022a3825 100644 --- a/drivers/amlogic/media/vout/cvbs/cvbs_out.c +++ b/drivers/amlogic/media/vout/cvbs/cvbs_out.c @@ -1640,6 +1640,24 @@ static int __init cvbs_performance_setup(char *line) } __setup("cvbsdrv=", cvbs_performance_setup); +#if defined(CONFIG_ARCH_MESON64_ODROID_COMMON) +static int cvbs_cable = 0; + +int cvbs_cable_connected(void) +{ + return cvbs_cable; +} +EXPORT_SYMBOL(cvbs_cable_connected); + +static int __init get_cvbs_cable(char *str) +{ + cvbs_cable = (str[0] == '0') ? 0 : 1; + + return 0; +} +__setup("cvbscable=", get_cvbs_cable); +#endif + arch_initcall(cvbs_init_module); module_exit(cvbs_exit_module); diff --git a/drivers/amlogic/media/vout/vout_serve/vout_func.h b/drivers/amlogic/media/vout/vout_serve/vout_func.h index 5bbeec35b5d7..5997077730ca 100644 --- a/drivers/amlogic/media/vout/vout_serve/vout_func.h +++ b/drivers/amlogic/media/vout/vout_serve/vout_func.h @@ -91,4 +91,8 @@ extern int vout2_resume(void); extern int vout2_shutdown(void); #endif +#if defined(CONFIG_ARCH_MESON64_ODROID_COMMON) +extern int cvbs_cable_connected(void); +#endif + #endif