• Home
  • Raw
  • Download

Lines Matching refs:state

69 static int i2c_writebytes (struct nxt200x_state* state, u8 addr, u8 *buf, u8 len)  in i2c_writebytes()  argument
74 if ((err = i2c_transfer (state->i2c, &msg, 1)) != 1) { in i2c_writebytes()
82 static int i2c_readbytes(struct nxt200x_state *state, u8 addr, u8 *buf, u8 len) in i2c_readbytes() argument
87 if ((err = i2c_transfer (state->i2c, &msg, 1)) != 1) { in i2c_readbytes()
95 static int nxt200x_writebytes (struct nxt200x_state* state, u8 reg, in nxt200x_writebytes() argument
100 …struct i2c_msg msg = { .addr = state->config->demod_address, .flags = 0, .buf = buf2, .len = len +… in nxt200x_writebytes()
105 if ((err = i2c_transfer (state->i2c, &msg, 1)) != 1) { in nxt200x_writebytes()
107 __func__, state->config->demod_address, err); in nxt200x_writebytes()
113 static int nxt200x_readbytes(struct nxt200x_state *state, u8 reg, u8 *buf, u8 len) in nxt200x_readbytes() argument
117 …struct i2c_msg msg [] = { { .addr = state->config->demod_address, .flags = 0, .buf = reg2, .len = … in nxt200x_readbytes()
118 { .addr = state->config->demod_address, .flags = I2C_M_RD, .buf = buf, .len = len } }; in nxt200x_readbytes()
122 if ((err = i2c_transfer (state->i2c, msg, 2)) != 2) { in nxt200x_readbytes()
124 __func__, state->config->demod_address, err); in nxt200x_readbytes()
146 static int nxt200x_writereg_multibyte (struct nxt200x_state* state, u8 reg, u8* data, u8 len) in nxt200x_writereg_multibyte() argument
152 nxt200x_writebytes(state, 0x35, &reg, 1); in nxt200x_writereg_multibyte()
155 nxt200x_writebytes(state, 0x36, data, len); in nxt200x_writereg_multibyte()
157 switch (state->demod_chip) { in nxt200x_writereg_multibyte()
180 nxt200x_writebytes(state, 0x34, &len2, 1); in nxt200x_writereg_multibyte()
183 nxt200x_writebytes(state, 0x21, &buf, 1); in nxt200x_writereg_multibyte()
185 nxt200x_readbytes(state, 0x21, &buf, 1); in nxt200x_writereg_multibyte()
187 switch (state->demod_chip) { in nxt200x_writereg_multibyte()
206 static int nxt200x_readreg_multibyte (struct nxt200x_state* state, u8 reg, u8* data, u8 len) in nxt200x_readreg_multibyte() argument
213 nxt200x_writebytes(state, 0x35, &reg, 1); in nxt200x_readreg_multibyte()
215 switch (state->demod_chip) { in nxt200x_readreg_multibyte()
219 nxt200x_writebytes(state, 0x34, &len2, 1); in nxt200x_readreg_multibyte()
222 nxt200x_readbytes(state, reg, data, len); in nxt200x_readreg_multibyte()
236 nxt200x_writebytes(state, 0x34, &len2, 1); in nxt200x_readreg_multibyte()
240 nxt200x_writebytes(state, 0x21, &buf, 1); in nxt200x_readreg_multibyte()
244 nxt200x_readbytes(state, 0x36 + i, &data[i], 1); in nxt200x_readreg_multibyte()
254 static void nxt200x_microcontroller_stop (struct nxt200x_state* state) in nxt200x_microcontroller_stop() argument
260 switch (state->demod_chip) { in nxt200x_microcontroller_stop()
273 nxt200x_writebytes(state, 0x22, &buf, 1); in nxt200x_microcontroller_stop()
276 nxt200x_readbytes(state, 0x31, &buf, 1); in nxt200x_microcontroller_stop()
288 static void nxt200x_microcontroller_start (struct nxt200x_state* state) in nxt200x_microcontroller_start() argument
294 nxt200x_writebytes(state, 0x22, &buf, 1); in nxt200x_microcontroller_start()
297 static void nxt2004_microcontroller_init (struct nxt200x_state* state) in nxt2004_microcontroller_init() argument
304 nxt200x_writebytes(state, 0x2b, buf, 1); in nxt2004_microcontroller_init()
306 nxt200x_writebytes(state, 0x34, buf, 1); in nxt2004_microcontroller_init()
308 nxt200x_writebytes(state, 0x35, buf, 1); in nxt2004_microcontroller_init()
311 nxt200x_writebytes(state, 0x36, buf, 9); in nxt2004_microcontroller_init()
313 nxt200x_writebytes(state, 0x21, buf, 1); in nxt2004_microcontroller_init()
316 nxt200x_readbytes(state, 0x21, buf, 1); in nxt2004_microcontroller_init()
328 static int nxt200x_writetuner (struct nxt200x_state* state, u8* data) in nxt200x_writetuner() argument
338 switch (state->demod_chip) { in nxt200x_writetuner()
340 if (i2c_writebytes(state, data[0], data+1, 4)) in nxt200x_writetuner()
344 i2c_readbytes(state, data[0], &buf, 1); in nxt200x_writetuner()
355 nxt200x_writebytes(state, 0x20, &buf, 1); in nxt200x_writetuner()
359 nxt200x_writebytes(state, 0x34, &buf, 1); in nxt200x_writetuner()
362 nxt200x_writebytes(state, 0x36, data+1, 4); in nxt200x_writetuner()
366 nxt200x_writebytes(state, 0x35, &buf, 1); in nxt200x_writetuner()
370 nxt200x_writebytes(state, 0x21, &buf, 1); in nxt200x_writetuner()
373 nxt200x_readbytes(state, 0x21, &buf, 1); in nxt200x_writetuner()
388 static void nxt200x_agc_reset(struct nxt200x_state* state) in nxt200x_agc_reset() argument
393 switch (state->demod_chip) { in nxt200x_agc_reset()
396 nxt200x_writebytes(state, 0x08, &buf, 1); in nxt200x_agc_reset()
398 nxt200x_writebytes(state, 0x08, &buf, 1); in nxt200x_agc_reset()
401 nxt200x_readreg_multibyte(state, 0x08, &buf, 1); in nxt200x_agc_reset()
403 nxt200x_writereg_multibyte(state, 0x08, &buf, 1); in nxt200x_agc_reset()
405 nxt200x_writereg_multibyte(state, 0x08, &buf, 1); in nxt200x_agc_reset()
416 struct nxt200x_state* state = fe->demodulator_priv; in nxt2002_load_firmware() local
424 nxt200x_readbytes(state, 0x10, buf, 1); in nxt2002_load_firmware()
435 nxt200x_writebytes(state, 0x2B, buf, 1); in nxt2002_load_firmware()
445 nxt200x_writebytes(state, 0x29, buf, 3); in nxt2002_load_firmware()
451 nxt200x_writebytes(state, chunkpos, &fw->data[position-3], 4); in nxt2002_load_firmware()
457 nxt200x_writebytes(state, chunkpos+4-(written %4), in nxt2002_load_firmware()
464 nxt200x_writebytes(state, 0x2C, buf, 2); in nxt2002_load_firmware()
467 nxt200x_readbytes(state, 0x2A, buf, 1); in nxt2002_load_firmware()
471 nxt200x_writebytes(state, 0x2B, buf, 1); in nxt2002_load_firmware()
483 struct nxt200x_state* state = fe->demodulator_priv; in nxt2004_load_firmware() local
495 nxt200x_writebytes(state, 0x2B, buf,1); in nxt2004_load_firmware()
506 nxt200x_writebytes(state,0x29,buf,3); in nxt2004_load_firmware()
509 nxt200x_writebytes(state, 0x2C, &fw->data[position], in nxt2004_load_firmware()
519 nxt200x_writebytes(state, 0x2C, buf,2); in nxt2004_load_firmware()
522 nxt200x_readbytes(state, 0x2C, buf, 1); in nxt2004_load_firmware()
526 nxt200x_writebytes(state, 0x2B, buf,1); in nxt2004_load_firmware()
534 struct nxt200x_state* state = fe->demodulator_priv; in nxt200x_setup_frontend_parameters() local
538 nxt200x_microcontroller_stop(state); in nxt200x_setup_frontend_parameters()
540 if (state->demod_chip == NXT2004) { in nxt200x_setup_frontend_parameters()
543 nxt200x_writebytes(state, 0x14, buf, 1); in nxt200x_setup_frontend_parameters()
545 nxt200x_writebytes(state, 0x17, buf, 1); in nxt200x_setup_frontend_parameters()
554 if (state->config->set_ts_params) in nxt200x_setup_frontend_parameters()
555 state->config->set_ts_params(fe, 1); in nxt200x_setup_frontend_parameters()
559 if (state->config->set_ts_params) in nxt200x_setup_frontend_parameters()
560 state->config->set_ts_params(fe, 0); in nxt200x_setup_frontend_parameters()
572 nxt200x_writetuner(state, buf); in nxt200x_setup_frontend_parameters()
576 nxt200x_agc_reset(state); in nxt200x_setup_frontend_parameters()
591 nxt200x_writebytes(state, 0x42, buf, 1); in nxt200x_setup_frontend_parameters()
594 switch (state->demod_chip) { in nxt200x_setup_frontend_parameters()
605 nxt200x_writebytes(state, 0x57, buf, 1); in nxt200x_setup_frontend_parameters()
610 switch (state->demod_chip) { in nxt200x_setup_frontend_parameters()
612 nxt200x_writereg_multibyte(state, 0x58, buf, 2); in nxt200x_setup_frontend_parameters()
615 nxt200x_writebytes(state, 0x58, buf, 2); in nxt200x_setup_frontend_parameters()
638 switch (state->demod_chip) { in nxt200x_setup_frontend_parameters()
640 nxt200x_writereg_multibyte(state, 0x5C, buf, 2); in nxt200x_setup_frontend_parameters()
643 nxt200x_writebytes(state, 0x5C, buf, 2); in nxt200x_setup_frontend_parameters()
652 nxt200x_writebytes(state, 0x43, buf, 1); in nxt200x_setup_frontend_parameters()
654 if (state->demod_chip == NXT2004) { in nxt200x_setup_frontend_parameters()
658 nxt200x_writebytes(state, 0x46, buf, 2); in nxt200x_setup_frontend_parameters()
664 switch (state->demod_chip) { in nxt200x_setup_frontend_parameters()
666 nxt200x_writereg_multibyte(state, 0x4B, buf, 2); in nxt200x_setup_frontend_parameters()
669 nxt200x_writebytes(state, 0x4B, buf, 2); in nxt200x_setup_frontend_parameters()
678 nxt200x_writebytes(state, 0x4D, buf, 1); in nxt200x_setup_frontend_parameters()
682 nxt200x_writebytes(state, 0x55, buf, 1); in nxt200x_setup_frontend_parameters()
686 nxt200x_writebytes(state, 0x41, buf, 1); in nxt200x_setup_frontend_parameters()
688 if (state->demod_chip == NXT2004) { in nxt200x_setup_frontend_parameters()
689 nxt200x_readreg_multibyte(state, 0x80, buf, 1); in nxt200x_setup_frontend_parameters()
691 nxt200x_writereg_multibyte(state, 0x80, buf, 1); in nxt200x_setup_frontend_parameters()
694 nxt200x_readreg_multibyte(state, 0x08, buf, 1); in nxt200x_setup_frontend_parameters()
696 nxt200x_writereg_multibyte(state, 0x08, buf, 1); in nxt200x_setup_frontend_parameters()
697 nxt200x_readreg_multibyte(state, 0x08, buf, 1); in nxt200x_setup_frontend_parameters()
699 nxt200x_writereg_multibyte(state, 0x08, buf, 1); in nxt200x_setup_frontend_parameters()
701 nxt200x_readreg_multibyte(state, 0x80, buf, 1); in nxt200x_setup_frontend_parameters()
703 nxt200x_writereg_multibyte(state, 0x80, buf, 1); in nxt200x_setup_frontend_parameters()
705 nxt200x_writereg_multibyte(state, 0x81, buf, 1); in nxt200x_setup_frontend_parameters()
707 nxt200x_writereg_multibyte(state, 0x82, buf, 3); in nxt200x_setup_frontend_parameters()
708 nxt200x_readreg_multibyte(state, 0x88, buf, 1); in nxt200x_setup_frontend_parameters()
710 nxt200x_writereg_multibyte(state, 0x88, buf, 1); in nxt200x_setup_frontend_parameters()
711 nxt200x_readreg_multibyte(state, 0x80, buf, 1); in nxt200x_setup_frontend_parameters()
713 nxt200x_writereg_multibyte(state, 0x80, buf, 1); in nxt200x_setup_frontend_parameters()
731 nxt200x_writebytes(state, 0x30, buf, 1); in nxt200x_setup_frontend_parameters()
735 nxt200x_writebytes(state, 0x41, buf, 1); in nxt200x_setup_frontend_parameters()
740 switch (state->demod_chip) { in nxt200x_setup_frontend_parameters()
742 nxt200x_writereg_multibyte(state, 0x49, buf, 2); in nxt200x_setup_frontend_parameters()
743 nxt200x_writereg_multibyte(state, 0x4B, buf, 2); in nxt200x_setup_frontend_parameters()
746 nxt200x_writebytes(state, 0x49, buf, 2); in nxt200x_setup_frontend_parameters()
747 nxt200x_writebytes(state, 0x4B, buf, 2); in nxt200x_setup_frontend_parameters()
756 nxt200x_writebytes(state, 0x41, buf, 1); in nxt200x_setup_frontend_parameters()
758 nxt200x_microcontroller_start(state); in nxt200x_setup_frontend_parameters()
760 if (state->demod_chip == NXT2004) { in nxt200x_setup_frontend_parameters()
761 nxt2004_microcontroller_init(state); in nxt200x_setup_frontend_parameters()
766 nxt200x_writebytes(state, 0x5C, buf, 2); in nxt200x_setup_frontend_parameters()
777 struct nxt200x_state* state = fe->demodulator_priv; in nxt200x_read_status() local
779 nxt200x_readbytes(state, 0x31, &lock, 1); in nxt200x_read_status()
794 struct nxt200x_state* state = fe->demodulator_priv; in nxt200x_read_ber() local
797 nxt200x_readreg_multibyte(state, 0xE6, b, 3); in nxt200x_read_ber()
806 struct nxt200x_state* state = fe->demodulator_priv; in nxt200x_read_signal_strength() local
812 nxt200x_writebytes(state, 0xA1, b, 1); in nxt200x_read_signal_strength()
815 nxt200x_readreg_multibyte(state, 0xA6, b, 2); in nxt200x_read_signal_strength()
826 struct nxt200x_state* state = fe->demodulator_priv; in nxt200x_read_snr() local
833 nxt200x_writebytes(state, 0xA1, b, 1); in nxt200x_read_snr()
836 nxt200x_readreg_multibyte(state, 0xA6, b, 2); in nxt200x_read_snr()
859 struct nxt200x_state* state = fe->demodulator_priv; in nxt200x_read_ucblocks() local
862 nxt200x_readreg_multibyte(state, 0xE6, b, 3); in nxt200x_read_ucblocks()
875 struct nxt200x_state* state = fe->demodulator_priv; in nxt2002_init() local
884 state->i2c->dev.parent); in nxt2002_init()
901 nxt200x_microcontroller_stop(state); in nxt2002_init()
905 nxt200x_writebytes(state, 0x2B, buf, 1); in nxt2002_init()
908 nxt200x_microcontroller_stop(state); in nxt2002_init()
912 nxt200x_writebytes(state, 0x08, buf, 1); in nxt2002_init()
914 nxt200x_writebytes(state, 0x08, buf, 1); in nxt2002_init()
918 nxt200x_writebytes(state, 0x57, buf, 1); in nxt2002_init()
922 nxt200x_writebytes(state, 0x09, buf, 1); in nxt2002_init()
927 nxt200x_writebytes(state, 0xE9, buf, 2); in nxt2002_init()
931 nxt200x_writebytes(state, 0xCC, buf, 1); in nxt2002_init()
938 struct nxt200x_state* state = fe->demodulator_priv; in nxt2004_init() local
945 nxt200x_writebytes(state, 0x1E, buf, 1); in nxt2004_init()
951 state->i2c->dev.parent); in nxt2004_init()
969 nxt200x_writebytes(state, 0x19, buf, 1); in nxt2004_init()
971 nxt2004_microcontroller_init(state); in nxt2004_init()
972 nxt200x_microcontroller_stop(state); in nxt2004_init()
973 nxt200x_microcontroller_stop(state); in nxt2004_init()
974 nxt2004_microcontroller_init(state); in nxt2004_init()
975 nxt200x_microcontroller_stop(state); in nxt2004_init()
979 nxt200x_writereg_multibyte(state, 0x08, buf, 1); in nxt2004_init()
981 nxt200x_writereg_multibyte(state, 0x08, buf, 1); in nxt2004_init()
985 nxt200x_writebytes(state, 0x57, buf, 1); in nxt2004_init()
990 nxt200x_writebytes(state, 0x35, buf, 2); in nxt2004_init()
992 nxt200x_writebytes(state, 0x34, buf, 1); in nxt2004_init()
994 nxt200x_writebytes(state, 0x21, buf, 1); in nxt2004_init()
998 nxt200x_writebytes(state, 0x0A, buf, 1); in nxt2004_init()
1002 nxt200x_writereg_multibyte(state, 0x80, buf, 1); in nxt2004_init()
1007 nxt200x_writebytes(state, 0xE9, buf, 2); in nxt2004_init()
1011 nxt200x_writebytes(state, 0xCC, buf, 1); in nxt2004_init()
1014 nxt200x_readreg_multibyte(state, 0x80, buf, 1); in nxt2004_init()
1016 nxt200x_writereg_multibyte(state, 0x80, buf, 1); in nxt2004_init()
1019 nxt200x_readreg_multibyte(state, 0x08, buf, 1); in nxt2004_init()
1021 nxt200x_writereg_multibyte(state, 0x08, buf, 1); in nxt2004_init()
1022 nxt200x_readreg_multibyte(state, 0x08, buf, 1); in nxt2004_init()
1024 nxt200x_writereg_multibyte(state, 0x08, buf, 1); in nxt2004_init()
1027 nxt200x_readreg_multibyte(state, 0x80, buf, 1); in nxt2004_init()
1029 nxt200x_writereg_multibyte(state, 0x80, buf, 1); in nxt2004_init()
1031 nxt200x_writereg_multibyte(state, 0x81, buf, 1); in nxt2004_init()
1033 nxt200x_writereg_multibyte(state, 0x82, buf, 3); in nxt2004_init()
1035 nxt200x_readreg_multibyte(state, 0x88, buf, 1); in nxt2004_init()
1037 nxt200x_writereg_multibyte(state, 0x88, buf, 1); in nxt2004_init()
1038 nxt200x_readreg_multibyte(state, 0x80, buf, 1); in nxt2004_init()
1040 nxt200x_writereg_multibyte(state, 0x80, buf, 1); in nxt2004_init()
1042 nxt200x_readbytes(state, 0x10, buf, 1); in nxt2004_init()
1044 nxt200x_writebytes(state, 0x10, buf, 1); in nxt2004_init()
1045 nxt200x_readbytes(state, 0x0A, buf, 1); in nxt2004_init()
1047 nxt200x_writebytes(state, 0x0A, buf, 1); in nxt2004_init()
1049 nxt2004_microcontroller_init(state); in nxt2004_init()
1052 nxt200x_writebytes(state, 0x0A, buf, 1); in nxt2004_init()
1054 nxt200x_writebytes(state, 0xE9, buf, 1); in nxt2004_init()
1056 nxt200x_writebytes(state, 0xEA, buf, 1); in nxt2004_init()
1058 nxt200x_readreg_multibyte(state, 0x80, buf, 1); in nxt2004_init()
1060 nxt200x_writereg_multibyte(state, 0x80, buf, 1); in nxt2004_init()
1061 nxt200x_readreg_multibyte(state, 0x80, buf, 1); in nxt2004_init()
1063 nxt200x_writereg_multibyte(state, 0x80, buf, 1); in nxt2004_init()
1066 nxt200x_readreg_multibyte(state, 0x08, buf, 1); in nxt2004_init()
1068 nxt200x_writereg_multibyte(state, 0x08, buf, 1); in nxt2004_init()
1069 nxt200x_readreg_multibyte(state, 0x08, buf, 1); in nxt2004_init()
1071 nxt200x_writereg_multibyte(state, 0x08, buf, 1); in nxt2004_init()
1073 nxt200x_readreg_multibyte(state, 0x80, buf, 1); in nxt2004_init()
1075 nxt200x_writereg_multibyte(state, 0x80, buf, 1); in nxt2004_init()
1077 nxt200x_writereg_multibyte(state, 0x81, buf, 1); in nxt2004_init()
1079 nxt200x_writereg_multibyte(state, 0x82, buf, 3); in nxt2004_init()
1081 nxt200x_readreg_multibyte(state, 0x88, buf, 1); in nxt2004_init()
1083 nxt200x_writereg_multibyte(state, 0x88, buf, 1); in nxt2004_init()
1085 nxt200x_readreg_multibyte(state, 0x80, buf, 1); in nxt2004_init()
1087 nxt200x_writereg_multibyte(state, 0x80, buf, 1); in nxt2004_init()
1090 nxt200x_readbytes(state, 0x10, buf, 1); in nxt2004_init()
1092 nxt200x_writebytes(state, 0x10, buf, 1); in nxt2004_init()
1094 nxt200x_writebytes(state, 0x13, buf, 1); in nxt2004_init()
1096 nxt200x_writebytes(state, 0x16, buf, 1); in nxt2004_init()
1098 nxt200x_writebytes(state, 0x14, buf, 1); in nxt2004_init()
1100 nxt200x_writebytes(state, 0x14, buf, 1); in nxt2004_init()
1101 nxt200x_writebytes(state, 0x17, buf, 1); in nxt2004_init()
1102 nxt200x_writebytes(state, 0x14, buf, 1); in nxt2004_init()
1103 nxt200x_writebytes(state, 0x17, buf, 1); in nxt2004_init()
1110 struct nxt200x_state* state = fe->demodulator_priv; in nxt200x_init() local
1113 if (!state->initialised) { in nxt200x_init()
1114 switch (state->demod_chip) { in nxt200x_init()
1125 state->initialised = 1; in nxt200x_init()
1140 struct nxt200x_state* state = fe->demodulator_priv; in nxt200x_release() local
1141 kfree(state); in nxt200x_release()
1149 struct nxt200x_state* state = NULL; in nxt200x_attach() local
1153 state = kzalloc(sizeof(struct nxt200x_state), GFP_KERNEL); in nxt200x_attach()
1154 if (state == NULL) in nxt200x_attach()
1158 state->config = config; in nxt200x_attach()
1159 state->i2c = i2c; in nxt200x_attach()
1160 state->initialised = 0; in nxt200x_attach()
1163 nxt200x_readbytes(state, 0x00, buf, 5); in nxt200x_attach()
1169 state->demod_chip = NXT2002; in nxt200x_attach()
1173 state->demod_chip = NXT2004; in nxt200x_attach()
1181 switch (state->demod_chip) { in nxt200x_attach()
1197 memcpy(&state->frontend.ops, &nxt200x_ops, sizeof(struct dvb_frontend_ops)); in nxt200x_attach()
1198 state->frontend.demodulator_priv = state; in nxt200x_attach()
1199 return &state->frontend; in nxt200x_attach()
1202 kfree(state); in nxt200x_attach()