Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-or-later */
0002 /*
0003  * cxd2841er.h
0004  *
0005  * Sony CXD2441ER digital demodulator driver public definitions
0006  *
0007  * Copyright 2012 Sony Corporation
0008  * Copyright (C) 2014 NetUP Inc.
0009  * Copyright (C) 2014 Sergey Kozlov <serjk@netup.ru>
0010  * Copyright (C) 2014 Abylay Ospan <aospan@netup.ru>
0011   */
0012 
0013 #ifndef CXD2841ER_H
0014 #define CXD2841ER_H
0015 
0016 #include <linux/dvb/frontend.h>
0017 
0018 #define CXD2841ER_USE_GATECTRL  1   /* bit 0 */
0019 #define CXD2841ER_AUTO_IFHZ 2   /* bit 1 */
0020 #define CXD2841ER_TS_SERIAL 4   /* bit 2 */
0021 #define CXD2841ER_ASCOT     8   /* bit 3 */
0022 #define CXD2841ER_EARLY_TUNE    16  /* bit 4 */
0023 #define CXD2841ER_NO_WAIT_LOCK  32  /* bit 5 */
0024 #define CXD2841ER_NO_AGCNEG 64  /* bit 6 */
0025 #define CXD2841ER_TSBITS    128 /* bit 7 */
0026 
0027 enum cxd2841er_xtal {
0028     SONY_XTAL_20500, /* 20.5 MHz */
0029     SONY_XTAL_24000, /* 24 MHz */
0030     SONY_XTAL_41000 /* 41 MHz */
0031 };
0032 
0033 struct cxd2841er_config {
0034     u8  i2c_addr;
0035     enum cxd2841er_xtal xtal;
0036     u32 flags;
0037 };
0038 
0039 #if IS_REACHABLE(CONFIG_DVB_CXD2841ER)
0040 extern struct dvb_frontend *cxd2841er_attach_s(struct cxd2841er_config *cfg,
0041                            struct i2c_adapter *i2c);
0042 
0043 extern struct dvb_frontend *cxd2841er_attach_t_c(struct cxd2841er_config *cfg,
0044                            struct i2c_adapter *i2c);
0045 #else
0046 static inline struct dvb_frontend *cxd2841er_attach_s(
0047                     struct cxd2841er_config *cfg,
0048                     struct i2c_adapter *i2c)
0049 {
0050     pr_warn("%s: driver disabled by Kconfig\n", __func__);
0051     return NULL;
0052 }
0053 
0054 static inline struct dvb_frontend *cxd2841er_attach_t_c(
0055         struct cxd2841er_config *cfg, struct i2c_adapter *i2c)
0056 {
0057     pr_warn("%s: driver disabled by Kconfig\n", __func__);
0058     return NULL;
0059 }
0060 
0061 #endif
0062 
0063 #endif