vpp: add vpp mute api [1/1]
PD#SWPL-195452
Problem:
add vpp mute api
Solution:
add vpp mute api
Verify:
T5W
Change-Id: Id0de745a88c80e9e838572b09fc0a117b6d2f316
Signed-off-by: hai.cao <hai.cao@amlogic.com>
diff --git a/drivers/amlogic/media/common/vpp/vpp.c b/drivers/amlogic/media/common/vpp/vpp.c
index d5ecbe4..d365653 100644
--- a/drivers/amlogic/media/common/vpp/vpp.c
+++ b/drivers/amlogic/media/common/vpp/vpp.c
@@ -2310,6 +2310,45 @@
vpp_reg_write(0x2654, 0x00000000);
}
+void set_vpp_mute(void)
+{
+ char *s = NULL;
+ u32 clip_max = 0x0;
+ u32 clip_min = 0x0;
+ u32 family_id = get_cpu_id().family_id;
+
+ if (family_id == MESON_CPU_MAJOR_ID_T3X ||
+ family_id == MESON_CPU_MAJOR_ID_S5)
+ return;
+ s = env_get("connector0_type");
+ if (!s) {
+ VPP_PR("can not get connector0_type!\n");
+ return;
+ }
+ if (!strncmp(s, "HDMI", 4)) {
+ clip_max = (0x0 << 20) | (0x200 << 10) | 0x200;
+ clip_min = (0x0 << 20) | (0x200 << 10) | 0x200;
+ } else {
+ clip_max = (0x0 << 20) | (0x0 << 10) | 0;
+ clip_min = (0x0 << 20) | (0x0 << 10) | 0;
+ }
+ vpp_reg_write(VPP_CLIP_MISC0, clip_max);
+ vpp_reg_write(VPP_CLIP_MISC1, clip_min);
+}
+
+void set_vpp_unmute(void)
+{
+ u32 clip_max = 0x3fffffff;
+ u32 clip_min = 0x0;
+ u32 family_id = get_cpu_id().family_id;
+
+ if (family_id == MESON_CPU_MAJOR_ID_T3X ||
+ family_id == MESON_CPU_MAJOR_ID_S5)
+ return;
+ vpp_reg_write(VPP_CLIP_MISC0, clip_max);
+ vpp_reg_write(VPP_CLIP_MISC1, clip_min);
+}
+
void vpp_init(void)
{
int chip_id;
diff --git a/include/amlogic/media/vpp/vpp.h b/include/amlogic/media/vpp/vpp.h
index 97124cc..b1d74ef 100644
--- a/include/amlogic/media/vpp/vpp.h
+++ b/include/amlogic/media/vpp/vpp.h
@@ -19,6 +19,8 @@
VPP_GAMMA_B
};
+void set_vpp_mute(void);
+void set_vpp_unmute(void);
extern void vpp_load_gamma_table(unsigned short *data, unsigned int len, enum vpp_gamma_sel_e flag);
extern void vpp_init_lcd_gamma_table(int index);
void vpp_enable_lcd_gamma_table(int index);