From f8756378e4ceaceccfc4cedf39d9c879380ee436 Mon Sep 17 00:00:00 2001 From: Laurence Harrison Date: Tue, 15 Mar 2011 21:43:45 -0700 Subject: video: tegra: Added initial smartdimmer support includes: 1.) changes to DC init to add SD functionality 2.) changes to DC flip to add SD functionality Original-Change-Id: I8c729e16e2b8a5a4158697b99cc4b3d07bf02001 Reviewed-on: http://git-master/r/21452 Reviewed-by: Scott Williams Reviewed-by: Jonathan Mayo Tested-by: Jonathan Mayo Reviewed-by: Yu-Huan Hsu Original-Change-Id: I4ad3ee3778a0e859e0d2b0c36ee6369193795cd3 Rebase-Id: Rd133da1af5c8b283b1886b025b8b1880ec61fde0 --- drivers/video/tegra/dc/dc_reg.h | 65 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) (limited to 'drivers/video/tegra/dc/dc_reg.h') diff --git a/drivers/video/tegra/dc/dc_reg.h b/drivers/video/tegra/dc/dc_reg.h index 11bce9a4e3ea..c7f4a30223dc 100644 --- a/drivers/video/tegra/dc/dc_reg.h +++ b/drivers/video/tegra/dc/dc_reg.h @@ -450,4 +450,69 @@ #define DC_WINBUF_ADDR_V_OFFSET_NS 0x809 #define DC_WINBUF_UFLOW_STATUS 0x80a + +#define DC_DISP_SD_CONTROL 0x4c2 +#define SD_ENABLE_NORMAL (1 << 0) +#define SD_ENABLE_ONESHOT (2 << 0) +#define SD_USE_VID_LUMA (1 << 2) +#define SD_BIN_WIDTH_ONE (0 << 3) +#define SD_BIN_WIDTH_TWO (1 << 3) +#define SD_BIN_WIDTH_FOUR (2 << 3) +#define SD_BIN_WIDTH_EIGHT (3 << 3) +#define SD_AGGRESSIVENESS(x) (((x) & 0x7) << 5) +#define SD_HW_UPDATE_DLY(x) (((x) & 0x3) << 8) +#define SD_ONESHOT_ENABLE (1 << 10) +#define SD_CORRECTION_MODE_AUTO (0 << 11) +#define SD_CORRECTION_MODE_MAN (1 << 11) + +#define DC_DISP_SD_CSC_COEFF 0x4c3 +#define SD_CSC_COEFF_R(x) (((x) & 0xf) << 4) +#define SD_CSC_COEFF_G(x) (((x) & 0xf) << 12) +#define SD_CSC_COEFF_B(x) (((x) & 0xf) << 20) + +#define DC_DISP_SD_LUT(i) (0x4c4 + i) +#define DC_DISP_SD_LUT_NUM 9 +#define SD_LUT_R(x) (((x) & 0xff) << 0) +#define SD_LUT_G(x) (((x) & 0xff) << 8) +#define SD_LUT_B(x) (((x) & 0xff) << 16) + +#define DC_DISP_SD_FLICKER_CONTROL 0x4cd +#define SD_FC_TIME_LIMIT(x) (((x) & 0xff) << 0) +#define SD_FC_THRESHOLD(x) (((x) & 0xff) << 8) + +#define DC_DISP_SD_PIXEL_COUNT 0x4ce + +#define DC_DISP_SD_HISTOGRAM(i) (0x4cf + i) +#define DC_DISP_SD_HISTOGRAM_NUM 8 +#define SD_HISTOGRAM_BIN_0(val) (((val) & (0xff << 0)) >> 0) +#define SD_HISTOGRAM_BIN_1(val) (((val) & (0xff << 8)) >> 8) +#define SD_HISTOGRAM_BIN_2(val) (((val) & (0xff << 16)) >> 16) +#define SD_HISTOGRAM_BIN_3(val) (((val) & (0xff << 24)) >> 24) + +#define DC_DISP_SD_BL_PARAMETERS 0x4d7 +#define SD_BLP_TIME_CONSTANT(x) (((x) & 0x7ff) << 0) +#define SD_BLP_STEP(x) (((x) & 0xff) << 8) + +#define DC_DISP_SD_BL_TF(i) (0x4d8 + i) +#define DC_DISP_SD_BL_TF_NUM 4 +#define SD_BL_TF_POINT_0(x) (((x) & 0xff) << 0) +#define SD_BL_TF_POINT_1(x) (((x) & 0xff) << 8) +#define SD_BL_TF_POINT_2(x) (((x) & 0xff) << 16) +#define SD_BL_TF_POINT_3(x) (((x) & 0xff) << 24) + +#define DC_DISP_SD_BL_CONTROL 0x4dc +#define SD_BLC_MODE_MAN (0 << 0) +#define SD_BLC_MODE_AUTO (1 << 1) +#define SD_BLC_BRIGHTNESS(val) (((val) & (0xff << 8)) >> 8) + +#define DC_DISP_SD_HW_K_VALUES 0x4dd +#define SD_HW_K_R(val) (((val) & (0x3ff << 0)) >> 0) +#define SD_HW_K_G(val) (((val) & (0x3ff << 10)) >> 10) +#define SD_HW_K_B(val) (((val) & (0x3ff << 20)) >> 20) + +#define DC_DISP_SD_MAN_K_VALUES 0x4de +#define SD_MAN_K_R(x) (((x) & 0x3ff) << 0) +#define SD_MAN_K_G(x) (((x) & 0x3ff) << 10) +#define SD_MAN_K_B(x) (((x) & 0x3ff) << 20) + #endif -- cgit v1.2.3