/****************************************************************************** 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 : 2015/6/27 Author : Ganwencao Modification : creat ******************************************************************************/ #ifndef _XM322_REG_ #define _XM322_REG_ // VideoMain #define FRONT_V_VIE_EN (0x00AF0010) #define VIDEOMAIN_RGBIR (0x00AF0080) //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 0x00A03000 #define SDPC_CLK_SW (SDPC_BASE+0x000) #define SDPC_SRAMADDR_CLR (SDPC_BASE+0x004) #define SDPC_SRAMADDR_DAT (SDPC_BASE+0x008) #define SDPC_TEST_ENABLE (SDPC_BASE+0x00C) #define DDPC_BASE 0x00A23000 #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) // 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) //AF #define AF_BASE 0x00A21000 #define AF_WDW0_VBEGIN (AF_BASE + 0x000) #define AF_WDW0_VEND (AF_BASE + 0x004) #define AF_WDW0_HBEGIN (AF_BASE + 0x008) #define AF_WDW0_HEND (AF_BASE + 0x00C) #define AF_WDW0_HZ (AF_BASE + 0x094) //NIR #define NIR_BASE 0x00A30000 #define NIR_HIR_COEF1 (NIR_BASE + 0x0018) #define NIR_HIR_COEF2 (NIR_BASE + 0x001C) #define NIR_HIR_COEF3 (NIR_BASE + 0x0020) #define NIR_IR_INTG (NIR_BASE + 0x2000) #define NIR_R_INTG (NIR_BASE + 0x2004) #define NIR_G_INTG (NIR_BASE + 0x2008) #define NIR_B_INTG (NIR_BASE + 0x200C) #define NIR_RGB_INTG (NIR_BASE + 0x2010) #define NIR_CC_MODE (NIR_BASE + 0x1000) #define NIR_RS_RAT (NIR_BASE + 0x1004) #define NIR_GS_RAT (NIR_BASE + 0x1008) #define NIR_BS_RAT (NIR_BASE + 0x100C) #define NIR_CC_COEF11 (NIR_BASE + 0x1040) #define NIR_CC_COEF12 (NIR_BASE + 0x1044) #define NIR_CC_COEF13 (NIR_BASE + 0x1048) #define NIR_CC_COEF14 (NIR_BASE + 0x104C) #define NIR_CC_COEF21 (NIR_BASE + 0x1050) #define NIR_CC_COEF22 (NIR_BASE + 0x1054) #define NIR_CC_COEF23 (NIR_BASE + 0x1058) #define NIR_CC_COEF24 (NIR_BASE + 0x105C) #define NIR_CC_COEF31 (NIR_BASE + 0x1060) #define NIR_CC_COEF32 (NIR_BASE + 0x1064) #define NIR_CC_COEF33 (NIR_BASE + 0x1068) #define NIR_CC_COEF34 (NIR_BASE + 0x106C) #define NIR_LUMLUT0 (NIR_BASE + 0x1080) // 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_GCALC_MODE (DEMOSAIC_BASE + 0x00C) #define DEMOSAIC_THRMAIN (DEMOSAIC_BASE + 0x010) #define DEMOSAIC_THRSUB (DEMOSAIC_BASE + 0x014) #define DEMOSAIC_WT_G (DEMOSAIC_BASE + 0x01C) #define DEMOSAIC_HV_OFST (DEMOSAIC_BASE + 0x020) // 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) // Gamma60 #define GAMMA60_BASE 0x00A61000 #define GAMMA60_BUF_SW (GAMMA60_BASE+0x000) #define GAMMA60_BUF_SW_STATE (GAMMA60_BASE+0x004) #define GAMMA60_LINE0_DAT0 (GAMMA60_BASE+0x040) #define GAMMA60_LINE1_DAT0 (GAMMA60_BASE+0x140) // 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) // Y_Gamma #define YGAMMA_BASE 0x00A71000 #define YGAMMA_BUF_SW (YGAMMA_BASE+0x000) #define YGAMMA_BUF_SW_STATE (YGAMMA_BASE+0x004) #define YGAMMA_LINE0_DAT0 (YGAMMA_BASE+0x040) #define YGAMMA_LINE1_DAT0 (YGAMMA_BASE+0x180) //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 CTRAN_BUF_SW_STATE (CTRAN_BASE+0x004) #define TRAN_LINE0_DAT0 (CTRAN_BASE+0x040) #define TRAN_LINE0_DAT7 (CTRAN_BASE+0x05C) #define TRAN_LINE0_DAT8 (CTRAN_BASE+0x060) #define TRAN_LINE1_DAT0 (CTRAN_BASE+0x080) // 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_KR1 (SHARPEN_BASE+0x1C0) #define SHARPEN_C_KR2 (SHARPEN_BASE+0x1C4) #define SHARPEN_C_KG1 (SHARPEN_BASE+0x1C8) #define SHARPEN_C_KG2 (SHARPEN_BASE+0x1CC) #define SHARPEN_C_KB1 (SHARPEN_BASE+0x1D0) #define SHARPEN_C_KB2 (SHARPEN_BASE+0x1D4) #define SHARPEN_C_ZONE_EN (SHARPEN_BASE+0x1D8) #define SHARPEN_C_COEF1 (SHARPEN_BASE+0x1DC) #define SHARPEN_C_COEF2 (SHARPEN_BASE+0x1E0) #define SHARPEN_C_COEF3 (SHARPEN_BASE+0x1E4) #define SHARPEN_C_FLT_SEL (SHARPEN_BASE+0x1E8) #define SHARPEN_C_SAT_DAT0 (SHARPEN_BASE+0x200) #define SHARPEN_EN (SHARPEN_BASE+0x240) // 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