hc
2023-12-11 6778948f9de86c3cfaf36725a7c87dcff9ba247f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
/* SPDX-License-Identifier: GPL-2.0 */
/* Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd. */
 
#ifndef _RKISP_VERSION_H
#define _RKISP_VERSION_H
#include <linux/version.h>
#include <linux/rk-isp21-config.h>
 
/*
 * RKISP DRIVER VERSION NOTE
 *
 * v0.1.0:
 * 1. First version;
 *
 * v0.1.1:
 * 1. support lvds interface
 *
 * v0.1.2:
 * support multi virtual device;
 *
 * v0.1.3:
 * 1. support link with interface of cif
 * 2. fix picture of hdr is abnormal in multi-visual isp when run second time
 * 3. adjust hurry priority to middle
 * 4. mi lum burst to 16 for dmatx
 * 5. add cru reset for rv1126
 *
 * v0.1.4:
 * 1. add more clk rate for rv1126
 * 2. support hal to control hdrtmo on/off
 * 3. switch hdr frame mode for read back
 *
 * v0.1.5:
 * 1. add proc fs
 * 2. add iq part information to procfs
 * 3. fix stream failure in thunderboot mode
 *
 * v0.1.6:
 * 1. raw length 256 align
 * 2. soft reset for Dehaze
 *
 * v0.1.7:
 * 1. fix rawaf is disabled in config function
 * 2. clear csi rdbk fifo when first open
 * 3. vb2 support cache hints
 *
 * v0.1.8:
 * 1. add monitor to restart if abnormal
 * 2. isp/ispp procfs add work info
 * 3. fix scr clock is not disabled after app run
 * 4. request buf to alloc dummy buf
 * 5. set tmo bit in gain by tmo enable
 * 6. only rx mode can use when link with cif
 *
 * v0.1.9:
 * 1. isp and ispp sync to power off
 * 2. fix lsc error when ldch is on
 * 3. fix error status of stream off
 * 4. skip frame when change hdr/normal mode
 * 5. use ldch share buffer to reduce buffer size
 *
 * v1.2.0:
 * 1. resolution write directly to reg for first dev
 * 2. normal read back to enable hdr merge
 * 3. enable LDCH in 2th frame
 *
 * v1.2.1:
 * 1. fix normal merge enable config
 * 2. fix size no update for multi sensor switch
 * 3. dmatx add yuyv format
 *
 * v1.2.2:
 * 1. isp/ispp add lock for multi dev runtime
 * 2. support output isp/ispp reg on each frame
 * 3. fix error detected by depmod
 *
 * v1.3.0:
 * 1. capture to different version
 * 2. add isp21
 * 3. add rk3568 config
 * 4. support iq part of isp21
 * 5. remove hdrtmo to fix crash when connect to yuv sensor
 * 6. fix enable function of ynr/cnr/bay3d/dhaz/adrc is not correct
 * 7. fix can not get correct awb rawdata
 * 8. add get awb data from ddr function
 * 9. fix frame id error for isp21
 * 10. config lsc by sram in rdbk mode
 * 11. add force update to enable dehaze
 * 12. fix bug of scheduling while atomic
 * 13. fix setting drc register is not correct
 * 14. extend line to fix merge bypass bug for isp20
 * 15. vb2 dma sg for iommu enable
 * 16. config dmatx to valid buf addr
 *
 * v1.4.1:
 * 1. support motion detection mode
 * 2. get stats only when meas done is on
 * 3. fix lsc lut error in start/stop test
 *
 * v1.5.1:
 * 1. support to set format if no streaming
 * 2. add vb2_rdma_sg_memops to support contiguous page
 * 3. fix gain buf update
 * 4. 64 align y size for fbcgain format
 * 5. add trigger mode ioctl
 * 6. fix config of clk_dbg
 * 7. fix path select of cif input
 * 8. fix mpfbc buf update if readback off
 * 9. fix array overflow
 * 10. use force big mode when auto big mode is incorrect
 * 11. fix extend line with isp input crop case
 * 12. set lgmean related regs for tmo in hdr isr
 *
 * v1.6.0:
 * 1. reorder of subdev stream
 * 2. fix media link err for name don't match
 * 3. switch hdr_done interrupt according to hdrtmo cnt mode
 * 4. support output isp/ispp reg in nv12 format
 * 5. isp and ispp add shutdown
 * 6. image input from user
 * 7. import dma API for memory synchronisation for thunderboot
 * 8. don't start ldch asynchronously in multi-isp mode
 * 9. fix err of mp dump raw for isp20
 * 10. make sure 3dlut no continuous read twice
 * 11. adjust rdbk times with mulit dev for isp2.0
 *
 * v1.6.1:
 * 1.fix multi dev refcnt
 * 2.update procfs info
 * 3.add check for params subscribe event
 * 4.resolution limit for isp21
 * 5.dma buf alloc limit to DMA32
 * 6.add monitor to restart if abnormal
 * 7.adjust probe order
 * 8.max height 3072 for isp21
 * 9.dmatx support embedded and shield pixels data
 * 10.separate rdbk from csi subdev
 * 11.add bt601/bt709/bt2020 colorspace
 * 12.apply en params if no match for isp20
 * 13.apply en params if no match for isp21
 * 14.isp21 get 3a stats from ddr
 * 15.reserved memory using rdma_sg ops
 *
 * v1.6.2:
 * 1.hdr direct for isp21
 * 2.fix same frame id
 * 3.fix isp and ispp share dmabuf release fail
 * 4.clear rdbk fifo at dmarx stop
 * 5.add lock for isp stream
 * 6.disable params when it stream off
 * 7.dmarx support yuv format
 * 8.frame buffer done early
 * 9.fix set pdaf in dpcc error
 * 10.add v-blank to procfs
 *
 * v1.7.0:
 * 1.off unused interrupt of csi
 * 2.fix sp no output when hdr dynamic switch
 * 3.check the output status of statistics v2x
 * 4.selfpath bytesperline 16 align
 * 5.compiled with differe hardware version
 * 6.add frame loss info to procfs
 * 7.remove associated of cproc and ie
 * 8.fix input crop config for isp21 multi device
 * 9.enable soft reset for other isp version
 * 10.rawrd support uncompact mode
 * 11.fix default params config for mode switch
 * 12.before frame start to update bridge mi
 * 13.disable tmo interrupt
 * 14.fix bottom image for debayer with extend line
 * 15.unregister dmarx at driver remove
 *
 * v1.8.0:
 * 1.sync alloc buf with dma sg case
 * 2.sync multi vir dev stream on/off
 * 3.replace iommu detach/attach
 * 4.adjust params common api
 * 5.add isp3.0
 * 6.params and stats for isp3.0
 * 7.vicap direct to isp3.0
 * 8.bridge v30 connect to ispp
 * 9.add rk3588 config
 * 10.add cmsk config for isp30
 * 11.dual isp unite process image
 * 12.params and stats for dual isp unite
 * 13.sync dhaz params for dual isp unite
 * 14.fbc support crop
 * 15.add dual isp unite config
 * 16.useless version return -EINVAL
 * 17.fix first frame abnormal
 * 18.fix isp30 config for cnr with gain off
 * 19.fix NULL Pointer for stats v3x
 * 20.add constraint to gaus_en/viir_en/v1_fir_sel of rawaf
 * 21.fix dhaz config with dual unite isp
 * 22.fix isp30 fbc config
 * 23.isp3 max clk to 702M
 * 24.fix fbc iommu err with multi device case
 * 25.fix first params config two times for readback mode
 * 26.fix ynr/cnr/baynr reg config
 * 27.fix rawhist weight config error for multi device
 * 28.bigmode by max width and size for isp30
 * 29.add isp30 debug to procfs
 * 30.fix scale resolution limit
 * 31.fix bigmode for multi device
 * 32.fix fbc stop iommu page fault for isp30
 * 33.fix rawawb with rawlsc no stats
 * 34.fix bay3d mi no update
 * 35.dynamic memory alloc for params and stats function
 * 36.limit ldch and gain for isp30
 * 37.fix multi stream mpfbc reg config error
 * 38.support stream crop for unite isp
 * 39.fix hdrmge config error for isp30 read back mode
 * 40.lsc table from sram for isp30
 * 41.3a params config first
 * 42.config aebig by af when aemode is on
 * 43.add missing highlight in af stats
 * 44.add the iqtool module
 * 45.add csm params config for isp3
 * 46.fix CSI2RX_DATA_IDS_1 config err
 *
 * v1.9.0:
 * 1.fix config for isp_params_v3x
 * 2.clean rdbk kfifo for isp32
 * 3.fix awb raw data config for multi device
 * 4.increase v4l2 events length
 * 5.check virtual isp link to hw
 * 6.fix isp30 uyvy format error
 * 7.add API to get stream information
 * 8.3a params config first for isp21
 * 9.fix bigmode for multi device for isp21
 * 10.fix reg config for multi device
 * 11.add version to querycap
 * 12.fix mp uyvy format error for isp30
 * 13.add isp32 for rv1106
 * 14.isp32 bls2 remove to awb
 * 15.isp32 support mirror and flip
 * 16.isp32 support raw data compression
 * 17.add cgc config
 * 18.add get isp information api
 * 19.build depends on CPU config
 * 20.isp32 mi switch according to output buf
 * 21.add luma stream for isp32
 * 22.scale up and down for some stream
 * 23.isp32 add vsm
 * 24.fix config of capture_v30
 * 25.wrap mode for dvb
 * 26.use videobuf2-cma-sg
 * 27.remove vb2_dma_contig and vb2_dma_sg
 * 28.Revert "dynamic memory alloc for params and stats function"
 * 29.isp32 fix nv12 error
 * 30.fix using of vb2_cma_sg
 * 31.isp32 fix MI_WR_WRAP_CTRL default value
 * 32.fix params v32 drc and bay3d config
 * 33.add the rockit buff
 * 34.isp32 fix cac config
 * 35.isp32 support bay3d cur write to system sram
 * 36.isp32 fix frame id to dvbm
 * 37.set isp subdev crop and also check stream crop
 * 38.power on to set pipeline default format
 * 39.add isp reg cache read/write api
 * 40.Solve the problem of invalid mirror
 * 41.Solve the wrap_line frame rate problem
 * 42.vicap->isp online set clk according to sensor rate
 * 43.enable mipi drop interrupt
 * 44.isp32 fix bay3d config
 * 45.isp32 fix bay3d config
 * 46.Solve the cmsk problem
 * 47.fix stream link error
 * 48.update procfs for isp32
 * 49.support soft dvbm for vepu
 * 50.disable ISP_FRAME_IN irq
 * 51.fix rv1106 clk to 350
 * 52.fix init format for struct no clean
 * 53.procfs build with different isp version
 * 54.fix isp debug time for fe/fs irq together
 * 55.awb or gain debug info to ddr for isp32
 *
 * v2.0.0:
 * 1.fix bay3d ds size for isp32
 * 2.to support vicap merge raw
 * 3.isp32 fix ae no working with af
 * 4.api to free mesh buf for user
 * 5.lock for buf alloc and free
 * 6.for sdmmc lock
 * 7.limit bay3d bwsaving config for isp32
 * 8.fix imx327 hdr mode for isp21
 * 9.ctrl the fps for isp32
 * 10.add the bp stream async for isp32
 * 11.fix info2ddr buf free for isp32
 * 12.fix csm range to full
 * 13.add the pause, config, resume stream for isp32
 * 14.isp32 min clk to 200M
 * 15.module auto gating for isp30/isp32
 * 16.add the max size dummybuf and shd stop for isp32
 * 17.add the config dvbm_init in wrap for isp32
 * 18.sync params state
 * 19.delete the buf_done log for isp32
 * 20.params buf alloc remove to first buf queue
 * 21.read the color_ctrl reg for isp32
 * 22.use lager clk in 4 vir-isp mode
 * 23.rockit: support set wrap_line
 * 24.tb helper add clk on/off
 * 25.remove stream limit for dvbm for isp32
 * 26.fix hold at lsc ram data config
 * 27.fix cac on/off for isp32
 * 28.thunderboot for isp32
 * 29.fix isp32 stream buf update double
 * 30.add the double isp_dev in rockit for isp32
 * 31.isp32: fix wrap error for fast stream
 * 32.check rockit pointer
 * 33.support free rx buffer
 * 34.initcall cif/isp early when ROCKCHIP_THUNDER_BOOT_ISP=y
 * 35.fix rockit set fps fail
 * 36.fix module exit
 * 37.api get fast stream output info
 * 38.api for video to free tb reserved memory
 * 39.fix warp size error
 * 40.fix isp30 cgc limit config
 * 41.remove associated of cproc and ie for isp3x
 * 42.Add missing sentinel to rkisp_hw_of_match
 * 43.support mesh buf count from user for isp30 and isp32
 * 44.add tb api for rockit
 * 45.fix isp30 cgc and cproc range
 * 46.add slab.h fix compile
 * 47.vb2 buf done in tasklet
 * 48.rdbk to tasklet
 * 49.set afen off before config af
 * 50.remove isp1x compatible
 * 51.frame end config params_v32 for fast output
 * 52.match stream info for fast output
 * 53.fix bug the second frame pts is 0
 * 54.fix error of lsc repeat switch
 * 55.fix dhaz config for multi isp21
 * 56.cif/isp support compat_ioctl32 for video
 * 57.unite mode to support multi dev for isp30
 * 58.enum multi isp size at power on
 * 59.2 readback for support multishot large resolution
 * 60.disable link vir isp when hw working
 * 61.fill extend line data for fix dhaz bug
 * 62.fix isp20 and isp21 default to online with vicap
 * 63.add procfs write for debug
 * 64.fix isp20 error
 * 65.support rdbk without aiq
 * 66.fast to vicap capture raw
 * 67.first frame run double for isp32 fast mode
 * 68.fix pm runtime return -EACCES for thunderboot
 * 69.record isp read time for fast mode
 * 70.first params from rtt for thunderboot
 * 71.fix pm runtime return -EACCES for thunderboot
 * 72.record isp read time for fast mode
 * 73.first params from rtt for thunderboot
 * 74.enum formats for different isp version
 * 75.change the limit of height
 * 76.enum the max frame size to isp input size
 * 77.stop without waiting if isp idle for readback mode
 * 78.fix limit of dcrop
 * 79.fix isp32 stream force to update enable
 * 80.fix mi no disable for multi sensor unite mode
 * 81.fix size for multi isp composite mode
 *
 * v2.1.0
 * 1.fix mipi error for isp2x with multi sensor
 * 2.default reg config after reset
 * 3.fix isp20 mi no work
 * 4.fix stream off just close isp
 * 5.remove the judgment that gain turn off if ldch is enabled
 * 6.drop first output for fast case
 * 7.fix scl for unite mode
 * 8.no wait if shutdown
 * 9.fix stream no output for multi senso
 * 10.fix hdr config for unite multi sensor
 * 11.make sure to free buf after isp stop
 * 12.improve thunder boot process
 * 13.second frame first run for fast
 * 14.multi sensor for fast case
 * 15.fix fbc output for isp30 multi sensor
 * 16.frame start to update buf for isp30
 * 17.fix stream switch when readback mode
 * 18.remove unsupported formats
 * 19.fix stats buf update for multi sensor
 * 20.fix self update config for isp30
 * 21.fix dmatx loss first buf
 * 22.fix rockit stream pause if readback mode
 * 23.fix isp32 cmsk feature
 * 24.online rx add memory compact or no
 * 25.remove cif/isp/ispp hw SYSTEM_SLEEP_PM_OPS
 * 26.api to force enum multi isp resolution
 * 27.isp30 3a to ddr for readback mode
 * 28.sync stop to dmarx for isp stop
 * 29.fix mulit isp x3 mode
 * 30.fix lsc table read by isp for multi sensor
 * 31.merge dual dhaz config chang to user for unite mode
 * 32.no support rgb8888 for isp30
 * 33.fix iommu err for stream stop
 * 34.fix 3a to ddr iommu err for isp30 two readback mode
 * 35.400ms timeout for rtt complete
 * 36.add mosaic block size for cmsk
 * 37.wrap width and height config by user
 * 38.fix ldch err
 * 39.fix isp32 vflip config
 * 40.dump two isp reg for unite mode
 * 41.fix output stream sync for readback mode
 * 42.wait isp0 end for unite mode
 * 43.fix first frame loss
 * 44.fix rgb range for selfpath
 * 45.stats buf add application params frame id
 *
 * v2.2.0
 * 1.add isp32 lite
 * 2.add rk3562 config
 * 3.add iqtool video for isp32 lite
 * 4.fix build warn
 * 5.dvfs for multi dev on/off
 * 6.luma stream resolution alignment
 * 7.fix sensor off to enable reset
 * 8.fix isp and cif build warning
 * 9.Return error code for ioctl set_meshbuf_size
 * 10.fix isp32 lite mainpath switch fail
 * 11.fix warning of vb2 cancel or done
 * 12.fix isp no work due to irq_ends_mask error
 * 13.thunder boot with multi sensor
 * 14.support buf early done
 * 15.fix read BP_WR_CTRL reg
 *
 * v2.2.1
 * 1.rename isp and ispp uapi head
 * 2.lock for rockit qbuf
 * 3.fix open video during device register
 * 4.sync dev register and fast_work
 *
 * v2.2.2 (AIQ v5.1.3)
 * 1.fixed framerate ctl invalid issue
 * 2.fix rockit uv offset if switch resolution
 * 3.fix isp rockit frame rate err
 * 4.fix error for multi sensor with scale up case
 * 5.force offset to 0 when frame end for wrap mode
 * 6.fix sync with 3a_server
 * 7.fix isp32 and lite buf output err due to mi on/off
 * 8.fix uyvy format for isp32
 * 9.wait RISC-V with 400ms timeout
 * 10.fix uyvy format for unite mode
 * 11.fix ldch for multiple read back
 * 12.sync isp stream_on end then to start working
 * 13.no set clk if assigned-clock-rates in dts
 * 14.distinguish buf done or subscribed event for param poll
 * 15.fix repeated reporting statistics if stats video on/off
 *
 * v2.3.0 (AIQ v5.3.0)
 * 1.fix drc and hdrmge err for multi sensor
 * 2.fix 3dlut for multi sensor
 * 3.fix stream init pause state
 * 4.fix refer to sram info for multi sensor
 * 5.add api get isp work mode for rockit
 * 6.remove __isp_config_hdrshd
 * 7.add lock to save tb info
 * 8.fix list buf delete err
 * 9.fix get tb info
 * 10.add iqtool video for isp21
 * 11.fix image effect for frame two-run
 * 12.fix underperformance for frame two-run
 * 13.support unite mode for isp32
 */
 
#define RKISP_DRIVER_VERSION RKISP_API_VERSION
 
#endif