blob: 26eb616fa09aeda9b0a9a05fa9dc2cdd2ec759e5 [file] [log] [blame]
Venkateshwarlu Domakonda1c2c4352014-05-26 14:35:12 +05301/*
Venkateshwarlu Domakondac09c3d82015-07-24 12:58:48 +05302 * Copyright (c) 2014, 2015, The Linux Foundation. All rights reserved.
Venkateshwarlu Domakonda1c2c4352014-05-26 14:35:12 +05303
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are met:
6 * * Redistributions of source code must retain the above copyright
7 * notice, this list of conditions and the following disclaimer.
8 * * Redistributions in binary form must reproduce the above copyright
9 * notice, this list of conditions and the following disclaimer in the
10 * documentation and/or other materials provided with the distribution.
11 * * Neither the name of The Linux Foundation nor
12 * the names of its contributors may be used to endorse or promote
13 * products derived from this software without specific prior written
14 * permission.
15
16 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19 * NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
20 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
21 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
22 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
23 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
24 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
25 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
26 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28
29#ifndef __FM_CONST_H__
30#define __FM_CONST_H__
31
32
33typedef unsigned int UINT;
34typedef unsigned long ULINT;
35
36//return related
37const int IOCTL_SUCC = 0;
38const int FM_SUCCESS = 0;
39const int FM_FAILURE = -1;
40const int PROP_SET_SUCC = 0;
41
42#define TUNE_MULT 16
43const UINT CAL_DATA_SIZE = 23;
44#define STD_BUF_SIZE 256
45
46const char *const FM_PERFORMANCE_PARAMS = "/etc/fm/fm_srch_af_th.conf";
Venkateshwarlu Domakondac09c3d82015-07-24 12:58:48 +053047const char *const CALIB_DATA_NAME = "/data/misc/fm/Riva_fm_cal";
Venkateshwarlu Domakonda1c2c4352014-05-26 14:35:12 +053048
49#define V4L2_CTRL_CLASS_USER 0x00980000
50#define V4L2_CID_BASE (V4L2_CTRL_CLASS_USER | 0x900)
51#define V4L2_CID_AUDIO_MUTE (V4L2_CID_BASE + 9)
52const UINT SEARCH_DWELL_TIME = 2;
53const UINT SEEK_DWELL_TIME = 0;
54
55enum FM_AUDIO_PATH
56{
57 AUDIO_DIGITAL_PATH,
58 AUDIO_ANALOG_PATH,
59};
60
61enum FM_DEVICE
62{
63 FM_DEV_NONE,
64 FM_RX,
65 FM_TX,
66};
67
68enum BUFF_INDEXES
69{
70 STATION_LIST_IND,
71 EVENT_IND,
72 RT_IND,
73 PS_IND,
74 AF_LIST_IND = PS_IND + 2,
75 RT_PLUS_IND = 11,
76 ERT_IND,
77};
78
79enum SEARCH_MODE
80{
81 SEEK_MODE,
82 SCAN_MODE,
83};
84
85enum SEARCH_DIR
86{
87 SEARCH_DOWN,
88 SEARCH_UP,
89};
90
91enum AUDIO_MODE
92{
93 MONO,
94 STEREO,
95};
96
97//V4L2 CONTROLS FOR FM DRIVER
98enum FM_V4L2_PRV_CONTROLS
99{
100 V4L2_CID_PRV_BASE = 0x8000000,
101 V4L2_CID_PRV_SRCHMODE,
102 V4L2_CID_PRV_SCANDWELL,
103 V4L2_CID_PRV_SRCHON,
104 V4L2_CID_PRV_STATE,
105 V4L2_CID_PRV_TRANSMIT_MODE,
106 V4L2_CID_PRV_RDSGROUP_MASK,
107 V4L2_CID_PRV_REGION,
108 V4L2_CID_PRV_SIGNAL_TH,
109 V4L2_CID_PRV_SRCH_PTY,
110 V4L2_CID_PRV_SRCH_PI,
111 V4L2_CID_PRV_SRCH_CNT,
112 V4L2_CID_PRV_EMPHASIS,
113 V4L2_CID_PRV_RDS_STD,
114 V4L2_CID_PRV_CHAN_SPACING,
115 V4L2_CID_PRV_RDSON,
116 V4L2_CID_PRV_RDSGROUP_PROC,
117 V4L2_CID_PRV_LP_MODE,
118 V4L2_CID_PRV_INTDET = V4L2_CID_PRV_BASE + 25,
119 V4L2_CID_PRV_AF_JUMP = V4L2_CID_PRV_BASE + 27,
120 V4L2_CID_PRV_SOFT_MUTE = V4L2_CID_PRV_BASE + 30,
121 V4L2_CID_PRV_AUDIO_PATH = V4L2_CID_PRV_BASE + 41,
122 V4L2_CID_PRV_SINR = V4L2_CID_PRV_BASE + 44,
123 V4L2_CID_PRV_ON_CHANNEL_THRESHOLD = V4L2_CID_PRV_BASE + 0x2D,
124 V4L2_CID_PRV_OFF_CHANNEL_THRESHOLD,
125 V4L2_CID_PRV_SINR_THRESHOLD,
126 V4L2_CID_PRV_SINR_SAMPLES,
127 V4L2_CID_PRV_SPUR_FREQ,
128 V4L2_CID_PRV_SPUR_FREQ_RMSSI,
129 V4L2_CID_PRV_SPUR_SELECTION,
130 V4L2_CID_PRV_AF_RMSSI_TH = V4L2_CID_PRV_BASE + 0x36,
131 V4L2_CID_PRV_AF_RMSSI_SAMPLES,
132 V4L2_CID_PRV_GOOD_CH_RMSSI_TH,
133 V4L2_CID_PRV_SRCHALGOTYPE,
134 V4L2_CID_PRV_CF0TH12,
135 V4L2_CID_PRV_SINRFIRSTSTAGE,
136 V4L2_CID_PRV_RMSSIFIRSTSTAGE,
137 V4L2_CID_PRV_SOFT_MUTE_TH,
138 V4L2_CID_PRV_IRIS_RDSGRP_RT,
139 V4L2_CID_PRV_IRIS_RDSGRP_PS_SIMPLE,
140 V4L2_CID_PRV_IRIS_RDSGRP_AFLIST,
141 V4L2_CID_PRV_IRIS_RDSGRP_ERT,
142 V4L2_CID_PRV_IRIS_RDSGRP_RT_PLUS,
143 V4L2_CID_PRV_IRIS_RDSGRP_3A,
144
145 V4L2_CID_PRV_IRIS_READ_DEFAULT = V4L2_CTRL_CLASS_USER + 0x928,
146 V4L2_CID_PRV_IRIS_WRITE_DEFAULT,
147 V4L2_CID_PRV_SET_CALIBRATION = V4L2_CTRL_CLASS_USER + 0x92A,
Satish kumar sugasi644b4882016-05-04 20:15:31 -0700148 HCI_FM_HELIUM_SET_SPURTABLE = 0x0098092D,
149 HCI_FM_HELIUM_GET_SPUR_TBL = 0x0098092E,
150 V4L2_CID_PRV_IRIS_FREQ,
151 V4L2_CID_PRV_IRIS_SEEK,
152 V4L2_CID_PRV_IRIS_UPPER_BAND,
153 V4L2_CID_PRV_IRIS_LOWER_BAND,
154 V4L2_CID_PRV_IRIS_AUDIO_MODE,
Kamal Negi8813e0f2016-02-10 19:12:09 +0530155 V4L2_CID_PRV_IRIS_RMSSI,
Venkateshwarlu Domakonda1c2c4352014-05-26 14:35:12 +0530156};
Satish kumar sugasi644b4882016-05-04 20:15:31 -0700157
Venkateshwarlu Domakonda1c2c4352014-05-26 14:35:12 +0530158#endif