64 lines · c
1/* SPDX-License-Identifier: GPL-2.0-or-later */2/*3 * cxd2841er.h4 *5 * Sony CXD2441ER digital demodulator driver public definitions6 *7 * Copyright 2012 Sony Corporation8 * Copyright (C) 2014 NetUP Inc.9 * Copyright (C) 2014 Sergey Kozlov <serjk@netup.ru>10 * Copyright (C) 2014 Abylay Ospan <aospan@netup.ru>11 */12 13#ifndef CXD2841ER_H14#define CXD2841ER_H15 16#include <linux/dvb/frontend.h>17 18#define CXD2841ER_USE_GATECTRL 1 /* bit 0 */19#define CXD2841ER_AUTO_IFHZ 2 /* bit 1 */20#define CXD2841ER_TS_SERIAL 4 /* bit 2 */21#define CXD2841ER_ASCOT 8 /* bit 3 */22#define CXD2841ER_EARLY_TUNE 16 /* bit 4 */23#define CXD2841ER_NO_WAIT_LOCK 32 /* bit 5 */24#define CXD2841ER_NO_AGCNEG 64 /* bit 6 */25#define CXD2841ER_TSBITS 128 /* bit 7 */26 27enum cxd2841er_xtal {28 SONY_XTAL_20500, /* 20.5 MHz */29 SONY_XTAL_24000, /* 24 MHz */30 SONY_XTAL_41000 /* 41 MHz */31};32 33struct cxd2841er_config {34 u8 i2c_addr;35 enum cxd2841er_xtal xtal;36 u32 flags;37};38 39#if IS_REACHABLE(CONFIG_DVB_CXD2841ER)40extern struct dvb_frontend *cxd2841er_attach_s(struct cxd2841er_config *cfg,41 struct i2c_adapter *i2c);42 43extern struct dvb_frontend *cxd2841er_attach_t_c(struct cxd2841er_config *cfg,44 struct i2c_adapter *i2c);45#else46static inline struct dvb_frontend *cxd2841er_attach_s(47 struct cxd2841er_config *cfg,48 struct i2c_adapter *i2c)49{50 pr_warn("%s: driver disabled by Kconfig\n", __func__);51 return NULL;52}53 54static inline struct dvb_frontend *cxd2841er_attach_t_c(55 struct cxd2841er_config *cfg, struct i2c_adapter *i2c)56{57 pr_warn("%s: driver disabled by Kconfig\n", __func__);58 return NULL;59}60 61#endif62 63#endif64