]>
Commit | Line | Data |
---|---|---|
c942fddf | 1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ |
4de2730a PB |
2 | /* |
3 | * Driver for Microtune MT2060 "Single chip dual conversion broadband tuner" | |
4 | * | |
5 | * Copyright (c) 2006 Olivier DANET <odanet@caramail.com> | |
4de2730a PB |
6 | */ |
7 | ||
8 | #ifndef MT2060_H | |
9 | #define MT2060_H | |
10 | ||
46f73f93 OD |
11 | struct dvb_frontend; |
12 | struct i2c_adapter; | |
4de2730a | 13 | |
59e8b7aa AP |
14 | /* |
15 | * I2C address | |
16 | * 0x60, ... | |
17 | */ | |
18 | ||
19 | /** | |
20 | * struct mt2060_platform_data - Platform data for the mt2060 driver | |
21 | * @clock_out: Clock output setting. 0 = off, 1 = CLK/4, 2 = CLK/2, 3 = CLK/1. | |
22 | * @if1: First IF used [MHz]. 0 defaults to 1220. | |
433c4864 AP |
23 | * @i2c_write_max: Maximum number of bytes I2C adapter can write at once. |
24 | * 0 defaults to maximum. | |
59e8b7aa AP |
25 | * @dvb_frontend: DVB frontend. |
26 | */ | |
27 | ||
28 | struct mt2060_platform_data { | |
29 | u8 clock_out; | |
30 | u16 if1; | |
433c4864 | 31 | unsigned int i2c_write_max:5; |
59e8b7aa AP |
32 | struct dvb_frontend *dvb_frontend; |
33 | }; | |
34 | ||
35 | ||
36 | /* configuration struct for mt2060_attach() */ | |
4de2730a PB |
37 | struct mt2060_config { |
38 | u8 i2c_address; | |
303cbeaa | 39 | u8 clock_out; /* 0 = off, 1 = CLK/4, 2 = CLK/2, 3 = CLK/1 */ |
4de2730a PB |
40 | }; |
41 | ||
9b174527 | 42 | #if IS_REACHABLE(CONFIG_MEDIA_TUNER_MT2060) |
6958effe | 43 | extern struct dvb_frontend * mt2060_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct mt2060_config *cfg, u16 if1); |
6c8c21b9 TP |
44 | #else |
45 | static inline struct dvb_frontend * mt2060_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct mt2060_config *cfg, u16 if1) | |
46 | { | |
271ddbf7 | 47 | printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__); |
6c8c21b9 TP |
48 | return NULL; |
49 | } | |
149ef72d | 50 | #endif // CONFIG_MEDIA_TUNER_MT2060 |
4de2730a PB |
51 | |
52 | #endif |