mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 03:40:35 +09:00
tvafe: add hardware snow for txhd
PD#167605: add hardware snow for txhd Change-Id: Ibd16773ddb304c813ed62ee14e828b30806f158a Signed-off-by: Nian Jing <nian.jing@amlogic.com>
This commit is contained in:
@@ -32,7 +32,7 @@
|
||||
/* ************************************************* */
|
||||
/* *** macro definitions ********************************************* */
|
||||
/* *********************************************************** */
|
||||
#define TVAFE_VER "Ref.2017/011/17"
|
||||
#define TVAFE_VER "Ref.2018/06/27"
|
||||
|
||||
/* used to set the flag of tvafe_dev_s */
|
||||
#define TVAFE_FLAG_DEV_OPENED 0x00000010
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
#include "tvafe_debug.h"
|
||||
#include "tvafe_general.h"
|
||||
#include "../vdin/vdin_regs.h"
|
||||
#include "../vdin/vdin_ctl.h"
|
||||
/***************************Local defines**********************************/
|
||||
|
||||
#define TVAFE_CVD2_SHIFT_CNT 6
|
||||
@@ -415,6 +416,12 @@ static void tvafe_cvd2_write_mode_reg(struct tvafe_cvd2_s *cvd2,
|
||||
TVIN_SIG_FMT_CVBS_NTSC_M][i]));
|
||||
}
|
||||
|
||||
/*setting for txhd snow*/
|
||||
if (tvafe_cpu_type() == CPU_TYPE_TXHD) {
|
||||
W_APB_BIT(CVD2_OUTPUT_CONTROL, 3, 5, 2);
|
||||
W_APB_REG(ACD_REG_6C, 0x80500000);
|
||||
}
|
||||
|
||||
/* load CVD2 reg 0x70~ff (char) */
|
||||
for (i = 0; i < CVD_PART2_REG_NUM; i++) {
|
||||
|
||||
@@ -2584,7 +2591,8 @@ void tvafe_cvd2_set_reg8a(unsigned int v)
|
||||
}
|
||||
void tvafe_snow_config(unsigned int onoff)
|
||||
{
|
||||
if (tvafe_snow_function_flag == 0)
|
||||
if (tvafe_snow_function_flag == 0 ||
|
||||
tvafe_cpu_type() == CPU_TYPE_TXHD)
|
||||
return;
|
||||
if (onoff)
|
||||
W_APB_BIT(CVD2_OUTPUT_CONTROL, 3, BLUE_MODE_BIT, BLUE_MODE_WID);
|
||||
@@ -2594,6 +2602,11 @@ void tvafe_snow_config(unsigned int onoff)
|
||||
|
||||
void tvafe_snow_config_clamp(unsigned int onoff)
|
||||
{
|
||||
if (tvafe_cpu_type() == CPU_TYPE_TXHD) {
|
||||
if (onoff)
|
||||
vdin_adjust_tvafesnow_brightness();
|
||||
return;
|
||||
}
|
||||
if (tvafe_snow_function_flag == 0)
|
||||
return;
|
||||
if (onoff)
|
||||
|
||||
@@ -909,6 +909,16 @@ void vdin_set_cutwin(struct vdin_dev_s *devp)
|
||||
|
||||
}
|
||||
|
||||
/*adjust the brightness for txhd hardware snow*/
|
||||
void vdin_adjust_tvafesnow_brightness(void)
|
||||
{
|
||||
wr(0, VDIN_MATRIX_CTRL, 0x7);
|
||||
wr(0, VDIN_MATRIX_OFFSET0_1, 0x200);
|
||||
wr(0, VDIN_MATRIX_OFFSET2, 0x200);
|
||||
wr(0, VDIN_MATRIX_COEF00_01, 0x6000000);
|
||||
}
|
||||
EXPORT_SYMBOL(vdin_adjust_tvafesnow_brightness);
|
||||
|
||||
void vdin_set_config(struct vdin_dev_s *devp)
|
||||
{
|
||||
if (is_meson_gxbb_cpu() || is_meson_gxm_cpu() || is_meson_gxl_cpu())
|
||||
|
||||
@@ -161,6 +161,7 @@ extern void vdin_set_cm2(unsigned int offset, unsigned int w,
|
||||
extern void vdin_bypass_isp(unsigned int offset);
|
||||
extern void vdin_set_mpegin(struct vdin_dev_s *devp);
|
||||
extern void vdin_force_gofiled(struct vdin_dev_s *devp);
|
||||
extern void vdin_adjust_tvafesnow_brightness(void);
|
||||
extern void vdin_set_config(struct vdin_dev_s *devp);
|
||||
extern void vdin_set_wr_mif(struct vdin_dev_s *devp);
|
||||
extern void vdin_dolby_config(struct vdin_dev_s *devp);
|
||||
|
||||
Reference in New Issue
Block a user