Home | History | Annotate | Download | only in media
      1 /****************************************************************************
      2  ****************************************************************************
      3  ***
      4  ***   This header was automatically generated from a Linux kernel header
      5  ***   of the same name, to make information necessary for userspace to
      6  ***   call into the kernel available to libc.  It contains only constants,
      7  ***   structures, and macros generated from the original header, and thus,
      8  ***   contains no copyrightable information.
      9  ***
     10  ***   To edit the content of this header, modify the corresponding
     11  ***   source file (e.g. under external/kernel-headers/original/) then
     12  ***   run bionic/libc/kernel/tools/update_all.py
     13  ***
     14  ***   Any manual change here will be lost the next time this script will
     15  ***   be run. You've been warned!
     16  ***
     17  ****************************************************************************
     18  ****************************************************************************/
     19 #ifndef __UAPI_RADIO_IRIS_H
     20 #define __UAPI_RADIO_IRIS_H
     21 #include <linux/types.h>
     22 #include <media/radio-iris-commands.h>
     23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     24 #define MIN_TX_TONE_VAL 0x00
     25 #define MAX_TX_TONE_VAL 0x07
     26 #define MIN_HARD_MUTE_VAL 0x00
     27 #define MAX_HARD_MUTE_VAL 0x03
     28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     29 #define MIN_SRCH_MODE 0x00
     30 #define MAX_SRCH_MODE 0x09
     31 #define MIN_SCAN_DWELL 0x00
     32 #define MAX_SCAN_DWELL 0x0F
     33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     34 #define MIN_SIG_TH 0x00
     35 #define MAX_SIG_TH 0x03
     36 #define MIN_PTY 0X00
     37 #define MAX_PTY 0x1F
     38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     39 #define MIN_PI 0x0000
     40 #define MAX_PI 0xFFFF
     41 #define MIN_SRCH_STATIONS_CNT 0x00
     42 #define MAX_SRCH_STATIONS_CNT 0x14
     43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     44 #define MIN_CHAN_SPACING 0x00
     45 #define MAX_CHAN_SPACING 0x02
     46 #define MIN_EMPHASIS 0x00
     47 #define MAX_EMPHASIS 0x01
     48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     49 #define MIN_RDS_STD 0x00
     50 #define MAX_RDS_STD 0x02
     51 #define MIN_ANTENNA_VAL 0x00
     52 #define MAX_ANTENNA_VAL 0x01
     53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     54 #define MIN_TX_PS_REPEAT_CNT 0x01
     55 #define MAX_TX_PS_REPEAT_CNT 0x0F
     56 #define MIN_SOFT_MUTE 0x00
     57 #define MAX_SOFT_MUTE 0x01
     58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     59 #define MIN_PEEK_ACCESS_LEN 0x01
     60 #define MAX_PEEK_ACCESS_LEN 0xF9
     61 #define MIN_RESET_CNTR 0x00
     62 #define MAX_RESET_CNTR 0x01
     63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     64 #define MIN_HLSI 0x00
     65 #define MAX_HLSI 0x02
     66 #define MIN_NOTCH_FILTER 0x00
     67 #define MAX_NOTCH_FILTER 0x02
     68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     69 #define MIN_INTF_DET_OUT_LW_TH 0x00
     70 #define MAX_INTF_DET_OUT_LW_TH 0xFF
     71 #define MIN_INTF_DET_OUT_HG_TH 0x00
     72 #define MAX_INTF_DET_OUT_HG_TH 0xFF
     73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     74 #define MIN_SINR_TH - 128
     75 #define MAX_SINR_TH 127
     76 #define MIN_SINR_SAMPLES 0x01
     77 #define MAX_SINR_SAMPLES 0xFF
     78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     79 #define MIN_BLEND_HI - 128
     80 #define MAX_BLEND_HI 127
     81 #define RADIO_HCI_COMMAND_HDR_SIZE sizeof(struct radio_hci_command_hdr)
     82 #define RADIO_HCI_EVENT_HDR_SIZE sizeof(struct radio_hci_event_hdr)
     83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     84 #define RADIO_HCI_COMMAND_PKT 0x11
     85 #define RADIO_HCI_EVENT_PKT 0x14
     86 #define MAX_RIVA_PEEK_RSP_SIZE 251
     87 #define DEFAULT_DATA_OFFSET 2
     88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     89 #define DEFAULT_DATA_SIZE 249
     90 #define FM_TX_PWR_LVL_STEP_SIZE 36
     91 #define FM_TX_PWR_LVL_0 0
     92 #define FM_TX_PWR_LVL_MAX 7
     93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     94 #define FM_TX_PHY_CFG_MODE 0x3c
     95 #define FM_TX_PHY_CFG_LEN 0x10
     96 #define FM_TX_PWR_GAIN_OFFSET 14
     97 #define FM_RDS_CNFG_MODE 0x0f
     98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     99 #define FM_RDS_CNFG_LEN 0x10
    100 #define AF_RMSSI_TH_LSB_OFFSET 10
    101 #define AF_RMSSI_TH_MSB_OFFSET 11
    102 #define AF_RMSSI_SAMPLES_OFFSET 15
    103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    104 #define FM_RX_CONFG_MODE 0x15
    105 #define FM_RX_CNFG_LEN 0x20
    106 #define GD_CH_RMSSI_TH_OFFSET 12
    107 #define MAX_GD_CH_RMSSI_TH 127
    108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    109 #define SRCH_ALGO_TYPE_OFFSET 25
    110 #define SINRFIRSTSTAGE_OFFSET 26
    111 #define RMSSIFIRSTSTAGE_OFFSET 27
    112 #define CF0TH12_BYTE1_OFFSET 8
    113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    114 #define CF0TH12_BYTE2_OFFSET 9
    115 #define CF0TH12_BYTE3_OFFSET 10
    116 #define CF0TH12_BYTE4_OFFSET 11
    117 #define MAX_SINR_FIRSTSTAGE 127
    118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    119 #define MAX_RMSSI_FIRSTSTAGE 127
    120 #define RDS_PS0_XFR_MODE 0x01
    121 #define RDS_PS0_LEN 6
    122 #define RX_REPEATE_BYTE_OFFSET 5
    123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    124 #define FM_SPUR_TBL_SIZE 240
    125 #define SPUR_DATA_LEN 16
    126 #define ENTRIES_EACH_CMD 15
    127 #define SPUR_DATA_INDEX 2
    128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    129 #define FM_AF_LIST_MAX_SIZE 200
    130 #define AF_LIST_MAX (FM_AF_LIST_MAX_SIZE / 4)
    131 #define MAX_BLEND_INDEX 49
    132 #define TUNE_PARAM 16
    133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    134 #define FM_RDS_3A_GRP (0x40)
    135 struct radio_hci_command_hdr {
    136   __le16 opcode;
    137   __u8 plen;
    138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    139 } __packed;
    140 struct radio_hci_event_hdr {
    141   __u8 evt;
    142   __u8 plen;
    143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    144 } __packed;
    145 #define HCI_OCF_FM_ENABLE_RECV_REQ 0x0001
    146 #define HCI_OCF_FM_DISABLE_RECV_REQ 0x0002
    147 #define HCI_OCF_FM_GET_RECV_CONF_REQ 0x0003
    148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    149 #define HCI_OCF_FM_SET_RECV_CONF_REQ 0x0004
    150 #define HCI_OCF_FM_SET_MUTE_MODE_REQ 0x0005
    151 #define HCI_OCF_FM_SET_STEREO_MODE_REQ 0x0006
    152 #define HCI_OCF_FM_SET_ANTENNA 0x0007
    153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    154 #define HCI_OCF_FM_SET_SIGNAL_THRESHOLD 0x0008
    155 #define HCI_OCF_FM_GET_SIGNAL_THRESHOLD 0x0009
    156 #define HCI_OCF_FM_GET_STATION_PARAM_REQ 0x000A
    157 #define HCI_OCF_FM_GET_PROGRAM_SERVICE_REQ 0x000B
    158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    159 #define HCI_OCF_FM_GET_RADIO_TEXT_REQ 0x000C
    160 #define HCI_OCF_FM_GET_AF_LIST_REQ 0x000D
    161 #define HCI_OCF_FM_SEARCH_STATIONS 0x000E
    162 #define HCI_OCF_FM_SEARCH_RDS_STATIONS 0x000F
    163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    164 #define HCI_OCF_FM_SEARCH_STATIONS_LIST 0x0010
    165 #define HCI_OCF_FM_CANCEL_SEARCH 0x0011
    166 #define HCI_OCF_FM_RDS_GRP 0x0012
    167 #define HCI_OCF_FM_RDS_GRP_PROCESS 0x0013
    168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    169 #define HCI_OCF_FM_EN_WAN_AVD_CTRL 0x0014
    170 #define HCI_OCF_FM_EN_NOTCH_CTRL 0x0015
    171 #define HCI_OCF_FM_SET_EVENT_MASK 0x0016
    172 #define HCI_OCF_FM_SET_CH_DET_THRESHOLD 0x0017
    173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    174 #define HCI_OCF_FM_GET_CH_DET_THRESHOLD 0x0018
    175 #define HCI_OCF_FM_SET_BLND_TBL 0x001B
    176 #define HCI_OCF_FM_GET_BLND_TBL 0x001C
    177 #define HCI_OCF_FM_ENABLE_TRANS_REQ 0x0001
    178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    179 #define HCI_OCF_FM_DISABLE_TRANS_REQ 0x0002
    180 #define HCI_OCF_FM_GET_TRANS_CONF_REQ 0x0003
    181 #define HCI_OCF_FM_SET_TRANS_CONF_REQ 0x0004
    182 #define HCI_OCF_FM_RDS_RT_REQ 0x0008
    183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    184 #define HCI_OCF_FM_RDS_PS_REQ 0x0009
    185 #define HCI_OCF_FM_TUNE_STATION_REQ 0x0001
    186 #define HCI_OCF_FM_DEFAULT_DATA_READ 0x0002
    187 #define HCI_OCF_FM_DEFAULT_DATA_WRITE 0x0003
    188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    189 #define HCI_OCF_FM_RESET 0x0004
    190 #define HCI_OCF_FM_GET_FEATURE_LIST 0x0005
    191 #define HCI_OCF_FM_DO_CALIBRATION 0x0006
    192 #define HCI_OCF_FM_SET_CALIBRATION 0x0007
    193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    194 #define HCI_OCF_FM_SET_SPUR_TABLE 0x0008
    195 #define HCI_OCF_FM_GET_SPUR_TABLE 0x0009
    196 #define HCI_OCF_FM_READ_GRP_COUNTERS 0x0001
    197 #define HCI_OCF_FM_PEEK_DATA 0x0002
    198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    199 #define HCI_OCF_FM_POKE_DATA 0x0003
    200 #define HCI_OCF_FM_SSBI_PEEK_REG 0x0004
    201 #define HCI_OCF_FM_SSBI_POKE_REG 0x0005
    202 #define HCI_OCF_FM_STATION_DBG_PARAM 0x0007
    203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    204 #define HCI_FM_SET_INTERNAL_TONE_GENRATOR 0x0008
    205 #define HCI_OGF_FM_RECV_CTRL_CMD_REQ 0x0013
    206 #define HCI_OGF_FM_TRANS_CTRL_CMD_REQ 0x0014
    207 #define HCI_OGF_FM_COMMON_CTRL_CMD_REQ 0x0015
    208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    209 #define HCI_OGF_FM_STATUS_PARAMETERS_CMD_REQ 0x0016
    210 #define HCI_OGF_FM_TEST_CMD_REQ 0x0017
    211 #define HCI_OGF_FM_DIAGNOSTIC_CMD_REQ 0x003F
    212 #define hci_opcode_pack(ogf,ocf) ((__u16) ((ocf & 0x03ff) | (ogf << 10)))
    213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    214 #define hci_opcode_ogf(op) (op >> 10)
    215 #define hci_opcode_ocf(op) (op & 0x03ff)
    216 #define hci_recv_ctrl_cmd_op_pack(ocf) ((__u16) hci_opcode_pack(HCI_OGF_FM_RECV_CTRL_CMD_REQ, ocf))
    217 #define hci_trans_ctrl_cmd_op_pack(ocf) ((__u16) hci_opcode_pack(HCI_OGF_FM_TRANS_CTRL_CMD_REQ, ocf))
    218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    219 #define hci_common_cmd_op_pack(ocf) ((__u16) hci_opcode_pack(HCI_OGF_FM_COMMON_CTRL_CMD_REQ, ocf))
    220 #define hci_status_param_op_pack(ocf) ((__u16) hci_opcode_pack(HCI_OGF_FM_STATUS_PARAMETERS_CMD_REQ, ocf))
    221 #define hci_diagnostic_cmd_op_pack(ocf) ((__u16) hci_opcode_pack(HCI_OGF_FM_DIAGNOSTIC_CMD_REQ, ocf))
    222 #define HCI_FM_ENABLE_RECV_CMD 1
    223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    224 #define HCI_FM_DISABLE_RECV_CMD 2
    225 #define HCI_FM_GET_RECV_CONF_CMD 3
    226 #define HCI_FM_GET_STATION_PARAM_CMD 4
    227 #define HCI_FM_GET_SIGNAL_TH_CMD 5
    228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    229 #define HCI_FM_GET_PROGRAM_SERVICE_CMD 6
    230 #define HCI_FM_GET_RADIO_TEXT_CMD 7
    231 #define HCI_FM_GET_AF_LIST_CMD 8
    232 #define HCI_FM_CANCEL_SEARCH_CMD 9
    233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    234 #define HCI_FM_RESET_CMD 10
    235 #define HCI_FM_GET_FEATURES_CMD 11
    236 #define HCI_FM_STATION_DBG_PARAM_CMD 12
    237 #define HCI_FM_ENABLE_TRANS_CMD 13
    238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    239 #define HCI_FM_DISABLE_TRANS_CMD 14
    240 #define HCI_FM_GET_TX_CONFIG 15
    241 #define HCI_FM_GET_DET_CH_TH_CMD 16
    242 #define HCI_FM_GET_BLND_TBL_CMD 17
    243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    244 #define TX_PS_DATA_LENGTH 108
    245 #define TX_RT_DATA_LENGTH 64
    246 #define PS_STRING_LEN 9
    247 struct hci_fm_recv_conf_req {
    248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    249   __u8 emphasis;
    250   __u8 ch_spacing;
    251   __u8 rds_std;
    252   __u8 hlsi;
    253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    254   __u32 band_low_limit;
    255   __u32 band_high_limit;
    256 } __packed;
    257 struct hci_fm_trans_conf_req_struct {
    258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    259   __u8 emphasis;
    260   __u8 rds_std;
    261   __u32 band_low_limit;
    262   __u32 band_high_limit;
    263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    264 } __packed;
    265 struct hci_fm_tx_ps {
    266   __u8 ps_control;
    267   __u16 pi;
    268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    269   __u8 pty;
    270   __u8 ps_repeatcount;
    271   __u8 ps_num;
    272   __u8 ps_data[TX_PS_DATA_LENGTH];
    273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    274 } __packed;
    275 struct hci_fm_tx_rt {
    276   __u8 rt_control;
    277   __u16 pi;
    278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    279   __u8 pty;
    280   __u8 rt_len;
    281   __u8 rt_data[TX_RT_DATA_LENGTH];
    282 } __packed;
    283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    284 struct hci_fm_mute_mode_req {
    285   __u8 hard_mute;
    286   __u8 soft_mute;
    287 } __packed;
    288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    289 struct hci_fm_stereo_mode_req {
    290   __u8 stereo_mode;
    291   __u8 sig_blend;
    292   __u8 intf_blend;
    293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    294   __u8 most_switch;
    295 } __packed;
    296 struct hci_fm_search_station_req {
    297   __u8 srch_mode;
    298 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    299   __u8 scan_time;
    300   __u8 srch_dir;
    301 } __packed;
    302 struct hci_fm_search_rds_station_req {
    303 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    304   struct hci_fm_search_station_req srch_station;
    305   __u8 srch_pty;
    306   __u16 srch_pi;
    307 } __packed;
    308 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    309 struct hci_fm_search_station_list_req {
    310   __u8 srch_list_mode;
    311   __u8 srch_list_dir;
    312   __u32 srch_list_max;
    313 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    314   __u8 srch_pty;
    315 } __packed;
    316 struct hci_fm_rds_grp_req {
    317   __u32 rds_grp_enable_mask;
    318 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    319   __u32 rds_buf_size;
    320   __u8 en_rds_change_filter;
    321 } __packed;
    322 struct hci_fm_en_avd_ctrl_req {
    323 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    324   __u8 no_freqs;
    325   __u8 freq_index;
    326   __u8 lo_shft;
    327   __u16 freq_min;
    328 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    329   __u16 freq_max;
    330 } __packed;
    331 struct hci_fm_def_data_rd_req {
    332   __u8 mode;
    333 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    334   __u8 length;
    335   __u8 param_len;
    336   __u8 param;
    337 } __packed;
    338 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    339 struct hci_fm_def_data_wr_req {
    340   __u8 mode;
    341   __u8 length;
    342   __u8 data[DEFAULT_DATA_SIZE];
    343 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    344 } __packed;
    345 struct hci_fm_riva_data {
    346   __u8 subopcode;
    347   __u32 start_addr;
    348 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    349   __u8 length;
    350 } __packed;
    351 struct hci_fm_riva_poke {
    352   struct hci_fm_riva_data cmd_params;
    353 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    354   __u8 data[MAX_RIVA_PEEK_RSP_SIZE];
    355 } __packed;
    356 struct hci_fm_ssbi_req {
    357   __u16 start_addr;
    358 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    359   __u8 data;
    360 } __packed;
    361 struct hci_fm_ssbi_peek {
    362   __u16 start_address;
    363 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    364 } __packed;
    365 struct hci_fm_ch_det_threshold {
    366   char sinr;
    367   __u8 sinr_samples;
    368 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    369   __u8 low_th;
    370   __u8 high_th;
    371 } __packed;
    372 struct hci_fm_blend_table {
    373 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    374   __u8 ucBlendType;
    375   __u8 ucBlendRampRateUp;
    376   __u8 ucBlendDebounceNumSampleUp;
    377   __u8 ucBlendDebounceIdxUp;
    378 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    379   __u8 ucBlendSinrIdxSkipStep;
    380   __u8 scBlendSinrHi;
    381   __u8 scBlendRmssiHi;
    382   __u8 ucBlendIndexHi;
    383 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    384   __u8 ucBlendIndex[MAX_BLEND_INDEX];
    385 } __packed;
    386 #define HCI_EV_TUNE_STATUS 0x01
    387 #define HCI_EV_RDS_LOCK_STATUS 0x02
    388 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    389 #define HCI_EV_STEREO_STATUS 0x03
    390 #define HCI_EV_SERVICE_AVAILABLE 0x04
    391 #define HCI_EV_SEARCH_PROGRESS 0x05
    392 #define HCI_EV_SEARCH_RDS_PROGRESS 0x06
    393 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    394 #define HCI_EV_SEARCH_LIST_PROGRESS 0x07
    395 #define HCI_EV_RDS_RX_DATA 0x08
    396 #define HCI_EV_PROGRAM_SERVICE 0x09
    397 #define HCI_EV_RADIO_TEXT 0x0A
    398 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    399 #define HCI_EV_FM_AF_LIST 0x0B
    400 #define HCI_EV_TX_RDS_GRP_AVBLE 0x0C
    401 #define HCI_EV_TX_RDS_GRP_COMPL 0x0D
    402 #define HCI_EV_TX_RDS_CONT_GRP_COMPL 0x0E
    403 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    404 #define HCI_EV_CMD_COMPLETE 0x0F
    405 #define HCI_EV_CMD_STATUS 0x10
    406 #define HCI_EV_TUNE_COMPLETE 0x11
    407 #define HCI_EV_SEARCH_COMPLETE 0x12
    408 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    409 #define HCI_EV_SEARCH_RDS_COMPLETE 0x13
    410 #define HCI_EV_SEARCH_LIST_COMPLETE 0x14
    411 #define HCI_REQ_DONE 0
    412 #define HCI_REQ_PEND 1
    413 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    414 #define HCI_REQ_CANCELED 2
    415 #define HCI_REQ_STATUS 3
    416 #define MAX_RAW_RDS_GRPS 21
    417 #define RDSGRP_DATA_OFFSET 0x1
    418 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    419 #define DUMMY_CLASS 0
    420 #define RT_PLUS_LEN_1_TAG 3
    421 #define RT_ERT_FLAG_BIT 5
    422 #define TAG1_MSB_OFFSET 3
    423 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    424 #define TAG1_MSB_MASK 7
    425 #define TAG1_LSB_OFFSET 5
    426 #define TAG1_POS_MSB_MASK 31
    427 #define TAG1_POS_MSB_OFFSET 1
    428 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    429 #define TAG1_POS_LSB_OFFSET 7
    430 #define TAG1_LEN_OFFSET 1
    431 #define TAG1_LEN_MASK 63
    432 #define TAG2_MSB_OFFSET 5
    433 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    434 #define TAG2_MSB_MASK 1
    435 #define TAG2_LSB_OFFSET 3
    436 #define TAG2_POS_MSB_MASK 7
    437 #define TAG2_POS_MSB_OFFSET 3
    438 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    439 #define TAG2_POS_LSB_OFFSET 5
    440 #define TAG2_LEN_MASK 31
    441 #define AGT_MASK 31
    442 #define AGT(x) (x & AGT_MASK)
    443 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    444 #define AID(lsb,msb) ((msb << 8) | (lsb))
    445 #define GTC(blk2msb) (blk2msb >> 3)
    446 #define GRP_3A 0x6
    447 #define RT_PLUS_AID 0x4bd7
    448 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    449 #define ERT_AID 0x6552
    450 #define CARRIAGE_RETURN 0x000D
    451 #define MAX_ERT_SEGMENT 31
    452 #define ERT_FORMAT_DIR_BIT 1
    453 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    454 #define EXTRACT_BIT(data,bit_pos) ((data & (1 << bit_pos)) >> bit_pos)
    455 struct hci_ev_tune_status {
    456   __u8 sub_event;
    457   __le32 station_freq;
    458 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    459   __u8 serv_avble;
    460   char rssi;
    461   __u8 stereo_prg;
    462   __u8 rds_sync_status;
    463 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    464   __u8 mute_mode;
    465   char sinr;
    466   __u8 intf_det_th;
    467 } __packed;
    468 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    469 struct rds_blk_data {
    470   __u8 rdsMsb;
    471   __u8 rdsLsb;
    472   __u8 blockStatus;
    473 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    474 } __packed;
    475 struct rds_grp_data {
    476   struct rds_blk_data rdsBlk[4];
    477 } __packed;
    478 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    479 struct hci_ev_rds_rx_data {
    480   __u8 num_rds_grps;
    481   struct rds_grp_data rds_grp_data[MAX_RAW_RDS_GRPS];
    482 } __packed;
    483 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    484 struct hci_ev_prg_service {
    485   __le16 pi_prg_id;
    486   __u8 pty_prg_type;
    487   __u8 ta_prg_code_type;
    488 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    489   __u8 ta_ann_code_flag;
    490   __u8 ms_switch_code_flag;
    491   __u8 dec_id_ctrl_code_flag;
    492   __u8 ps_num;
    493 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    494   __u8 prg_service_name[119];
    495 } __packed;
    496 struct hci_ev_radio_text {
    497   __le16 pi_prg_id;
    498 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    499   __u8 pty_prg_type;
    500   __u8 ta_prg_code_type;
    501   __u8 txt_ab_flag;
    502   __u8 radio_txt[64];
    503 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    504 } __packed;
    505 struct hci_ev_af_list {
    506   __le32 tune_freq;
    507   __le16 pi_code;
    508 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    509   __u8 af_size;
    510   __u8 af_list[FM_AF_LIST_MAX_SIZE];
    511 } __packed;
    512 struct hci_ev_cmd_complete {
    513 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    514   __u8 num_hci_cmd_pkts;
    515   __le16 cmd_opcode;
    516 } __packed;
    517 struct hci_ev_cmd_status {
    518 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    519   __u8 status;
    520   __u8 num_hci_cmd_pkts;
    521   __le16 status_opcode;
    522 } __packed;
    523 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    524 struct hci_ev_srch_st {
    525   __le32 station_freq;
    526   __u8 rds_cap;
    527   __u8 pty;
    528 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    529   __le16 status_opcode;
    530 } __packed;
    531 struct hci_ev_rel_freq {
    532   __u8 rel_freq_msb;
    533 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    534   __u8 rel_freq_lsb;
    535 } __packed;
    536 struct hci_ev_srch_list_compl {
    537   __u8 num_stations_found;
    538 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    539   struct hci_ev_rel_freq rel_freq[20];
    540 } __packed;
    541 struct hci_fm_conf_rsp {
    542   __u8 status;
    543 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    544   struct hci_fm_recv_conf_req recv_conf_rsp;
    545 } __packed;
    546 struct hci_fm_get_trans_conf_rsp {
    547   __u8 status;
    548 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    549   struct hci_fm_trans_conf_req_struct trans_conf_rsp;
    550 } __packed;
    551 struct hci_fm_sig_threshold_rsp {
    552   __u8 status;
    553 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    554   __u8 sig_threshold;
    555 } __packed;
    556 struct hci_fm_station_rsp {
    557   struct hci_ev_tune_status station_rsp;
    558 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    559 } __packed;
    560 struct hci_fm_prgm_srv_rsp {
    561   __u8 status;
    562   struct hci_ev_prg_service prg_srv;
    563 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    564 } __packed;
    565 struct hci_fm_radio_txt_rsp {
    566   __u8 status;
    567   struct hci_ev_radio_text rd_txt;
    568 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    569 } __packed;
    570 struct hci_fm_af_list_rsp {
    571   __u8 status;
    572   struct hci_ev_af_list rd_txt;
    573 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    574 } __packed;
    575 struct hci_fm_data_rd_rsp {
    576   __u8 status;
    577   __u8 ret_data_len;
    578 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    579   __u8 data[DEFAULT_DATA_SIZE];
    580 } __packed;
    581 struct hci_fm_feature_list_rsp {
    582   __u8 status;
    583 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    584   __u8 feature_mask;
    585 } __packed;
    586 struct hci_fm_dbg_param_rsp {
    587   __u8 status;
    588 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    589   __u8 blend;
    590   __u8 soft_mute;
    591   __u8 inf_blend;
    592   __u8 inf_soft_mute;
    593 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    594   __u8 pilot_pil;
    595   __u8 io_verc;
    596   __u8 in_det_out;
    597 } __packed;
    598 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    599 #define CLKSPURID_INDEX0 0
    600 #define CLKSPURID_INDEX1 5
    601 #define CLKSPURID_INDEX2 10
    602 #define CLKSPURID_INDEX3 15
    603 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    604 #define CLKSPURID_INDEX4 20
    605 #define CLKSPURID_INDEX5 25
    606 #define MAX_SPUR_FREQ_LIMIT 30
    607 #define CKK_SPUR 0x3B
    608 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    609 #define SPUR_DATA_SIZE 0x4
    610 #define SPUR_ENTRIES_PER_ID 0x5
    611 #define COMPUTE_SPUR(val) ((((val) - (76000)) / (50)))
    612 #define GET_FREQ(val,bit) ((bit == 1) ? ((val) >> 8) : ((val) & 0xFF))
    613 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    614 #define GET_SPUR_ENTRY_LEVEL(val) ((val) / (5))
    615 struct hci_fm_spur_data {
    616   __u32 freq[MAX_SPUR_FREQ_LIMIT];
    617   __s8 rmssi[MAX_SPUR_FREQ_LIMIT];
    618 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    619   __u8 enable[MAX_SPUR_FREQ_LIMIT];
    620 } __packed;
    621 #define RADIO_HCI_DEV_REG 1
    622 #define RADIO_HCI_DEV_WRITE 2
    623 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    624 #define RDS_PTYPE 2
    625 #define RDS_PID_LOWER 1
    626 #define RDS_PID_HIGHER 0
    627 #define RDS_OFFSET 5
    628 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    629 #define RDS_PS_LENGTH_OFFSET 7
    630 #define RDS_STRING 8
    631 #define RDS_PS_DATA_OFFSET 8
    632 #define RDS_CONFIG_OFFSET 3
    633 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    634 #define RDS_AF_JUMP_OFFSET 4
    635 #define PI_CODE_OFFSET 4
    636 #define AF_SIZE_OFFSET 6
    637 #define AF_LIST_OFFSET 7
    638 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    639 #define RT_A_B_FLAG_OFFSET 4
    640 enum radio_state_t {
    641   FM_OFF,
    642   FM_RECV,
    643 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    644   FM_TRANS,
    645   FM_RESET,
    646   FM_CALIB,
    647   FM_TURNING_OFF,
    648 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    649   FM_RECV_TURNING_ON,
    650   FM_TRANS_TURNING_ON,
    651   FM_MAX_NO_STATES,
    652 };
    653 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    654 enum emphasis_type {
    655   FM_RX_EMP75 = 0x0,
    656   FM_RX_EMP50 = 0x1
    657 };
    658 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    659 enum channel_space_type {
    660   FM_RX_SPACE_200KHZ = 0x0,
    661   FM_RX_SPACE_100KHZ = 0x1,
    662   FM_RX_SPACE_50KHZ = 0x2
    663 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    664 };
    665 enum high_low_injection {
    666   AUTO_HI_LO_INJECTION = 0x0,
    667   LOW_SIDE_INJECTION = 0x1,
    668 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    669   HIGH_SIDE_INJECTION = 0x2
    670 };
    671 enum fm_rds_type {
    672   FM_RX_RDBS_SYSTEM = 0x0,
    673 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    674   FM_RX_RDS_SYSTEM = 0x1
    675 };
    676 enum iris_region_t {
    677   IRIS_REGION_US,
    678 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    679   IRIS_REGION_EU,
    680   IRIS_REGION_JAPAN,
    681   IRIS_REGION_JAPAN_WIDE,
    682   IRIS_REGION_OTHER
    683 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    684 };
    685 #define STD_BUF_SIZE (256)
    686 enum iris_buf_t {
    687   IRIS_BUF_SRCH_LIST,
    688 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    689   IRIS_BUF_EVENTS,
    690   IRIS_BUF_RT_RDS,
    691   IRIS_BUF_PS_RDS,
    692   IRIS_BUF_RAW_RDS,
    693 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    694   IRIS_BUF_AF_LIST,
    695   IRIS_BUF_PEEK,
    696   IRIS_BUF_SSBI_PEEK,
    697   IRIS_BUF_RDS_CNTRS,
    698 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    699   IRIS_BUF_RD_DEFAULT,
    700   IRIS_BUF_CAL_DATA,
    701   IRIS_BUF_RT_PLUS,
    702   IRIS_BUF_ERT,
    703 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    704   IRIS_BUF_SPUR,
    705   IRIS_BUF_MAX,
    706 };
    707 enum iris_xfr_t {
    708 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    709   IRIS_XFR_SYNC,
    710   IRIS_XFR_ERROR,
    711   IRIS_XFR_SRCH_LIST,
    712   IRIS_XFR_RT_RDS,
    713 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    714   IRIS_XFR_PS_RDS,
    715   IRIS_XFR_AF_LIST,
    716   IRIS_XFR_MAX
    717 };
    718 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    719 enum search_t {
    720   SEEK,
    721   SCAN,
    722   SCAN_FOR_STRONG,
    723 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    724   SCAN_FOR_WEAK,
    725   RDS_SEEK_PTY,
    726   RDS_SCAN_PTY,
    727   RDS_SEEK_PI,
    728 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    729   RDS_AF_JUMP,
    730 };
    731 enum spur_entry_levels {
    732   ENTRY_0,
    733 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    734   ENTRY_1,
    735   ENTRY_2,
    736   ENTRY_3,
    737   ENTRY_4,
    738 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    739   ENTRY_5,
    740 };
    741 #define REGION_US_EU_BAND_LOW 87500
    742 #define REGION_US_EU_BAND_HIGH 108000
    743 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    744 #define REGION_JAPAN_STANDARD_BAND_LOW 76000
    745 #define REGION_JAPAN_STANDARD_BAND_HIGH 90000
    746 #define REGION_JAPAN_WIDE_BAND_LOW 90000
    747 #define REGION_JAPAN_WIDE_BAND_HIGH 108000
    748 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    749 #define SRCH_MODE 0x07
    750 #define SRCH_DIR 0x08
    751 #define SCAN_DWELL 0x70
    752 #define SRCH_ON 0x80
    753 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    754 #define IOC_HRD_MUTE 0x03
    755 #define IOC_SFT_MUTE 0x01
    756 #define IOC_MON_STR 0x01
    757 #define IOC_SIG_BLND 0x01
    758 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    759 #define IOC_INTF_BLND 0x01
    760 #define IOC_ANTENNA 0x01
    761 #define RDS_ON 0x01
    762 #define RDS_BUF_SZ 100
    763 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    764 #define RDS_BLOCKS_NUM (4)
    765 #define BYTES_PER_BLOCK (3)
    766 #define MAX_PS_LENGTH (108)
    767 #define MAX_RT_LENGTH (64)
    768 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    769 #define RDS_GRP_CNTR_LEN (36)
    770 #define RX_RT_DATA_LENGTH (63)
    771 #define SRCH_DIR_UP (0)
    772 #define SRCH_DIR_DOWN (1)
    773 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    774 #define SEARCH_RDS_STNS_MODE_OFFSET 4
    775 #define PARAMS_PER_STATION 0x08
    776 #define STN_NUM_OFFSET 0x01
    777 #define STN_FREQ_OFFSET 0x02
    778 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    779 #define KHZ_TO_MHZ 1000
    780 #define GET_MSB(x) ((x >> 8) & 0xFF)
    781 #define GET_LSB(x) ((x) & 0xFF)
    782 #define CTRL_ON (1)
    783 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    784 #define CTRL_OFF (0)
    785 #define RIVA_PEEK_OPCODE 0x0D
    786 #define RIVA_POKE_OPCODE 0x0C
    787 #define PEEK_DATA_OFSET 0x1
    788 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    789 #define RIVA_PEEK_PARAM 0x6
    790 #define RIVA_PEEK_LEN_OFSET 0x6
    791 #define SSBI_PEEK_LEN 0x01
    792 #define PROCS_CALIB_MODE 1
    793 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    794 #define PROCS_CALIB_SIZE 23
    795 #define DC_CALIB_MODE 2
    796 #define DC_CALIB_SIZE 48
    797 #define RSB_CALIB_MODE 3
    798 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    799 #define RSB_CALIB_SIZE 4
    800 #define CALIB_DATA_OFSET 2
    801 #define CALIB_MODE_OFSET 1
    802 #define MAX_CALIB_SIZE 75
    803 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    804 #define INVALID_CHANNEL (0)
    805 #define VALID_CHANNEL (1)
    806 struct hci_fm_set_cal_req_proc {
    807   __u8 mode;
    808 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    809   __u8 data[PROCS_CALIB_SIZE];
    810 } __packed;
    811 struct hci_fm_set_cal_req_dc {
    812   __u8 mode;
    813 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    814   __u8 data[DC_CALIB_SIZE];
    815 } __packed;
    816 struct hci_cc_do_calibration_rsp {
    817   __u8 status;
    818 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    819   __u8 mode;
    820   __u8 data[MAX_CALIB_SIZE];
    821 } __packed;
    822 struct hci_fm_set_spur_table_req {
    823 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    824   __u8 mode;
    825   __u8 no_of_freqs_entries;
    826   __u8 spur_data[FM_SPUR_TBL_SIZE];
    827 } __packed;
    828 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    829 #define SIG_LEVEL_INTR (1 << 0)
    830 #define RDS_SYNC_INTR (1 << 1)
    831 #define AUDIO_CTRL_INTR (1 << 2)
    832 #define AF_JUMP_ENABLE (1 << 4)
    833 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    834 #endif
    835 
    836