blob: fc858d99e55705227594c852c1902b9c45125ffd [file] [log] [blame]
Arne Coucherond8ef9432020-11-26 06:36:30 +01001/*
2 * Copyright (c) 2014, 2015, The Linux Foundation. All rights reserved.
3
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";
47const char *const CALIB_DATA_NAME = "/data/misc/fm/Riva_fm_cal";
48
49#define V4L2_CTRL_CLASS_USER 0x00980000
50#define V4L2_CID_BASE (V4L2_CTRL_CLASS_USER | 0x900)
Adrian DCd38fbcd2018-08-11 14:05:25 +020051#ifndef V4L2_CID_AUDIO_MUTE
Arne Coucherond8ef9432020-11-26 06:36:30 +010052#define V4L2_CID_AUDIO_MUTE (V4L2_CID_BASE + 9)
Adrian DCd38fbcd2018-08-11 14:05:25 +020053#endif
Arne Coucherond8ef9432020-11-26 06:36:30 +010054const UINT SEARCH_DWELL_TIME = 2;
55const UINT SEEK_DWELL_TIME = 0;
56
57enum FM_AUDIO_PATH
58{
59 AUDIO_DIGITAL_PATH,
60 AUDIO_ANALOG_PATH,
61};
62
63enum FM_DEVICE
64{
65 FM_DEV_NONE,
66 FM_RX,
67 FM_TX,
68};
69
70enum BUFF_INDEXES
71{
72 STATION_LIST_IND,
73 EVENT_IND,
74 RT_IND,
75 PS_IND,
76 AF_LIST_IND = PS_IND + 2,
77 RT_PLUS_IND = 11,
78 ERT_IND,
79};
80
81enum SEARCH_MODE
82{
83 SEEK_MODE,
84 SCAN_MODE,
85};
86
87enum SEARCH_DIR
88{
89 SEARCH_DOWN,
90 SEARCH_UP,
91};
92
93enum AUDIO_MODE
94{
95 MONO,
96 STEREO,
97};
98
99//V4L2 CONTROLS FOR FM DRIVER
100enum FM_V4L2_PRV_CONTROLS
101{
102 V4L2_CID_PRV_BASE = 0x8000000,
103 V4L2_CID_PRV_SRCHMODE,
104 V4L2_CID_PRV_SCANDWELL,
105 V4L2_CID_PRV_SRCHON,
106 V4L2_CID_PRV_STATE,
107 V4L2_CID_PRV_TRANSMIT_MODE,
108 V4L2_CID_PRV_RDSGROUP_MASK,
109 V4L2_CID_PRV_REGION,
110 V4L2_CID_PRV_SIGNAL_TH,
111 V4L2_CID_PRV_SRCH_PTY,
112 V4L2_CID_PRV_SRCH_PI,
113 V4L2_CID_PRV_SRCH_CNT,
114 V4L2_CID_PRV_EMPHASIS,
115 V4L2_CID_PRV_RDS_STD,
116 V4L2_CID_PRV_CHAN_SPACING,
117 V4L2_CID_PRV_RDSON,
118 V4L2_CID_PRV_RDSGROUP_PROC,
119 V4L2_CID_PRV_LP_MODE,
120 V4L2_CID_PRV_INTDET = V4L2_CID_PRV_BASE + 25,
121 V4L2_CID_PRV_AF_JUMP = V4L2_CID_PRV_BASE + 27,
122 V4L2_CID_PRV_SOFT_MUTE = V4L2_CID_PRV_BASE + 30,
123 V4L2_CID_PRV_AUDIO_PATH = V4L2_CID_PRV_BASE + 41,
124 V4L2_CID_PRV_SINR = V4L2_CID_PRV_BASE + 44,
125 V4L2_CID_PRV_ON_CHANNEL_THRESHOLD = V4L2_CID_PRV_BASE + 0x2D,
126 V4L2_CID_PRV_OFF_CHANNEL_THRESHOLD,
127 V4L2_CID_PRV_SINR_THRESHOLD,
128 V4L2_CID_PRV_SINR_SAMPLES,
129 V4L2_CID_PRV_SPUR_FREQ,
130 V4L2_CID_PRV_SPUR_FREQ_RMSSI,
131 V4L2_CID_PRV_SPUR_SELECTION,
132 V4L2_CID_PRV_AF_RMSSI_TH = V4L2_CID_PRV_BASE + 0x36,
133 V4L2_CID_PRV_AF_RMSSI_SAMPLES,
134 V4L2_CID_PRV_GOOD_CH_RMSSI_TH,
135 V4L2_CID_PRV_SRCHALGOTYPE,
136 V4L2_CID_PRV_CF0TH12,
137 V4L2_CID_PRV_SINRFIRSTSTAGE,
138 V4L2_CID_PRV_RMSSIFIRSTSTAGE,
139 V4L2_CID_PRV_SOFT_MUTE_TH,
140 V4L2_CID_PRV_IRIS_RDSGRP_RT,
141 V4L2_CID_PRV_IRIS_RDSGRP_PS_SIMPLE,
142 V4L2_CID_PRV_IRIS_RDSGRP_AFLIST,
143 V4L2_CID_PRV_IRIS_RDSGRP_ERT,
144 V4L2_CID_PRV_IRIS_RDSGRP_RT_PLUS,
145 V4L2_CID_PRV_IRIS_RDSGRP_3A,
146
147 V4L2_CID_PRV_IRIS_READ_DEFAULT = V4L2_CTRL_CLASS_USER + 0x928,
148 V4L2_CID_PRV_IRIS_WRITE_DEFAULT,
149 V4L2_CID_PRV_SET_CALIBRATION = V4L2_CTRL_CLASS_USER + 0x92A,
150 HCI_FM_HELIUM_SET_SPURTABLE = 0x0098092D,
151 HCI_FM_HELIUM_GET_SPUR_TBL = 0x0098092E,
152 V4L2_CID_PRV_IRIS_FREQ,
153 V4L2_CID_PRV_IRIS_SEEK,
154 V4L2_CID_PRV_IRIS_UPPER_BAND,
155 V4L2_CID_PRV_IRIS_LOWER_BAND,
156 V4L2_CID_PRV_IRIS_AUDIO_MODE,
157 V4L2_CID_PRV_IRIS_RMSSI,
158
159 V4L2_CID_PRV_ENABLE_SLIMBUS = 0x00980940,
160};
161
162#endif