Re: Anubis Electronics "Lifeview"(0x10fd:0x1513)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hartmut Hackmann wrote:
> Here is the experimental patch i promised:
> The struct tda1004x_config has a new entry: .ts_mode
> Possible values are TDA10046_TS_PARALLEL or TDA10046_TS_SERIAL
> There always is only one interface active, default is parallel.
> Can you please give it a try?
> 
> Hartmut

Hartmut,

Would you mind if I send this one in through the m920x tree?  Both Pierre
and Nick's patches depend on this one, and it makes sense to push these
changes together.

Can you either push it to your tree, so that I can merge it into the m920x
tree before applying Pierre's patch, or send me your s-o-b and I'll take care
of it?

Thanks,

Mike

> diff -uNr v4l-dvb/linux/drivers/media/dvb/frontends/tda1004x.c v4l-dvb.new/linux/drivers/media/dvb/frontends/tda1004x.c
> --- v4l-dvb/linux/drivers/media/dvb/frontends/tda1004x.c	2007-03-17 02:07:11.000000000 +0100
> +++ v4l-dvb.new/linux/drivers/media/dvb/frontends/tda1004x.c	2007-03-17 01:45:35.000000000 +0100
> @@ -657,8 +657,16 @@
>  		tda1004x_write_mask(state, TDA10046H_CONF_POLARITY, 0xf0, 0x60);  // set AGC polarities
>  		break;
>  	}
> +	if (state->config->ts_mode == 0) {
> +		tda1004x_write_mask(state, TDA10046H_CONF_TRISTATE1, 0xc0, 0x40);
> +		tda1004x_write_mask(state, 0x3a, 0x80, state->config->invert_oclk << 7);
> +	} else {                                                                                
> +		tda1004x_write_mask(state, TDA10046H_CONF_TRISTATE1, 0xc0, 0x80);
> +		tda1004x_write_mask(state, TDA10046H_CONF_POLARITY, 0x10,
> +							state->config->invert_oclk << 4);
> +	}
>  	tda1004x_write_byteI(state, TDA1004X_CONFADC2, 0x38);
> -	tda1004x_write_byteI(state, TDA10046H_CONF_TRISTATE1, 0x79); // Turn IF AGC output on
> +	tda1004x_write_mask (state, TDA10046H_CONF_TRISTATE1, 0x3e, 0x38); // Turn IF AGC output on
>  	tda1004x_write_byteI(state, TDA10046H_AGC_TUN_MIN, 0);	  // }
>  	tda1004x_write_byteI(state, TDA10046H_AGC_TUN_MAX, 0xff); // } AGC min/max values
>  	tda1004x_write_byteI(state, TDA10046H_AGC_IF_MIN, 0);	  // }
> @@ -668,7 +676,6 @@
>  	tda1004x_write_byteI(state, TDA1004X_CONF_TS1, 7); // MPEG2 interface config
>  	tda1004x_write_byteI(state, TDA1004X_CONF_TS2, 0xc0); // MPEG2 interface config
>  	// tda1004x_write_mask(state, 0x50, 0x80, 0x80);         // handle out of guard echoes
> -	tda1004x_write_mask(state, 0x3a, 0x80, state->config->invert_oclk << 7);
>  
>  	return 0;
>  }
> diff -uNr v4l-dvb/linux/drivers/media/dvb/frontends/tda1004x.h v4l-dvb.new/linux/drivers/media/dvb/frontends/tda1004x.h
> --- v4l-dvb/linux/drivers/media/dvb/frontends/tda1004x.h	2007-03-17 02:07:11.000000000 +0100
> +++ v4l-dvb.new/linux/drivers/media/dvb/frontends/tda1004x.h	2007-03-17 02:00:52.000000000 +0100
> @@ -61,6 +61,11 @@
>  	TDA10046_FREQ_052,		/* low IF, 5.1667 MHZ for tda9889 */
>  };
>  
> +enum tda10046_tsout {
> +	TDA10046_TS_PARALLEL  = 0x00,	/* parallel transport stream, default */
> +	TDA10046_TS_SERIAL    = 0x01,	/* serial transport stream */
> +};
> +
>  struct tda1004x_config
>  {
>  	/* the demodulator's i2c address */
> @@ -72,6 +77,9 @@
>  	/* Does the OCLK signal need inverted? */
>  	u8 invert_oclk;
>  
> +	/* parallel or serial transport stream */
> +	enum tda10046_tsout ts_mode;
> +	
>  	/* Xtal frequency, 4 or 16MHz*/
>  	enum tda10046_xtal xtal_freq;

_______________________________________________
linux-dvb mailing list
linux-dvb@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

[Index of Archives]     [Linux Media]     [Video 4 Linux]     [Asterisk]     [Samba]     [Xorg]     [Xfree86]     [Linux USB]

  Powered by Linux