| 
									
										
										
										
											2011-03-12 23:44:33 -05:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  * drxd.h: DRXD DVB-T demodulator driver | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Copyright (C) 2005-2007 Micronas | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * This program is free software; you can redistribute it and/or | 
					
						
							|  |  |  |  * modify it under the terms of the GNU General Public License | 
					
						
							|  |  |  |  * version 2 only, as published by the Free Software Foundation. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * This program is distributed in the hope that it will be useful, | 
					
						
							|  |  |  |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
					
						
							|  |  |  |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
					
						
							|  |  |  |  * GNU General Public License for more details. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * You should have received a copy of the GNU General Public License | 
					
						
							|  |  |  |  * along with this program; if not, write to the Free Software | 
					
						
							|  |  |  |  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA | 
					
						
							|  |  |  |  * 02110-1301, USA | 
					
						
							|  |  |  |  * Or, point your browser to http://www.gnu.org/copyleft/gpl.html
 | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifndef _DRXD_H_
 | 
					
						
							|  |  |  | #define _DRXD_H_
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-03-21 16:11:54 -03:00
										 |  |  | #include <linux/kconfig.h>
 | 
					
						
							| 
									
										
										
										
											2011-03-12 23:44:33 -05:00
										 |  |  | #include <linux/types.h>
 | 
					
						
							|  |  |  | #include <linux/i2c.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-24 13:44:01 -03:00
										 |  |  | struct drxd_config { | 
					
						
							| 
									
										
										
										
											2011-03-12 23:44:33 -05:00
										 |  |  | 	u8 index; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	u8 pll_address; | 
					
						
							|  |  |  | 	u8 pll_type; | 
					
						
							|  |  |  | #define DRXD_PLL_NONE     0
 | 
					
						
							|  |  |  | #define DRXD_PLL_DTT7520X 1
 | 
					
						
							|  |  |  | #define DRXD_PLL_MT3X0823 2
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	u32 clock; | 
					
						
							| 
									
										
										
										
											2011-03-13 01:54:02 -03:00
										 |  |  | 	u8 insert_rs_byte; | 
					
						
							| 
									
										
										
										
											2011-03-12 23:44:33 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	u8 demod_address; | 
					
						
							|  |  |  | 	u8 demoda_address; | 
					
						
							|  |  |  | 	u8 demod_revision; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-13 02:02:01 -03:00
										 |  |  | 	/* If the tuner is not behind an i2c gate, be sure to flip this bit
 | 
					
						
							|  |  |  | 	   or else the i2c bus could get wedged */ | 
					
						
							|  |  |  | 	u8 disable_i2c_gate_ctrl; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-12 23:44:33 -05:00
										 |  |  | 	u32 IF; | 
					
						
							| 
									
										
										
										
											2011-03-24 13:44:01 -03:00
										 |  |  | 	 s16(*osc_deviation) (void *priv, s16 dev, int flag); | 
					
						
							| 
									
										
										
										
											2011-03-12 23:44:33 -05:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-03-21 16:11:54 -03:00
										 |  |  | #if IS_ENABLED(CONFIG_DVB_DRXD)
 | 
					
						
							| 
									
										
										
										
											2011-03-12 23:44:33 -05:00
										 |  |  | extern | 
					
						
							|  |  |  | struct dvb_frontend *drxd_attach(const struct drxd_config *config, | 
					
						
							|  |  |  | 				 void *priv, struct i2c_adapter *i2c, | 
					
						
							|  |  |  | 				 struct device *dev); | 
					
						
							| 
									
										
										
										
											2012-05-03 18:22:26 -03:00
										 |  |  | #else
 | 
					
						
							|  |  |  | static inline | 
					
						
							|  |  |  | struct dvb_frontend *drxd_attach(const struct drxd_config *config, | 
					
						
							|  |  |  | 				 void *priv, struct i2c_adapter *i2c, | 
					
						
							|  |  |  | 				 struct device *dev) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	printk(KERN_INFO "%s: not probed - driver disabled by Kconfig\n", | 
					
						
							|  |  |  | 	       __func__); | 
					
						
							|  |  |  | 	return NULL; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-12 23:44:33 -05:00
										 |  |  | extern int drxd_config_i2c(struct dvb_frontend *, int); | 
					
						
							|  |  |  | #endif
 |