102bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin/*
202bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin * include/media/si4713.h
302bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin *
402bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin * Board related data definitions for Si4713 i2c device driver.
502bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin *
602bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin * Copyright (c) 2009 Nokia Corporation
702bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin * Contact: Eduardo Valentin <eduardo.valentin@nokia.com>
802bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin *
902bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin * This file is licensed under the terms of the GNU General Public License
1002bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin * version 2. This program is licensed "as is" without any warranty of any
1102bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin * kind, whether express or implied.
1202bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin *
1302bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin */
1402bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin
1502bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin#ifndef SI4713_H
1602bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin#define SI4713_H
1702bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin
1802bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin/* The SI4713 I2C sensor chip has a fixed slave address of 0xc6 or 0x22. */
1902bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin#define SI4713_I2C_ADDR_BUSEN_HIGH	0x63
2002bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin#define SI4713_I2C_ADDR_BUSEN_LOW	0x11
2102bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin
2202bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin/*
2302bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin * Platform dependent definition
2402bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin */
2502bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentinstruct si4713_platform_data {
2600df055ae315c9c8792dc4d012e6ad9c4d527e87Jarkko Nikula	int gpio_reset; /* < 0 if not used */
2702bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin};
2802bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin
2902bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin/*
3002bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin * Structure to query for Received Noise Level (RNL).
3102bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin */
3202bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentinstruct si4713_rnl {
3302bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin	__u32 index;		/* modulator index */
3402bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin	__u32 frequency;	/* frequency to peform rnl measurement */
3502bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin	__s32 rnl;		/* result of measurement in dBuV */
3602bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin	__u32 reserved[4];	/* drivers and apps must init this to 0 */
3702bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin};
3802bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin
3902bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin/*
4002bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin * This is the ioctl number to query for rnl. Users must pass a
4102bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin * struct si4713_rnl pointer specifying desired frequency in 'frequency' field
4202bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin * following driver capabilities (i.e V4L2_TUNER_CAP_LOW).
4302bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin * Driver must return measured value in the same struture, filling 'rnl' field.
4402bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin */
4502bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin#define SI4713_IOC_MEASURE_RNL	_IOWR('V', BASE_VIDIOC_PRIVATE + 0, \
4602bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin						struct si4713_rnl)
4702bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin
4802bee89e79b1302776e32214b8ca96a00c70c446Eduardo Valentin#endif /* ifndef SI4713_H*/
49