From 781aec7eee5bdb3ecbb1883859d2f20e6854efd6 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 --- 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 7cda8b29fca2..2d022fc82678 100644 --- a/drivers/amlogic/media/vout/cvbs/cvbs_out.c +++ b/drivers/amlogic/media/vout/cvbs/cvbs_out.c @@ -1595,6 +1595,24 @@ static int __init cvbs_performance_setup(char *line) } __setup("cvbsdrv=", cvbs_performance_setup); +#if defined(CONFIG_ARCH_MESON64_ODROID_COMMON) +static unsigned long cvbs_cable = 0; + +int cvbs_cable_connected(void) +{ + return (int)cvbs_cable; +} +EXPORT_SYMBOL(cvbs_cable_connected); + +static int __init get_cvbs_cable(char *str) +{ + (void)kstrtoul(str, 10, (unsigned long *)&cvbs_cable); + + 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 524f1e7635f9..a7e6d4c07e9b 100644 --- a/drivers/amlogic/media/vout/vout_serve/vout_func.h +++ b/drivers/amlogic/media/vout/vout_serve/vout_func.h @@ -90,4 +90,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