• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6/drivers/media/dvb/frontends/

Lines Matching refs:state

70 static int i2c_writebytes (struct nxt200x_state* state, u8 addr, u8 *buf, u8 len)
75 if ((err = i2c_transfer (state->i2c, &msg, 1)) != 1) {
83 static int i2c_readbytes(struct nxt200x_state *state, u8 addr, u8 *buf, u8 len)
88 if ((err = i2c_transfer (state->i2c, &msg, 1)) != 1) {
96 static int nxt200x_writebytes (struct nxt200x_state* state, u8 reg,
101 struct i2c_msg msg = { .addr = state->config->demod_address, .flags = 0, .buf = buf2, .len = len + 1 };
106 if ((err = i2c_transfer (state->i2c, &msg, 1)) != 1) {
108 __func__, state->config->demod_address, err);
114 static int nxt200x_readbytes(struct nxt200x_state *state, u8 reg, u8 *buf, u8 len)
118 struct i2c_msg msg [] = { { .addr = state->config->demod_address, .flags = 0, .buf = reg2, .len = 1 },
119 { .addr = state->config->demod_address, .flags = I2C_M_RD, .buf = buf, .len = len } };
123 if ((err = i2c_transfer (state->i2c, msg, 2)) != 2) {
125 __func__, state->config->demod_address, err);
147 static int nxt200x_writereg_multibyte (struct nxt200x_state* state, u8 reg, u8* data, u8 len)
153 nxt200x_writebytes(state, 0x35, &reg, 1);
156 nxt200x_writebytes(state, 0x36, data, len);
158 switch (state->demod_chip) {
181 nxt200x_writebytes(state, 0x34, &len2, 1);
184 nxt200x_writebytes(state, 0x21, &buf, 1);
186 nxt200x_readbytes(state, 0x21, &buf, 1);
188 switch (state->demod_chip) {
207 static int nxt200x_readreg_multibyte (struct nxt200x_state* state, u8 reg, u8* data, u8 len)
214 nxt200x_writebytes(state, 0x35, &reg, 1);
216 switch (state->demod_chip) {
220 nxt200x_writebytes(state, 0x34, &len2, 1);
223 nxt200x_readbytes(state, reg, data, len);
237 nxt200x_writebytes(state, 0x34, &len2, 1);
241 nxt200x_writebytes(state, 0x21, &buf, 1);
245 nxt200x_readbytes(state, 0x36 + i, &data[i], 1);
255 static void nxt200x_microcontroller_stop (struct nxt200x_state* state)
261 switch (state->demod_chip) {
274 nxt200x_writebytes(state, 0x22, &buf, 1);
277 nxt200x_readbytes(state, 0x31, &buf, 1);
288 static void nxt200x_microcontroller_start (struct nxt200x_state* state)
294 nxt200x_writebytes(state, 0x22, &buf, 1);
297 static void nxt2004_microcontroller_init (struct nxt200x_state* state)
304 nxt200x_writebytes(state, 0x2b, buf, 1);
306 nxt200x_writebytes(state, 0x34, buf, 1);
308 nxt200x_writebytes(state, 0x35, buf, 1);
311 nxt200x_writebytes(state, 0x36, buf, 9);
313 nxt200x_writebytes(state, 0x21, buf, 1);
316 nxt200x_readbytes(state, 0x21, buf, 1);
328 static int nxt200x_writetuner (struct nxt200x_state* state, u8* data)
338 switch (state->demod_chip) {
340 if (i2c_writebytes(state, data[0], data+1, 4))
344 i2c_readbytes(state, data[0], &buf, 1);
355 nxt200x_writebytes(state, 0x20, &buf, 1);
359 nxt200x_writebytes(state, 0x34, &buf, 1);
362 nxt200x_writebytes(state, 0x36, data+1, 4);
366 nxt200x_writebytes(state, 0x35, &buf, 1);
370 nxt200x_writebytes(state, 0x21, &buf, 1);
373 nxt200x_readbytes(state, 0x21, &buf, 1);
388 static void nxt200x_agc_reset(struct nxt200x_state* state)
393 switch (state->demod_chip) {
396 nxt200x_writebytes(state, 0x08, &buf, 1);
398 nxt200x_writebytes(state, 0x08, &buf, 1);
401 nxt200x_readreg_multibyte(state, 0x08, &buf, 1);
403 nxt200x_writereg_multibyte(state, 0x08, &buf, 1);
405 nxt200x_writereg_multibyte(state, 0x08, &buf, 1);
416 struct nxt200x_state* state = fe->demodulator_priv;
424 nxt200x_readbytes(state, 0x10, buf, 1);
435 nxt200x_writebytes(state, 0x2B, buf, 1);
445 nxt200x_writebytes(state, 0x29, buf, 3);
451 nxt200x_writebytes(state, chunkpos, &fw->data[position-3], 4);
457 nxt200x_writebytes(state, chunkpos+4-(written %4),
464 nxt200x_writebytes(state, 0x2C, buf, 2);
467 nxt200x_readbytes(state, 0x2A, buf, 1);
471 nxt200x_writebytes(state, 0x2B, buf, 1);
483 struct nxt200x_state* state = fe->demodulator_priv;
495 nxt200x_writebytes(state, 0x2B, buf,1);
506 nxt200x_writebytes(state,0x29,buf,3);
509 nxt200x_writebytes(state, 0x2C, &fw->data[position],
519 nxt200x_writebytes(state, 0x2C, buf,2);
522 nxt200x_readbytes(state, 0x2C, buf, 1);
526 nxt200x_writebytes(state, 0x2B, buf,1);
534 struct nxt200x_state* state = fe->demodulator_priv;
538 nxt200x_microcontroller_stop(state);
540 if (state->demod_chip == NXT2004) {
543 nxt200x_writebytes(state, 0x14, buf, 1);
545 nxt200x_writebytes(state, 0x17, buf, 1);
554 if (state->config->set_ts_params)
555 state->config->set_ts_params(fe, 1);
559 if (state->config->set_ts_params)
560 state->config->set_ts_params(fe, 0);
572 nxt200x_writetuner(state, buf);
576 nxt200x_agc_reset(state);
591 nxt200x_writebytes(state, 0x42, buf, 1);
594 switch (state->demod_chip) {
605 nxt200x_writebytes(state, 0x57, buf, 1);
610 switch (state->demod_chip) {
612 nxt200x_writereg_multibyte(state, 0x58, buf, 2);
615 nxt200x_writebytes(state, 0x58, buf, 2);
638 switch (state->demod_chip) {
640 nxt200x_writereg_multibyte(state, 0x5C, buf, 2);
643 nxt200x_writebytes(state, 0x5C, buf, 2);
652 nxt200x_writebytes(state, 0x43, buf, 1);
654 if (state->demod_chip == NXT2004) {
658 nxt200x_writebytes(state, 0x46, buf, 2);
664 switch (state->demod_chip) {
666 nxt200x_writereg_multibyte(state, 0x4B, buf, 2);
669 nxt200x_writebytes(state, 0x4B, buf, 2);
678 nxt200x_writebytes(state, 0x4D, buf, 1);
682 nxt200x_writebytes(state, 0x55, buf, 1);
686 nxt200x_writebytes(state, 0x41, buf, 1);
688 if (state->demod_chip == NXT2004) {
689 nxt200x_readreg_multibyte(state, 0x80, buf, 1);
691 nxt200x_writereg_multibyte(state, 0x80, buf, 1);
694 nxt200x_readreg_multibyte(state, 0x08, buf, 1);
696 nxt200x_writereg_multibyte(state, 0x08, buf, 1);
697 nxt200x_readreg_multibyte(state, 0x08, buf, 1);
699 nxt200x_writereg_multibyte(state, 0x08, buf, 1);
701 nxt200x_readreg_multibyte(state, 0x80, buf, 1);
703 nxt200x_writereg_multibyte(state, 0x80, buf, 1);
705 nxt200x_writereg_multibyte(state, 0x81, buf, 1);
707 nxt200x_writereg_multibyte(state, 0x82, buf, 3);
708 nxt200x_readreg_multibyte(state, 0x88, buf, 1);
710 nxt200x_writereg_multibyte(state, 0x88, buf, 1);
711 nxt200x_readreg_multibyte(state, 0x80, buf, 1);
713 nxt200x_writereg_multibyte(state, 0x80, buf, 1);
731 nxt200x_writebytes(state, 0x30, buf, 1);
735 nxt200x_writebytes(state, 0x41, buf, 1);
740 switch (state->demod_chip) {
742 nxt200x_writereg_multibyte(state, 0x49, buf, 2);
743 nxt200x_writereg_multibyte(state, 0x4B, buf, 2);
746 nxt200x_writebytes(state, 0x49, buf, 2);
747 nxt200x_writebytes(state, 0x4B, buf, 2);
756 nxt200x_writebytes(state, 0x41, buf, 1);
758 nxt200x_microcontroller_start(state);
760 if (state->demod_chip == NXT2004) {
761 nxt2004_microcontroller_init(state);
766 nxt200x_writebytes(state, 0x5C, buf, 2);
777 struct nxt200x_state* state = fe->demodulator_priv;
779 nxt200x_readbytes(state, 0x31, &lock, 1);
794 struct nxt200x_state* state = fe->demodulator_priv;
797 nxt200x_readreg_multibyte(state, 0xE6, b, 3);
806 struct nxt200x_state* state = fe->demodulator_priv;
812 nxt200x_writebytes(state, 0xA1, b, 1);
815 nxt200x_readreg_multibyte(state, 0xA6, b, 2);
826 struct nxt200x_state* state = fe->demodulator_priv;
833 nxt200x_writebytes(state, 0xA1, b, 1);
836 nxt200x_readreg_multibyte(state, 0xA6, b, 2);
859 struct nxt200x_state* state = fe->demodulator_priv;
862 nxt200x_readreg_multibyte(state, 0xE6, b, 3);
875 struct nxt200x_state* state = fe->demodulator_priv;
883 state->i2c->dev.parent);
899 nxt200x_microcontroller_stop(state);
903 nxt200x_writebytes(state, 0x2B, buf, 1);
906 nxt200x_microcontroller_stop(state);
910 nxt200x_writebytes(state, 0x08, buf, 1);
912 nxt200x_writebytes(state, 0x08, buf, 1);
916 nxt200x_writebytes(state, 0x57, buf, 1);
920 nxt200x_writebytes(state, 0x09, buf, 1);
925 nxt200x_writebytes(state, 0xE9, buf, 2);
929 nxt200x_writebytes(state, 0xCC, buf, 1);
936 struct nxt200x_state* state = fe->demodulator_priv;
943 nxt200x_writebytes(state, 0x1E, buf, 1);
948 state->i2c->dev.parent);
965 nxt200x_writebytes(state, 0x19, buf, 1);
967 nxt2004_microcontroller_init(state);
968 nxt200x_microcontroller_stop(state);
969 nxt200x_microcontroller_stop(state);
970 nxt2004_microcontroller_init(state);
971 nxt200x_microcontroller_stop(state);
975 nxt200x_writereg_multibyte(state, 0x08, buf, 1);
977 nxt200x_writereg_multibyte(state, 0x08, buf, 1);
981 nxt200x_writebytes(state, 0x57, buf, 1);
986 nxt200x_writebytes(state, 0x35, buf, 2);
988 nxt200x_writebytes(state, 0x34, buf, 1);
990 nxt200x_writebytes(state, 0x21, buf, 1);
994 nxt200x_writebytes(state, 0x0A, buf, 1);
998 nxt200x_writereg_multibyte(state, 0x80, buf, 1);
1003 nxt200x_writebytes(state, 0xE9, buf, 2);
1007 nxt200x_writebytes(state, 0xCC, buf, 1);
1010 nxt200x_readreg_multibyte(state, 0x80, buf, 1);
1012 nxt200x_writereg_multibyte(state, 0x80, buf, 1);
1015 nxt200x_readreg_multibyte(state, 0x08, buf, 1);
1017 nxt200x_writereg_multibyte(state, 0x08, buf, 1);
1018 nxt200x_readreg_multibyte(state, 0x08, buf, 1);
1020 nxt200x_writereg_multibyte(state, 0x08, buf, 1);
1023 nxt200x_readreg_multibyte(state, 0x80, buf, 1);
1025 nxt200x_writereg_multibyte(state, 0x80, buf, 1);
1027 nxt200x_writereg_multibyte(state, 0x81, buf, 1);
1029 nxt200x_writereg_multibyte(state, 0x82, buf, 3);
1031 nxt200x_readreg_multibyte(state, 0x88, buf, 1);
1033 nxt200x_writereg_multibyte(state, 0x88, buf, 1);
1034 nxt200x_readreg_multibyte(state, 0x80, buf, 1);
1036 nxt200x_writereg_multibyte(state, 0x80, buf, 1);
1038 nxt200x_readbytes(state, 0x10, buf, 1);
1040 nxt200x_writebytes(state, 0x10, buf, 1);
1041 nxt200x_readbytes(state, 0x0A, buf, 1);
1043 nxt200x_writebytes(state, 0x0A, buf, 1);
1045 nxt2004_microcontroller_init(state);
1048 nxt200x_writebytes(state, 0x0A, buf, 1);
1050 nxt200x_writebytes(state, 0xE9, buf, 1);
1052 nxt200x_writebytes(state, 0xEA, buf, 1);
1054 nxt200x_readreg_multibyte(state, 0x80, buf, 1);
1056 nxt200x_writereg_multibyte(state, 0x80, buf, 1);
1057 nxt200x_readreg_multibyte(state, 0x80, buf, 1);
1059 nxt200x_writereg_multibyte(state, 0x80, buf, 1);
1062 nxt200x_readreg_multibyte(state, 0x08, buf, 1);
1064 nxt200x_writereg_multibyte(state, 0x08, buf, 1);
1065 nxt200x_readreg_multibyte(state, 0x08, buf, 1);
1067 nxt200x_writereg_multibyte(state, 0x08, buf, 1);
1069 nxt200x_readreg_multibyte(state, 0x80, buf, 1);
1071 nxt200x_writereg_multibyte(state, 0x80, buf, 1);
1073 nxt200x_writereg_multibyte(state, 0x81, buf, 1);
1075 nxt200x_writereg_multibyte(state, 0x82, buf, 3);
1077 nxt200x_readreg_multibyte(state, 0x88, buf, 1);
1079 nxt200x_writereg_multibyte(state, 0x88, buf, 1);
1081 nxt200x_readreg_multibyte(state, 0x80, buf, 1);
1083 nxt200x_writereg_multibyte(state, 0x80, buf, 1);
1086 nxt200x_readbytes(state, 0x10, buf, 1);
1088 nxt200x_writebytes(state, 0x10, buf, 1);
1090 nxt200x_writebytes(state, 0x13, buf, 1);
1092 nxt200x_writebytes(state, 0x16, buf, 1);
1094 nxt200x_writebytes(state, 0x14, buf, 1);
1096 nxt200x_writebytes(state, 0x14, buf, 1);
1097 nxt200x_writebytes(state, 0x17, buf, 1);
1098 nxt200x_writebytes(state, 0x14, buf, 1);
1099 nxt200x_writebytes(state, 0x17, buf, 1);
1106 struct nxt200x_state* state = fe->demodulator_priv;
1109 if (!state->initialised) {
1110 switch (state->demod_chip) {
1121 state->initialised = 1;
1136 struct nxt200x_state* state = fe->demodulator_priv;
1137 kfree(state);
1145 struct nxt200x_state* state = NULL;
1148 /* allocate memory for the internal state */
1149 state = kzalloc(sizeof(struct nxt200x_state), GFP_KERNEL);
1150 if (state == NULL)
1153 /* setup the state */
1154 state->config = config;
1155 state->i2c = i2c;
1156 state->initialised = 0;
1159 nxt200x_readbytes(state, 0x00, buf, 5);
1166 state->demod_chip = NXT2002;
1170 state->demod_chip = NXT2004;
1178 switch (state->demod_chip) {
1194 memcpy(&state->frontend.ops, &nxt200x_ops, sizeof(struct dvb_frontend_ops));
1195 state->frontend.demodulator_priv = state;
1196 return &state->frontend;
1199 kfree(state);