Lines Matching +full:0 +full:x63
44 u8 value = 0; in zr36050_read()
48 value = (ptr->codec->master_data->readreg(ptr->codec, reg)) & 0xFF; in zr36050_read()
52 zrdev_dbg(zr, "%s: reading from 0x%04x: %02x\n", ptr->name, reg, value); in zr36050_read()
61 zrdev_dbg(zr, "%s: writing 0x%02x to 0x%04x\n", ptr->name, value, reg); in zr36050_write()
76 zr36050_read(ptr, 0); in zr36050_read_status1()
84 (zr36050_read(ptr, ZR050_SF_LO) & 0xFF); in zr36050_read_scalefactor()
86 /* leave 0 selected for an eventually GO from master */ in zr36050_read_scalefactor()
87 zr36050_read(ptr, 0); in zr36050_read_scalefactor()
100 int i = 0; in zr36050_wait_end()
102 while (!(zr36050_read_status1(ptr) & 0x4)) { in zr36050_wait_end()
106 "%s: timeout at wait_end (last status: 0x%02x)\n", in zr36050_wait_end()
122 zr36050_write(ptr, ZR050_SOF_IDX, 0x00); in zr36050_basic_test()
123 zr36050_write(ptr, ZR050_SOF_IDX + 1, 0x00); in zr36050_basic_test()
125 zr36050_read(ptr, ZR050_SOF_IDX + 1)) != 0x0000) { in zr36050_basic_test()
131 zr36050_write(ptr, ZR050_SOF_IDX, 0xff); in zr36050_basic_test()
132 zr36050_write(ptr, ZR050_SOF_IDX + 1, 0xc0); in zr36050_basic_test()
134 zr36050_read(ptr, ZR050_SOF_IDX + 1)) != 0xffc0) { in zr36050_basic_test()
142 if ((ptr->status1 & 0x4) == 0) { in zr36050_basic_test()
149 return 0; /* looks good! */ in zr36050_basic_test()
157 int i = 0; in zr36050_pushit()
159 zrdev_dbg(zr, "%s: write data block to 0x%04x (len=%d)\n", ptr->name, in zr36050_pushit()
178 static const char zr36050_dqt[0x86] = {
179 0xff, 0xdb, //Marker: DQT
180 0x00, 0x84, //Length: 2*65+2
181 0x00, //Pq,Tq first table
182 0x10, 0x0b, 0x0c, 0x0e, 0x0c, 0x0a, 0x10, 0x0e,
183 0x0d, 0x0e, 0x12, 0x11, 0x10, 0x13, 0x18, 0x28,
184 0x1a, 0x18, 0x16, 0x16, 0x18, 0x31, 0x23, 0x25,
185 0x1d, 0x28, 0x3a, 0x33, 0x3d, 0x3c, 0x39, 0x33,
186 0x38, 0x37, 0x40, 0x48, 0x5c, 0x4e, 0x40, 0x44,
187 0x57, 0x45, 0x37, 0x38, 0x50, 0x6d, 0x51, 0x57,
188 0x5f, 0x62, 0x67, 0x68, 0x67, 0x3e, 0x4d, 0x71,
189 0x79, 0x70, 0x64, 0x78, 0x5c, 0x65, 0x67, 0x63,
190 0x01, //Pq,Tq second table
191 0x11, 0x12, 0x12, 0x18, 0x15, 0x18, 0x2f, 0x1a,
192 0x1a, 0x2f, 0x63, 0x42, 0x38, 0x42, 0x63, 0x63,
193 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63,
194 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63,
195 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63,
196 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63,
197 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63,
198 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63
201 static const char zr36050_dht[0x1a4] = {
202 0xff, 0xc4, //Marker: DHT
203 0x01, 0xa2, //Length: 2*AC, 2*DC
204 0x00, //DC first table
205 0x00, 0x01, 0x05, 0x01, 0x01, 0x01, 0x01, 0x01,
206 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
207 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B,
208 0x01, //DC second table
209 0x00, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
210 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
211 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B,
212 0x10, //AC first table
213 0x00, 0x02, 0x01, 0x03, 0x03, 0x02, 0x04, 0x03,
214 0x05, 0x05, 0x04, 0x04, 0x00, 0x00,
215 0x01, 0x7D, 0x01, 0x02, 0x03, 0x00, 0x04, 0x11,
216 0x05, 0x12, 0x21, 0x31, 0x41, 0x06, 0x13, 0x51, 0x61,
217 0x07, 0x22, 0x71, 0x14, 0x32, 0x81, 0x91, 0xA1,
218 0x08, 0x23, 0x42, 0xB1, 0xC1, 0x15, 0x52, 0xD1, 0xF0, 0x24,
219 0x33, 0x62, 0x72, 0x82, 0x09, 0x0A, 0x16, 0x17,
220 0x18, 0x19, 0x1A, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x34,
221 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x43, 0x44,
222 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x53, 0x54, 0x55, 0x56,
223 0x57, 0x58, 0x59, 0x5A, 0x63, 0x64, 0x65, 0x66,
224 0x67, 0x68, 0x69, 0x6A, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
225 0x79, 0x7A, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88,
226 0x89, 0x8A, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99,
227 0x9A, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8,
228 0xA9, 0xAA, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9,
229 0xBA, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8,
230 0xC9, 0xCA, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9,
231 0xDA, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7,
232 0xE8, 0xE9, 0xEA, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
233 0xF8, 0xF9, 0xFA,
234 0x11, //AC second table
235 0x00, 0x02, 0x01, 0x02, 0x04, 0x04, 0x03, 0x04,
236 0x07, 0x05, 0x04, 0x04, 0x00, 0x01,
237 0x02, 0x77, 0x00, 0x01, 0x02, 0x03, 0x11, 0x04,
238 0x05, 0x21, 0x31, 0x06, 0x12, 0x41, 0x51, 0x07, 0x61, 0x71,
239 0x13, 0x22, 0x32, 0x81, 0x08, 0x14, 0x42, 0x91,
240 0xA1, 0xB1, 0xC1, 0x09, 0x23, 0x33, 0x52, 0xF0, 0x15, 0x62,
241 0x72, 0xD1, 0x0A, 0x16, 0x24, 0x34, 0xE1, 0x25,
242 0xF1, 0x17, 0x18, 0x19, 0x1A, 0x26, 0x27, 0x28, 0x29, 0x2A,
243 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x43, 0x44,
244 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x53, 0x54, 0x55, 0x56,
245 0x57, 0x58, 0x59, 0x5A, 0x63, 0x64, 0x65, 0x66,
246 0x67, 0x68, 0x69, 0x6A, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
247 0x79, 0x7A, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
248 0x88, 0x89, 0x8A, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98,
249 0x99, 0x9A, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7,
250 0xA8, 0xA9, 0xAA, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8,
251 0xB9, 0xBA, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7,
252 0xC8, 0xC9, 0xCA, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8,
253 0xD9, 0xDA, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7,
254 0xE8, 0xE9, 0xEA, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8,
255 0xF9, 0xFA
259 #define NO_OF_COMPONENTS 0x3 //Y,U,V
260 #define BASELINE_PRECISION 0x8 //MCU size (?)
261 static const char zr36050_tq[8] = { 0, 1, 1, 0, 0, 0, 0, 0 }; //table idx's QT
262 static const char zr36050_td[8] = { 0, 1, 1, 0, 0, 0, 0, 0 }; //table idx's DC
263 static const char zr36050_ta[8] = { 0, 1, 1, 0, 0, 0, 0, 0 }; //table idx's AC
266 static const char zr36050_decimation_h[8] = { 2, 1, 1, 0, 0, 0, 0, 0 };
267 static const char zr36050_decimation_v[8] = { 1, 1, 1, 0, 0, 0, 0, 0 };
290 sof_data[0] = 0xff; in zr36050_set_sof()
291 sof_data[1] = 0xc0; in zr36050_set_sof()
292 sof_data[2] = 0x00; in zr36050_set_sof()
296 sof_data[6] = (ptr->height) & 0xff; in zr36050_set_sof()
298 sof_data[8] = (ptr->width) & 0xff; in zr36050_set_sof()
300 for (i = 0; i < NO_OF_COMPONENTS; i++) { in zr36050_set_sof()
324 sos_data[0] = 0xff; in zr36050_set_sos()
325 sos_data[1] = 0xda; in zr36050_set_sos()
326 sos_data[2] = 0x00; in zr36050_set_sos()
329 for (i = 0; i < NO_OF_COMPONENTS; i++) { in zr36050_set_sos()
334 sos_data[2 + 1 + (2 * NO_OF_COMPONENTS) + 3] = 0x3F; in zr36050_set_sos()
351 dri_data[0] = 0xff; in zr36050_set_dri()
352 dri_data[1] = 0xdd; in zr36050_set_dri()
353 dri_data[2] = 0x00; in zr36050_set_dri()
354 dri_data[3] = 0x04; in zr36050_set_dri()
356 dri_data[5] = ptr->dri & 0xff; in zr36050_set_dri()
370 int sum = 0; in zr36050_init()
383 zr36050_write(ptr, ZR050_OPTIONS, 0); in zr36050_init()
386 zr36050_write(ptr, ZR050_INT_REQ_0, 0); in zr36050_init()
392 zr36050_write(ptr, ZR050_SF_LO, ptr->scalefact & 0xff); in zr36050_init()
394 zr36050_write(ptr, ZR050_AF_HI, 0xff); in zr36050_init()
395 zr36050_write(ptr, ZR050_AF_M, 0xff); in zr36050_init()
396 zr36050_write(ptr, ZR050_AF_LO, 0xff); in zr36050_init()
412 zr36050_write(ptr, ZR050_APP_IDX, 0xff); in zr36050_init()
413 zr36050_write(ptr, ZR050_APP_IDX + 1, 0xe0 + ptr->app.appn); in zr36050_init()
414 zr36050_write(ptr, ZR050_APP_IDX + 2, 0x00); in zr36050_init()
418 zr36050_write(ptr, ZR050_COM_IDX, 0xff); in zr36050_init()
419 zr36050_write(ptr, ZR050_COM_IDX + 1, 0xfe); in zr36050_init()
420 zr36050_write(ptr, ZR050_COM_IDX + 2, 0x00); in zr36050_init()
430 zrdev_dbg(zr, "%s: Status after table preload: 0x%02x\n", in zr36050_init()
433 if ((ptr->status1 & 0x4) == 0) { in zr36050_init()
449 zr36050_write(ptr, ZR050_TCV_NET_MH, tmp & 0xff); in zr36050_init()
450 tmp = bitcnt & 0xffff; in zr36050_init()
452 zr36050_write(ptr, ZR050_TCV_NET_LO, tmp & 0xff); in zr36050_init()
461 zr36050_write(ptr, ZR050_TCV_DATA_MH, tmp & 0xff); in zr36050_init()
462 tmp = bitcnt & 0xffff; in zr36050_init()
464 zr36050_write(ptr, ZR050_TCV_DATA_LO, tmp & 0xff); in zr36050_init()
469 (ptr->bitrate_ctrl ? ZR050_MO_BRC : 0)); in zr36050_init()
474 ((ptr->app.len > 0) ? ZR050_ME_APP : 0) | in zr36050_init()
475 ((ptr->com.len > 0) ? ZR050_ME_COM : 0)); in zr36050_init()
487 zr36050_write(ptr, ZR050_INT_REQ_0, 0); in zr36050_init()
499 zrdev_dbg(zr, "%s: Status after table preload: 0x%02x\n", in zr36050_init()
502 if ((ptr->status1 & 0x4) == 0) { in zr36050_init()
508 zr36050_write(ptr, ZR050_MODE, 0); in zr36050_init()
509 zr36050_write(ptr, ZR050_MARKERS_EN, 0); in zr36050_init()
513 zr36050_read(ptr, 0); in zr36050_init()
539 return 0; in zr36050_set_mode()
550 zrdev_dbg(zr, "%s: set_video %d.%d, %d/%d-%dx%d (0x%x) q%d call\n", in zr36050_set_video()
558 ptr->width = cap->width / (cap->decimation & 0xff); in zr36050_set_video()
559 ptr->height = cap->height / ((cap->decimation >> 8) & 0xff); in zr36050_set_video()
582 return 0; in zr36050_set_video()
615 return 0; in zr36050_control()
620 return 0; in zr36050_control()
714 return 0; in zr36050_unset()
756 if (res < 0) { in zr36050_setup()
764 /* 0 or 1 - fixed file size flag (what is the difference?) */ in zr36050_setup()
765 ptr->bitrate_ctrl = 0; in zr36050_setup()
771 ptr->scalefact = 0x100; in zr36050_setup()
775 ptr->app.appn = 0; in zr36050_setup()
776 ptr->app.len = 0; in zr36050_setup()
777 ptr->com.len = 0; in zr36050_setup()
784 return 0; in zr36050_setup()
789 .magic = 0L, // magic not used
806 zr36050_codecs = 0; in zr36050_init_module()