33#define UIPC_VERSION_MAJOR 0x0001
34#define UIPC_VERSION_MINOR 0x0000
49typedef UINT8 tUIPC_STATUS;
52#define UIPC_OPEN_REQ 0x00
53#define UIPC_OPEN_RSP 0x01
54#define UIPC_CLOSE_REQ 0x02
55#define UIPC_CLOSE_RSP 0x03
62#define UIPC_OPEN_REQ_MSGLEN (1)
73#define UIPC_OPEN_RSP_MSGLEN (7)
80#define UIPC_CLOSE_REQ_MSGLEN (1)
87#define UIPC_CLOSE_RSP_MSGLEN (1)
95 tUIPC_CLOSE_REQ close_req;
98#define UIPC_MGMT_MSG_MAXLEN (sizeof(tUIPC_MSG))
100#define IPC_LOG_MSG_LEN 100
103 UINT32 trace_set_mask;
104 UINT8 msg[IPC_LOG_MSG_LEN];
106#define UIPC_LOG_MSGLEN (IPC_LOG_MSG_LEN + 4)
115#define SLIP_SYNC_TO_LITE_REQ 0
116#define SLIP_SYNC_TO_LITE_RESP 1
117#define SLIP_SYNC_TO_FULL_REQ 2
118#define SLIP_SYNC_TO_FULL_RESP 3
119#define SLIP_SYNC_NOTIFY 4
122#define SLIP_SYNC_SUCCESS 0
123#define SLIP_SYNC_FAILURE 1
135 UINT8 sliding_window_size;
136 BOOLEAN oof_flow_control;
137 BOOLEAN data_integrity_type;
148#define L2C_SYNC_TO_LITE_REQ 0
149#define L2C_SYNC_TO_LITE_RESP 1
150#define L2C_REMOVE_TO_LITE_REQ 2
151#define L2C_REMOVE_TO_LITE_RESP 3
152#define L2C_FLUSH_TO_FULL_IND 4
155#define L2C_SYNC_SUCCESS 0
156#define L2C_SYNC_FAILURE 1
164 UINT16 link_xmit_quota;
165 BOOLEAN is_flushable;
171 UINT16 light_xmit_quota;
172 UINT16 acl_data_size;
173 UINT16 non_flushable_pbf;
175 UINT8 multi_av_data_cong_start;
176 UINT8 multi_av_data_cong_end;
177 UINT8 multi_av_data_cong_discard;
179 tL2C_STREAM_INFO stream[BTM_SYNC_INFO_NUM_STR];
180} tL2C_SYNC_TO_LITE_REQ;
186} tL2C_SYNC_TO_LITE_RESP_STREAM;
191 UINT16 light_xmit_unacked;
193 tL2C_SYNC_TO_LITE_RESP_STREAM stream[BTM_SYNC_INFO_NUM_STR];
194} tL2C_SYNC_TO_LITE_RESP;
199 UINT16 light_xmit_quota;
201 UINT16 lcid[BTM_SYNC_INFO_NUM_STR];
202} tL2C_REMOVE_TO_LITE_REQ;
204typedef tL2C_SYNC_TO_LITE_RESP tL2C_REMOVE_TO_LITE_RESP;
205typedef tL2C_REMOVE_TO_LITE_REQ tL2C_FLUSH_TO_FULL_IND;
210 tL2C_SYNC_TO_LITE_REQ sync_req;
211 tL2C_SYNC_TO_LITE_RESP sync_resp;
212 tL2C_REMOVE_TO_LITE_REQ remove_req;
213 tL2C_REMOVE_TO_LITE_RESP remove_resp;
214 tL2C_FLUSH_TO_FULL_IND flush_ind;
224#define AVDT_SYNC_TO_LITE_REQ 0
225#define AVDT_SYNC_TO_LITE_RESP 1
226#define AVDT_RESYNC_TO_LITE_REQ 2
227#define AVDT_RESYNC_TO_LITE_RESP 3
228#define AVDT_SYNC_TO_FULL_REQ 4
229#define AVDT_SYNC_TO_FULL_RESP 5
230#define AVDT_REMOVE_TO_LITE_REQ 6
231#define AVDT_REMOVE_TO_LITE_RESP 7
232#define AVDT_SYNC_TO_BTC_LITE_REQ 8
233#define AVDT_SYNC_TO_BTC_LITE_RESP 9
236#define AVDT_SYNC_SUCCESS 0
237#define AVDT_SYNC_FAILURE 1
264 UINT8 mux_tsid_media;
266} tAVDT_SCB_SYNC_INFO;
273 tAVDT_SCB_SYNC_INFO scb_info[BTM_SYNC_INFO_NUM_STR];
280 tAVDT_SYNC_INFO sync_info;
292#define BTA_AV_SYNC_TO_LITE_REQ 0
293#define BTA_AV_SYNC_TO_LITE_RESP 1
294#define BTA_AV_STR_START_TO_LITE_REQ 2
295#define BTA_AV_STR_START_TO_LITE_RESP 3
296#define BTA_AV_STR_STOP_TO_LITE_REQ 4
297#define BTA_AV_STR_STOP_TO_LITE_RESP 5
298#define BTA_AV_STR_CLEANUP_TO_LITE_REQ 6
299#define BTA_AV_STR_CLEANUP_TO_LITE_RESP 7
300#define BTA_AV_STR_SUSPEND_TO_LITE_REQ 8
301#define BTA_AV_STR_SUSPEND_TO_LITE_RESP 9
302#define BTA_AV_SYNC_ERROR_RESP 10
305#define A2DP_START_REQ 11
306#define A2DP_START_RESP 12
307#define A2DP_STOP_REQ 13
308#define A2DP_STOP_RESP 14
309#define A2DP_CLEANUP_REQ 15
310#define A2DP_CLEANUP_RESP 16
311#define A2DP_SUSPEND_REQ 17
312#define A2DP_SUSPEND_RESP 18
314#define A2DP_JITTER_DONE_IND 41
316#define AUDIO_CODEC_CONFIG_REQ 19
317#define AUDIO_CODEC_CONFIG_RESP 20
318#define AUDIO_CODEC_SET_BITRATE_REQ 21
319#define AUDIO_CODEC_FLUSH_REQ 22
320#define AUDIO_ROUTE_CONFIG_REQ 23
321#define AUDIO_ROUTE_CONFIG_RESP 24
322#define AUDIO_MIX_CONFIG_REQ 25
323#define AUDIO_MIX_CONFIG_RESP 26
324#define AUDIO_BURST_FRAMES_IND 27
325#define AUDIO_BURST_END_IND 28
326#define AUDIO_EQ_MODE_CONFIG_REQ 29
327#define AUDIO_SCALE_CONFIG_REQ 30
330#define AUDIO_SUB_ROUTE_REQ 51
331#define AUDIO_SUB_ROUTE_RESP 52
365#define AUDIO_CODEC_NONE 0x0000
366#define AUDIO_CODEC_SBC_ENC 0x0001
367#define AUDIO_CODEC_SBC_DEC 0x0002
368#define AUDIO_CODEC_MP3_ENC 0x0004
369#define AUDIO_CODEC_MP3_DEC 0x0008
370#define AUDIO_CODEC_AAC_ENC 0x0010
371#define AUDIO_CODEC_AAC_DEC 0x0020
372#define AUDIO_CODEC_AAC_PLUS_ENC 0x0040
373#define AUDIO_CODEC_AAC_PLUS_DEC 0x0080
374#define AUDIO_CODEC_MP2_ENC 0x0100
375#define AUDIO_CODEC_MP2_DEC 0x0200
376#define AUDIO_CODEC_MP2_5_ENC 0x0400
377#define AUDIO_CODEC_MP2_5_DEC 0x0800
379typedef UINT16 tAUDIO_CODEC_TYPE;
383#define CODEC_INFO_SBC_SF_16K 0x00
384#define CODEC_INFO_SBC_SF_32K 0x01
385#define CODEC_INFO_SBC_SF_44K 0x02
386#define CODEC_INFO_SBC_SF_48K 0x03
388#define CODEC_INFO_SBC_BLOCK_4 0x00
389#define CODEC_INFO_SBC_BLOCK_8 0x01
390#define CODEC_INFO_SBC_BLOCK_12 0x02
391#define CODEC_INFO_SBC_BLOCK_16 0x03
393#define CODEC_INFO_SBC_CH_MONO 0x00
394#define CODEC_INFO_SBC_CH_DUAL 0x01
395#define CODEC_INFO_SBC_CH_STEREO 0x02
396#define CODEC_INFO_SBC_CH_JS 0x03
398#define CODEC_INFO_SBC_ALLOC_LOUDNESS 0x00
399#define CODEC_INFO_SBC_ALLOC_SNR 0x01
401#define CODEC_INFO_SBC_SUBBAND_4 0x00
402#define CODEC_INFO_SBC_SUBBAND_8 0x01
405#define CODEC_INFO_MP25_ID 0x00
406#define CODEC_INFO_RESERVE 0x01
407#define CODEC_INFO_MP2_ID 0x02
408#define CODEC_INFO_MP3_ID 0x03
410#define CODEC_INFO_MP3_PROTECTION_ON 0x00
411#define CODEC_INFO_MP3_PROTECTION_OFF 0x01
413#define CODEC_INFO_MP3_BR_IDX_FREE 0x00
414#define CODEC_INFO_MP3_BR_IDX_32K 0x01
415#define CODEC_INFO_MP3_BR_IDX_40K 0x02
416#define CODEC_INFO_MP3_BR_IDX_48K 0x03
417#define CODEC_INFO_MP3_BR_IDX_56K 0x04
418#define CODEC_INFO_MP3_BR_IDX_64K 0x05
419#define CODEC_INFO_MP3_BR_IDX_80K 0x06
420#define CODEC_INFO_MP3_BR_IDX_96K 0x07
421#define CODEC_INFO_MP3_BR_IDX_112K 0x08
422#define CODEC_INFO_MP3_BR_IDX_128K 0x09
423#define CODEC_INFO_MP3_BR_IDX_160K 0x0A
424#define CODEC_INFO_MP3_BR_IDX_192K 0x0B
425#define CODEC_INFO_MP3_BR_IDX_224K 0x0C
426#define CODEC_INFO_MP3_BR_IDX_256K 0x0D
427#define CODEC_INFO_MP3_BR_IDX_320K 0x0E
429#define CODEC_INFO_MP3_SF_44K 0x00
430#define CODEC_INFO_MP3_SF_48K 0x01
431#define CODEC_INFO_MP3_SF_32K 0x02
433#define CODEC_INFO_MP3_MODE_STEREO 0x00
434#define CODEC_INFO_MP3_MODE_JS 0x01
435#define CODEC_INFO_MP3_MODE_DUAL 0x02
436#define CODEC_INFO_MP3_MODE_SINGLE 0x03
439#define CODEC_INFO_MP3_MODE_EXT_OFF_OFF 0x00
440#define CODEC_INFO_MP3_MODE_EXT_ON_OFF 0x01
441#define CODEC_INFO_MP3_MODE_EXT_OFF_ON 0x02
442#define CODEC_INFO_MP3_MODE_EXT_ON_ON 0x03
445#define CODEC_INFO_MP2_PROTECTION_ON 0x00
446#define CODEC_INFO_MP2_PROTECTION_OFF 0x01
448#define CODEC_INFO_MP2_BR_IDX_FREE 0x00
449#define CODEC_INFO_MP2_BR_IDX_8K 0x01
450#define CODEC_INFO_MP2_BR_IDX_16K 0x02
451#define CODEC_INFO_MP2_BR_IDX_24K 0x03
452#define CODEC_INFO_MP2_BR_IDX_32K 0x04
453#define CODEC_INFO_MP2_BR_IDX_40K 0x05
454#define CODEC_INFO_MP2_BR_IDX_48K 0x06
455#define CODEC_INFO_MP2_BR_IDX_56K 0x07
456#define CODEC_INFO_MP2_BR_IDX_64K 0x08
457#define CODEC_INFO_MP2_BR_IDX_80K 0x09
458#define CODEC_INFO_MP2_BR_IDX_96K 0x0A
459#define CODEC_INFO_MP2_BR_IDX_112K 0x0B
460#define CODEC_INFO_MP2_BR_IDX_128K 0x0C
461#define CODEC_INFO_MP2_BR_IDX_144K 0x0D
462#define CODEC_INFO_MP2_BR_IDX_160K 0x0E
464#define CODEC_INFO_MP2_SF_22K 0x00
465#define CODEC_INFO_MP2_SF_24K 0x01
466#define CODEC_INFO_MP2_SF_16K 0x02
468#define CODEC_INFO_MP2_MODE_STEREO 0x00
469#define CODEC_INFO_MP2_MODE_JS 0x01
470#define CODEC_INFO_MP2_MODE_DUAL 0x02
471#define CODEC_INFO_MP2_MODE_SINGLE 0x03
474#define CODEC_INFO_MP2_MODE_EXT_OFF_OFF 0x00
475#define CODEC_INFO_MP2_MODE_EXT_ON_OFF 0x01
476#define CODEC_INFO_MP2_MODE_EXT_OFF_ON 0x02
477#define CODEC_INFO_MP2_MODE_EXT_ON_ON 0x03
479#define CODEC_INFO_MP2_SAMPLE_PER_FRAME 576
483#define CODEC_INFO_MP25_PROTECTION_ON 0x00
484#define CODEC_INFO_MP25_PROTECTION_OFF 0x01
486#define CODEC_INFO_MP25_BR_IDX_FREE 0x00
487#define CODEC_INFO_MP25_BR_IDX_8K 0x01
488#define CODEC_INFO_MP25_BR_IDX_16K 0x02
489#define CODEC_INFO_MP25_BR_IDX_24K 0x03
490#define CODEC_INFO_MP25_BR_IDX_32K 0x04
491#define CODEC_INFO_MP25_BR_IDX_40K 0x05
492#define CODEC_INFO_MP25_BR_IDX_48K 0x06
493#define CODEC_INFO_MP25_BR_IDX_56K 0x07
494#define CODEC_INFO_MP25_BR_IDX_64K 0x08
495#define CODEC_INFO_MP25_BR_IDX_80K 0x09
496#define CODEC_INFO_MP25_BR_IDX_96K 0x0A
497#define CODEC_INFO_MP25_BR_IDX_112K 0x0B
498#define CODEC_INFO_MP25_BR_IDX_128K 0x0C
499#define CODEC_INFO_MP25_BR_IDX_144K 0x0D
500#define CODEC_INFO_MP25_BR_IDX_160K 0x0E
502#define CODEC_INFO_MP25_SF_11K 0x00
503#define CODEC_INFO_MP25_SF_12K 0x01
504#define CODEC_INFO_MP25_SF_8K 0x02
506#define CODEC_INFO_MP25_MODE_STEREO 0x00
507#define CODEC_INFO_MP25_MODE_JS 0x01
508#define CODEC_INFO_MP25_MODE_DUAL 0x02
509#define CODEC_INFO_MP25_MODE_SINGLE 0x03
512#define CODEC_INFO_MP25_MODE_EXT_OFF_OFF 0x00
513#define CODEC_INFO_MP25_MODE_EXT_ON_OFF 0x01
514#define CODEC_INFO_MP25_MODE_EXT_OFF_ON 0x02
515#define CODEC_INFO_MP25_MODE_EXT_ON_ON 0x03
517#define CODEC_INFO_MP25_SAMPLE_PER_FRAME 576
520#define CODEC_INFO_AAC_SF_IDX_96K 0x0
521#define CODEC_INFO_AAC_SF_IDX_88K 0x1
522#define CODEC_INFO_AAC_SF_IDX_64K 0x2
523#define CODEC_INFO_AAC_SF_IDX_48K 0x3
524#define CODEC_INFO_AAC_SF_IDX_44K 0x4
525#define CODEC_INFO_AAC_SF_IDX_32K 0x5
526#define CODEC_INFO_AAC_SF_IDX_24K 0x6
527#define CODEC_INFO_AAC_SF_IDX_22K 0x7
528#define CODEC_INFO_AAC_SF_IDX_16K 0x8
529#define CODEC_INFO_AAC_SF_IDX_12K 0x9
530#define CODEC_INFO_AAC_SF_IDX_11K 0xA
531#define CODEC_INFO_AAC_SF_IDX_08K 0xB
532#define CODEC_INFO_AAC_SF_IDX_RESERVE 0xC
534#define CODEC_INFO_AAC_BR_RATE_48K 288000
535#define CODEC_INFO_AAC_BR_RATE_44K 264600
536#define CODEC_INFO_AAC_BR_RATE_32K 192000
539#define CODEC_INFO_AAC_1_CH 1
540#define CODEC_INFO_AAC_2_CH 2
541#define CODEC_INFO_AAC_3_CH 3
542#define CODEC_INFO_AAC_4_CH 4
543#define CODEC_INFO_AAC_5_CH 5
544#define CODEC_INFO_AAC_6_CH 6
545#define CODEC_INFO_AAC_7_CH 7
582 UINT16 sampling_freq;
600 tAUDIO_CODEC_TYPE codec_type;
604#define AUDIO_CONFIG_SUCCESS 0x00
605#define AUDIO_CONFIG_NOT_SUPPORTED 0x01
606#define AUDIO_CONFIG_FAIL_OUT_OF_MEMORY 0x02
607#define AUDIO_CONFIG_FAIL_CODEC_USED 0x03
608#define AUDIO_CONFIG_FAIL_ROUTE 0x04
609typedef UINT8 tAUDIO_CONFIG_STATUS;
614 tAUDIO_CONFIG_STATUS status;
620 tAUDIO_CODEC_TYPE codec_type;
629#define AUDIO_ROUTE_SRC_FMRX 0x00
630#define AUDIO_ROUTE_SRC_I2S 0x01
631#define AUDIO_ROUTE_SRC_ADC 0x02
632#define AUDIO_ROUTE_SRC_HOST 0x03
633#define AUDIO_ROUTE_SRC_PTU 0x04
634#define AUDIO_ROUTE_SRC_BTSNK 0x05
635#define AUDIO_ROUTE_SRC_NONE 0x80
636#define MAX_AUDIO_ROUTE_SRC 6
637typedef UINT8 tAUDIO_ROUTE_SRC;
639#define AUDIO_ROUTE_MIX_NONE 0x00
640#define AUDIO_ROUTE_MIX_HOST 0x01
641#define AUDIO_ROUTE_MIX_PCM 0x02
642#define AUDIO_ROUTE_MIX_CHIRP 0x03
643#define AUDIO_ROUTE_MIX_I2S 0x04
644#define AUDIO_ROUTE_MIX_ADC 0x05
645#define AUDIO_ROUTE_MIX_RESERVED 0x06
646#define MAX_AUDIO_ROUTE_MIX 7
647typedef UINT8 tAUDIO_ROUTE_MIX;
649#define AUDIO_ROUTE_OUT_NONE 0x0000
650#define AUDIO_ROUTE_OUT_BTA2DP 0x0001
651#define AUDIO_ROUTE_OUT_FMTX 0x0002
652#define AUDIO_ROUTE_OUT_BTSCO 0x0004
653#define AUDIO_ROUTE_OUT_HOST 0x0008
654#define AUDIO_ROUTE_OUT_DAC 0x0010
655#define AUDIO_ROUTE_OUT_I2S 0x0020
656#define AUDIO_ROUTE_OUT_BTA2DP_DAC 0x0040
657#define AUDIO_ROUTE_OUT_BTA2DP_I2S 0x0080
658#define AUDIO_ROUTE_OUT_BTSCO_DAC 0x0100
659#define AUDIO_ROUTE_OUT_BTSCO_I2S 0x0200
660#define AUDIO_ROUTE_OUT_HOST_BTA2DP 0x0400
661#define AUDIO_ROUTE_OUT_HOST_BTSCO 0x0800
662#define AUDIO_ROUTE_OUT_HOST_DAC 0x1000
663#define AUDIO_ROUTE_OUT_HOST_I2S 0x2000
664#define AUDIO_ROUTE_OUT_DAC_I2S 0x4000
665#define AUDIO_ROUTE_OUT_RESERVED_2 0x8000
667#define MAX_AUDIO_SINGLE_ROUTE_OUT 6
668#define MAX_AUDIO_MULTI_ROUTE_OUT 16
669typedef UINT16 tAUDIO_MULTI_ROUTE_OUT;
670typedef UINT8 tAUDIO_ROUTE_OUT;
672#define AUDIO_ROUTE_SF_8K 0x00
673#define AUDIO_ROUTE_SF_16K 0x01
674#define AUDIO_ROUTE_SF_32K 0x02
675#define AUDIO_ROUTE_SF_44_1K 0x03
676#define AUDIO_ROUTE_SF_48K 0x04
677#define AUDIO_ROUTE_SF_11K 0x05
678#define AUDIO_ROUTE_SF_12K 0x06
679#define AUDIO_ROUTE_SF_22K 0x07
680#define AUDIO_ROUTE_SF_24K 0x08
681#define AUDIO_ROUTE_SF_NA 0xFF
682typedef UINT8 tAUDIO_ROUTE_SF;
684#define AUDIO_ROUTE_EQ_BASS_BOOST 0x00
685#define AUDIO_ROUTE_EQ_CLASSIC 0x01
686#define AUDIO_ROUTE_EQ_JAZZ 0x02
687#define AUDIO_ROUTE_EQ_LIVE 0x03
688#define AUDIO_ROUTE_EQ_NORMAL 0x04
689#define AUDIO_ROUTE_EQ_ROCK 0x05
690#define AUDIO_ROUTE_EQ_BYPASS 0x06
692#define AUDIO_ROUTE_DIGITAL_VOLUME_CONTROL 0x07
694#define AUDIO_ROUTE_EQ_CONFIG_GAIN 0xFF
695typedef UINT8 tAUDIO_ROUTE_EQ;
700 tAUDIO_ROUTE_SRC src;
701 tAUDIO_ROUTE_SF src_sf;
702 tAUDIO_ROUTE_OUT out;
703 tAUDIO_ROUTE_SF out_codec_sf;
704 tAUDIO_ROUTE_SF out_i2s_sf;
705 tAUDIO_ROUTE_EQ eq_mode;
711 tAUDIO_CONFIG_STATUS status;
750 tAUDIO_ROUTE_MIX mix_src;
751 tAUDIO_ROUTE_SF mix_src_sf;
759 tAUDIO_CONFIG_STATUS status;
782 tAUDIO_ROUTE_EQ eq_mode;
792typedef UINT8 tBTA_AV_DUAL_STACK_EVT;
809 tBTA_AV_DUAL_STACK_EVT event;
812 UINT8 multi_av_supported;
818 tBTA_AV_DUAL_STACK_EVT event;
826 UINT16 bit_rate_busy;
827 UINT16 bit_rate_swampd;
829 UINT8 codec_info[AVDT_CODEC_SIZE];
836 tBTA_AV_DUAL_STACK_EVT event;
838 UINT8 audio_open_cnt;
840 UINT8 start_stop_flag;
845 tBTA_AV_DUAL_STACK_EVT event;
847 UINT8 audio_open_cnt;
862 tBTA_AV_DUAL_STACK_EVT event;