firmware/br-ext-chip-xiongmai/package/xiongmai-osdrv2/files/include/xm/xm350_isp.h

394 lines
14 KiB
C

/******************************************************************************
Copyright (C), 2015-2020, XM. Co., Ltd.
******************************************************************************
File Name : xm322_isp.h
Version : Initial Draft
Author : XM Isp software group
Created : 2016/5/20
Description : The common data type defination
Function List :
History :
1.Date : 2017/5/31
Author : Ganwencao
Modification : creat
******************************************************************************/
#ifndef _XM350_REG_
#define _XM350_REG_
//
#define FRONT_V_VIE_EN (0x00AF0010)
//pre_video
#define VIDOEMODE_BASE 0x00A00000
#define VIDOEMODE_DECODE_SEL (VIDOEMODE_BASE+0x000)
#define VIDOEMODE_SLA_MAT_SEL (VIDOEMODE_BASE+0x004)
#define VIDOEMODE_DEC_DATA_SEL (VIDOEMODE_BASE+0x008)
// DPC
#define SDPC_BASE 0x00A01000
#define SDPC_CLK_SW_REG (SDPC_BASE+0x000)
#define SDPC_CPU_ADDR (SDPC_BASE+0x004)
#define SDPC_CPU_DATA (SDPC_BASE+0x008)
#define SDPC_TEST (SDPC_BASE+0x00c)
#define SDPC_HIGH_THR (SDPC_BASE+0x010)
#define SDPC_LOW_THR (SDPC_BASE+0x014)
#define SDPC_DET_MODE (SDPC_BASE+0x018)
#define SDPC_DET_READY (SDPC_BASE+0x01c)
#define SDPC_ACTIVE_PIX_NUM (SDPC_BASE+0x040)
#define SDPC_ACTIVE_LINE_NUM (SDPC_BASE+0x044)
#define SDPC_CPU_OP_SEL (SDPC_BASE+0x048)
#define SDPC_VD_OP_SEL (SDPC_BASE+0x04c)
#define SDPC_BAD_PIX_NUM (SDPC_BASE+0x050)
#define DDPC_BASE 0x00A21000
#define DDPC_MAX_THD (DDPC_BASE+0x000)
#define DDPC_MIN_THD (DDPC_BASE+0x004)
#define DDPC_DIFF_THD1 (DDPC_BASE+0x008)
#define DDPC_DIFF_THD2 (DDPC_BASE+0x00C)
//FPN
#define FPN_BASE 0x00A02000
#define FPN_CLK_SW_REG (FPN_BASE+0x000)
#define FPN_CPU_ADDR (FPN_BASE+0x004)
#define FPN_CPU_DATA (FPN_BASE+0x008)
#define FPN_CPU_RDSEL (FPN_BASE+0x00C)
#define FPN_STREN (FPN_BASE+0x010)
#define FPN_SEL (FPN_BASE+0x014)
#define FPN_DET_MODE (FPN_BASE+0x018)
#define FPN_DET_READY (FPN_BASE+0x01C)
// BlackLevel
#define BLACKLEVEL_BASE 0x00A04000
#define BLACKLEVEL_OFFSET_R (BLACKLEVEL_BASE+0x000)
#define BLACKLEVEL_OFFSET_G (BLACKLEVEL_BASE+0x004)
#define BLACKLEVEL_OFFSET_B (BLACKLEVEL_BASE+0x008)
#define BLACKLEVEL_RGB_MAX (BLACKLEVEL_BASE+0x00C)
#define BLACKLEVEL_RGB_MIN (BLACKLEVEL_BASE+0x010)
// DIGTAL_GAIN
#define DIGITAL_GAIN (0x00A05000+0x000)
//LSC
#define LSC_BASE 0x00A06000
#define LSC_CTRL (LSC_BASE+0x000)
//AWB
#define AWB_BASE (0x00A10000)
#define AWB_FRONTGAIN_R (AWB_BASE+0x0000)
#define AWB_FRONTGAIN_G (AWB_BASE+0x0004)
#define AWB_FRONTGAIN_B (AWB_BASE+0x0008)
#define AWB_RGBMAX_REG (AWB_BASE+0x000C)
#define AWB_RGBMIN_REG (AWB_BASE+0x0010)
#define AWB_WDW_PIXL0 (AWB_BASE+0x1000)
#define AWB_WDW_PIXL1 (AWB_BASE+0x1004)
#define AWB_WDW_PIXL2 (AWB_BASE+0x1008)
#define AWB_WDW_PIXL3 (AWB_BASE+0x100C)
#define AWB_WDW_PIXL4 (AWB_BASE+0x1010)
#define AWB_WDW_PIXL5 (AWB_BASE+0x1014)
#define AWB_WDW_PIXL6 (AWB_BASE+0x1018)
#define AWB_WDW_PIXL7 (AWB_BASE+0x101C)
#define AWB_WDW_PIXL8 (AWB_BASE+0x1020)
#define AWB_WDW_PIXL9 (AWB_BASE+0x1024)
#define AWB_WDW_PIXL10 (AWB_BASE+0x1028)
#define AWB_WDW_PIXL11 (AWB_BASE+0x102C)
#define AWB_WDW_PIXL12 (AWB_BASE+0x1030)
#define AWB_WDW_PIXL13 (AWB_BASE+0x1034)
#define AWB_WDW_PIXL14 (AWB_BASE+0x1038)
#define AWB_WDW_PIXL15 (AWB_BASE+0x103C)
#define AWB_WDW_PIXL16 (AWB_BASE+0x1040)
#define AWB_WDW_PIXL17 (AWB_BASE+0x1044)
#define AWB_WDW_PIXL18 (AWB_BASE+0x1048)
#define AWB_WDW_PIXL19 (AWB_BASE+0x104C)
#define AWB_WDW_PIXL20 (AWB_BASE+0x1050)
#define AWB_WDW_PIXL21 (AWB_BASE+0x1054)
#define AWB_WDW_PIXL22 (AWB_BASE+0x1058)
#define AWB_WDW_PIXL23 (AWB_BASE+0x105C)
#define AWB_WDW_PIXL24 (AWB_BASE+0x1060)
#define AWB_WDW_PIXL25 (AWB_BASE+0x1064)
#define AWB_WDW_PIXL26 (AWB_BASE+0x1068)
#define AWB_WDW_PIXL27 (AWB_BASE+0x106C)
#define AWB_WDW_PIXL28 (AWB_BASE+0x1070)
#define AWB_WDW_PIXL29 (AWB_BASE+0x1074)
#define AWB_WDW_PIXL30 (AWB_BASE+0x1078)
#define AWB_WDW_PIXL31 (AWB_BASE+0x107C)
#define AWB_WDW_PIXL32 (AWB_BASE+0x1080)
#define AWB_WDW_LINE0 (AWB_BASE+0x10C0)
#define AWB_WDW_LINE1 (AWB_BASE+0x10C4)
#define AWB_WDW_LINE2 (AWB_BASE+0x10C8)
#define AWB_WDW_LINE3 (AWB_BASE+0x10CC)
#define AWB_WDW_LINE4 (AWB_BASE+0x10D0)
#define AWB_WDW_LINE5 (AWB_BASE+0x10D4)
#define AWB_WDW_LINE6 (AWB_BASE+0x10D8)
#define AWB_WDW_LINE7 (AWB_BASE+0x10DC)
#define AWB_WDW_LINE8 (AWB_BASE+0x10E0)
#define AWB_WDW_LINE9 (AWB_BASE+0x10E4)
#define AWB_WDW_LINE10 (AWB_BASE+0x10E8)
#define AWB_WDW_LINE11 (AWB_BASE+0x10EC)
#define AWB_WDW_LINE12 (AWB_BASE+0x10F0)
#define AWB_WDW_LINE13 (AWB_BASE+0x10F4)
#define AWB_WDW_LINE14 (AWB_BASE+0x10F8)
#define AWB_WDW_LINE15 (AWB_BASE+0x10FC)
#define AWB_WDW_LINE16 (AWB_BASE+0x1100)
#define AWB_SRAM_ADDR_RC (AWB_BASE+0x1140)
#define AWB_SRAM_RD_EN (AWB_BASE+0x1144)
#define AWB_R_INTG (AWB_BASE+0x1148)
#define AWB_G_INTG (AWB_BASE+0x114C)
#define AWB_B_INTG (AWB_BASE+0x1150)
#define AWB_HIST_RGB_SEL (AWB_BASE+0x2000)
#define AWB_HIST_CNT0 (AWB_BASE+0x2040)
#define AWB_HIST_CNT1 (AWB_BASE+0x2044)
#define AWB_HIST_CNT2 (AWB_BASE+0x2048)
#define AWB_HIST_CNT3 (AWB_BASE+0x204C)
#define AWB_HIST_CNT4 (AWB_BASE+0x2050)
#define AWB_HIST_CNT5 (AWB_BASE+0x2054)
#define AWB_HIST_CNT6 (AWB_BASE+0x2058)
#define AWB_HIST_CNT7 (AWB_BASE+0x205C)
#define AWB_HIST_CNT8 (AWB_BASE+0x2060)
#define AWB_HIST_CNT9 (AWB_BASE+0x2064)
#define AWB_HIST_CNT10 (AWB_BASE+0x2068)
#define AWB_HIST_CNT11 (AWB_BASE+0x206C)
#define AWB_HIST_CNT12 (AWB_BASE+0x2070)
#define AWB_HIST_CNT13 (AWB_BASE+0x2074)
#define AWB_HIST_CNT14 (AWB_BASE+0x2078)
#define AWB_HIST_CNT15 (AWB_BASE+0x207C)
#define AWB_HIST_CNT16 (AWB_BASE+0x2080)
#define AWB_HIST_CNT17 (AWB_BASE+0x2084)
#define AWB_HIST_CNT18 (AWB_BASE+0x2088)
#define AWB_HIST_CNT19 (AWB_BASE+0x208C)
#define AWB_HIST_CNT20 (AWB_BASE+0x2090)
#define AWB_HIST_CNT21 (AWB_BASE+0x2094)
#define AWB_HIST_CNT22 (AWB_BASE+0x2098)
#define AWB_HIST_CNT23 (AWB_BASE+0x209C)
#define AWB_HIST_CNT24 (AWB_BASE+0x20A0)
#define AWB_HIST_CNT25 (AWB_BASE+0x20A4)
#define AWB_HIST_CNT26 (AWB_BASE+0x20A8)
#define AWB_HIST_CNT27 (AWB_BASE+0x20AC)
#define AWB_HIST_CNT28 (AWB_BASE+0x20B0)
#define AWB_HIST_CNT29 (AWB_BASE+0x20B4)
#define AWB_HIST_CNT30 (AWB_BASE+0x20B8)
#define AWB_HIST_CNT31 (AWB_BASE+0x20BC)
/*
//DPC
#define DPC_BASE 0x00A23000
#define DPC_MAX_THD (0x00A23000+0X000)
#define DPC_MIN_THD (0x00A23000+0X004)
#define DPC_DIFF_THD1 (0x00A23000+0X008)
#define DPC_DIFF_THD2 (0x00A23000+0X00C)
*/
//NR_2D
#define NR_2D_BASE 0x00A20000
#define NR_2D_THDL_REG (NR_2D_BASE + 0x000)
#define NR_2D_THDH_REG (NR_2D_BASE + 0x004)
#define NR_2D_COEF_REG (NR_2D_BASE + 0x008)
#define NR_2D_GMIN_REG (NR_2D_BASE + 0x00C)
#define NR_2D_DELTA_THD (NR_2D_BASE + 0x010)
#define NR_2D_G_COEF1 (NR_2D_BASE + 0x014)
#define NR_2D_G_COEF2 (NR_2D_BASE + 0x018)
#define NR_2D_G_COEF3 (NR_2D_BASE + 0x01C)
#define NR_2D_G_COEF4 (NR_2D_BASE + 0x020)
#define NR_2D_RB_COEF1 (NR_2D_BASE + 0x024)
#define NR_2D_RB_COEF2 (NR_2D_BASE + 0x028)
#define NR_2D_RB_COEF3 (NR_2D_BASE + 0x02C)
#define NR_2D_H_SEL (NR_2D_BASE + 0x030)
#define NR_2D_FLT_EN (NR_2D_BASE + 0x034)
// Demosaic
#define DEMOSAIC_BASE 0x00A50000
#define DEMOSAIC_G_HOFST (DEMOSAIC_BASE + 0x000)
#define DEMOSAIC_DHV_OFST (DEMOSAIC_BASE + 0x004)
#define DEMOSAIC_DHV_K (DEMOSAIC_BASE + 0x008)
#define DEMOSAIC_THRMAIN (DEMOSAIC_BASE + 0x010)
#define DEMOSAIC_THRSUB (DEMOSAIC_BASE + 0x014)
// CSM
#define CSM_BASE 0x00A60000
#define CSM_RGB_MAX (CSM_BASE+0x000)
#define CSM_RGB_MIN (CSM_BASE+0x004)
#define CSM_R_OFST_REG (CSM_BASE+0x040)
#define CSM_R1_COEF_REG (CSM_BASE+0x044)
#define CSM_R2_COEF_REG (CSM_BASE+0x048)
#define CSM_R3_COEF_REG (CSM_BASE+0x04C)
#define CSM_G_OFST_REG (CSM_BASE+0x050)
#define CSM_G1_COEF_REG (CSM_BASE+0x054)
#define CSM_G2_COEF_REG (CSM_BASE+0x058)
#define CSM_G3_COEF_REG (CSM_BASE+0x05C)
#define CSM_B_OFST_REG (CSM_BASE+0x060)
#define CSM_B1_COEF_REG (CSM_BASE+0x064)
#define CSM_B2_COEF_REG (CSM_BASE+0x068)
#define CSM_B3_COEF_REG (CSM_BASE+0x06C)
// Gamma96
#define GAMMA96_BASE 0x00A61000
#define GAMMA96_LINE0_DAT0 (GAMMA96_BASE+0x000)
// RGB2YC
#define RGB2YC_BASE 0x00A62000
// Demoire
#define DEMOIRE_BASE 0x00A63000
#define DEMOIRE_V_THD (DEMOIRE_BASE+0x000)
#define DEMOIRE_KV (DEMOIRE_BASE+0x004)
#define DEMOIRE_DF_THD_MAX (DEMOIRE_BASE+0x008)
#define DEMOIRE_DF_THD_MIN (DEMOIRE_BASE+0x00C)
#define DEMOIRE_GAIN_MIN (DEMOIRE_BASE+0x010)
#define DEMOIRE_KC (DEMOIRE_BASE+0x014)
#define DEMOIRE_BYPASS (DEMOIRE_BASE+0x018)
// CC
#define CC_BASE 0x00A70000
#define CC_EN_REG (CC_BASE+0x000)
#define CC_HUE_OFST (CC_BASE+0x018)
#define CC_YS_TRAN_DAT0 (CC_BASE+0x040)
#define CC_S_TRAN_DAT0 (CC_BASE+0x084)
#define CC_HS_TRAN_DAT0 (CC_BASE+0x0E4)
#define CC_HH_H1_SATRT (CC_BASE+0x200)
#define CC_HH_H1_END (CC_BASE+0x204)
#define CC_HH_H1_MAX1 (CC_BASE+0x208)
#define CC_HH_H1_MAX2 (CC_BASE+0x20C)
#define CC_HH_H1_DMAX (CC_BASE+0x210)
#define CC_HH_H1_K1 (CC_BASE+0x214)
#define CC_HH_H1_K2 (CC_BASE+0x218)
#define CC_HH_H2_SATRT (CC_BASE+0x21C)
#define CC_HH_H2_END (CC_BASE+0x220)
#define CC_HH_H2_MAX1 (CC_BASE+0x224)
#define CC_HH_H2_MAX2 (CC_BASE+0x228)
#define CC_HH_H2_DMAX (CC_BASE+0x22C)
#define CC_HH_H2_K1 (CC_BASE+0x230)
#define CC_HH_H2_K2 (CC_BASE+0x234)
#define CC_HH_H3_SATRT (CC_BASE+0x240)
#define CC_HH_H3_END (CC_BASE+0x244)
#define CC_HH_H3_MAX1 (CC_BASE+0x248)
#define CC_HH_H3_MAX2 (CC_BASE+0x24C)
#define CC_HH_H3_DMAX (CC_BASE+0x250)
#define CC_HH_H3_K1 (CC_BASE+0x254)
#define CC_HH_H3_K2 (CC_BASE+0x258)
// Y_Gamma
#define YGAMMA_BASE 0x00A71000
#define YGAMMA_LINE0_DAT0 (YGAMMA_BASE+0x000)
//Y_hist
#define YHIST_BASE 0x00A72000
#define YHIST_CNT0 (YHIST_BASE+0x000)
//C_tran
#define CTRAN_BASE 0x00A73000
#define CTRAN_BUF_SW (CTRAN_BASE+0x000)
#define TRAN_LINE0_DAT0 (CTRAN_BASE+0x000)
#define TRAN_LINE0_DAT7 (CTRAN_BASE+0x05C)
#define TRAN_LINE0_DAT8 (CTRAN_BASE+0x060)
// Sharpness
#define SHARPEN_BASE 0x00A74000
#define SHARPEN_YMTH1 (SHARPEN_BASE+0x000)
#define SHARPEN_YMTH2 (SHARPEN_BASE+0x004)
#define SHARPEN_YM_K (SHARPEN_BASE+0x008)
#define SHARPEN_KM0 (SHARPEN_BASE+0x00C)
#define SHARPEN_WM0 (SHARPEN_BASE+0x010)
#define SHARPEN_WM1 (SHARPEN_BASE+0x014)
#define SHARPEN_WM2 (SHARPEN_BASE+0x018)
#define SHARPEN_WM3 (SHARPEN_BASE+0x01C)
#define SHARPEN_WM4 (SHARPEN_BASE+0x020)
#define SHARPEN_WM5 (SHARPEN_BASE+0x024)
#define SHARPEN_YMDTH1 (SHARPEN_BASE+0x040)
#define SHARPEN_YMDTH2 (SHARPEN_BASE+0x044)
#define SHARPEN_YMD_K (SHARPEN_BASE+0x048)
#define SHARPEN_KMD_MAX (SHARPEN_BASE+0x04C)
#define SHARPEN_WMD0 (SHARPEN_BASE+0x050)
#define SHARPEN_WMD1 (SHARPEN_BASE+0x054)
#define SHARPEN_WMD2 (SHARPEN_BASE+0x058)
#define SHARPEN_WMD3 (SHARPEN_BASE+0x05C)
#define SHARPEN_WMD4 (SHARPEN_BASE+0x060)
#define SHARPEN_WMD5 (SHARPEN_BASE+0x064)
#define SHARPEN_YHTH1 (SHARPEN_BASE+0x080)
#define SHARPEN_YHTH2 (SHARPEN_BASE+0x084)
#define SHARPEN_YH_K (SHARPEN_BASE+0x088)
#define SHARPEN_KH0 (SHARPEN_BASE+0x08C)
#define SHARPEN_WH0 (SHARPEN_BASE+0x090)
#define SHARPEN_WH1 (SHARPEN_BASE+0x094)
#define SHARPEN_WH2 (SHARPEN_BASE+0x098)
#define SHARPEN_WH3 (SHARPEN_BASE+0x09C)
#define SHARPEN_WH4 (SHARPEN_BASE+0x0A0)
#define SHARPEN_WH5 (SHARPEN_BASE+0x0A4)
#define SHARPEN_YHDTH1 (SHARPEN_BASE+0x0C0)
#define SHARPEN_YHDTH2 (SHARPEN_BASE+0x0C4)
#define SHARPEN_YHD_K (SHARPEN_BASE+0x0C8)
#define SHARPEN_KHD_MAX (SHARPEN_BASE+0x0CC)
#define SHARPEN_WHD0 (SHARPEN_BASE+0x0D0)
#define SHARPEN_WHD1 (SHARPEN_BASE+0x0D4)
#define SHARPEN_WHD2 (SHARPEN_BASE+0x0D8)
#define SHARPEN_WHD3 (SHARPEN_BASE+0x0DC)
#define SHARPEN_WHD4 (SHARPEN_BASE+0x0E0)
#define SHARPEN_WHD5 (SHARPEN_BASE+0x0E4)
#define SHARPEN_KH00 (SHARPEN_BASE+0x100)
#define SHARPEN_KH01 (SHARPEN_BASE+0x104)
#define SHARPEN_KL00 (SHARPEN_BASE+0x108)
#define SHARPEN_KL01 (SHARPEN_BASE+0x10C)
#define SHARPEN_KH1 (SHARPEN_BASE+0x110)
#define SHARPEN_KL1 (SHARPEN_BASE+0x114)
#define SHARPEN_DLTMAX (SHARPEN_BASE+0x118)
#define SHARPEN_DFKD (SHARPEN_BASE+0x11C)
#define SHARPEN_DFMAX (SHARPEN_BASE+0x120)
#define SHARPEN_ENH_STREN (SHARPEN_BASE+0x130)
#define SHARPEN_ENH_THR (SHARPEN_BASE+0x134)
#define SHARPEN_ENH_GMAX (SHARPEN_BASE+0x138)
#define SHARPEN_TRAN_DAT0 (SHARPEN_BASE+0x140)
#define SHARPEN_C_COEF1 (SHARPEN_BASE+0x1C0)
#define SHARPEN_C_COEF2 (SHARPEN_BASE+0x1C4)
#define SHARPEN_C_COEF3 (SHARPEN_BASE+0x1C8)
#define SHARPEN_C_FLT_SEL (SHARPEN_BASE+0x1CC)
#define SHARPEN_EN (SHARPEN_BASE+0x240)
#define SHARPEN_DENOISE_EN (SHARPEN_BASE+0x248)
#define SHARPEN_NOISETHR (SHARPEN_BASE+0x250)
// YC_Gain
#define YC_GAIN_BASE 0x00A75000
#define Y_GAIN (YC_GAIN_BASE+(0x000))
#define CB_GAIN (YC_GAIN_BASE+(0x004))
#define CR_GAIN (YC_GAIN_BASE+(0x008))
#define Y_OFST (YC_GAIN_BASE+(0x00C))
#define Y_MAX_THD (YC_GAIN_BASE+(0x010))
#define Y_MIN_THD (YC_GAIN_BASE+(0x014))
#endif