tizen 2.4 release
[profile/mobile/platform/kernel/linux-3.10-sc7730.git] / drivers / media / radio / sc2331 / fmdrv_rx.h
1 /*
2  * This program is free software; you can redistribute it and/or modify
3  * it under the terms of the GNU General Public License version 2 as
4  * published by the Free Software Foundation.
5
6  * You should have received a copy of the GNU General Public License
7  * along with this program; if not, write to the Free Software
8  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
9
10  * This program is distributed in the hope that it will be useful, but
11  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
12  * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
13  * for more details.
14
15
16  *  Copyright (C) 2009-2014 Broadcom Corporation
17  */
18
19 /************************************************************************************
20  *
21  *  Filename:      fmdrv_rx.h
22  *
23  *  Description:   FM RX module header.
24 ************************************************************************************/
25
26 #ifndef _FMDRV_RX_H
27 #define _FMDRV_RX_H
28
29
30 typedef struct _FM_SEARCH_PAR_T
31                 {
32                 unsigned short startFreq;
33                 unsigned short endFreq;
34                 unsigned char  rssiThresh;
35                 unsigned char direction;
36                 unsigned char scanMode;
37                 unsigned char multiChannel;
38                 unsigned char condType;
39                 unsigned char condValue;
40 }FM_SEARCH_PAR_T;
41
42 //unsigned short global_frequency;
43
44
45 /*******************************************************************************
46 **  Functions
47 *******************************************************************************/
48
49 int fm_rx_set_frequency(struct fmdrv_ops*, unsigned int);
50 int fm_rx_set_band_frequencies(struct fmdrv_ops *, unsigned int, unsigned int);
51 int fm_rx_set_mute_mode(struct fmdrv_ops*, unsigned char);
52 int fm_rx_set_rds_system(struct fmdrv_ops *, unsigned char);
53 int fm_rx_set_volume(struct fmdrv_ops*, unsigned short);
54 int fm_rx_set_audio_ctrl(struct fmdrv_ops *,unsigned short);
55
56 int fm_rx_set_audio_mode(struct fmdrv_ops *, unsigned char);
57 int fm_rx_set_region(struct fmdrv_ops*, unsigned char);
58 int fm_rx_set_scan_step(struct fmdrv_ops *, unsigned char);
59 int fm_rx_config_audio_path(struct fmdrv_ops *, unsigned char);
60 int fm_rx_config_deemphasis(struct fmdrv_ops *, unsigned char);
61 int fm_rx_set_Frequency_Offset_threshold(struct fmdrv_ops*, short);
62 int fm_rx_set_Noise_Power_threshold(struct fmdrv_ops*, short);
63 int fm_rx_set_Pilot_Power_threshold(struct fmdrv_ops*, short);
64 int fm_rx_set_rssi_threshold(struct fmdrv_ops*, short);
65 int fm_rx_set_snr_threshold(struct fmdrv_ops*,  short);
66 int fm_rx_set_cos_threshold(struct fmdrv_ops *fmdev, short cos_toset);
67 int fm_rx_set_af_switch(struct fmdrv_ops *, u8);
68
69 int fm_rx_get_frequency(struct fmdrv_ops*, unsigned int*);
70 int fm_rx_get_snr(struct fmdrv_ops *fmdev, unsigned int *curr_snr);
71
72 int fm_rx_get_mute_mode(struct fmdrv_ops*, unsigned char*);
73 int fm_rx_get_volume(struct fmdrv_ops*, unsigned short*);
74 int fm_rx_get_audio_mode(struct fmdrv_ops *, unsigned char *);
75 int fm_rx_get_scan_step(struct fmdrv_ops *, unsigned char *);
76 int fm_rx_get_band_frequencies(struct fmdrv_ops *,
77                     unsigned int *, unsigned int *);
78 int fm_rx_seek_station(struct fmdrv_ops *, unsigned char, unsigned char);
79 int fm_rx_seek_station_abort(struct fmdrv_ops *fmdev);
80 int fm_rx_read_curr_rssi_freq(struct fmdrv_ops *, unsigned char);
81 void fm_rx_enable_rds(struct fmdrv_ops *);
82 int fm_rx_is_rds_data_available(struct fmdrv_ops *, struct file *,
83                     struct poll_table_struct *);
84 int fm_rx_set_cfg_blnd_mute(struct fmdrv_ops *fmdev, unsigned char set_blndmute);
85 #endif