Merge branch 'for-2.6.33' of git://linux-nfs.org/~bfields/linux
[pandora-kernel.git] / include / media / si4713.h
1 /*
2  * include/media/si4713.h
3  *
4  * Board related data definitions for Si4713 i2c device driver.
5  *
6  * Copyright (c) 2009 Nokia Corporation
7  * Contact: Eduardo Valentin <eduardo.valentin@nokia.com>
8  *
9  * This file is licensed under the terms of the GNU General Public License
10  * version 2. This program is licensed "as is" without any warranty of any
11  * kind, whether express or implied.
12  *
13  */
14
15 #ifndef SI4713_H
16 #define SI4713_H
17
18 /* The SI4713 I2C sensor chip has a fixed slave address of 0xc6 or 0x22. */
19 #define SI4713_I2C_ADDR_BUSEN_HIGH      0x63
20 #define SI4713_I2C_ADDR_BUSEN_LOW       0x11
21
22 /*
23  * Platform dependent definition
24  */
25 struct si4713_platform_data {
26         /* Set power state, zero is off, non-zero is on. */
27         int (*set_power)(int power);
28 };
29
30 /*
31  * Structure to query for Received Noise Level (RNL).
32  */
33 struct si4713_rnl {
34         __u32 index;            /* modulator index */
35         __u32 frequency;        /* frequency to peform rnl measurement */
36         __s32 rnl;              /* result of measurement in dBuV */
37         __u32 reserved[4];      /* drivers and apps must init this to 0 */
38 };
39
40 /*
41  * This is the ioctl number to query for rnl. Users must pass a
42  * struct si4713_rnl pointer specifying desired frequency in 'frequency' field
43  * following driver capabilities (i.e V4L2_TUNER_CAP_LOW).
44  * Driver must return measured value in the same struture, filling 'rnl' field.
45  */
46 #define SI4713_IOC_MEASURE_RNL  _IOWR('V', BASE_VIDIOC_PRIVATE + 0, \
47                                                 struct si4713_rnl)
48
49 #endif /* ifndef SI4713_H*/