mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-31 14:04:26 -04:00 
			
		
		
		
	Update our copies of the brcm2708 patches to the latest rpi-3.10-y rebased against linux-3.10.y stable (3.10.32). This should hopefully make it easier for us in the future to leverage the raspberry/rpi-* branches. Signed-off-by: Florian Fainelli <florian@openwrt.org> SVN-Revision: 39770
		
			
				
	
	
		
			110 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			110 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From 3afa67312a9675ac945cffd9499341a19d55c94d Mon Sep 17 00:00:00 2001
 | |
| From: popcornmix <popcornmix@gmail.com>
 | |
| Date: Wed, 27 Nov 2013 22:52:53 +0000
 | |
| Subject: [PATCH 106/174] dvb: Add support for CableStar Device
 | |
| 
 | |
| ---
 | |
|  drivers/media/dvb-core/dvb-usb-ids.h  |  1 +
 | |
|  drivers/media/usb/dvb-usb-v2/az6007.c | 59 +++++++++++++++++++++++++++++++++++
 | |
|  2 files changed, 60 insertions(+)
 | |
| 
 | |
| --- a/drivers/media/dvb-core/dvb-usb-ids.h
 | |
| +++ b/drivers/media/dvb-core/dvb-usb-ids.h
 | |
| @@ -365,6 +365,7 @@
 | |
|  #define USB_PID_TERRATEC_DVBS2CI_V2			0x10ac
 | |
|  #define USB_PID_TECHNISAT_USB2_HDCI_V1			0x0001
 | |
|  #define USB_PID_TECHNISAT_USB2_HDCI_V2			0x0002
 | |
| +#define USB_PID_TECHNISAT_USB2_CABLESTAR_HDCI		0x0003
 | |
|  #define USB_PID_TECHNISAT_AIRSTAR_TELESTICK_2		0x0004
 | |
|  #define USB_PID_TECHNISAT_USB2_DVB_S2			0x0500
 | |
|  #endif
 | |
| --- a/drivers/media/usb/dvb-usb-v2/az6007.c
 | |
| +++ b/drivers/media/usb/dvb-usb-v2/az6007.c
 | |
| @@ -68,6 +68,19 @@ static struct drxk_config terratec_h7_dr
 | |
|  	.microcode_name = "dvb-usb-terratec-h7-drxk.fw",
 | |
|  };
 | |
|  
 | |
| +static struct drxk_config cablestar_hdci_drxk = {
 | |
| +	.adr = 0x29,
 | |
| +	.parallel_ts = true,
 | |
| +	.dynamic_clk = true,
 | |
| +	.single_master = true,
 | |
| +	.enable_merr_cfg = true,
 | |
| +	.no_i2c_bridge = false,
 | |
| +	.chunk_size = 64,
 | |
| +	.mpeg_out_clk_strength = 0x02,
 | |
| +	.qam_demod_parameter_count = 2,
 | |
| +	.microcode_name = "dvb-usb-technisat-cablestar-hdci-drxk.fw",
 | |
| +};
 | |
| +
 | |
|  static int drxk_gate_ctrl(struct dvb_frontend *fe, int enable)
 | |
|  {
 | |
|  	struct az6007_device_state *st = fe_to_priv(fe);
 | |
| @@ -630,6 +643,27 @@ static int az6007_frontend_attach(struct
 | |
|  	return 0;
 | |
|  }
 | |
|  
 | |
| +static int az6007_cablestar_hdci_frontend_attach(struct dvb_usb_adapter *adap)
 | |
| +{
 | |
| +	struct az6007_device_state *st = adap_to_priv(adap);
 | |
| +	struct dvb_usb_device *d = adap_to_d(adap);
 | |
| +
 | |
| +	pr_debug("attaching demod drxk\n");
 | |
| +
 | |
| +	adap->fe[0] = dvb_attach(drxk_attach, &cablestar_hdci_drxk,
 | |
| +				 &d->i2c_adap);
 | |
| +	if (!adap->fe[0])
 | |
| +		return -EINVAL;
 | |
| +
 | |
| +	adap->fe[0]->sec_priv = adap;
 | |
| +	st->gate_ctrl = adap->fe[0]->ops.i2c_gate_ctrl;
 | |
| +	adap->fe[0]->ops.i2c_gate_ctrl = drxk_gate_ctrl;
 | |
| +
 | |
| +	az6007_ci_init(adap);
 | |
| +
 | |
| +	return 0;
 | |
| +}
 | |
| +
 | |
|  static int az6007_tuner_attach(struct dvb_usb_adapter *adap)
 | |
|  {
 | |
|  	struct dvb_usb_device *d = adap_to_d(adap);
 | |
| @@ -868,6 +902,29 @@ static struct dvb_usb_device_properties
 | |
|  	}
 | |
|  };
 | |
|  
 | |
| +static struct dvb_usb_device_properties az6007_cablestar_hdci_props = {
 | |
| +	.driver_name         = KBUILD_MODNAME,
 | |
| +	.owner               = THIS_MODULE,
 | |
| +	.firmware            = AZ6007_FIRMWARE,
 | |
| +
 | |
| +	.adapter_nr          = adapter_nr,
 | |
| +	.size_of_priv        = sizeof(struct az6007_device_state),
 | |
| +	.i2c_algo            = &az6007_i2c_algo,
 | |
| +	.tuner_attach        = az6007_tuner_attach,
 | |
| +	.frontend_attach     = az6007_cablestar_hdci_frontend_attach,
 | |
| +	.streaming_ctrl      = az6007_streaming_ctrl,
 | |
| +/* ditch get_rc_config as it can't work (TS35 remote, I believe it's rc5) */
 | |
| +	.get_rc_config       = NULL,
 | |
| +	.read_mac_address    = az6007_read_mac_addr,
 | |
| +	.download_firmware   = az6007_download_firmware,
 | |
| +	.identify_state	     = az6007_identify_state,
 | |
| +	.power_ctrl          = az6007_power_ctrl,
 | |
| +	.num_adapters        = 1,
 | |
| +	.adapter             = {
 | |
| +		{ .stream = DVB_USB_STREAM_BULK(0x02, 10, 4096), }
 | |
| +	}
 | |
| +};
 | |
| +
 | |
|  static struct usb_device_id az6007_usb_table[] = {
 | |
|  	{DVB_USB_DEVICE(USB_VID_AZUREWAVE, USB_PID_AZUREWAVE_6007,
 | |
|  		&az6007_props, "Azurewave 6007", RC_MAP_EMPTY)},
 | |
| @@ -875,6 +932,8 @@ static struct usb_device_id az6007_usb_t
 | |
|  		&az6007_props, "Terratec H7", RC_MAP_NEC_TERRATEC_CINERGY_XS)},
 | |
|  	{DVB_USB_DEVICE(USB_VID_TERRATEC, USB_PID_TERRATEC_H7_2,
 | |
|  		&az6007_props, "Terratec H7", RC_MAP_NEC_TERRATEC_CINERGY_XS)},
 | |
| +	{DVB_USB_DEVICE(USB_VID_TECHNISAT, USB_PID_TECHNISAT_USB2_CABLESTAR_HDCI,
 | |
| +		&az6007_cablestar_hdci_props, "Technisat CableStar Combo HD CI", RC_MAP_EMPTY)},
 | |
|  	{0},
 | |
|  };
 | |
|  
 |