1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ |
2 | /* |
3 | * altera-ci.c |
4 | * |
5 | * CI driver in conjunction with NetUp Dual DVB-T/C RF CI card |
6 | * |
7 | * Copyright (C) 2010 NetUP Inc. |
8 | * Copyright (C) 2010 Igor M. Liplianin <liplianin@netup.ru> |
9 | */ |
10 | #ifndef __ALTERA_CI_H |
11 | #define __ALTERA_CI_H |
12 | |
13 | #define ALT_DATA 0x000000ff |
14 | #define ALT_TDI 0x00008000 |
15 | #define ALT_TDO 0x00004000 |
16 | #define ALT_TCK 0x00002000 |
17 | #define ALT_RDY 0x00001000 |
18 | #define ALT_RD 0x00000800 |
19 | #define ALT_WR 0x00000400 |
20 | #define ALT_AD_RG 0x00000200 |
21 | #define ALT_CS 0x00000100 |
22 | |
23 | struct altera_ci_config { |
24 | void *dev;/* main dev, for example cx23885_dev */ |
25 | void *adapter;/* for CI to connect to */ |
26 | struct dvb_demux *demux;/* for hardware PID filter to connect to */ |
27 | int (*fpga_rw) (void *dev, int ad_rg, int val, int rw); |
28 | }; |
29 | |
30 | #if IS_REACHABLE(CONFIG_MEDIA_ALTERA_CI) |
31 | |
32 | extern int altera_ci_init(struct altera_ci_config *config, int ci_nr); |
33 | extern void altera_ci_release(void *dev, int ci_nr); |
34 | extern int altera_ci_irq(void *dev); |
35 | extern int altera_ci_tuner_reset(void *dev, int ci_nr); |
36 | |
37 | #else |
38 | |
39 | static inline int altera_ci_init(struct altera_ci_config *config, int ci_nr) |
40 | { |
41 | pr_warn("%s: driver disabled by Kconfig\n" , __func__); |
42 | return 0; |
43 | } |
44 | |
45 | static inline void altera_ci_release(void *dev, int ci_nr) |
46 | { |
47 | pr_warn("%s: driver disabled by Kconfig\n" , __func__); |
48 | } |
49 | |
50 | static inline int altera_ci_irq(void *dev) |
51 | { |
52 | pr_warn("%s: driver disabled by Kconfig\n" , __func__); |
53 | return 0; |
54 | } |
55 | |
56 | static inline int altera_ci_tuner_reset(void *dev, int ci_nr) |
57 | { |
58 | pr_warn("%s: driver disabled by Kconfig\n" , __func__); |
59 | return 0; |
60 | } |
61 | |
62 | #endif |
63 | #if 0 |
64 | static inline int altera_hw_filt_init(struct altera_ci_config *config, |
65 | int hw_filt_nr) |
66 | { |
67 | pr_warn("%s: driver disabled by Kconfig\n" , __func__); |
68 | return 0; |
69 | } |
70 | |
71 | static inline void altera_hw_filt_release(void *dev, int filt_nr) |
72 | { |
73 | pr_warn("%s: driver disabled by Kconfig\n" , __func__); |
74 | } |
75 | |
76 | static inline int altera_pid_feed_control(void *dev, int filt_nr, |
77 | struct dvb_demux_feed *dvbdmxfeed, int onoff) |
78 | { |
79 | pr_warn("%s: driver disabled by Kconfig\n" , __func__); |
80 | return 0; |
81 | } |
82 | |
83 | #endif /* CONFIG_MEDIA_ALTERA_CI */ |
84 | |
85 | #endif /* __ALTERA_CI_H */ |
86 | |