1 /* SPDX-License-Identifier: GPL-2.0 */
2 /* Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd. */
3 
4 #ifndef _RKISP_VERSION_H
5 #define _RKISP_VERSION_H
6 #include <linux/version.h>
7 #include <linux/rkisp21-config.h>
8 
9 /*
10  * RKISP DRIVER VERSION NOTE
11  *
12  * v0.1.0:
13  * 1. First version;
14  *
15  * v0.1.1:
16  * 1. support lvds interface
17  *
18  * v0.1.2:
19  * support multi virtual device;
20  *
21  * v0.1.3:
22  * 1. support link with interface of cif
23  * 2. fix picture of hdr is abnormal in multi-visual isp when run second time
24  * 3. adjust hurry priority to middle
25  * 4. mi lum burst to 16 for dmatx
26  * 5. add cru reset for rv1126
27  *
28  * v0.1.4:
29  * 1. add more clk rate for rv1126
30  * 2. support hal to control hdrtmo on/off
31  * 3. switch hdr frame mode for read back
32  *
33  * v0.1.5:
34  * 1. add proc fs
35  * 2. add iq part information to procfs
36  * 3. fix stream failure in thunderboot mode
37  *
38  * v0.1.6:
39  * 1. raw length 256 align
40  * 2. soft reset for Dehaze
41  *
42  * v0.1.7:
43  * 1. fix rawaf is disabled in config function
44  * 2. clear csi rdbk fifo when first open
45  * 3. vb2 support cache hints
46  *
47  * v0.1.8:
48  * 1. add monitor to restart if abnormal
49  * 2. isp/ispp procfs add work info
50  * 3. fix scr clock is not disabled after app run
51  * 4. request buf to alloc dummy buf
52  * 5. set tmo bit in gain by tmo enable
53  * 6. only rx mode can use when link with cif
54  *
55  * v0.1.9:
56  * 1. isp and ispp sync to power off
57  * 2. fix lsc error when ldch is on
58  * 3. fix error status of stream off
59  * 4. skip frame when change hdr/normal mode
60  * 5. use ldch share buffer to reduce buffer size
61  *
62  * v1.2.0:
63  * 1. resolution write directly to reg for first dev
64  * 2. normal read back to enable hdr merge
65  * 3. enable LDCH in 2th frame
66  *
67  * v1.2.1:
68  * 1. fix normal merge enable config
69  * 2. fix size no update for multi sensor switch
70  * 3. dmatx add yuyv format
71  *
72  * v1.2.2:
73  * 1. isp/ispp add lock for multi dev runtime
74  * 2. support output isp/ispp reg on each frame
75  * 3. fix error detected by depmod
76  *
77  * v1.3.0:
78  * 1. capture to different version
79  * 2. add isp21
80  * 3. add rk3568 config
81  * 4. support iq part of isp21
82  * 5. remove hdrtmo to fix crash when connect to yuv sensor
83  * 6. fix enable function of ynr/cnr/bay3d/dhaz/adrc is not correct
84  * 7. fix can not get correct awb rawdata
85  * 8. add get awb data from ddr function
86  * 9. fix frame id error for isp21
87  * 10. config lsc by sram in rdbk mode
88  * 11. add force update to enable dehaze
89  * 12. fix bug of scheduling while atomic
90  * 13. fix setting drc register is not correct
91  * 14. extend line to fix merge bypass bug for isp20
92  * 15. vb2 dma sg for iommu enable
93  * 16. config dmatx to valid buf addr
94  *
95  * v1.4.1:
96  * 1. support motion detection mode
97  * 2. get stats only when meas done is on
98  * 3. fix lsc lut error in start/stop test
99  *
100  * v1.5.1:
101  * 1. support to set format if no streaming
102  * 2. add vb2_rdma_sg_memops to support contiguous page
103  * 3. fix gain buf update
104  * 4. 64 align y size for fbcgain format
105  * 5. add trigger mode ioctl
106  * 6. fix config of clk_dbg
107  * 7. fix path select of cif input
108  * 8. fix mpfbc buf update if readback off
109  * 9. fix array overflow
110  * 10. use force big mode when auto big mode is incorrect
111  * 11. fix extend line with isp input crop case
112  * 12. set lgmean related regs for tmo in hdr isr
113  *
114  * v1.6.0:
115  * 1. reorder of subdev stream
116  * 2. fix media link err for name don't match
117  * 3. switch hdr_done interrupt according to hdrtmo cnt mode
118  * 4. support output isp/ispp reg in nv12 format
119  * 5. isp and ispp add shutdown
120  * 6. image input from user
121  * 7. import dma API for memory synchronisation for thunderboot
122  * 8. don't start ldch asynchronously in multi-isp mode
123  * 9. fix err of mp dump raw for isp20
124  * 10. make sure 3dlut no continuous read twice
125  * 11. adjust rdbk times with mulit dev for isp2.0
126  *
127  * v1.6.1:
128  * 1.fix multi dev refcnt
129  * 2.update procfs info
130  * 3.add check for params subscribe event
131  * 4.resolution limit for isp21
132  * 5.dma buf alloc limit to DMA32
133  * 6.add monitor to restart if abnormal
134  * 7.adjust probe order
135  * 8.max height 3072 for isp21
136  * 9.dmatx support embedded and shield pixels data
137  * 10.separate rdbk from csi subdev
138  * 11.add bt601/bt709/bt2020 colorspace
139  * 12.apply en params if no match for isp20
140  * 13.apply en params if no match for isp21
141  * 14.isp21 get 3a stats from ddr
142  * 15.reserved memory using rdma_sg ops
143  *
144  * v1.6.2:
145  * 1.hdr direct for isp21
146  * 2.fix same frame id
147  * 3.fix isp and ispp share dmabuf release fail
148  * 4.clear rdbk fifo at dmarx stop
149  * 5.add lock for isp stream
150  * 6.disable params when it stream off
151  * 7.dmarx support yuv format
152  * 8.frame buffer done early
153  * 9.fix set pdaf in dpcc error
154  * 10.add v-blank to procfs
155  *
156  * v1.7.0:
157  * 1.off unused interrupt of csi
158  * 2.fix sp no output when hdr dynamic switch
159  * 3.check the output status of statistics v2x
160  * 4.selfpath bytesperline 16 align
161  * 5.compiled with differe hardware version
162  * 6.add frame loss info to procfs
163  * 7.remove associated of cproc and ie
164  * 8.fix input crop config for isp21 multi device
165  * 9.enable soft reset for other isp version
166  * 10.rawrd support uncompact mode
167  * 11.fix default params config for mode switch
168  * 12.before frame start to update bridge mi
169  * 13.disable tmo interrupt
170  * 14.fix bottom image for debayer with extend line
171  * 15.unregister dmarx at driver remove
172  *
173  * v1.8.0:
174  * 1.sync alloc buf with dma sg case
175  * 2.sync multi vir dev stream on/off
176  * 3.replace iommu detach/attach
177  * 4.adjust params common api
178  * 5.add isp3.0
179  * 6.params and stats for isp3.0
180  * 7.vicap direct to isp3.0
181  * 8.bridge v30 connect to ispp
182  * 9.add rk3588 config
183  * 10.add cmsk config for isp30
184  * 11.dual isp unite process image
185  * 12.params and stats for dual isp unite
186  * 13.sync dhaz params for dual isp unite
187  * 14.fbc support crop
188  * 15.add dual isp unite config
189  * 16.useless version return -EINVAL
190  * 17.fix first frame abnormal
191  * 18.fix isp30 config for cnr with gain off
192  * 19.fix NULL Pointer for stats v3x
193  * 20.add constraint to gaus_en/viir_en/v1_fir_sel of rawaf
194  * 21.fix dhaz config with dual unite isp
195  * 22.fix isp30 fbc config
196  * 23.isp3 max clk to 702M
197  * 24.fix fbc iommu err with multi device case
198  * 25.fix first params config two times for readback mode
199  * 26.fix ynr/cnr/baynr reg config
200  * 27.fix rawhist weight config error for multi device
201  * 28.bigmode by max width and size for isp30
202  * 29.add isp30 debug to procfs
203  * 30.fix scale resolution limit
204  * 31.fix bigmode for multi device
205  * 32.fix fbc stop iommu page fault for isp30
206  * 33.fix rawawb with rawlsc no stats
207  * 34.fix bay3d mi no update
208  * 35.dynamic memory alloc for params and stats function
209  * 36.limit ldch and gain for isp30
210  * 37.fix multi stream mpfbc reg config error
211  * 38.support stream crop for unite isp
212  * 39.fix hdrmge config error for isp30 read back mode
213  * 40.lsc table from sram for isp30
214  * 41.3a params config first
215  * 42.config aebig by af when aemode is on
216  * 43.add missing highlight in af stats
217  * 44.add the iqtool module
218  * 45.add csm params config for isp3
219  * 46.fix CSI2RX_DATA_IDS_1 config err
220  */
221 
222 #define RKISP_DRIVER_VERSION RKISP_API_VERSION
223 
224 #endif
225