• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /* Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd. */
3 
4 #ifndef _RKISPP_REGS_H
5 #define _RKISPP_REGS_H
6 
7 /* registers */
8 #define RKISPP_CTRL			0x0000
9 #define RKISPP_CTRL_STRT		(RKISPP_CTRL + 0x0000)
10 #define RKISPP_CTRL_UPDATE		(RKISPP_CTRL + 0x0004)
11 #define RKISPP_CTRL_QUICK		(RKISPP_CTRL + 0x0008)
12 #define RKISPP_CTRL_RESET		(RKISPP_CTRL + 0x000C)
13 #define RKISPP_CTRL_CLKGATE		(RKISPP_CTRL + 0x0010)
14 #define RKISPP_CTRL_SIZE		(RKISPP_CTRL + 0x0014)
15 #define RKISPP_CTRL_TNR_SIZE		(RKISPP_CTRL + 0x0018)
16 #define RKISPP_CTRL_IP_VERSION		(RKISPP_CTRL + 0x001C)
17 #define RKISPP_CTRL_INT_MSK		(RKISPP_CTRL + 0x0020)
18 #define RKISPP_CTRL_INT_RAW_STA		(RKISPP_CTRL + 0x0024)
19 #define RKISPP_CTRL_INT_STA		(RKISPP_CTRL + 0x0028)
20 #define RKISPP_CTRL_INT_SET		(RKISPP_CTRL + 0x002C)
21 #define RKISPP_CTRL_INT_CLR		(RKISPP_CTRL + 0x0030)
22 #define RKISPP_QUICK_DIF		(RKISPP_CTRL + 0x0034)
23 #define RKISPP_CTRL_SYS_STATUS		(RKISPP_CTRL + 0x003C)
24 #define RKISPP_CTRL_QUICK_FRM_NUM	(RKISPP_CTRL + 0x0040)
25 #define RKISPP_CTRL_SYS_CTL_STA0	(RKISPP_CTRL + 0x0054)
26 #define RKISPP_CTRL_SYS_CTL_STA1	(RKISPP_CTRL + 0x0058)
27 #define RKISPP_CTRL_SYS_CTL_STA2	(RKISPP_CTRL + 0x005C)
28 #define RKISPP_CTRL_SYS_FRM_CNT0	(RKISPP_CTRL + 0x0060)
29 #define RKISPP_CTRL_SYS_FRM_CNT1	(RKISPP_CTRL + 0x0064)
30 
31 #define	RKISPP_TNR			0x0200
32 #define RKISPP_TNR_CTRL			(RKISPP_TNR + 0x0000)
33 #define RKISPP_TNR_CUR_VIR_STRIDE	(RKISPP_TNR + 0x0004)
34 #define RKISPP_TNR_CUR_Y_BASE		(RKISPP_TNR + 0x0008)
35 #define RKISPP_TNR_CUR_UV_BASE		(RKISPP_TNR + 0x000C)
36 #define RKISPP_TNR_IIR_VIR_STRIDE	(RKISPP_TNR + 0x0010)
37 #define RKISPP_TNR_IIR_Y_BASE		(RKISPP_TNR + 0x0014)
38 #define RKISPP_TNR_IIR_UV_BASE		(RKISPP_TNR + 0x0018)
39 #define RKISPP_TNR_NXT_VIR_STRIDE	(RKISPP_TNR + 0x001C)
40 #define RKISPP_TNR_NXT_Y_BASE		(RKISPP_TNR + 0x0020)
41 #define RKISPP_TNR_NXT_UV_BASE		(RKISPP_TNR + 0x0024)
42 #define RKISPP_TNR_GAIN_CUR_VIR_STRIDE	(RKISPP_TNR + 0x0028)
43 #define RKISPP_TNR_GAIN_CUR_Y_BASE	(RKISPP_TNR + 0x002C)
44 #define RKISPP_TNR_GAIN_NXT_VIR_STRIDE	(RKISPP_TNR + 0x0030)
45 #define RKISPP_TNR_GAIN_NXT_Y_BASE	(RKISPP_TNR + 0x0034)
46 #define RKISPP_TNR_GAIN_KG_VIR_STRIDE	(RKISPP_TNR + 0x0038)
47 #define RKISPP_TNR_GAIN_KG_Y_BASE	(RKISPP_TNR + 0x003C)
48 #define RKISPP_TNR_WR_VIR_STRIDE	(RKISPP_TNR + 0x0040)
49 #define RKISPP_TNR_WR_Y_BASE		(RKISPP_TNR + 0x0044)
50 #define RKISPP_TNR_WR_UV_BASE		(RKISPP_TNR + 0x0048)
51 #define RKISPP_TNR_GAIN_WR_VIR_STRIDE	(RKISPP_TNR + 0x004C)
52 #define RKISPP_TNR_GAIN_WR_Y_BASE	(RKISPP_TNR + 0x0050)
53 #define RKISPP_TNR_CUR_Y_BASE_SHD	(RKISPP_TNR + 0x0054)
54 #define RKISPP_TNR_CUR_UV_BASE_SHD	(RKISPP_TNR + 0x0058)
55 #define RKISPP_TNR_IIR_Y_BASE_SHD	(RKISPP_TNR + 0x005C)
56 #define RKISPP_TNR_IIR_UV_BASE_SHD	(RKISPP_TNR + 0x0060)
57 #define RKISPP_TNR_NXT_Y_BASE_SHD	(RKISPP_TNR + 0x0064)
58 #define RKISPP_TNR_NXT_UV_BASE_SHD	(RKISPP_TNR + 0x0068)
59 #define RKISPP_TNR_GAIN_CUR_Y_BASE_SHD	(RKISPP_TNR + 0x006C)
60 #define RKISPP_TNR_GAIN_NXT_Y_BASE_SHD	(RKISPP_TNR + 0x0070)
61 #define RKISPP_TNR_WR_Y_BASE_SHD	(RKISPP_TNR + 0x0074)
62 #define RKISPP_TNR_WR_UV_BASE_SHD	(RKISPP_TNR + 0x0078)
63 #define RKISPP_TNR_GAIN_WR_Y_BASE_SHD	(RKISPP_TNR + 0x007C)
64 #define RKISPP_TNR_CORE_CTRL		(RKISPP_TNR + 0x0080)
65 #define RKISPP_TNR_CORE_PK0		(RKISPP_TNR + 0x0088)
66 #define RKISPP_TNR_CORE_GLB_GAIN	(RKISPP_TNR + 0x008C)
67 #define RKISPP_TNR_CORE_GLB_GAIN_DIV	(RKISPP_TNR + 0x0090)
68 #define RKISPP_TNR_CORE_SIG_X18		(RKISPP_TNR + 0x0094)
69 #define RKISPP_TNR_CORE_SIG_X910	(RKISPP_TNR + 0x0098)
70 #define RKISPP_TNR_CORE_SIG_Y01		(RKISPP_TNR + 0x009C)
71 #define RKISPP_TNR_CORE_SIG_Y23		(RKISPP_TNR + 0x00A0)
72 #define RKISPP_TNR_CORE_SIG_Y45		(RKISPP_TNR + 0x00A4)
73 #define RKISPP_TNR_CORE_SIG_Y67		(RKISPP_TNR + 0x00A8)
74 #define RKISPP_TNR_CORE_SIG_Y89		(RKISPP_TNR + 0x00AC)
75 #define RKISPP_TNR_CORE_SIG_YAB		(RKISPP_TNR + 0x00B0)
76 #define RKISPP_TNR_CORE_SIG_YCD		(RKISPP_TNR + 0x00B4)
77 #define RKISPP_TNR_CORE_SIG_YEF		(RKISPP_TNR + 0x00B8)
78 #define RKISPP_TNR_CORE_SIG_Y10		(RKISPP_TNR + 0x00BC)
79 #define RKISPP_TNR_CORE_LUMACURVE_Y01	(RKISPP_TNR + 0x00C4)
80 #define RKISPP_TNR_CORE_LUMACURVE_Y23	(RKISPP_TNR + 0x00C8)
81 #define RKISPP_TNR_CORE_LUMACURVE_Y45	(RKISPP_TNR + 0x00CC)
82 #define RKISPP_TNR_CORE_TH_Y		(RKISPP_TNR + 0x00D0)
83 #define RKISPP_TNR_CORE_TH_C		(RKISPP_TNR + 0x00D4)
84 #define RKISPP_TNR_CORE_TH_DLT		(RKISPP_TNR + 0x00D8)
85 #define RKISPP_TNR_CORE_GFCOEF_Y0_0	(RKISPP_TNR + 0x00DC)
86 #define RKISPP_TNR_CORE_GFCOEF_Y0_1	(RKISPP_TNR + 0x00E0)
87 #define RKISPP_TNR_CORE_GFCOEF_Y1	(RKISPP_TNR + 0x00E4)
88 #define RKISPP_TNR_CORE_GFCOEF_Y2	(RKISPP_TNR + 0x00E8)
89 #define RKISPP_TNR_CORE_GFCOEF_Y3	(RKISPP_TNR + 0x00EC)
90 #define RKISPP_TNR_CORE_GFCOEF_YG0_0	(RKISPP_TNR + 0x00F0)
91 #define RKISPP_TNR_CORE_GFCOEF_YG0_1	(RKISPP_TNR + 0x00F4)
92 #define RKISPP_TNR_CORE_GFCOEF_YG1	(RKISPP_TNR + 0x00F8)
93 #define RKISPP_TNR_CORE_GFCOEF_YG2	(RKISPP_TNR + 0x00FC)
94 #define RKISPP_TNR_CORE_GFCOEF_YG3	(RKISPP_TNR + 0x0100)
95 #define RKISPP_TNR_CORE_GFCOEF_YL0_0	(RKISPP_TNR + 0x0104)
96 #define RKISPP_TNR_CORE_GFCOEF_YL0_1	(RKISPP_TNR + 0x0108)
97 #define RKISPP_TNR_CORE_GFCOEF_YL1	(RKISPP_TNR + 0x010C)
98 #define RKISPP_TNR_CORE_GFCOEF_YL2	(RKISPP_TNR + 0x0110)
99 #define RKISPP_TNR_CORE_GFCOEF_CG0_0	(RKISPP_TNR + 0x0114)
100 #define RKISPP_TNR_CORE_GFCOEF_CG0_1	(RKISPP_TNR + 0x0118)
101 #define RKISPP_TNR_CORE_GFCOEF_CG1	(RKISPP_TNR + 0x011C)
102 #define RKISPP_TNR_CORE_GFCOEF_CG2	(RKISPP_TNR + 0x0120)
103 #define RKISPP_TNR_CORE_GFCOEF_CL0_0	(RKISPP_TNR + 0x0124)
104 #define RKISPP_TNR_CORE_GFCOEF_CL0_1	(RKISPP_TNR + 0x0128)
105 #define RKISPP_TNR_CORE_GFCOEF_CL1	(RKISPP_TNR + 0x012C)
106 #define RKISPP_TNR_CORE_SCALE_YG01	(RKISPP_TNR + 0x0130)
107 #define RKISPP_TNR_CORE_SCALE_YG23	(RKISPP_TNR + 0x0134)
108 #define RKISPP_TNR_CORE_SCALE_YL01	(RKISPP_TNR + 0x0138)
109 #define RKISPP_TNR_CORE_SCALE_YL2	(RKISPP_TNR + 0x013c)
110 #define RKISPP_TNR_CORE_SCALE_CG0	(RKISPP_TNR + 0x0140)
111 #define RKISPP_TNR_CORE_SCALE_CG1	(RKISPP_TNR + 0x0144)
112 #define RKISPP_TNR_CORE_SCALE_CG2	(RKISPP_TNR + 0x0148)
113 #define RKISPP_TNR_CORE_SCALE_CL0	(RKISPP_TNR + 0x014C)
114 #define RKISPP_TNR_CORE_SCALE_CL1	(RKISPP_TNR + 0x0150)
115 #define RKISPP_TNR_CORE_SCALE_CL2	(RKISPP_TNR + 0x0154)
116 #define RKISPP_TNR_CORE_WEIGHT		(RKISPP_TNR + 0x0158)
117 #define RKISPP_TNR_TILE_CNT		(RKISPP_TNR + 0x01c0)
118 #define RKISPP_TNR_STATE		(RKISPP_TNR + 0x01c4)
119 
120 #define RKISPP_NR			0x0400
121 #define RKISPP_NR_CTRL			(RKISPP_NR + 0x0000)
122 #define RKISPP_NR_VIR_STRIDE		(RKISPP_NR + 0x0004)
123 #define RKISPP_NR_ADDR_BASE_Y		(RKISPP_NR + 0x0008)
124 #define RKISPP_NR_ADDR_BASE_UV		(RKISPP_NR + 0x000C)
125 #define RKISPP_NR_VIR_STRIDE_GAIN	(RKISPP_NR + 0x001C)
126 #define RKISPP_NR_ADDR_BASE_GAIN	(RKISPP_NR + 0x0020)
127 #define RKISPP_NR_ADDR_BASE_Y_SHD	(RKISPP_NR + 0x0024)
128 #define RKISPP_NR_ADDR_BASE_UV_SHD	(RKISPP_NR + 0x0028)
129 #define RKISPP_FBC_VIR_HEIGHT		(RKISPP_NR + 0x002C)
130 #define RKISPP_NR_UVNR_CTRL_PARA	(RKISPP_NR + 0x0080)
131 #define RKISPP_NR_UVNR_GAIN_1SIGMA	(RKISPP_NR + 0x0084)
132 #define RKISPP_NR_UVNR_GAIN_OFFSET	(RKISPP_NR + 0x0088)
133 #define RKISPP_NR_UVNR_GAIN_GBLGAIN	(RKISPP_NR + 0x008C)
134 #define RKISPP_NR_UVNR_T1GEN_M3ALPHA	(RKISPP_NR + 0x0090)
135 #define RKISPP_NR_UVNR_T1FLT_MODE	(RKISPP_NR + 0x0094)
136 #define RKISPP_NR_UVNR_T1FLT_MSIGMA	(RKISPP_NR + 0x0098)
137 #define RKISPP_NR_UVNR_T1FLT_WTP	(RKISPP_NR + 0x009C)
138 #define RKISPP_NR_UVNR_T1FLT_WTQ0	(RKISPP_NR + 0x00A0)
139 #define RKISPP_NR_UVNR_T1FLT_WTQ1	(RKISPP_NR + 0x00A4)
140 #define RKISPP_NR_UVNR_T2GEN_M3ALPHA	(RKISPP_NR + 0x00A8)
141 #define RKISPP_NR_UVNR_T2GEN_MSIGMA	(RKISPP_NR + 0x00AC)
142 #define RKISPP_NR_UVNR_T2GEN_WTP	(RKISPP_NR + 0x00B0)
143 #define RKISPP_NR_UVNR_T2GEN_WTQ	(RKISPP_NR + 0x00B4)
144 #define RKISPP_NR_UVNR_T2FLT_MSIGMA	(RKISPP_NR + 0x00B8)
145 #define RKISPP_NR_UVNR_T2FLT_WT		(RKISPP_NR + 0x00BC)
146 #define RKISPP_NR_YNR_SGM_DX_1_8	(RKISPP_NR + 0x0104)
147 #define RKISPP_NR_YNR_SGM_DX_9_16	(RKISPP_NR + 0x0108)
148 #define RKISPP_NR_YNR_LSGM_Y_0_1	(RKISPP_NR + 0x010C)
149 #define RKISPP_NR_YNR_LSGM_Y_2_3	(RKISPP_NR + 0x0110)
150 #define RKISPP_NR_YNR_LSGM_Y_4_5	(RKISPP_NR + 0x0114)
151 #define RKISPP_NR_YNR_LSGM_Y_6_7	(RKISPP_NR + 0x0118)
152 #define RKISPP_NR_YNR_LSGM_Y_8_9	(RKISPP_NR + 0x011C)
153 #define RKISPP_NR_YNR_LSGM_Y_10_11	(RKISPP_NR + 0x0120)
154 #define RKISPP_NR_YNR_LSGM_Y_12_13	(RKISPP_NR + 0x0124)
155 #define RKISPP_NR_YNR_LSGM_Y_14_15	(RKISPP_NR + 0x0128)
156 #define RKISPP_NR_YNR_LSGM_Y_16		(RKISPP_NR + 0x012C)
157 #define RKISPP_NR_YNR_LCI		(RKISPP_NR + 0x0130)
158 #define RKISPP_NR_YNR_LGAIN_DIRE_MIN	(RKISPP_NR + 0x0134)
159 #define RKISPP_NR_YNR_IGAIN_DIRE_MAX	(RKISPP_NR + 0x0138)
160 #define RKISPP_NR_YNR_LMERGE		(RKISPP_NR + 0x013C)
161 #define RKISPP_NR_YNR_LWEIT_FLT		(RKISPP_NR + 0x0140)
162 #define RKISPP_NR_YNR_HSGM_Y_0_1	(RKISPP_NR + 0x0144)
163 #define RKISPP_NR_YNR_HSGM_Y_2_3	(RKISPP_NR + 0x0148)
164 #define RKISPP_NR_YNR_HSGM_Y_4_5	(RKISPP_NR + 0x014C)
165 #define RKISPP_NR_YNR_HSGM_Y_6_7	(RKISPP_NR + 0x0150)
166 #define RKISPP_NR_YNR_HSGM_Y_8_9	(RKISPP_NR + 0x0154)
167 #define RKISPP_NR_YNR_HSGM_Y_10_11	(RKISPP_NR + 0x0158)
168 #define RKISPP_NR_YNR_HSGM_Y_12_13	(RKISPP_NR + 0x015C)
169 #define RKISPP_NR_YNR_HSGM_Y_14_15	(RKISPP_NR + 0x0160)
170 #define RKISPP_NR_YNR_HSGM_Y_16		(RKISPP_NR + 0x0164)
171 #define RKISPP_NR_YNR_HLCI		(RKISPP_NR + 0x0168)
172 #define RKISPP_NR_YNR_LHCI		(RKISPP_NR + 0x016C)
173 #define RKISPP_NR_YNR_HHCI		(RKISPP_NR + 0x0170)
174 #define RKISPP_NR_YNR_HGAIN_SGM		(RKISPP_NR + 0x0174)
175 #define RKISPP_NR_YNR_HWEIT_D0		(RKISPP_NR + 0x0178)
176 #define RKISPP_NR_YNR_HWEIT_D1		(RKISPP_NR + 0x017C)
177 #define RKISPP_NR_YNR_HWEIT_D2		(RKISPP_NR + 0x0180)
178 #define RKISPP_NR_YNR_HWEIT_D3		(RKISPP_NR + 0x0184)
179 #define RKISPP_NR_YNR_HWEIT_D4		(RKISPP_NR + 0x0188)
180 #define RKISPP_NR_YNR_HGRAD_Y0		(RKISPP_NR + 0x018C)
181 #define RKISPP_NR_YNR_HGRAD_Y1		(RKISPP_NR + 0x0190)
182 #define RKISPP_NR_YNR_HGRAD_Y2		(RKISPP_NR + 0x0194)
183 #define RKISPP_NR_YNR_HGRAD_Y3		(RKISPP_NR + 0x0198)
184 #define RKISPP_NR_YNR_HGRAD_Y4		(RKISPP_NR + 0x019C)
185 #define RKISPP_NR_YNR_HGRAD_Y5		(RKISPP_NR + 0x01A0)
186 #define RKISPP_NR_YNR_HWEIT_1_2		(RKISPP_NR + 0x01A4)
187 #define RKISPP_NR_YNR_HWEIT_3_4		(RKISPP_NR + 0x01A8)
188 #define RKISPP_NR_YNR_HADJUST_EXGAIN	(RKISPP_NR + 0x01AC)
189 #define RKISPP_NR_YNR_HMAX_ADJUST	(RKISPP_NR + 0x01B0)
190 #define RKISPP_NR_YNR_HSTRENGTH		(RKISPP_NR + 0x01B4)
191 #define RKISPP_NR_YNR_LWEIT_CMP		(RKISPP_NR + 0x01B8)
192 #define RKISPP_NR_YNR_LMAXGAIN_LV4	(RKISPP_NR + 0x01BC)
193 #define RKISPP_NR_YNR_HSTV_Y_0_1	(RKISPP_NR + 0x01C0)
194 #define RKISPP_NR_YNR_HSTV_Y_2_3	(RKISPP_NR + 0x01C4)
195 #define RKISPP_NR_YNR_HSTV_Y_4_5	(RKISPP_NR + 0x01C8)
196 #define RKISPP_NR_YNR_HSTV_Y_6_7	(RKISPP_NR + 0x01CC)
197 #define RKISPP_NR_YNR_HSTV_Y_8_9	(RKISPP_NR + 0x01D0)
198 #define RKISPP_NR_YNR_HSTV_Y_10_11	(RKISPP_NR + 0x01D4)
199 #define RKISPP_NR_YNR_HSTV_Y_12_13	(RKISPP_NR + 0x01D8)
200 #define RKISPP_NR_YNR_HSTV_Y_14_15	(RKISPP_NR + 0x01DC)
201 #define RKISPP_NR_YNR_HSTV_Y_16		(RKISPP_NR + 0x01E0)
202 #define RKISPP_NR_YNR_ST_SCALE_LV1_LV2	(RKISPP_NR + 0x01E4)
203 #define RKISPP_NR_YNR_ST_SCALE_LV3	(RKISPP_NR + 0x01E8)
204 #define RKISPP_NR_BLOCK_CNT		(RKISPP_NR + 0x01f0)
205 #define RKISPP_NR_BUFFER_READY		(RKISPP_NR + 0x01f4)
206 
207 #define RKISPP_SHARP			0x0600
208 #define RKISPP_SHARP_CTRL		(RKISPP_SHARP + 0x0000)
209 #define RKISPP_SHARP_WR_VIR_STRIDE	(RKISPP_SHARP + 0x0004)
210 #define RKISPP_SHARP_WR_Y_BASE		(RKISPP_SHARP + 0x0008)
211 #define RKISPP_SHARP_WR_UV_BASE		(RKISPP_SHARP + 0x000C)
212 #define RKISPP_SHARP_SC_DOWN		(RKISPP_SHARP + 0x0010)
213 #define RKISPP_SHARP_TMP_YUV_BASE	(RKISPP_SHARP + 0x0014)
214 #define RKISPP_SHARP_WR_Y_BASE_SHD	(RKISPP_SHARP + 0x0024)
215 #define RKISPP_SHARP_WR_UV_BASE_SHD	(RKISPP_SHARP + 0x0028)
216 #define RKISPP_SHARP_TILE_IDX		(RKISPP_SHARP + 0x0030)
217 #define RKISPP_SHARP_CORE_CTRL		(RKISPP_SHARP + 0x0080)
218 #define RKISPP_SHARP_HBF_FACTOR		(RKISPP_SHARP + 0x0084)
219 #define RKISPP_SHARP_EDGE_TH		(RKISPP_SHARP + 0x0088)
220 #define RKISPP_SHARP_EDGE_ALPHA		(RKISPP_SHARP + 0x008C)
221 #define RKISPP_SHARP_PBF_KERNEL		(RKISPP_SHARP + 0x0090)
222 #define RKISPP_SHARP_MRF_KERNEL0	(RKISPP_SHARP + 0x0094)
223 #define RKISPP_SHARP_MRF_KERNEL1	(RKISPP_SHARP + 0x0098)
224 #define RKISPP_SHARP_MBF_KERNEL0	(RKISPP_SHARP + 0x009C)
225 #define RKISPP_SHARP_MBF_KERNEL1	(RKISPP_SHARP + 0x00A0)
226 #define RKISPP_SHARP_MBF_KERNEL2	(RKISPP_SHARP + 0x00A4)
227 #define RKISPP_SHARP_HRF_KERNEL0	(RKISPP_SHARP + 0x00A8)
228 #define RKISPP_SHARP_HRF_KERNEL1	(RKISPP_SHARP + 0x00AC)
229 #define RKISPP_SHARP_HBF_KERNEL		(RKISPP_SHARP + 0x00B0)
230 #define RKISPP_SHARP_EDGE_COEF		(RKISPP_SHARP + 0x00B4)
231 #define RKISPP_SHARP_EDGE_SMOTH		(RKISPP_SHARP + 0x00B8)
232 #define RKISPP_SHARP_EDGE_GAUS0		(RKISPP_SHARP + 0x00BC)
233 #define RKISPP_SHARP_EDGE_GAUS1		(RKISPP_SHARP + 0x00C0)
234 #define RKISPP_SHARP_DOG_KERNEL0	(RKISPP_SHARP + 0x00C4)
235 #define RKISPP_SHARP_DOG_KERNEL1	(RKISPP_SHARP + 0x00C8)
236 #define RKISPP_SHARP_LUM_POINT0		(RKISPP_SHARP + 0x00CC)
237 #define RKISPP_SHARP_LUM_POINT1		(RKISPP_SHARP + 0x00D0)
238 #define RKISPP_SHARP_SHF_BITS		(RKISPP_SHARP + 0x00D4)
239 #define RKISPP_SHARP_PBF_SIGMA_INV0	(RKISPP_SHARP + 0x00D8)
240 #define RKISPP_SHARP_PBF_SIGMA_INV1	(RKISPP_SHARP + 0x00DC)
241 #define RKISPP_SHARP_LUM_CLP_M0		(RKISPP_SHARP + 0x00E0)
242 #define RKISPP_SHARP_LUM_CLP_M1		(RKISPP_SHARP + 0x00E4)
243 #define RKISPP_SHARP_LUM_MIN_M0		(RKISPP_SHARP + 0x00E8)
244 #define RKISPP_SHARP_LUM_MIN_M1		(RKISPP_SHARP + 0x00EC)
245 #define RKISPP_SHARP_MBF_SIGMA_INV0	(RKISPP_SHARP + 0x00F0)
246 #define RKISPP_SHARP_MBF_SIGMA_INV1	(RKISPP_SHARP + 0x00F4)
247 #define RKISPP_SHARP_LUM_CLP_H0		(RKISPP_SHARP + 0x00F8)
248 #define RKISPP_SHARP_LUM_CLP_H1		(RKISPP_SHARP + 0x00FC)
249 #define RKISPP_SHARP_HBF_SIGMA_INV0	(RKISPP_SHARP + 0x0100)
250 #define RKISPP_SHARP_HBF_SIGMA_INV1	(RKISPP_SHARP + 0x0104)
251 #define RKISPP_SHARP_EDGE_LUM_THED0	(RKISPP_SHARP + 0x0108)
252 #define RKISPP_SHARP_EDGE_LUM_THED1	(RKISPP_SHARP + 0x010C)
253 #define RKISPP_SHARP_CLAMP_POS_DOG0	(RKISPP_SHARP + 0x0110)
254 #define RKISPP_SHARP_CLAMP_POS_DOG1	(RKISPP_SHARP + 0x0114)
255 #define RKISPP_SHARP_CLAMP_NEG_DOG0	(RKISPP_SHARP + 0x0118)
256 #define RKISPP_SHARP_CLAMP_NEG_DOG1	(RKISPP_SHARP + 0x011C)
257 #define RKISPP_SHARP_DETAIL_ALPHA_DOG0	(RKISPP_SHARP + 0x0120)
258 #define RKISPP_SHARP_DETAIL_ALPHA_DOG1	(RKISPP_SHARP + 0x0124)
259 #define RKISPP_SHARP_RF_RATIO		(RKISPP_SHARP + 0x0128)
260 #define RKISPP_SHARP_GRAD_RATIO		(RKISPP_SHARP + 0x012C)
261 
262 #define RKISPP_SCL0			0x0800
263 #define RKISPP_SCL0_CTRL		(RKISPP_SCL0 + 0x0000)
264 #define RKISPP_SCL0_CUR_VIR_STRIDE	(RKISPP_SCL0 + 0x0004)
265 #define RKISPP_SCL0_CUR_Y_BASE		(RKISPP_SCL0 + 0x0008)
266 #define RKISPP_SCL0_CUR_UV_BASE		(RKISPP_SCL0 + 0x000C)
267 #define RKISPP_SCL0_CUR_Y_BASE_SHD	(RKISPP_SCL0 + 0x0010)
268 #define RKISPP_SCL0_CUR_UV_BASE_SHD	(RKISPP_SCL0 + 0x0014)
269 #define RKISPP_SCL0_FACTOR		(RKISPP_SCL0 + 0x0018)
270 
271 #define RKISPP_SCL1			0x0900
272 #define RKISPP_SCL1_CTRL		(RKISPP_SCL1 + 0x0000)
273 #define RKISPP_SCL1_CUR_VIR_STRIDE	(RKISPP_SCL1 + 0x0004)
274 #define RKISPP_SCL1_CUR_Y_BASE		(RKISPP_SCL1 + 0x0008)
275 #define RKISPP_SCL1_CUR_UV_BASE		(RKISPP_SCL1 + 0x000C)
276 #define RKISPP_SCL1_CUR_Y_BASE_SHD	(RKISPP_SCL1 + 0x0010)
277 #define RKISPP_SCL1_CUR_UV_BASE_SHD	(RKISPP_SCL1 + 0x0014)
278 #define RKISPP_SCL1_FACTOR		(RKISPP_SCL1 + 0x0018)
279 
280 #define RKISPP_SCL2			0x0A00
281 #define RKISPP_SCL2_CTRL		(RKISPP_SCL2 + 0x0000)
282 #define RKISPP_SCL2_CUR_VIR_STRIDE	(RKISPP_SCL2 + 0x0004)
283 #define RKISPP_SCL2_CUR_Y_BASE		(RKISPP_SCL2 + 0x0008)
284 #define RKISPP_SCL2_CUR_UV_BASE		(RKISPP_SCL2 + 0x000C)
285 #define RKISPP_SCL2_CUR_Y_BASE_SHD	(RKISPP_SCL2 + 0x0010)
286 #define RKISPP_SCL2_CUR_UV_BASE_SHD	(RKISPP_SCL2 + 0x0014)
287 #define RKISPP_SCL2_FACTOR		(RKISPP_SCL2 + 0x0018)
288 
289 #define RKISPP_ORB			0x0B00
290 #define RKISPP_ORB_WR_BASE		(RKISPP_ORB + 0x0004)
291 #define RKISPP_ORB_WR_BASE_SHD		(RKISPP_ORB + 0x0008)
292 #define RKISPP_ORB_TOTAL_NUM		(RKISPP_ORB + 0x000c)
293 #define RKISPP_ORB_CORE_CTRL		(RKISPP_ORB + 0x0080)
294 #define RKISPP_ORB_LIMIT_VALUE		(RKISPP_ORB + 0x0084)
295 #define RKISPP_ORB_MAX_FEATURE		(RKISPP_ORB + 0x0088)
296 
297 #define RKISPP_FEC			0x0C00
298 #define RKISPP_FEC_CTRL			(RKISPP_FEC + 0x0000)
299 #define RKISPP_FEC_RD_VIR_STRIDE	(RKISPP_FEC + 0x0004)
300 #define RKISPP_FEC_RD_Y_BASE		(RKISPP_FEC + 0x0008)
301 #define RKISPP_FEC_RD_UV_BASE		(RKISPP_FEC + 0x000C)
302 #define RKISPP_FEC_MESH_XINT_BASE	(RKISPP_FEC + 0x0010)
303 #define RKISPP_FEC_MESH_XFRA_BASE	(RKISPP_FEC + 0x0014)
304 #define RKISPP_FEC_MESH_YINT_BASE	(RKISPP_FEC + 0x0018)
305 #define RKISPP_FEC_MESH_YFRA_BASE	(RKISPP_FEC + 0x001C)
306 #define RKISPP_FEC_WR_VIR_STRIDE	(RKISPP_FEC + 0x0020)
307 #define RKISPP_FEC_WR_Y_BASE		(RKISPP_FEC + 0x0024)
308 #define RKISPP_FEC_WR_UV_BASE		(RKISPP_FEC + 0x0028)
309 #define RKISPP_FEC_RD_Y_BASE_SHD	(RKISPP_FEC + 0x002C)
310 #define RKISPP_FEC_RD_UV_BASE_SHD	(RKISPP_FEC + 0x0030)
311 #define RKISPP_FEC_MESH_XINT_BASE_SHD	(RKISPP_FEC + 0x0034)
312 #define RKISPP_FEC_MESH_XFRA_BASE_SHD	(RKISPP_FEC + 0x0038)
313 #define RKISPP_FEC_MESH_YINT_BASE_SHD	(RKISPP_FEC + 0x003C)
314 #define RKISPP_FEC_MESH_YFRA_BASE_SHD	(RKISPP_FEC + 0x0040)
315 #define RKISPP_FEC_WR_Y_BASE_SHD	(RKISPP_FEC + 0x0044)
316 #define RKISPP_FEC_WR_UV_BASE_SHD	(RKISPP_FEC + 0x0048)
317 #define RKISPP_FEC_FBCE_HEAD_OFFSET	(RKISPP_FEC + 0x0050)
318 #define RKISPP_FEC_CORE_CTRL		(RKISPP_FEC + 0x0080)
319 #define RKISPP_FEC_DST_SIZE		(RKISPP_FEC + 0x0088)
320 #define RKISPP_FEC_MESH_SIZE		(RKISPP_FEC + 0x008C)
321 #define RKISPP_FEC_DMA_STATUS		(RKISPP_FEC + 0x0090)
322 #define RKISPP_FEC_CROP			(RKISPP_FEC + 0x0094)
323 #define RKISPP_FEC_SRC_SIZE		(RKISPP_FEC + 0x0098)
324 
325 #define FMT_WR_MASK			GENMASK(7, 4)
326 #define FMT_RD_MASK			GENMASK(3, 0)
327 #define FMT_YUV420			0
328 #define FMT_YC_SWAP			BIT(3)
329 #define FMT_YUYV			BIT(2)
330 #define FMT_YUV422			BIT(1)
331 #define FMT_FBC				BIT(0)
332 
333 #define NR_NEW_ALGO			BIT(16)
334 
335 /* ISPP_STRT */
336 #define FEC_ST				BIT(2)
337 #define NR_SHP_ST			BIT(1)
338 #define TNR_ST				BIT(0)
339 
340 /* ISPP_UPDATE */
341 #define ALL_FORCE_UPD (FEC_FORCE_UPD | TNR_FORCE_UPD | OTHER_FORCE_UPD)
342 #define FEC_FORCE_UPD			BIT(2)
343 #define TNR_FORCE_UPD			BIT(1)
344 #define OTHER_FORCE_UPD			BIT(0)
345 
346 /* ISPP_CTRL_QUICK */
347 #define GLB_QUICK_MODE_MASK		GENMASK(9, 8)
348 #define SW_PP_FBC_MODE_DIS		BIT(30)
349 #define SW_PP_MMU_PLUS_DIS		BIT(29)
350 #define SW_PP2ISP_HOLD_SEL		BIT(28)
351 #define GLB_FEC2SCL_EN			BIT(11)
352 #define GLB_NR_SD32_TNR			BIT(10)
353 #define GLB_QUICK_MODE(a)		(((a) & 0x3) << 8)
354 #define GLB_NOC_HURRY(a)		(((a) & 0x3) << 4)
355 #define GLB_TNR_RDY_DIS			BIT(3)
356 #define GLB_TNR2NR_RDY_MODE		BIT(2)
357 #define GLB_DIRECT_MODE			BIT(1)
358 #define GLB_QUICK_EN			BIT(0)
359 
360 /* ISPP_CTRL_RESET */
361 #define FBCD_ERR_PROTECT_DIS		BIT(12)
362 #define GLB_SOFT_RST_SCL		BIT(11)
363 #define GLB_SOFT_RST_SHP		BIT(10)
364 #define GLB_SOFT_RST_NR			BIT(9)
365 #define GLB_SOFT_RST_TNR		BIT(8)
366 #define RST_PROTECT_DIS			BIT(1)
367 #define GLB_SOFT_RST_ALL		BIT(0)
368 
369 /* ISPP_CLKGATE */
370 #define GATE_DIS_ALL			0xff
371 #define GATE_DIS_GLOBAL_RAM_CLK		BIT(7)
372 #define GATE_DIS_SWS			BIT(6)
373 #define GATE_DIS_FEC			BIT(5)
374 #define GATE_DIS_SCL			BIT(4)
375 #define GATE_DIS_SHP			BIT(3)
376 #define GATE_DIS_NR			BIT(2)
377 #define GATE_DIS_TNR			BIT(1)
378 #define GATE_DIS_GLB			BIT(0)
379 
380 /* INT_MASK INT_RAW_STA INT_STA INT_SET INT_CLR */
381 #define INT_FRAME(stream) \
382 	((stream)->config->frame_end_id)
383 #define NR_LOST_ERR			BIT(26)
384 #define TNR_LOST_ERR			BIT(25)
385 #define UVNR_MONITOR_ERR		BIT(24)
386 #define FBCH_EMPTY_NR			BIT(23)
387 #define FBCH_EMPTY_TNR			BIT(22)
388 #define FBCD_DEC_ERR_NR			BIT(21)
389 #define FBCD_DEC_ERR_TNR		BIT(20)
390 #define BUS_ERR_NR			BIT(17)
391 #define BUS_ERR_TNR			BIT(16)
392 #define CMD_NR_SHP_ST_DONE		BIT(12)
393 #define CMD_TNR_ST_DONE			BIT(11)
394 #define SCL2_INT			BIT(10)
395 #define SCL1_INT			BIT(9)
396 #define SCL0_INT			BIT(8)
397 #define FEC_INT				BIT(7)
398 #define ORB_INT				BIT(6)
399 #define SHP_INT				BIT(4)
400 #define NR_INT				BIT(3)
401 #define TNR_INT				BIT(2)
402 #define FRAME_INT			BIT(1)
403 #define QUICK_INT			BIT(0)
404 
405 /* ISPP_QUICK_DIF */
406 #define GLB_TNR2NR_DIF(a)		(((a) & 0xff) << 16)
407 #define GLB_ISP2NR_DIF(a)		(((a) & 0xff) << 8)
408 #define GLB_NR2FEC_DIF(a)		((a) & 0xff)
409 
410 /* SYS_STATUS */
411 #define TNR_WORKING			BIT(0)
412 #define NR_WORKING			BIT(1)
413 #define SHP_WORKING			BIT(2)
414 #define ORB_WORKING			BIT(3)
415 #define SCL0_WORKING			BIT(4)
416 #define SCL1_WORKING			BIT(5)
417 #define SCL2_WORKING			BIT(6)
418 #define FEC_WORKING			BIT(7)
419 
420 /* SYS_CTL_STA0 */
421 #define TNR_TILE_LINE_CNT_MASK		GENMASK(6, 0)
422 #define NR_TILE_LINE_CNT_MASK		GENMASK(14, 8)
423 #define FEC_TILE_LINE_CNT_MASK		GENMASK(22, 16)
424 
425 /* TNR CTRL */
426 #define SW_TNR_WR_FORMAT_MASK		GENMASK(7, 4)
427 #define SW_TNR_RD_FORMAT_MASK		GENMASK(3, 0)
428 #define SW_TNR_THROUGH_MODE		BIT(10)
429 #define SW_TNR_1ST_FRM			BIT(9)
430 #define SW_TNR_RD_PINGPONG2TO1		BIT(8)
431 #define SW_TNR_WR_YUYV_YCSWAP		BIT(7)
432 #define SW_TNR_WR_YUYV_FORMAT		BIT(6)
433 #define SW_TNR_WR_YUV_FORMAT		BIT(5)
434 #define SW_TNR_WR_FBCE_MODE		BIT(4)
435 #define SW_TNR_RD_YUYV_YCSWAP		BIT(3)
436 #define SW_TNR_RD_YUYV_FORMAT		BIT(2)
437 #define SW_TNR_RD_YUV_FORMAT		BIT(1)
438 #define SW_TNR_FBCD_MODE		BIT(0)
439 
440 /* CORE_CTRL */
441 #define SW_TNR_GLB_GAIN_EN_SHD		BIT(28)
442 #define SW_TNR_OPTC_EN_SHD		BIT(27)
443 #define SW_TNR_OPTY_EN_SHD		BIT(26)
444 #define SW_TNR_MODE_SHD			BIT(25)
445 #define SW_TNR_EN_SHD			BIT(24)
446 #define SW_TNR_GLB_GAIN_EN		BIT(4)
447 #define SW_TNR_OPTC_EN			BIT(3)
448 #define SW_TNR_OPTY_EN			BIT(2)
449 #define SW_TNR_MODE			BIT(1)
450 #define SW_TNR_EN			BIT(0)
451 
452 /* NR CTRL */
453 #define SW_NR_RD_FBCD_READ_MODE		BIT(31)
454 #define SW_NR_NEW_ALGORITHM		BIT(16)
455 #define SW_UVNR_1ST_FRM_SELF_MODE	BIT(10)
456 #define SW_UVNR_1ST_FRM_SELF		BIT(9)
457 #define SW_NR_RD_YUYV_YCSWAP		BIT(3)
458 #define SW_NR_RD_YUYV_FORMAT		BIT(2)
459 #define SW_NR_RD_YUV_FORMAT		BIT(1)
460 #define SW_NR_RD_FBCD_MODE		BIT(0)
461 
462 /* NR_CTRL_PARA */
463 #define SW_UVNR_BIG_EN			BIT(6)
464 #define SW_UVNR_NOBIG_EN		BIT(5)
465 #define SW_UVNR_SD32_SELF_EN		BIT(4)
466 #define SW_NR_GAIN_BYPASS		BIT(3)
467 #define SW_UVNR_STEP2_ON		BIT(2)
468 #define SW_UVNR_STEP1_ON		BIT(1)
469 #define SW_NR_EN			BIT(0)
470 
471 /* SHP CTRL*/
472 #define SW_SHP_WR_FORMAT_MASK		GENMASK(3, 0)
473 #define SW_SHP_WR_ROT_MODE(a)		(((a) & 0x3) << 5)
474 #define SW_SHP_WR_YUV_LIMIT		BIT(4)
475 #define SW_SHP_WR_YUYV_YCSWAP		BIT(3)
476 #define SW_SHP_WR_YUYV_FORMAT		BIT(2)
477 #define SW_SHP_WR_YUY_FORMAT		BIT(1)
478 #define SW_SHP_WR_FBCE_MODE		BIT(0)
479 
480 /* CORE_CTRL */
481 #define SW_SHP_EDGE_AVG_EN		BIT(4)
482 #define SW_SHP_YIN_FLT_EN		BIT(3)
483 #define SW_SHP_DMA_DIS			BIT(2)
484 #define SW_SHP_ALPHA_ADP_EN		BIT(1)
485 #define SW_SHP_EN			BIT(0)
486 
487 /* SCL_CTRL */
488 #define SW_SCL_BYPASS_SHD		BIT(31)
489 #define SW_SCL_ENABLE_SHD		BIT(30)
490 #define SW_SCL_RAM_CLK_ON		BIT(8)
491 #define SW_SCL_WR_YUV_LIMIT		BIT(7)
492 #define SW_SCL_WR_YUYV_YCSWAP		BIT(6)
493 #define SW_SCL_WR_YUYV_FORMAT		BIT(5)
494 #define SW_SCL_WR_YUV_FORMAT		BIT(4)
495 #define SW_SCL_WR_UV_DIS		BIT(3)
496 #define SW_SCL_FIRST_MODE		BIT(2)
497 #define SW_SCL_BYPASS			BIT(1)
498 #define SW_SCL_ENABLE			BIT(0)
499 
500 /* FEC_CTRL*/
501 #define SW_FEC_WR_YUV_LIMIT		BIT(8)
502 #define SW_FEC_WR_YUYV_YC_SWAP		BIT(7)
503 #define SW_FEC_WR_YUYV_FORMAT		BIT(6)
504 #define SW_FEC_WR_YUV_FORMAT		BIT(5)
505 #define SW_FEC_WR_FBCE_MODE		BIT(4)
506 #define SW_FEC_RD_YUYV_YCSWAP		BIT(3)
507 #define SW_FEC_RD_YUYV_FORMAT		BIT(2)
508 #define SW_FEC_RD_YUV_FORMAT		BIT(1)
509 
510 /* FEC_CORE_CTRL */
511 #define SW_FEC_EN_SHD			BIT(31)
512 #define SW_OFFSET_ENABLE		BIT(31)
513 #define SW_MINBUF_NON_UPDATE_SHD	BIT(30)
514 #define SW_MINBUF_NON_UPDATE		BIT(6)
515 #define SW_MESH_DENSITY			BIT(5)
516 #define SW_BIC_MODE			GENMASK(4, 3)
517 #define SW_FEC2DDR_DIS			BIT(1)
518 #define SW_FEC_EN			BIT(0)
519 
520 /* ORB_CORE_CTRL */
521 #define SW_ORB_EN			BIT(0)
522 
523 #endif /* _RKISPP_REGS_H */
524