Lines Matching +full:0 +full:x0d
13 #define SW_I2C_ADDR 0x1a
14 #define SW_I2C_EN 0x02
15 #define SW_SCL_OUT 0x04
16 #define SW_SDA_OUT 0x08
17 #define SW_SDA_IN 0x04
19 #define SW_I2C_BUSY_ADDR 0x2f
20 #define SW_I2C_BUSY 0x02
26 u8 data = 0; in mxl111sf_i2c_bitbang_sendbyte()
28 mxl_i2c("(0x%02x)", byte); in mxl111sf_i2c_bitbang_sendbyte()
34 for (i = 0; i < 8; i++) { in mxl111sf_i2c_bitbang_sendbyte()
36 data = (byte & (0x80 >> i)) ? SW_SDA_OUT : 0; in mxl111sf_i2c_bitbang_sendbyte()
39 0x10 | SW_I2C_EN | data); in mxl111sf_i2c_bitbang_sendbyte()
44 0x10 | SW_I2C_EN | data | SW_SCL_OUT); in mxl111sf_i2c_bitbang_sendbyte()
49 0x10 | SW_I2C_EN | data); in mxl111sf_i2c_bitbang_sendbyte()
54 /* last bit was 0 so we need to release SDA */ in mxl111sf_i2c_bitbang_sendbyte()
57 0x10 | SW_I2C_EN | SW_SDA_OUT); in mxl111sf_i2c_bitbang_sendbyte()
64 0x10 | SW_I2C_EN | SW_SCL_OUT | SW_SDA_OUT); in mxl111sf_i2c_bitbang_sendbyte()
74 0x10 | SW_I2C_EN | SW_SDA_OUT); in mxl111sf_i2c_bitbang_sendbyte()
88 u8 byte = 0; in mxl111sf_i2c_bitbang_recvbyte()
89 u8 data = 0; in mxl111sf_i2c_bitbang_recvbyte()
93 *pbyte = 0; in mxl111sf_i2c_bitbang_recvbyte()
96 0x10 | SW_I2C_EN | SW_SDA_OUT); in mxl111sf_i2c_bitbang_recvbyte()
100 for (i = 0; i < 8; i++) { in mxl111sf_i2c_bitbang_recvbyte()
102 0x10 | SW_I2C_EN | in mxl111sf_i2c_bitbang_recvbyte()
112 byte |= (0x80 >> i); in mxl111sf_i2c_bitbang_recvbyte()
115 0x10 | SW_I2C_EN | SW_SDA_OUT); in mxl111sf_i2c_bitbang_recvbyte()
131 0x10 | SW_I2C_EN | SW_SCL_OUT | SW_SDA_OUT); in mxl111sf_i2c_start()
136 0x10 | SW_I2C_EN | SW_SCL_OUT); in mxl111sf_i2c_start()
141 0x10 | SW_I2C_EN); /* start */ in mxl111sf_i2c_start()
154 0x10 | SW_I2C_EN); /* stop */ in mxl111sf_i2c_stop()
159 0x10 | SW_I2C_EN | SW_SCL_OUT); in mxl111sf_i2c_stop()
164 0x10 | SW_I2C_EN | SW_SCL_OUT | SW_SDA_OUT); in mxl111sf_i2c_stop()
169 0x10 | SW_SCL_OUT | SW_SDA_OUT); in mxl111sf_i2c_stop()
178 u8 b = 0; in mxl111sf_i2c_ack()
187 0x10 | SW_I2C_EN); in mxl111sf_i2c_ack()
193 0x10 | SW_I2C_EN | SW_SCL_OUT); in mxl111sf_i2c_ack()
198 0x10 | SW_I2C_EN | SW_SDA_OUT); in mxl111sf_i2c_ack()
212 0x10 | SW_I2C_EN | SW_SCL_OUT | SW_SDA_OUT); in mxl111sf_i2c_nack()
217 0x10 | SW_I2C_EN | SW_SDA_OUT); in mxl111sf_i2c_nack()
239 (msg->addr << 1) | 0x01); in mxl111sf_i2c_sw_xfer_msg()
245 for (i = 0; i < msg->len; i++) { in mxl111sf_i2c_sw_xfer_msg()
270 (msg->addr << 1) & 0xfe); in mxl111sf_i2c_sw_xfer_msg()
276 for (i = 0; i < msg->len; i++) { in mxl111sf_i2c_sw_xfer_msg()
294 #define USB_WRITE_I2C_CMD 0x99
295 #define USB_READ_I2C_CMD 0xdd
296 #define USB_END_I2C_CMD 0xfe
301 #define I2C_MUX_REG 0x30
302 #define I2C_CONTROL_REG 0x00
303 #define I2C_SLAVE_ADDR_REG 0x08
304 #define I2C_DATA_REG 0x0c
305 #define I2C_INT_STATUS_REG 0x10
310 int ret = mxl111sf_ctrl_msg(state, wdata[0], in mxl111sf_i2c_send_data()
311 &wdata[1], 25, NULL, 0); in mxl111sf_i2c_send_data()
320 int ret = mxl111sf_ctrl_msg(state, wdata[0], in mxl111sf_i2c_get_data()
329 u8 status = 0; in mxl111sf_i2c_check_status()
334 buf[0] = USB_READ_I2C_CMD; in mxl111sf_i2c_check_status()
335 buf[1] = 0x00; in mxl111sf_i2c_check_status()
338 buf[3] = 0x00; in mxl111sf_i2c_check_status()
339 buf[4] = 0x00; in mxl111sf_i2c_check_status()
343 mxl111sf_i2c_get_data(state, 0, buf, buf); in mxl111sf_i2c_check_status()
345 if (buf[1] & 0x04) in mxl111sf_i2c_check_status()
353 u8 status = 0; in mxl111sf_i2c_check_fifo()
358 buf[0] = USB_READ_I2C_CMD; in mxl111sf_i2c_check_fifo()
359 buf[1] = 0x00; in mxl111sf_i2c_check_fifo()
362 buf[3] = 0x00; in mxl111sf_i2c_check_fifo()
363 buf[4] = 0x00; in mxl111sf_i2c_check_fifo()
366 buf[6] = 0x00; in mxl111sf_i2c_check_fifo()
367 buf[7] = 0x00; in mxl111sf_i2c_check_fifo()
370 mxl111sf_i2c_get_data(state, 0, buf, buf); in mxl111sf_i2c_check_fifo()
372 if (0x08 == (buf[1] & 0x08)) in mxl111sf_i2c_check_fifo()
375 if ((buf[5] & 0x02) == 0x02) in mxl111sf_i2c_check_fifo()
376 mxl_i2c("(buf[5] & 0x02) == 0x02"); /* FIXME */ in mxl111sf_i2c_check_fifo()
386 u8 i = 0; in mxl111sf_i2c_readagain()
387 u8 fifo_status = 0; in mxl111sf_i2c_readagain()
388 int status = 0; in mxl111sf_i2c_readagain()
392 while ((fifo_status == 0) && (i++ < 5)) in mxl111sf_i2c_readagain()
395 i2c_w_data[0] = 0xDD; in mxl111sf_i2c_readagain()
396 i2c_w_data[1] = 0x00; in mxl111sf_i2c_readagain()
399 i2c_w_data[i] = 0xFE; in mxl111sf_i2c_readagain()
401 for (i = 0; i < count; i++) { in mxl111sf_i2c_readagain()
402 i2c_w_data[2+(i*3)] = 0x0C; in mxl111sf_i2c_readagain()
403 i2c_w_data[3+(i*3)] = 0x00; in mxl111sf_i2c_readagain()
404 i2c_w_data[4+(i*3)] = 0x00; in mxl111sf_i2c_readagain()
407 mxl111sf_i2c_get_data(state, 0, i2c_w_data, i2c_r_data); in mxl111sf_i2c_readagain()
413 for (i = 0; i < count; i++) { in mxl111sf_i2c_readagain()
430 int i, k, ret = 0; in mxl111sf_i2c_hw_xfer_msg()
431 u16 index = 0; in mxl111sf_i2c_hw_xfer_msg()
440 mxl_i2c("addr: 0x%02x, read buff len: %d, write buff len: %d", in mxl111sf_i2c_hw_xfer_msg()
441 msg->addr, (msg->flags & I2C_M_RD) ? msg->len : 0, in mxl111sf_i2c_hw_xfer_msg()
442 (!(msg->flags & I2C_M_RD)) ? msg->len : 0); in mxl111sf_i2c_hw_xfer_msg()
444 for (index = 0; index < 26; index++) in mxl111sf_i2c_hw_xfer_msg()
448 buf[0] = USB_WRITE_I2C_CMD; in mxl111sf_i2c_hw_xfer_msg()
449 buf[1] = 0x00; in mxl111sf_i2c_hw_xfer_msg()
453 buf[3] = 0x80; in mxl111sf_i2c_hw_xfer_msg()
454 buf[4] = 0x00; in mxl111sf_i2c_hw_xfer_msg()
458 buf[6] = 0x81; in mxl111sf_i2c_hw_xfer_msg()
459 buf[7] = 0x00; in mxl111sf_i2c_hw_xfer_msg()
462 buf[8] = 0x14; in mxl111sf_i2c_hw_xfer_msg()
463 buf[9] = 0xff; in mxl111sf_i2c_hw_xfer_msg()
464 buf[10] = 0x00; in mxl111sf_i2c_hw_xfer_msg()
465 #if 0 in mxl111sf_i2c_hw_xfer_msg()
467 buf[8] = 0x24; in mxl111sf_i2c_hw_xfer_msg()
468 buf[9] = 0xF7; in mxl111sf_i2c_hw_xfer_msg()
469 buf[10] = 0x00; in mxl111sf_i2c_hw_xfer_msg()
471 buf[11] = 0x24; in mxl111sf_i2c_hw_xfer_msg()
472 buf[12] = 0xF7; in mxl111sf_i2c_hw_xfer_msg()
473 buf[13] = 0x00; in mxl111sf_i2c_hw_xfer_msg()
475 ret = mxl111sf_i2c_send_data(state, 0, buf); in mxl111sf_i2c_hw_xfer_msg()
478 if (!(msg->flags & I2C_M_RD) && (msg->len > 0)) { in mxl111sf_i2c_hw_xfer_msg()
479 mxl_i2c("%d\t%02x", msg->len, msg->buf[0]); in mxl111sf_i2c_hw_xfer_msg()
483 buf[3] = 0x5E; in mxl111sf_i2c_hw_xfer_msg()
484 buf[4] = (HWI2C400) ? 0x03 : 0x0D; in mxl111sf_i2c_hw_xfer_msg()
489 buf[7] = 0x00; in mxl111sf_i2c_hw_xfer_msg()
491 ret = mxl111sf_i2c_send_data(state, 0, buf); in mxl111sf_i2c_hw_xfer_msg()
499 buf[3] = 0x4E; in mxl111sf_i2c_hw_xfer_msg()
500 buf[4] = (HWI2C400) ? 0x03 : 0x0D; in mxl111sf_i2c_hw_xfer_msg()
514 for (index = 0; index < block_len; index++) { in mxl111sf_i2c_hw_xfer_msg()
515 for (i = 0; i < 8; i++) { in mxl111sf_i2c_hw_xfer_msg()
519 buf[4+(i*3)] = 0x00; in mxl111sf_i2c_hw_xfer_msg()
522 ret = mxl111sf_i2c_send_data(state, 0, buf); in mxl111sf_i2c_hw_xfer_msg()
531 buf[3] = 0x4E; in mxl111sf_i2c_hw_xfer_msg()
532 buf[4] = (HWI2C400) ? 0x03 : 0x0D; in mxl111sf_i2c_hw_xfer_msg()
540 for (k = 0; k < 26; k++) in mxl111sf_i2c_hw_xfer_msg()
543 buf[0] = 0x99; in mxl111sf_i2c_hw_xfer_msg()
544 buf[1] = 0x00; in mxl111sf_i2c_hw_xfer_msg()
546 for (i = 0; i < left_over_len; i++) { in mxl111sf_i2c_hw_xfer_msg()
551 buf[4+(i*3)] = 0x00; in mxl111sf_i2c_hw_xfer_msg()
553 ret = mxl111sf_i2c_send_data(state, 0, buf); in mxl111sf_i2c_hw_xfer_msg()
562 buf[3] = 0x4E; in mxl111sf_i2c_hw_xfer_msg()
563 buf[4] = (HWI2C400) ? 0x03 : 0x0D; in mxl111sf_i2c_hw_xfer_msg()
572 buf[3] = 0x4E; in mxl111sf_i2c_hw_xfer_msg()
573 buf[4] = (HWI2C400) ? 0x03 : 0x0D; in mxl111sf_i2c_hw_xfer_msg()
578 if ((msg->flags & I2C_M_RD) && (msg->len > 0)) { in mxl111sf_i2c_hw_xfer_msg()
584 buf[3] = 0xDF; in mxl111sf_i2c_hw_xfer_msg()
585 buf[4] = (HWI2C400) ? 0x03 : 0x0D; in mxl111sf_i2c_hw_xfer_msg()
588 buf[5] = 0x14; in mxl111sf_i2c_hw_xfer_msg()
589 buf[6] = (msg->len & 0xFF); in mxl111sf_i2c_hw_xfer_msg()
590 buf[7] = 0; in mxl111sf_i2c_hw_xfer_msg()
595 buf[10] = 0x00; in mxl111sf_i2c_hw_xfer_msg()
597 ret = mxl111sf_i2c_send_data(state, 0, buf); in mxl111sf_i2c_hw_xfer_msg()
606 buf[3] = 0xC7; in mxl111sf_i2c_hw_xfer_msg()
607 buf[4] = (HWI2C400) ? 0x03 : 0x0D; in mxl111sf_i2c_hw_xfer_msg()
617 index = 0; in mxl111sf_i2c_hw_xfer_msg()
623 buf[0] = USB_READ_I2C_CMD; in mxl111sf_i2c_hw_xfer_msg()
624 buf[1] = 0x00; in mxl111sf_i2c_hw_xfer_msg()
626 for (index = 0; index < block_len; index++) { in mxl111sf_i2c_hw_xfer_msg()
628 for (i = 0; i < 8; i++) { in mxl111sf_i2c_hw_xfer_msg()
630 buf[3+(i*3)] = 0x00; in mxl111sf_i2c_hw_xfer_msg()
631 buf[4+(i*3)] = 0x00; in mxl111sf_i2c_hw_xfer_msg()
634 ret = mxl111sf_i2c_get_data(state, 0, buf, i2c_r_data); in mxl111sf_i2c_hw_xfer_msg()
643 buf[3] = 0xC7; in mxl111sf_i2c_hw_xfer_msg()
644 buf[4] = (HWI2C400) ? 0x03 : 0x0D; in mxl111sf_i2c_hw_xfer_msg()
650 for (i = 0; i < 8; i++) { in mxl111sf_i2c_hw_xfer_msg()
653 if (rd_status[i] == 0x04) { in mxl111sf_i2c_hw_xfer_msg()
665 for (k = 0; in mxl111sf_i2c_hw_xfer_msg()
698 for (k = 0; k < 26; k++) in mxl111sf_i2c_hw_xfer_msg()
701 buf[0] = 0xDD; in mxl111sf_i2c_hw_xfer_msg()
702 buf[1] = 0x00; in mxl111sf_i2c_hw_xfer_msg()
704 for (i = 0; i < left_over_len; i++) { in mxl111sf_i2c_hw_xfer_msg()
706 buf[3+(i*3)] = 0x00; in mxl111sf_i2c_hw_xfer_msg()
707 buf[4+(i*3)] = 0x00; in mxl111sf_i2c_hw_xfer_msg()
709 ret = mxl111sf_i2c_get_data(state, 0, buf, in mxl111sf_i2c_hw_xfer_msg()
719 buf[3] = 0xC7; in mxl111sf_i2c_hw_xfer_msg()
720 buf[4] = (HWI2C400) ? 0x03 : 0x0D; in mxl111sf_i2c_hw_xfer_msg()
725 for (i = 0; i < left_over_len; i++) { in mxl111sf_i2c_hw_xfer_msg()
736 buf[0] = USB_WRITE_I2C_CMD; in mxl111sf_i2c_hw_xfer_msg()
737 buf[1] = 0x00; in mxl111sf_i2c_hw_xfer_msg()
741 buf[3] = 0x17; in mxl111sf_i2c_hw_xfer_msg()
742 buf[4] = (HWI2C400) ? 0x03 : 0x0D; in mxl111sf_i2c_hw_xfer_msg()
745 ret = mxl111sf_i2c_send_data(state, 0, buf); in mxl111sf_i2c_hw_xfer_msg()
749 buf[3] = 0xC7; in mxl111sf_i2c_hw_xfer_msg()
750 buf[4] = (HWI2C400) ? 0x03 : 0x0D; in mxl111sf_i2c_hw_xfer_msg()
755 buf[0] = USB_WRITE_I2C_CMD; in mxl111sf_i2c_hw_xfer_msg()
756 buf[1] = 0x00; in mxl111sf_i2c_hw_xfer_msg()
760 mxl111sf_i2c_send_data(state, 0, buf); in mxl111sf_i2c_hw_xfer_msg()
764 buf[3] = 0xDF; in mxl111sf_i2c_hw_xfer_msg()
765 buf[4] = 0x03; in mxl111sf_i2c_hw_xfer_msg()
769 buf[6] = 0x00; in mxl111sf_i2c_hw_xfer_msg()
770 buf[7] = 0x00; in mxl111sf_i2c_hw_xfer_msg()
774 mxl111sf_i2c_send_data(state, 0, buf); in mxl111sf_i2c_hw_xfer_msg()
778 buf[3] = 0x81; in mxl111sf_i2c_hw_xfer_msg()
779 buf[4] = 0x00; in mxl111sf_i2c_hw_xfer_msg()
783 buf[6] = 0x00; in mxl111sf_i2c_hw_xfer_msg()
784 buf[7] = 0x00; in mxl111sf_i2c_hw_xfer_msg()
788 buf[9] = 0x00; in mxl111sf_i2c_hw_xfer_msg()
789 buf[10] = 0x00; in mxl111sf_i2c_hw_xfer_msg()
792 mxl111sf_i2c_send_data(state, 0, buf); in mxl111sf_i2c_hw_xfer_msg()
807 if (mutex_lock_interruptible(&d->i2c_mutex) < 0) in mxl111sf_i2c_xfer()
810 for (i = 0; i < num; i++) { in mxl111sf_i2c_xfer()
815 mxl_debug_adv("failed with error %d on i2c transaction %d of %d, %sing %d bytes to/from 0x%02x", in mxl111sf_i2c_xfer()