rtl2832.h revision 298efdd3765dfdfb92976d3bb7113061f8b0a92a
182041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair/* 282041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair * Realtek RTL2832 DVB-T demodulator driver 382041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair * 482041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair * Copyright (C) 2012 Thomas Mair <thomas.mair86@gmail.com> 582041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair * 682041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair * This program is free software; you can redistribute it and/or modify 782041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair * it under the terms of the GNU General Public License as published by 882041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair * the Free Software Foundation; either version 2 of the License, or 982041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair * (at your option) any later version. 1082041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair * 1182041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair * This program is distributed in the hope that it will be useful, 1282041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair * but WITHOUT ANY WARRANTY; without even the implied warranty of 1382041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1482041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair * GNU General Public License for more details. 1582041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair * 1682041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair * You should have received a copy of the GNU General Public License along 1782041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair * with this program; if not, write to the Free Software Foundation, Inc., 1882041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 1982041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair */ 2082041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair 2182041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair#ifndef RTL2832_H 2282041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair#define RTL2832_H 2382041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair 2482041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair#include <linux/dvb/frontend.h> 2582041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair 2682041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mairstruct rtl2832_config { 2782041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair /* 2882041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair * Demodulator I2C address. 2982041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair */ 3082041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair u8 i2c_addr; 3182041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair 3282041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair /* 3382041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair * Xtal frequency. 3482041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair * Hz 3582041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair * 4000000, 16000000, 25000000, 28800000 3682041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair */ 3782041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair u32 xtal; 3882041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair 3982041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair /* 4082041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair * IFs for all used modes. 4182041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair * Hz 4282041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair * 4570000, 4571429, 36000000, 36125000, 36166667, 44000000 4382041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair */ 4482041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair u32 if_dvbt; 4582041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair 4682041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair /* 47832cc7cdfb8ba78e03cf5c8c0ad9701ed0e20fb6Antti Palosaari * tuner 48832cc7cdfb8ba78e03cf5c8c0ad9701ed0e20fb6Antti Palosaari * XXX: This must be keep sync with dvb_usb_rtl28xxu demod driver. 4982041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair */ 505db4187a037fb9e4b6908ef7bcef0f79395b398fAntti Palosaari#define RTL2832_TUNER_TUA9001 0x24 51832cc7cdfb8ba78e03cf5c8c0ad9701ed0e20fb6Antti Palosaari#define RTL2832_TUNER_FC0012 0x26 52832cc7cdfb8ba78e03cf5c8c0ad9701ed0e20fb6Antti Palosaari#define RTL2832_TUNER_FC0013 0x29 5382041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair u8 tuner; 5482041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair}; 5582041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair 5682041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair#if defined(CONFIG_DVB_RTL2832) || \ 5782041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair (defined(CONFIG_DVB_RTL2832_MODULE) && defined(MODULE)) 5882041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mairextern struct dvb_frontend *rtl2832_attach( 5982041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair const struct rtl2832_config *cfg, 6082041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair struct i2c_adapter *i2c 6182041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair); 6282041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair#else 6382041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mairstatic inline struct dvb_frontend *rtl2832_attach( 6482041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair const struct rtl2832_config *config, 6582041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair struct i2c_adapter *i2c 6682041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair) 6782041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair{ 68298efdd3765dfdfb92976d3bb7113061f8b0a92aAntti Palosaari pr_warn("%s: driver disabled by Kconfig\n", __func__); 6982041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair return NULL; 7082041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair} 7182041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair#endif 7282041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair 7382041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair 7482041c0a15fdd45336f11c893c4ff69d48dcc4f1Thomas Mair#endif /* RTL2832_H */ 75