| 
									
										
										
										
											2012-05-18 14:47:40 -03:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  * Realtek RTL2832 DVB-T demodulator driver | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Copyright (C) 2012 Thomas Mair <thomas.mair86@gmail.com> | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  *	This program is free software; you can redistribute it and/or modify | 
					
						
							|  |  |  |  *	it under the terms of the GNU General Public License as published by | 
					
						
							|  |  |  |  *	the Free Software Foundation; either version 2 of the License, or | 
					
						
							|  |  |  |  *	(at your option) any later version. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  *	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. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifndef RTL2832_H
 | 
					
						
							|  |  |  | #define RTL2832_H
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-03-21 16:11:54 -03:00
										 |  |  | #include <linux/kconfig.h>
 | 
					
						
							| 
									
										
										
										
											2012-05-18 14:47:40 -03:00
										 |  |  | #include <linux/dvb/frontend.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | struct rtl2832_config { | 
					
						
							|  |  |  | 	/*
 | 
					
						
							|  |  |  | 	 * Demodulator I2C address. | 
					
						
							|  |  |  | 	 */ | 
					
						
							|  |  |  | 	u8 i2c_addr; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	/*
 | 
					
						
							|  |  |  | 	 * Xtal frequency. | 
					
						
							|  |  |  | 	 * Hz | 
					
						
							|  |  |  | 	 * 4000000, 16000000, 25000000, 28800000 | 
					
						
							|  |  |  | 	 */ | 
					
						
							|  |  |  | 	u32 xtal; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	/*
 | 
					
						
							|  |  |  | 	 * IFs for all used modes. | 
					
						
							|  |  |  | 	 * Hz | 
					
						
							|  |  |  | 	 * 4570000, 4571429, 36000000, 36125000, 36166667, 44000000 | 
					
						
							|  |  |  | 	 */ | 
					
						
							|  |  |  | 	u32 if_dvbt; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	/*
 | 
					
						
							| 
									
										
										
										
											2012-09-11 22:27:04 -03:00
										 |  |  | 	 * tuner | 
					
						
							|  |  |  | 	 * XXX: This must be keep sync with dvb_usb_rtl28xxu demod driver. | 
					
						
							| 
									
										
										
										
											2012-05-18 14:47:40 -03:00
										 |  |  | 	 */ | 
					
						
							| 
									
										
										
										
											2012-09-11 22:27:08 -03:00
										 |  |  | #define RTL2832_TUNER_TUA9001   0x24
 | 
					
						
							| 
									
										
										
										
											2012-09-11 22:27:04 -03:00
										 |  |  | #define RTL2832_TUNER_FC0012    0x26
 | 
					
						
							| 
									
										
										
										
											2012-09-17 17:53:04 -03:00
										 |  |  | #define RTL2832_TUNER_E4000     0x27
 | 
					
						
							| 
									
										
										
										
											2012-09-11 22:27:04 -03:00
										 |  |  | #define RTL2832_TUNER_FC0013    0x29
 | 
					
						
							| 
									
										
										
										
											2013-04-09 18:19:50 -03:00
										 |  |  | #define RTL2832_TUNER_R820T	0x2a
 | 
					
						
							| 
									
										
										
										
											2013-10-30 00:36:38 -03:00
										 |  |  | #define RTL2832_TUNER_R828D	0x2b
 | 
					
						
							| 
									
										
										
										
											2012-05-18 14:47:40 -03:00
										 |  |  | 	u8 tuner; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-03-21 16:11:54 -03:00
										 |  |  | #if IS_ENABLED(CONFIG_DVB_RTL2832)
 | 
					
						
							| 
									
										
										
										
											2012-05-18 14:47:40 -03:00
										 |  |  | extern struct dvb_frontend *rtl2832_attach( | 
					
						
							|  |  |  | 	const struct rtl2832_config *cfg, | 
					
						
							|  |  |  | 	struct i2c_adapter *i2c | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | #else
 | 
					
						
							|  |  |  | static inline struct dvb_frontend *rtl2832_attach( | 
					
						
							|  |  |  | 	const struct rtl2832_config *config, | 
					
						
							|  |  |  | 	struct i2c_adapter *i2c | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2012-09-11 22:27:11 -03:00
										 |  |  | 	pr_warn("%s: driver disabled by Kconfig\n", __func__); | 
					
						
							| 
									
										
										
										
											2012-05-18 14:47:40 -03:00
										 |  |  | 	return NULL; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif /* RTL2832_H */
 |