1 #ifndef __RK_CAMERA_SENSOR_INFO_H_
2 #define __RK_CAMERA_SENSOR_INFO_H_
5 /*---------------- Camera Sensor Must Define Macro Begin ------------------------*/
6 #define RK29_CAM_SENSOR_OV7675 ov7675
7 #define RK29_CAM_SENSOR_OV9650 ov9650
8 #define RK29_CAM_SENSOR_OV2640 ov2640
9 #define RK29_CAM_SENSOR_OV2655 ov2655
10 #define RK29_CAM_SENSOR_OV2659 ov2659
12 #define RK29_CAM_SENSOR_OV2660 ov2660 /*yzm*/
14 #define RK29_CAM_SENSOR_OV7690 ov7690
15 #define RK29_CAM_SENSOR_OV3640 ov3640
16 #define RK29_CAM_SENSOR_OV3660 ov3660
17 #define RK29_CAM_SENSOR_OV5640 ov5640
18 #define RK29_CAM_SENSOR_OV5642 ov5642
19 #define RK29_CAM_SENSOR_S5K6AA s5k6aa
20 #define RK29_CAM_SENSOR_MT9D112 mt9d112
21 #define RK29_CAM_SENSOR_MT9D113 mt9d113
22 #define RK29_CAM_SENSOR_MT9P111 mt9p111
23 #define RK29_CAM_SENSOR_MT9T111 mt9t111
24 #define RK29_CAM_SENSOR_GT2005 gt2005
25 #define RK29_CAM_SENSOR_GC0307 gc0307
26 #define RK29_CAM_SENSOR_GC0308 gc0308
27 #define RK29_CAM_SENSOR_GC0309 gc0309
28 #define RK29_CAM_SENSOR_GC2015 gc2015
29 #define RK29_CAM_SENSOR_GC0328 gc0328
30 #define RK29_CAM_SENSOR_GC0329 gc0329
31 #define RK29_CAM_SENSOR_GC2035 gc2035
32 #define RK29_CAM_SENSOR_SIV120B siv120b
33 #define RK29_CAM_SENSOR_SIV121D siv121d
34 #define RK29_CAM_SENSOR_SID130B sid130B
35 #define RK29_CAM_SENSOR_HI253 hi253
36 #define RK29_CAM_SENSOR_HI704 hi704
37 #define RK29_CAM_SENSOR_NT99250 nt99250
38 #define RK29_CAM_SENSOR_SP0718 sp0718
39 #define RK29_CAM_SENSOR_SP0838 sp0838
40 #define RK29_CAM_SENSOR_SP2518 sp2518
41 #define RK29_CAM_SENSOR_S5K5CA s5k5ca
42 #define RK29_CAM_ISP_MTK9335 mtk9335isp
43 #define RK29_CAM_SENSOR_HM2057 hm2057
44 #define RK29_CAM_SENSOR_HM5065 hm5065
45 #define RK29_CAM_SENSOR_NT99160 nt99160 //oyyf@rock-chips.com
46 #define RK29_CAM_SENSOR_NT99240 nt99240 //oyyf@rock-chips.com
47 #define RK29_CAM_SENSOR_NT99252 nt99252 //oyyf@rock-chips.com
48 #define RK29_CAM_SENSOR_NT99340 nt99340 //oyyf@rock-chips.com
49 #define RK29_CAM_ISP_ICATCH7002_MI1040 icatchmi1040
50 #define RK29_CAM_ISP_ICATCH7002_OV5693 icatchov5693
51 #define RK29_CAM_ISP_ICATCH7002_OV8825 icatchov8825 //zyt
52 #define RK29_CAM_ISP_ICATCH7002_OV2720 icatchov2720 //zyt
54 #define RK29_CAM_SENSOR_NAME_OV7675 "ov7675"
55 #define RK29_CAM_SENSOR_NAME_OV9650 "ov9650"
56 #define RK29_CAM_SENSOR_NAME_OV2640 "ov2640"
57 #define RK29_CAM_SENSOR_NAME_OV2655 "ov2655"
58 #define RK29_CAM_SENSOR_NAME_OV2659 "ov2659"
60 #define RK29_CAM_SENSOR_NAME_OV2660 "ov2660" /*yzm*/
63 #define RK29_CAM_SENSOR_NAME_OV7690 "ov7690"
64 #define RK29_CAM_SENSOR_NAME_OV3640 "ov3640"
65 #define RK29_CAM_SENSOR_NAME_OV3660 "ov3660"
66 #define RK29_CAM_SENSOR_NAME_OV5640 "ov5640"
67 #define RK29_CAM_SENSOR_NAME_OV5642 "ov5642"
68 #define RK29_CAM_SENSOR_NAME_S5K6AA "s5k6aa"
69 #define RK29_CAM_SENSOR_NAME_MT9D112 "mt9d112"
70 #define RK29_CAM_SENSOR_NAME_MT9D113 "mt9d113"
71 #define RK29_CAM_SENSOR_NAME_MT9P111 "mt9p111"
72 #define RK29_CAM_SENSOR_NAME_MT9T111 "mt9t111"
73 #define RK29_CAM_SENSOR_NAME_GT2005 "gt2005"
74 #define RK29_CAM_SENSOR_NAME_GC0307 "gc0307"
75 #define RK29_CAM_SENSOR_NAME_GC0308 "gc0308"
76 #define RK29_CAM_SENSOR_NAME_GC0309 "gc0309"
77 #define RK29_CAM_SENSOR_NAME_GC2015 "gc2015"
78 #define RK29_CAM_SENSOR_NAME_GC0328 "gc0328"
79 #define RK29_CAM_SENSOR_NAME_GC2035 "gc2035"
80 #define RK29_CAM_SENSOR_NAME_GC0329 "gc0329"
81 #define RK29_CAM_SENSOR_NAME_SIV120B "siv120b"
82 #define RK29_CAM_SENSOR_NAME_SIV121D "siv121d"
83 #define RK29_CAM_SENSOR_NAME_SID130B "sid130B"
84 #define RK29_CAM_SENSOR_NAME_HI253 "hi253"
85 #define RK29_CAM_SENSOR_NAME_HI704 "hi704"
86 #define RK29_CAM_SENSOR_NAME_NT99250 "nt99250"
87 #define RK29_CAM_SENSOR_NAME_SP0718 "sp0718"
88 #define RK29_CAM_SENSOR_NAME_SP0838 "sp0838"
89 #define RK29_CAM_SENSOR_NAME_SP2518 "sp2518"
90 #define RK29_CAM_SENSOR_NAME_S5K5CA "s5k5ca"
91 #define RK29_CAM_ISP_NAME_MTK9335ISP "mtk9335isp"
92 #define RK29_CAM_SENSOR_NAME_HM2057 "hm2057"
93 #define RK29_CAM_SENSOR_NAME_HM5065 "hm5065"
94 #define RK29_CAM_ISP_NAME_ICATCH7002_MI1040 "icatchmi1040"
95 #define RK29_CAM_ISP_NAME_ICATCH7002_OV5693 "icatchov5693"
96 #define RK29_CAM_ISP_NAME_ICATCH7002_OV8825 "icatchov8825" //zyt
97 #define RK29_CAM_ISP_NAME_ICATCH7002_OV2720 "icatchov2720" //zyt
99 //Sensor full resolution define
100 #define ov7675_FULL_RESOLUTION 0x30000 // 0.3 megapixel
101 #define ov9650_FULL_RESOLUTION 0x130000 // 1.3 megapixel
102 #define ov2640_FULL_RESOLUTION 0x200000 // 2 megapixel
103 #define ov2655_FULL_RESOLUTION 0x200000 // 2 megapixel
104 #define ov2659_FULL_RESOLUTION 0x200000 // 2 megapixel
106 #define ov2660_FULL_RESOLUTION 0x200000 // 2 megapixel
108 #define ov7690_FULL_RESOLUTION 0x300000 // 2 megapixel
109 #define ov3640_FULL_RESOLUTION 0x300000 // 3 megapixel
110 #define ov3660_FULL_RESOLUTION 0x300000 // 3 megapixel
111 #define ov5640_FULL_RESOLUTION 0x500000 // 5 megapixel
112 #if defined(CONFIG_SOC_CAMERA_OV5642_INTERPOLATION_8M)
113 #define ov5642_FULL_RESOLUTION 0x800000 // 8 megapixel
115 #define ov5642_FULL_RESOLUTION 0x500000 // 5 megapixel
117 #define s5k6aa_FULL_RESOLUTION 0x130000 // 1.3 megapixel
118 #define mt9d112_FULL_RESOLUTION 0x200000 // 2 megapixel
119 #define mt9d113_FULL_RESOLUTION 0x200000 // 2 megapixel
120 #define mt9t111_FULL_RESOLUTION 0x300000 // 3 megapixel
121 #define mt9p111_FULL_RESOLUTION 0x500000 // 5 megapixel
122 #define gt2005_FULL_RESOLUTION 0x200000 // 2 megapixel
123 #if defined(CONFIG_SOC_CAMERA_GC0308_INTERPOLATION_5M)
124 #define gc0308_FULL_RESOLUTION 0x500000 // 5 megapixel
125 #elif defined(CONFIG_SOC_CAMERA_GC0308_INTERPOLATION_3M)
126 #define gc0308_FULL_RESOLUTION 0x300000 // 3 megapixel
127 #elif defined(CONFIG_SOC_CAMERA_GC0308_INTERPOLATION_2M)
128 #define gc0308_FULL_RESOLUTION 0x200000 // 2 megapixel
130 #define gc0308_FULL_RESOLUTION 0x30000 // 0.3 megapixel#endif
132 #define gc0328_FULL_RESOLUTION 0x30000 // 0.3 megapixel
133 #define gc0307_FULL_RESOLUTION 0x30000 // 0.3 megapixel
134 #define gc0309_FULL_RESOLUTION 0x30000 // 0.3 megapixel
135 #define gc2015_FULL_RESOLUTION 0x200000 // 2 megapixel
136 #define siv120b_FULL_RESOLUTION 0x30000 // 0.3 megapixel
137 #define siv121d_FULL_RESOLUTION 0x30000 // 0.3 megapixel
138 #define sid130B_FULL_RESOLUTION 0x200000 // 2 megapixel
140 #if defined(CONFIG_SOC_CAMERA_HI253_INTERPOLATION_5M)
141 #define hi253_FULL_RESOLUTION 0x500000 // 5 megapixel
142 #elif defined(CONFIG_SOC_CAMERA_HI253_INTERPOLATION_3M)
143 #define hi253_FULL_RESOLUTION 0x300000 // 3 megapixel
145 #define hi253_FULL_RESOLUTION 0x200000 // 2 megapixel
148 #define hi704_FULL_RESOLUTION 0x30000 // 0.3 megapixel
149 #define nt99250_FULL_RESOLUTION 0x200000 // 2 megapixel
150 #define sp0718_FULL_RESOLUTION 0x30000 // 0.3 megapixel
151 #define sp0838_FULL_RESOLUTION 0x30000 // 0.3 megapixel
152 #define sp2518_FULL_RESOLUTION 0x200000 // 2 megapixel
153 #define gc0329_FULL_RESOLUTION 0x30000 // 0.3 megapixel
154 #define s5k5ca_FULL_RESOLUTION 0x300000 // 3 megapixel
155 #define mtk9335isp_FULL_RESOLUTION 0x500000 //5 megapixel
156 #define gc2035_FULL_RESOLUTION 0x200000 // 2 megapixel
157 #define hm2057_FULL_RESOLUTION 0x200000 // 2 megapixel
158 #define hm5065_FULL_RESOLUTION 0x500000 // 5 megapixel
159 #define nt99160_FULL_RESOLUTION 0x100000 // oyyf@rock-chips.com: 1 megapixel 1280*720
160 #define nt99240_FULL_RESOLUTION 0x200000 // oyyf@rock-chips.com: 2 megapixel 1600*1200
161 #define nt99252_FULL_RESOLUTION 0x200000 // oyyf@rock-chips.com: 2 megapixel 1600*1200
162 #define nt99340_FULL_RESOLUTION 0x300000 // oyyf@rock-chips.com: 3 megapixel 2048*1536
163 #define icatchmi1040_FULL_RESOLUTION 0x200000
164 #define icatchov5693_FULL_RESOLUTION 0x500000
165 #define icatchov8825_FULL_RESOLUTION 0x800000 //zyt
166 #define icatchov2720_FULL_RESOLUTION 0x210000 //zyt
167 #define end_FULL_RESOLUTION 0x00
169 //Sensor i2c addr define
170 #define ov7675_I2C_ADDR 0x78
171 #define ov9650_I2C_ADDR 0x60
172 #define ov2640_I2C_ADDR 0x60
173 #define ov2655_I2C_ADDR 0x60
174 #define ov2659_I2C_ADDR 0x60
176 #define ov2660_I2C_ADDR 0x60 /*yzm*/
178 #define ov7690_I2C_ADDR 0x42
179 #define ov3640_I2C_ADDR 0x78
180 #define ov3660_I2C_ADDR 0x78
181 #define ov5640_I2C_ADDR 0x78
182 #define ov5642_I2C_ADDR 0x78
184 #define s5k6aa_I2C_ADDR 0x78 //0x5a
185 #define s5k5ca_I2C_ADDR 0x78 //0x5a
187 #define mt9d112_I2C_ADDR 0x78
188 #define mt9d113_I2C_ADDR 0x78
189 #define mt9t111_I2C_ADDR 0x78 // 0x7a
191 #define mt9p111_I2C_ADDR 0x78 //0x7a
192 #define gt2005_I2C_ADDR 0x78
193 #define gc0307_I2C_ADDR 0x42
194 #define gc0328_I2C_ADDR 0x42
195 #define gc0308_I2C_ADDR 0x42
196 #define gc0309_I2C_ADDR 0x42
197 #define gc0329_I2C_ADDR 0x62
198 #define gc2015_I2C_ADDR 0x60
199 #define gc2035_I2C_ADDR 0x78
201 #define siv120b_I2C_ADDR INVALID_VALUE
202 #define siv121d_I2C_ADDR INVALID_VALUE
203 #define sid130B_I2C_ADDR 0x37
205 #define hi253_I2C_ADDR 0x40
206 #define hi704_I2C_ADDR 0x60
208 #define nt99160_I2C_ADDR 0x54
209 #define nt99240_I2C_ADDR 0x6c
210 #define nt99250_I2C_ADDR 0x6c
211 #define nt99252_I2C_ADDR 0x6c
212 #define nt99340_I2C_ADDR 0x76
214 #define sp0718_I2C_ADDR 0x42
215 #define sp0838_I2C_ADDR INVALID_VALUE
216 #define sp0a19_I2C_ADDR 0x7a
217 #define sp1628_I2C_ADDR 0x78
218 #define sp2518_I2C_ADDR 0x60
219 #define mtk9335isp_I2C_ADDR 0x50
220 #define hm2057_I2C_ADDR 0x48
221 #define hm5065_I2C_ADDR 0x3e
222 #define icatchmi1040_I2C_ADDR 0x78
223 #define icatchov5693_I2C_ADDR 0x78
224 #define icatchov8825_I2C_ADDR 0x78 //zyt
225 #define icatchov2720_I2C_ADDR 0x78 //zyt
226 #define end_I2C_ADDR INVALID_VALUE
229 //Sensor power down active level define
230 #define ov7675_PWRDN_ACTIVE 0x01
231 #define ov9650_PWRDN_ACTIVE 0x01
232 #define ov2640_PWRDN_ACTIVE 0x01
233 #define ov2655_PWRDN_ACTIVE 0x01
234 #define ov2659_PWRDN_ACTIVE 0x01
236 #define ov2660_PWRDN_ACTIVE 0x01 /*yzm*/
238 #define ov7690_PWRDN_ACTIVE 0x01
239 #define ov3640_PWRDN_ACTIVE 0x01
240 #define ov3660_PWRDN_ACTIVE 0x01
241 #define ov5640_PWRDN_ACTIVE 0x01
242 #define ov5642_PWRDN_ACTIVE 0x01
244 #define s5k6aa_PWRDN_ACTIVE 0x00
245 #define s5k5ca_PWRDN_ACTIVE 0x00
247 #define mt9d112_PWRDN_ACTIVE 0x01
248 #define mt9d113_PWRDN_ACTIVE 0x01
249 #define mt9t111_PWRDN_ACTIVE 0x01
250 #define mt9p111_PWRDN_ACTIVE 0x01
252 #define gt2005_PWRDN_ACTIVE 0x00
253 #define gc0307_PWRDN_ACTIVE 0x01
254 #define gc0308_PWRDN_ACTIVE 0x01
255 #define gc0328_PWRDN_ACTIVE 0x01
256 #define gc0309_PWRDN_ACTIVE 0x01
257 #define gc0329_PWRDN_ACTIVE 0x01
258 #define gc2015_PWRDN_ACTIVE 0x01
259 #define gc2035_PWRDN_ACTIVE 0x01
261 #define siv120b_PWRDN_ACTIVE INVALID_VALUE
262 #define siv121d_PWRDN_ACTIVE INVALID_VALUE
263 #define sid130B_PWRDN_ACTIVE 0x37
265 #define hi253_PWRDN_ACTIVE 0x01
266 #define hi704_PWRDN_ACTIVE 0x01
268 #define nt99160_PWRDN_ACTIVE 0x01
269 #define nt99240_PWRDN_ACTIVE 0x01
270 #define nt99250_PWRDN_ACTIVE 0x01
271 #define nt99252_PWRDN_ACTIVE 0x01
272 #define nt99340_PWRDN_ACTIVE 0x01
274 #define sp0718_PWRDN_ACTIVE 0x01
275 #define sp0838_PWRDN_ACTIVE 0x01
276 #define sp0a19_PWRDN_ACTIVE 0x01
277 #define sp1628_PWRDN_ACTIVE 0x01
278 #define sp2518_PWRDN_ACTIVE 0x01
279 #define hm2057_PWRDN_ACTIVE 0x01
280 #define hm5065_PWRDN_ACTIVE 0x00
281 #define mtk9335isp_PWRDN_ACTIVE 0x01
282 #define end_PWRDN_ACTIVE INVALID_VALUE
285 //Sensor power up sequence define
287 #define SENSOR_PWRSEQ_BEGIN 0x00
288 #define SENSOR_PWRSEQ_AVDD 0x01
289 #define SENSOR_PWRSEQ_DOVDD 0x02
290 #define SENSOR_PWRSEQ_DVDD 0x03
291 #define SENSOR_PWRSEQ_PWR 0x04
292 #define SENSOR_PWRSEQ_HWRST 0x05
293 #define SENSOR_PWRSEQ_PWRDN 0x06
294 #define SENSOR_PWRSEQ_CLKIN 0x07
295 #define SENSOR_PWRSEQ_END 0x0F
297 #define SENSOR_PWRSEQ_SET(type,idx) (type<<(idx*4))
298 #define SENSOR_PWRSEQ_GET(seq,idx) ((seq>>(idx*4))&0x0f)
300 #define sensor_PWRSEQ_DEFAULT (SENSOR_PWRSEQ_SET(SENSOR_PWRSEQ_PWR,0)|\
301 SENSOR_PWRSEQ_SET(SENSOR_PWRSEQ_HWRST,1)|\
302 SENSOR_PWRSEQ_SET(SENSOR_PWRSEQ_PWRDN,2)|\
303 SENSOR_PWRSEQ_SET(SENSOR_PWRSEQ_CLKIN,3))
305 #define ov7675_PWRSEQ sensor_PWRSEQ_DEFAULT
306 #define ov9650_PWRSEQ sensor_PWRSEQ_DEFAULT
307 #define ov2640_PWRSEQ sensor_PWRSEQ_DEFAULT
308 #define ov2655_PWRSEQ sensor_PWRSEQ_DEFAULT
309 #define ov2659_PWRSEQ sensor_PWRSEQ_DEFAULT
311 #define ov2660_PWRSEQ sensor_PWRSEQ_DEFAULT
313 #define ov7690_PWRSEQ sensor_PWRSEQ_DEFAULT
314 #define ov3640_PWRSEQ sensor_PWRSEQ_DEFAULT
315 #define ov3660_PWRSEQ sensor_PWRSEQ_DEFAULT
316 #define ov5640_PWRSEQ sensor_PWRSEQ_DEFAULT
317 #define ov5642_PWRSEQ sensor_PWRSEQ_DEFAULT
319 #define s5k6aa_PWRSEQ sensor_PWRSEQ_DEFAULT
320 #define s5k5ca_PWRSEQ sensor_PWRSEQ_DEFAULT
322 #define mt9d112_PWRSEQ sensor_PWRSEQ_DEFAULT
323 #define mt9d113_PWRSEQ sensor_PWRSEQ_DEFAULT
324 #define mt9t111_PWRSEQ sensor_PWRSEQ_DEFAULT
325 #define mt9p111_PWRSEQ sensor_PWRSEQ_DEFAULT
327 #define gt2005_PWRSEQ sensor_PWRSEQ_DEFAULT
328 #define gc0307_PWRSEQ sensor_PWRSEQ_DEFAULT
329 #define gc0308_PWRSEQ sensor_PWRSEQ_DEFAULT
330 #define gc0328_PWRSEQ sensor_PWRSEQ_DEFAULT
331 #define gc0309_PWRSEQ sensor_PWRSEQ_DEFAULT
332 #define gc0329_PWRSEQ sensor_PWRSEQ_DEFAULT
333 #define gc2015_PWRSEQ sensor_PWRSEQ_DEFAULT
334 #define gc2035_PWRSEQ sensor_PWRSEQ_DEFAULT
336 #define siv120b_PWRSEQ sensor_PWRSEQ_DEFAULT
337 #define siv121d_PWRSEQ sensor_PWRSEQ_DEFAULT
338 #define sid130B_PWRSEQ sensor_PWRSEQ_DEFAULT
340 #define hi253_PWRSEQ sensor_PWRSEQ_DEFAULT
341 #define hi704_PWRSEQ sensor_PWRSEQ_DEFAULT
343 #define nt99160_PWRSEQ sensor_PWRSEQ_DEFAULT
344 #define nt99240_PWRSEQ sensor_PWRSEQ_DEFAULT
345 #define nt99250_PWRSEQ sensor_PWRSEQ_DEFAULT
346 #define nt99252_PWRSEQ sensor_PWRSEQ_DEFAULT
347 #define nt99340_PWRSEQ sensor_PWRSEQ_DEFAULT
349 #define sp0718_PWRSEQ sensor_PWRSEQ_DEFAULT
350 #define sp0838_PWRSEQ sensor_PWRSEQ_DEFAULT
351 #define sp0a19_PWRSEQ sensor_PWRSEQ_DEFAULT
352 #define sp1628_PWRSEQ sensor_PWRSEQ_DEFAULT
353 #define sp2518_PWRSEQ sensor_PWRSEQ_DEFAULT
354 #define hm2057_PWRSEQ sensor_PWRSEQ_DEFAULT
355 #define hm5065_PWRSEQ (SENSOR_PWRSEQ_SET(SENSOR_PWRSEQ_PWR,1)|\
356 SENSOR_PWRSEQ_SET(SENSOR_PWRSEQ_HWRST,2)|\
357 SENSOR_PWRSEQ_SET(SENSOR_PWRSEQ_PWRDN,0)|\
358 SENSOR_PWRSEQ_SET(SENSOR_PWRSEQ_CLKIN,3))
359 #define mtk9335isp_PWRSEQ sensor_PWRSEQ_DEFAULT
360 #define icatchov5693_PWRSEQ (SENSOR_PWRSEQ_SET(SENSOR_PWRSEQ_PWR,0)|\
361 SENSOR_PWRSEQ_SET(SENSOR_PWRSEQ_HWRST,2)|\
362 SENSOR_PWRSEQ_SET(SENSOR_PWRSEQ_CLKIN,1))
364 #define icatchov8825_PWRSEQ (SENSOR_PWRSEQ_SET(SENSOR_PWRSEQ_PWR,0)|\
365 SENSOR_PWRSEQ_SET(SENSOR_PWRSEQ_HWRST,2)|\
366 SENSOR_PWRSEQ_SET(SENSOR_PWRSEQ_CLKIN,1)) //zyt
368 #define icatchov2720_PWRSEQ (SENSOR_PWRSEQ_SET(SENSOR_PWRSEQ_PWR,0)|\
369 SENSOR_PWRSEQ_SET(SENSOR_PWRSEQ_HWRST,2)|\
370 SENSOR_PWRSEQ_SET(SENSOR_PWRSEQ_CLKIN,1)) //zyt
372 #define icatchmi1040_PWRSEQ (SENSOR_PWRSEQ_SET(SENSOR_PWRSEQ_PWR,0)|\
373 SENSOR_PWRSEQ_SET(SENSOR_PWRSEQ_HWRST,2)|\
374 SENSOR_PWRSEQ_SET(SENSOR_PWRSEQ_CLKIN,1))
376 #define end_PWRSEQ 0xffffffff
380 /*---------------- Camera Sensor Must Define Macro End ------------------------*/