1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31#ifndef _HPI_H_
32#define _HPI_H_
33
34
35
36
37
38#define HPI_VERSION_CONSTRUCTOR(maj, min, rel) \
39 ((maj << 16) + (min << 8) + rel)
40
41#define HPI_VER_MAJOR(v) ((int)(v >> 16))
42#define HPI_VER_MINOR(v) ((int)((v >> 8) & 0xFF))
43#define HPI_VER_RELEASE(v) ((int)(v & 0xFF))
44
45
46#define HPI_VER HPI_VERSION_CONSTRUCTOR(4L, 6, 0)
47#define HPI_VER_STRING "4.06.00"
48
49
50#define HPI_LIB_VER HPI_VERSION_CONSTRUCTOR(9, 0, 0)
51
52#include <linux/types.h>
53#define HPI_BUILD_EXCLUDE_DEPRECATED
54#define HPI_BUILD_KERNEL_MODE
55
56
57
58
59
60
61
62
63
64enum HPI_FORMATS {
65
66 HPI_FORMAT_MIXER_NATIVE = 0,
67
68 HPI_FORMAT_PCM8_UNSIGNED = 1,
69
70 HPI_FORMAT_PCM16_SIGNED = 2,
71
72 HPI_FORMAT_MPEG_L1 = 3,
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102 HPI_FORMAT_MPEG_L2 = 4,
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135 HPI_FORMAT_MPEG_L3 = 5,
136
137 HPI_FORMAT_DOLBY_AC2 = 6,
138
139 HPI_FORMAT_DOLBY_AC3 = 7,
140
141 HPI_FORMAT_PCM16_BIGENDIAN = 8,
142
143 HPI_FORMAT_AA_TAGIT1_HITS = 9,
144
145 HPI_FORMAT_AA_TAGIT1_INSERTS = 10,
146
147
148
149
150 HPI_FORMAT_PCM32_SIGNED = 11,
151
152 HPI_FORMAT_RAW_BITSTREAM = 12,
153
154 HPI_FORMAT_AA_TAGIT1_HITS_EX1 = 13,
155
156
157
158
159 HPI_FORMAT_PCM32_FLOAT = 14,
160
161 HPI_FORMAT_PCM24_SIGNED = 15,
162
163 HPI_FORMAT_OEM1 = 16,
164
165 HPI_FORMAT_OEM2 = 17,
166
167 HPI_FORMAT_UNDEFINED = 0xffff
168};
169
170
171
172
173
174enum HPI_STREAM_STATES {
175
176 HPI_STATE_STOPPED = 1,
177
178 HPI_STATE_PLAYING = 2,
179
180 HPI_STATE_RECORDING = 3,
181
182 HPI_STATE_DRAINED = 4,
183
184 HPI_STATE_SINEGEN = 5,
185
186
187 HPI_STATE_WAIT = 6
188};
189
190
191
192
193enum HPI_SOURCENODES {
194
195
196
197
198 HPI_SOURCENODE_NONE = 100,
199
200 HPI_SOURCENODE_OSTREAM = 101,
201
202 HPI_SOURCENODE_LINEIN = 102,
203 HPI_SOURCENODE_AESEBU_IN = 103,
204 HPI_SOURCENODE_TUNER = 104,
205 HPI_SOURCENODE_RF = 105,
206 HPI_SOURCENODE_CLOCK_SOURCE = 106,
207 HPI_SOURCENODE_RAW_BITSTREAM = 107,
208 HPI_SOURCENODE_MICROPHONE = 108,
209
210
211 HPI_SOURCENODE_COBRANET = 109,
212 HPI_SOURCENODE_ANALOG = 110,
213 HPI_SOURCENODE_ADAPTER = 111,
214
215 HPI_SOURCENODE_LAST_INDEX = 111
216
217};
218
219
220
221
222
223enum HPI_DESTNODES {
224
225
226
227
228 HPI_DESTNODE_NONE = 200,
229
230 HPI_DESTNODE_ISTREAM = 201,
231 HPI_DESTNODE_LINEOUT = 202,
232 HPI_DESTNODE_AESEBU_OUT = 203,
233 HPI_DESTNODE_RF = 204,
234 HPI_DESTNODE_SPEAKER = 205,
235
236
237 HPI_DESTNODE_COBRANET = 206,
238 HPI_DESTNODE_ANALOG = 207,
239
240
241 HPI_DESTNODE_LAST_INDEX = 207
242
243};
244
245
246
247
248
249enum HPI_CONTROLS {
250 HPI_CONTROL_GENERIC = 0,
251 HPI_CONTROL_CONNECTION = 1,
252 HPI_CONTROL_VOLUME = 2,
253 HPI_CONTROL_METER = 3,
254 HPI_CONTROL_MUTE = 4,
255 HPI_CONTROL_MULTIPLEXER = 5,
256
257 HPI_CONTROL_AESEBU_TRANSMITTER = 6,
258 HPI_CONTROL_AESEBUTX = 6,
259
260 HPI_CONTROL_AESEBU_RECEIVER = 7,
261 HPI_CONTROL_AESEBURX = 7,
262
263 HPI_CONTROL_LEVEL = 8,
264 HPI_CONTROL_TUNER = 9,
265
266 HPI_CONTROL_VOX = 11,
267
268
269
270 HPI_CONTROL_CHANNEL_MODE = 15,
271
272 HPI_CONTROL_BITSTREAM = 16,
273 HPI_CONTROL_SAMPLECLOCK = 17,
274 HPI_CONTROL_MICROPHONE = 18,
275 HPI_CONTROL_PARAMETRIC_EQ = 19,
276 HPI_CONTROL_EQUALIZER = 19,
277
278 HPI_CONTROL_COMPANDER = 20,
279 HPI_CONTROL_COBRANET = 21,
280 HPI_CONTROL_TONEDETECTOR = 22,
281 HPI_CONTROL_SILENCEDETECTOR = 23,
282 HPI_CONTROL_PAD = 24,
283 HPI_CONTROL_SRC = 25,
284 HPI_CONTROL_UNIVERSAL = 26,
285
286
287 HPI_CONTROL_LAST_INDEX = 26
288
289};
290
291
292
293
294
295
296enum HPI_ADAPTER_PROPERTIES {
297
298
299
300
301
302
303
304 HPI_ADAPTER_PROPERTY_ERRATA_1 = 1,
305
306
307
308
309 HPI_ADAPTER_PROPERTY_GROUPING = 2,
310
311
312
313
314
315
316 HPI_ADAPTER_PROPERTY_ENABLE_SSX2 = 3,
317
318
319
320
321
322
323
324
325
326 HPI_ADAPTER_PROPERTY_SSX2_SETTING = 4,
327
328
329
330
331
332
333
334
335 HPI_ADAPTER_PROPERTY_IRQ_RATE = 5,
336
337
338 HPI_ADAPTER_PROPERTY_READONLYBASE = 256,
339
340
341
342
343
344
345 HPI_ADAPTER_PROPERTY_LATENCY = 256,
346
347
348
349
350
351
352
353 HPI_ADAPTER_PROPERTY_GRANULARITY = 257,
354
355
356
357
358 HPI_ADAPTER_PROPERTY_CURCHANNELS = 258,
359
360
361
362
363
364
365 HPI_ADAPTER_PROPERTY_SOFTWARE_VERSION = 259,
366
367
368
369
370
371
372 HPI_ADAPTER_PROPERTY_MAC_ADDRESS_MSB = 260,
373
374
375
376
377
378 HPI_ADAPTER_PROPERTY_MAC_ADDRESS_LSB = 261,
379
380
381
382
383
384
385
386
387
388 HPI_ADAPTER_PROPERTY_EXTENDED_ADAPTER_TYPE = 262,
389
390
391 HPI_ADAPTER_PROPERTY_LOGTABLEN = 263,
392 HPI_ADAPTER_PROPERTY_LOGTABBEG = 264,
393
394
395
396
397
398
399 HPI_ADAPTER_PROPERTY_IP_ADDRESS = 265,
400
401
402
403
404
405
406 HPI_ADAPTER_PROPERTY_BUFFER_UPDATE_COUNT = 266,
407
408
409
410
411
412
413
414
415
416
417
418
419
420 HPI_ADAPTER_PROPERTY_INTERVAL = 267,
421
422
423
424
425 HPI_ADAPTER_PROPERTY_CAPS1 = 268,
426
427
428
429
430 HPI_ADAPTER_PROPERTY_CAPS2 = 269,
431
432
433
434 HPI_ADAPTER_PROPERTY_SYNC_HEADER_CONNECTIONS = 270,
435
436
437
438
439
440
441 HPI_ADAPTER_PROPERTY_SUPPORTS_SSX2 = 271,
442
443
444
445
446
447 HPI_ADAPTER_PROPERTY_SUPPORTS_IRQ = 272
448};
449
450
451
452
453
454
455enum HPI_ADAPTER_MODE_CMDS {
456
457 HPI_ADAPTER_MODE_SET = 0,
458
459
460 HPI_ADAPTER_MODE_QUERY = 1
461};
462
463
464
465
466
467
468
469
470enum HPI_ADAPTER_MODES {
471
472
473
474
475
476
477
478
479
480
481 HPI_ADAPTER_MODE_4OSTREAM = 1,
482
483
484
485
486
487
488 HPI_ADAPTER_MODE_6OSTREAM = 2,
489
490
491
492
493
494
495 HPI_ADAPTER_MODE_8OSTREAM = 3,
496
497
498
499
500
501
502 HPI_ADAPTER_MODE_16OSTREAM = 4,
503
504
505
506
507 HPI_ADAPTER_MODE_1OSTREAM = 5,
508
509
510
511
512 HPI_ADAPTER_MODE_1 = 6,
513
514
515
516
517 HPI_ADAPTER_MODE_2 = 7,
518
519
520
521
522 HPI_ADAPTER_MODE_3 = 8,
523
524
525
526
527
528
529 HPI_ADAPTER_MODE_MULTICHANNEL = 9,
530
531
532
533
534
535
536 HPI_ADAPTER_MODE_12OSTREAM = 10,
537
538
539
540
541 HPI_ADAPTER_MODE_9OSTREAM = 11,
542
543
544
545
546
547 HPI_ADAPTER_MODE_MONO = 12,
548
549
550
551
552 HPI_ADAPTER_MODE_LOW_LATENCY = 13
553};
554
555
556
557#define HPI_CAPABILITY_NONE (0)
558#define HPI_CAPABILITY_MPEG_LAYER3 (1)
559
560
561
562#define HPI_CAPABILITY_MAX 1
563
564
565
566
567
568
569
570
571
572enum HPI_MPEG_ANC_MODES {
573
574 HPI_MPEG_ANC_HASENERGY = 0,
575
576
577
578
579 HPI_MPEG_ANC_RAW = 1
580};
581
582
583
584
585enum HPI_ISTREAM_MPEG_ANC_ALIGNS {
586
587 HPI_MPEG_ANC_ALIGN_LEFT = 0,
588
589 HPI_MPEG_ANC_ALIGN_RIGHT = 1
590};
591
592
593
594
595
596
597
598
599
600enum HPI_MPEG_MODES {
601
602
603
604 HPI_MPEG_MODE_DEFAULT = 0,
605
606 HPI_MPEG_MODE_STEREO = 1,
607
608 HPI_MPEG_MODE_JOINTSTEREO = 2,
609
610 HPI_MPEG_MODE_DUALCHANNEL = 3
611};
612
613
614
615
616
617#define HPI_MIXER_GET_CONTROL_MULTIPLE_CHANGED (0)
618#define HPI_MIXER_GET_CONTROL_MULTIPLE_RESET (1)
619
620
621
622
623
624enum HPI_MIXER_STORE_COMMAND {
625
626 HPI_MIXER_STORE_SAVE = 1,
627
628 HPI_MIXER_STORE_RESTORE = 2,
629
630 HPI_MIXER_STORE_DELETE = 3,
631
632 HPI_MIXER_STORE_ENABLE = 4,
633
634 HPI_MIXER_STORE_DISABLE = 5,
635
636 HPI_MIXER_STORE_SAVE_SINGLE = 6
637};
638
639
640
641
642
643
644
645
646
647
648enum HPI_SWITCH_STATES {
649 HPI_SWITCH_OFF = 0,
650 HPI_SWITCH_ON = 1
651};
652
653
654
655
656
657
658#define HPI_UNITS_PER_dB 100
659
660
661
662#define HPI_GAIN_OFF (-100 * HPI_UNITS_PER_dB)
663
664
665
666
667#define HPI_BITMASK_ALL_CHANNELS (0xFFFFFFFF)
668
669
670
671
672#define HPI_METER_MINIMUM (-150 * HPI_UNITS_PER_dB)
673
674
675
676
677enum HPI_VOLUME_AUTOFADES {
678
679 HPI_VOLUME_AUTOFADE_LOG = 2,
680
681 HPI_VOLUME_AUTOFADE_LINEAR = 3
682};
683
684
685
686
687
688
689
690enum HPI_AESEBU_FORMATS {
691
692 HPI_AESEBU_FORMAT_AESEBU = 1,
693
694 HPI_AESEBU_FORMAT_SPDIF = 2
695};
696
697
698
699
700
701
702enum HPI_AESEBU_ERRORS {
703
704 HPI_AESEBU_ERROR_NOT_LOCKED = 0x01,
705
706 HPI_AESEBU_ERROR_POOR_QUALITY = 0x02,
707
708 HPI_AESEBU_ERROR_PARITY_ERROR = 0x04,
709
710 HPI_AESEBU_ERROR_BIPHASE_VIOLATION = 0x08,
711
712 HPI_AESEBU_ERROR_VALIDITY = 0x10,
713
714 HPI_AESEBU_ERROR_CRC = 0x20
715};
716
717
718
719
720
721#define HPI_PAD_CHANNEL_NAME_LEN 16
722
723#define HPI_PAD_ARTIST_LEN 64
724
725#define HPI_PAD_TITLE_LEN 64
726
727#define HPI_PAD_COMMENT_LEN 256
728
729#define HPI_PAD_PROGRAM_TYPE_INVALID 0xffff
730
731
732
733
734
735enum eHPI_RDS_type {
736 HPI_RDS_DATATYPE_RDS = 0,
737 HPI_RDS_DATATYPE_RBDS = 1
738};
739
740
741
742
743
744
745enum HPI_TUNER_BAND {
746 HPI_TUNER_BAND_AM = 1,
747 HPI_TUNER_BAND_FM = 2,
748 HPI_TUNER_BAND_TV_NTSC_M = 3,
749 HPI_TUNER_BAND_TV = 3,
750 HPI_TUNER_BAND_FM_STEREO = 4,
751 HPI_TUNER_BAND_AUX = 5,
752 HPI_TUNER_BAND_TV_PAL_BG = 6,
753 HPI_TUNER_BAND_TV_PAL_I = 7,
754 HPI_TUNER_BAND_TV_PAL_DK = 8,
755 HPI_TUNER_BAND_TV_SECAM_L = 9,
756 HPI_TUNER_BAND_LAST = 9
757};
758
759
760
761
762
763
764
765enum HPI_TUNER_MODES {
766 HPI_TUNER_MODE_RSS = 1,
767 HPI_TUNER_MODE_RDS = 2
768};
769
770
771
772
773
774
775enum HPI_TUNER_MODE_VALUES {
776
777 HPI_TUNER_MODE_RSS_DISABLE = 0,
778 HPI_TUNER_MODE_RSS_ENABLE = 1,
779
780
781 HPI_TUNER_MODE_RDS_DISABLE = 0,
782 HPI_TUNER_MODE_RDS_RDS = 1,
783 HPI_TUNER_MODE_RDS_RBDS = 2
784};
785
786
787
788
789
790
791
792enum HPI_TUNER_STATUS_BITS {
793 HPI_TUNER_VIDEO_COLOR_PRESENT = 0x0001,
794 HPI_TUNER_VIDEO_IS_60HZ = 0x0020,
795 HPI_TUNER_VIDEO_HORZ_SYNC_MISSING = 0x0040,
796 HPI_TUNER_VIDEO_STATUS_VALID = 0x0100,
797 HPI_TUNER_DIGITAL = 0x0200,
798 HPI_TUNER_MULTIPROGRAM = 0x0400,
799 HPI_TUNER_PLL_LOCKED = 0x1000,
800 HPI_TUNER_FM_STEREO = 0x2000
801};
802
803
804
805
806
807enum HPI_CHANNEL_MODES {
808
809 HPI_CHANNEL_MODE_NORMAL = 1,
810
811 HPI_CHANNEL_MODE_SWAP = 2,
812
813 HPI_CHANNEL_MODE_LEFT_TO_STEREO = 3,
814
815 HPI_CHANNEL_MODE_RIGHT_TO_STEREO = 4,
816
817
818 HPI_CHANNEL_MODE_STEREO_TO_LEFT = 5,
819
820
821 HPI_CHANNEL_MODE_STEREO_TO_RIGHT = 6,
822 HPI_CHANNEL_MODE_LAST = 6
823};
824
825
826
827
828enum HPI_SAMPLECLOCK_SOURCES {
829
830
831 HPI_SAMPLECLOCK_SOURCE_LOCAL = 1,
832
833 HPI_SAMPLECLOCK_SOURCE_AESEBU_SYNC = 2,
834
835 HPI_SAMPLECLOCK_SOURCE_WORD = 3,
836
837 HPI_SAMPLECLOCK_SOURCE_WORD_HEADER = 4,
838
839 HPI_SAMPLECLOCK_SOURCE_SMPTE = 5,
840
841 HPI_SAMPLECLOCK_SOURCE_AESEBU_INPUT = 6,
842
843 HPI_SAMPLECLOCK_SOURCE_NETWORK = 8,
844
845 HPI_SAMPLECLOCK_SOURCE_PREV_MODULE = 10,
846
847 HPI_SAMPLECLOCK_SOURCE_LAST = 10
848};
849
850
851
852
853enum HPI_FILTER_TYPE {
854 HPI_FILTER_TYPE_BYPASS = 0,
855
856 HPI_FILTER_TYPE_LOWSHELF = 1,
857 HPI_FILTER_TYPE_HIGHSHELF = 2,
858 HPI_FILTER_TYPE_EQ_BAND = 3,
859
860 HPI_FILTER_TYPE_LOWPASS = 4,
861 HPI_FILTER_TYPE_HIGHPASS = 5,
862 HPI_FILTER_TYPE_BANDPASS = 6,
863 HPI_FILTER_TYPE_BANDSTOP = 7
864};
865
866
867
868
869enum ASYNC_EVENT_SOURCES {
870 HPI_ASYNC_EVENT_GPIO = 1,
871 HPI_ASYNC_EVENT_SILENCE = 2,
872 HPI_ASYNC_EVENT_TONE = 3
873};
874
875
876
877
878
879
880
881
882
883
884
885
886enum HPI_ERROR_CODES {
887
888 HPI_ERROR_INVALID_TYPE = 100,
889
890 HPI_ERROR_INVALID_OBJ = 101,
891
892 HPI_ERROR_INVALID_FUNC = 102,
893
894 HPI_ERROR_INVALID_OBJ_INDEX = 103,
895
896 HPI_ERROR_OBJ_NOT_OPEN = 104,
897
898 HPI_ERROR_OBJ_ALREADY_OPEN = 105,
899
900 HPI_ERROR_INVALID_RESOURCE = 106,
901
902
903 HPI_ERROR_INVALID_RESPONSE = 108,
904
905
906 HPI_ERROR_PROCESSING_MESSAGE = 109,
907
908 HPI_ERROR_NETWORK_TIMEOUT = 110,
909
910 HPI_ERROR_INVALID_HANDLE = 111,
911
912 HPI_ERROR_UNIMPLEMENTED = 112,
913
914
915 HPI_ERROR_NETWORK_TOO_MANY_CLIENTS = 113,
916
917
918
919
920 HPI_ERROR_RESPONSE_BUFFER_TOO_SMALL = 114,
921
922 HPI_ERROR_RESPONSE_MISMATCH = 115,
923
924 HPI_ERROR_CONTROL_CACHING = 116,
925
926
927
928
929 HPI_ERROR_MESSAGE_BUFFER_TOO_SMALL = 117,
930
931
932
933 HPI_ERROR_BAD_ADAPTER = 201,
934
935 HPI_ERROR_BAD_ADAPTER_NUMBER = 202,
936
937 HPI_ERROR_DUPLICATE_ADAPTER_NUMBER = 203,
938
939 HPI_ERROR_DSP_BOOTLOAD = 204,
940
941 HPI_ERROR_DSP_FILE_NOT_FOUND = 206,
942
943 HPI_ERROR_DSP_HARDWARE = 207,
944
945 HPI_ERROR_MEMORY_ALLOC = 208,
946
947 HPI_ERROR_PLD_LOAD = 209,
948
949 HPI_ERROR_DSP_FILE_FORMAT = 210,
950
951
952 HPI_ERROR_DSP_FILE_ACCESS_DENIED = 211,
953
954 HPI_ERROR_DSP_FILE_NO_HEADER = 212,
955
956
957 HPI_ERROR_DSP_SECTION_NOT_FOUND = 214,
958
959 HPI_ERROR_DSP_FILE_OTHER_ERROR = 215,
960
961 HPI_ERROR_DSP_FILE_SHARING_VIOLATION = 216,
962
963 HPI_ERROR_DSP_FILE_NULL_HEADER = 217,
964
965
966
967
968 HPI_ERROR_BAD_CHECKSUM = 221,
969 HPI_ERROR_BAD_SEQUENCE = 222,
970 HPI_ERROR_FLASH_ERASE = 223,
971 HPI_ERROR_FLASH_PROGRAM = 224,
972 HPI_ERROR_FLASH_VERIFY = 225,
973 HPI_ERROR_FLASH_TYPE = 226,
974 HPI_ERROR_FLASH_START = 227,
975
976
977 HPI_ERROR_RESERVED_1 = 290,
978
979
980
981 HPI_ERROR_INVALID_FORMAT = 301,
982
983 HPI_ERROR_INVALID_SAMPLERATE = 302,
984
985 HPI_ERROR_INVALID_CHANNELS = 303,
986
987 HPI_ERROR_INVALID_BITRATE = 304,
988
989 HPI_ERROR_INVALID_DATASIZE = 305,
990
991
992
993 HPI_ERROR_INVALID_DATA_POINTER = 308,
994
995 HPI_ERROR_INVALID_PACKET_ORDER = 309,
996
997
998
999 HPI_ERROR_INVALID_OPERATION = 310,
1000
1001
1002
1003 HPI_ERROR_INCOMPATIBLE_SAMPLERATE = 311,
1004
1005 HPI_ERROR_BAD_ADAPTER_MODE = 312,
1006
1007
1008
1009
1010 HPI_ERROR_TOO_MANY_CAPABILITY_CHANGE_ATTEMPTS = 313,
1011
1012 HPI_ERROR_NO_INTERADAPTER_GROUPS = 314,
1013
1014 HPI_ERROR_NO_INTERDSP_GROUPS = 315,
1015
1016 HPI_ERROR_WAIT_CANCELLED = 316,
1017
1018
1019 HPI_ERROR_INVALID_NODE = 400,
1020
1021 HPI_ERROR_INVALID_CONTROL = 401,
1022
1023 HPI_ERROR_INVALID_CONTROL_VALUE = 402,
1024
1025 HPI_ERROR_INVALID_CONTROL_ATTRIBUTE = 403,
1026
1027 HPI_ERROR_CONTROL_DISABLED = 404,
1028
1029 HPI_ERROR_CONTROL_I2C_MISSING_ACK = 405,
1030 HPI_ERROR_I2C_MISSING_ACK = 405,
1031
1032
1033 HPI_ERROR_CONTROL_NOT_READY = 407,
1034
1035
1036 HPI_ERROR_NVMEM_BUSY = 450,
1037 HPI_ERROR_NVMEM_FULL = 451,
1038 HPI_ERROR_NVMEM_FAIL = 452,
1039
1040
1041 HPI_ERROR_I2C_BAD_ADR = 460,
1042
1043
1044 HPI_ERROR_ENTITY_TYPE_MISMATCH = 470,
1045 HPI_ERROR_ENTITY_ITEM_COUNT = 471,
1046 HPI_ERROR_ENTITY_TYPE_INVALID = 472,
1047 HPI_ERROR_ENTITY_ROLE_INVALID = 473,
1048 HPI_ERROR_ENTITY_SIZE_MISMATCH = 474,
1049
1050
1051
1052
1053 HPI_ERROR_CUSTOM = 600,
1054
1055
1056 HPI_ERROR_MUTEX_TIMEOUT = 700,
1057
1058
1059
1060
1061 HPI_ERROR_BACKEND_BASE = 900,
1062
1063
1064 HPI_ERROR_DSP_COMMUNICATION = 900
1065
1066
1067
1068
1069
1070};
1071
1072
1073
1074
1075
1076
1077#define HPI_MAX_ADAPTERS 20
1078
1079#define HPI_MAX_STREAMS 16
1080#define HPI_MAX_CHANNELS 2
1081#define HPI_MAX_NODES 8
1082#define HPI_MAX_CONTROLS 4
1083
1084#define HPI_MAX_ANC_BYTES_PER_FRAME (64)
1085#define HPI_STRING_LEN 16
1086
1087
1088#define HPI_OSTREAM_VELOCITY_UNITS 4096
1089
1090#define HPI_OSTREAM_TIMESCALE_UNITS 10000
1091
1092#define HPI_OSTREAM_TIMESCALE_PASSTHROUGH 99999
1093
1094
1095
1096
1097
1098#ifndef DISABLE_PRAGMA_PACK1
1099#pragma pack(push, 1)
1100#endif
1101
1102
1103
1104
1105struct hpi_format {
1106 u32 sample_rate;
1107
1108 u32 bit_rate;
1109 u32 attributes;
1110
1111 u16 mode_legacy;
1112
1113 u16 unused;
1114 u16 channels;
1115 u16 format;
1116};
1117
1118struct hpi_anc_frame {
1119 u32 valid_bits_in_this_frame;
1120 u8 b_data[HPI_MAX_ANC_BYTES_PER_FRAME];
1121};
1122
1123
1124
1125struct hpi_async_event {
1126 u16 event_type;
1127 u16 sequence;
1128 u32 state;
1129 u32 h_object;
1130 union {
1131 struct {
1132 u16 index;
1133 } gpio;
1134 struct {
1135 u16 node_index;
1136 u16 node_type;
1137 } control;
1138 } u;
1139};
1140
1141
1142
1143
1144#ifndef DISABLE_PRAGMA_PACK1
1145#pragma pack(pop)
1146#endif
1147
1148
1149
1150
1151
1152
1153u16 hpi_stream_estimate_buffer_size(struct hpi_format *pF,
1154 u32 host_polling_rate_in_milli_seconds, u32 *recommended_buffer_size);
1155
1156
1157
1158
1159
1160u16 hpi_subsys_get_version_ex(u32 *pversion_ex);
1161
1162u16 hpi_subsys_get_num_adapters(int *pn_num_adapters);
1163
1164u16 hpi_subsys_get_adapter(int iterator, u32 *padapter_index,
1165 u16 *pw_adapter_type);
1166
1167
1168
1169
1170
1171u16 hpi_adapter_open(u16 adapter_index);
1172
1173u16 hpi_adapter_close(u16 adapter_index);
1174
1175u16 hpi_adapter_get_info(u16 adapter_index, u16 *pw_num_outstreams,
1176 u16 *pw_num_instreams, u16 *pw_version, u32 *pserial_number,
1177 u16 *pw_adapter_type);
1178
1179u16 hpi_adapter_get_module_by_index(u16 adapter_index, u16 module_index,
1180 u16 *pw_num_outputs, u16 *pw_num_inputs, u16 *pw_version,
1181 u32 *pserial_number, u16 *pw_module_type, u32 *ph_module);
1182
1183u16 hpi_adapter_set_mode(u16 adapter_index, u32 adapter_mode);
1184
1185u16 hpi_adapter_set_mode_ex(u16 adapter_index, u32 adapter_mode,
1186 u16 query_or_set);
1187
1188u16 hpi_adapter_get_mode(u16 adapter_index, u32 *padapter_mode);
1189
1190u16 hpi_adapter_get_assert2(u16 adapter_index, u16 *p_assert_count,
1191 char *psz_assert, u32 *p_param1, u32 *p_param2,
1192 u32 *p_dsp_string_addr, u16 *p_processor_id);
1193
1194u16 hpi_adapter_test_assert(u16 adapter_index, u16 assert_id);
1195
1196u16 hpi_adapter_enable_capability(u16 adapter_index, u16 capability, u32 key);
1197
1198u16 hpi_adapter_self_test(u16 adapter_index);
1199
1200u16 hpi_adapter_debug_read(u16 adapter_index, u32 dsp_address, char *p_bytes,
1201 int *count_bytes);
1202
1203u16 hpi_adapter_set_property(u16 adapter_index, u16 property, u16 paramter1,
1204 u16 paramter2);
1205
1206u16 hpi_adapter_get_property(u16 adapter_index, u16 property,
1207 u16 *pw_paramter1, u16 *pw_paramter2);
1208
1209u16 hpi_adapter_enumerate_property(u16 adapter_index, u16 index,
1210 u16 what_to_enumerate, u16 property_index, u32 *psetting);
1211
1212
1213
1214u16 hpi_outstream_open(u16 adapter_index, u16 outstream_index,
1215 u32 *ph_outstream);
1216
1217u16 hpi_outstream_close(u32 h_outstream);
1218
1219u16 hpi_outstream_get_info_ex(u32 h_outstream, u16 *pw_state,
1220 u32 *pbuffer_size, u32 *pdata_to_play, u32 *psamples_played,
1221 u32 *pauxiliary_data_to_play);
1222
1223u16 hpi_outstream_write_buf(u32 h_outstream, const u8 *pb_write_buf,
1224 u32 bytes_to_write, const struct hpi_format *p_format);
1225
1226u16 hpi_outstream_start(u32 h_outstream);
1227
1228u16 hpi_outstream_wait_start(u32 h_outstream);
1229
1230u16 hpi_outstream_stop(u32 h_outstream);
1231
1232u16 hpi_outstream_sinegen(u32 h_outstream);
1233
1234u16 hpi_outstream_reset(u32 h_outstream);
1235
1236u16 hpi_outstream_query_format(u32 h_outstream, struct hpi_format *p_format);
1237
1238u16 hpi_outstream_set_format(u32 h_outstream, struct hpi_format *p_format);
1239
1240u16 hpi_outstream_set_punch_in_out(u32 h_outstream, u32 punch_in_sample,
1241 u32 punch_out_sample);
1242
1243u16 hpi_outstream_set_velocity(u32 h_outstream, short velocity);
1244
1245u16 hpi_outstream_ancillary_reset(u32 h_outstream, u16 mode);
1246
1247u16 hpi_outstream_ancillary_get_info(u32 h_outstream, u32 *pframes_available);
1248
1249u16 hpi_outstream_ancillary_read(u32 h_outstream,
1250 struct hpi_anc_frame *p_anc_frame_buffer,
1251 u32 anc_frame_buffer_size_in_bytes,
1252 u32 number_of_ancillary_frames_to_read);
1253
1254u16 hpi_outstream_set_time_scale(u32 h_outstream, u32 time_scaleX10000);
1255
1256u16 hpi_outstream_host_buffer_allocate(u32 h_outstream, u32 size_in_bytes);
1257
1258u16 hpi_outstream_host_buffer_free(u32 h_outstream);
1259
1260u16 hpi_outstream_group_add(u32 h_outstream, u32 h_stream);
1261
1262u16 hpi_outstream_group_get_map(u32 h_outstream, u32 *poutstream_map,
1263 u32 *pinstream_map);
1264
1265u16 hpi_outstream_group_reset(u32 h_outstream);
1266
1267
1268
1269
1270u16 hpi_instream_open(u16 adapter_index, u16 instream_index,
1271 u32 *ph_instream);
1272
1273u16 hpi_instream_close(u32 h_instream);
1274
1275u16 hpi_instream_query_format(u32 h_instream,
1276 const struct hpi_format *p_format);
1277
1278u16 hpi_instream_set_format(u32 h_instream,
1279 const struct hpi_format *p_format);
1280
1281u16 hpi_instream_read_buf(u32 h_instream, u8 *pb_read_buf, u32 bytes_to_read);
1282
1283u16 hpi_instream_start(u32 h_instream);
1284
1285u16 hpi_instream_wait_start(u32 h_instream);
1286
1287u16 hpi_instream_stop(u32 h_instream);
1288
1289u16 hpi_instream_reset(u32 h_instream);
1290
1291u16 hpi_instream_get_info_ex(u32 h_instream, u16 *pw_state, u32 *pbuffer_size,
1292 u32 *pdata_recorded, u32 *psamples_recorded,
1293 u32 *pauxiliary_data_recorded);
1294
1295u16 hpi_instream_ancillary_reset(u32 h_instream, u16 bytes_per_frame,
1296 u16 mode, u16 alignment, u16 idle_bit);
1297
1298u16 hpi_instream_ancillary_get_info(u32 h_instream, u32 *pframe_space);
1299
1300u16 hpi_instream_ancillary_write(u32 h_instream,
1301 const struct hpi_anc_frame *p_anc_frame_buffer,
1302 u32 anc_frame_buffer_size_in_bytes,
1303 u32 number_of_ancillary_frames_to_write);
1304
1305u16 hpi_instream_host_buffer_allocate(u32 h_instream, u32 size_in_bytes);
1306
1307u16 hpi_instream_host_buffer_free(u32 h_instream);
1308
1309u16 hpi_instream_group_add(u32 h_instream, u32 h_stream);
1310
1311u16 hpi_instream_group_get_map(u32 h_instream, u32 *poutstream_map,
1312 u32 *pinstream_map);
1313
1314u16 hpi_instream_group_reset(u32 h_instream);
1315
1316
1317
1318
1319u16 hpi_mixer_open(u16 adapter_index, u32 *ph_mixer);
1320
1321u16 hpi_mixer_close(u32 h_mixer);
1322
1323u16 hpi_mixer_get_control(u32 h_mixer, u16 src_node_type,
1324 u16 src_node_type_index, u16 dst_node_type, u16 dst_node_type_index,
1325 u16 control_type, u32 *ph_control);
1326
1327u16 hpi_mixer_get_control_by_index(u32 h_mixer, u16 control_index,
1328 u16 *pw_src_node_type, u16 *pw_src_node_index, u16 *pw_dst_node_type,
1329 u16 *pw_dst_node_index, u16 *pw_control_type, u32 *ph_control);
1330
1331u16 hpi_mixer_store(u32 h_mixer, enum HPI_MIXER_STORE_COMMAND command,
1332 u16 index);
1333
1334
1335
1336
1337
1338
1339u16 hpi_volume_set_gain(u32 h_control, short an_gain0_01dB[HPI_MAX_CHANNELS]
1340 );
1341
1342u16 hpi_volume_get_gain(u32 h_control,
1343 short an_gain0_01dB_out[HPI_MAX_CHANNELS]
1344 );
1345
1346u16 hpi_volume_set_mute(u32 h_control, u32 mute);
1347
1348u16 hpi_volume_get_mute(u32 h_control, u32 *mute);
1349
1350#define hpi_volume_get_range hpi_volume_query_range
1351u16 hpi_volume_query_range(u32 h_control, short *min_gain_01dB,
1352 short *max_gain_01dB, short *step_gain_01dB);
1353
1354u16 hpi_volume_query_channels(const u32 h_volume, u32 *p_channels);
1355
1356u16 hpi_volume_auto_fade(u32 h_control,
1357 short an_stop_gain0_01dB[HPI_MAX_CHANNELS], u32 duration_ms);
1358
1359u16 hpi_volume_auto_fade_profile(u32 h_control,
1360 short an_stop_gain0_01dB[HPI_MAX_CHANNELS], u32 duration_ms,
1361 u16 profile);
1362
1363
1364
1365
1366u16 hpi_level_query_range(u32 h_control, short *min_gain_01dB,
1367 short *max_gain_01dB, short *step_gain_01dB);
1368
1369u16 hpi_level_set_gain(u32 h_control, short an_gain0_01dB[HPI_MAX_CHANNELS]
1370 );
1371
1372u16 hpi_level_get_gain(u32 h_control,
1373 short an_gain0_01dB_out[HPI_MAX_CHANNELS]
1374 );
1375
1376
1377
1378
1379u16 hpi_meter_query_channels(const u32 h_meter, u32 *p_channels);
1380
1381u16 hpi_meter_get_peak(u32 h_control,
1382 short an_peak0_01dB_out[HPI_MAX_CHANNELS]
1383 );
1384
1385u16 hpi_meter_get_rms(u32 h_control, short an_peak0_01dB_out[HPI_MAX_CHANNELS]
1386 );
1387
1388u16 hpi_meter_set_peak_ballistics(u32 h_control, u16 attack, u16 decay);
1389
1390u16 hpi_meter_set_rms_ballistics(u32 h_control, u16 attack, u16 decay);
1391
1392u16 hpi_meter_get_peak_ballistics(u32 h_control, u16 *attack, u16 *decay);
1393
1394u16 hpi_meter_get_rms_ballistics(u32 h_control, u16 *attack, u16 *decay);
1395
1396
1397
1398
1399u16 hpi_channel_mode_query_mode(const u32 h_mode, const u32 index,
1400 u16 *pw_mode);
1401
1402u16 hpi_channel_mode_set(u32 h_control, u16 mode);
1403
1404u16 hpi_channel_mode_get(u32 h_control, u16 *mode);
1405
1406
1407
1408
1409u16 hpi_tuner_query_band(const u32 h_tuner, const u32 index, u16 *pw_band);
1410
1411u16 hpi_tuner_set_band(u32 h_control, u16 band);
1412
1413u16 hpi_tuner_get_band(u32 h_control, u16 *pw_band);
1414
1415u16 hpi_tuner_query_frequency(const u32 h_tuner, const u32 index,
1416 const u16 band, u32 *pfreq);
1417
1418u16 hpi_tuner_set_frequency(u32 h_control, u32 freq_ink_hz);
1419
1420u16 hpi_tuner_get_frequency(u32 h_control, u32 *pw_freq_ink_hz);
1421
1422u16 hpi_tuner_get_rf_level(u32 h_control, short *pw_level);
1423
1424u16 hpi_tuner_get_raw_rf_level(u32 h_control, short *pw_level);
1425
1426u16 hpi_tuner_query_gain(const u32 h_tuner, const u32 index, u16 *pw_gain);
1427
1428u16 hpi_tuner_set_gain(u32 h_control, short gain);
1429
1430u16 hpi_tuner_get_gain(u32 h_control, short *pn_gain);
1431
1432u16 hpi_tuner_get_status(u32 h_control, u16 *pw_status_mask, u16 *pw_status);
1433
1434u16 hpi_tuner_set_mode(u32 h_control, u32 mode, u32 value);
1435
1436u16 hpi_tuner_get_mode(u32 h_control, u32 mode, u32 *pn_value);
1437
1438u16 hpi_tuner_get_rds(u32 h_control, char *p_rds_data);
1439
1440u16 hpi_tuner_query_deemphasis(const u32 h_tuner, const u32 index,
1441 const u16 band, u32 *pdeemphasis);
1442
1443u16 hpi_tuner_set_deemphasis(u32 h_control, u32 deemphasis);
1444u16 hpi_tuner_get_deemphasis(u32 h_control, u32 *pdeemphasis);
1445
1446u16 hpi_tuner_query_program(const u32 h_tuner, u32 *pbitmap_program);
1447
1448u16 hpi_tuner_set_program(u32 h_control, u32 program);
1449
1450u16 hpi_tuner_get_program(u32 h_control, u32 *pprogram);
1451
1452u16 hpi_tuner_get_hd_radio_dsp_version(u32 h_control, char *psz_dsp_version,
1453 const u32 string_size);
1454
1455u16 hpi_tuner_get_hd_radio_sdk_version(u32 h_control, char *psz_sdk_version,
1456 const u32 string_size);
1457
1458u16 hpi_tuner_get_hd_radio_signal_quality(u32 h_control, u32 *pquality);
1459
1460u16 hpi_tuner_get_hd_radio_signal_blend(u32 h_control, u32 *pblend);
1461
1462u16 hpi_tuner_set_hd_radio_signal_blend(u32 h_control, const u32 blend);
1463
1464
1465
1466
1467
1468u16 hpi_pad_get_channel_name(u32 h_control, char *psz_string,
1469 const u32 string_length);
1470
1471u16 hpi_pad_get_artist(u32 h_control, char *psz_string,
1472 const u32 string_length);
1473
1474u16 hpi_pad_get_title(u32 h_control, char *psz_string,
1475 const u32 string_length);
1476
1477u16 hpi_pad_get_comment(u32 h_control, char *psz_string,
1478 const u32 string_length);
1479
1480u16 hpi_pad_get_program_type(u32 h_control, u32 *ppTY);
1481
1482u16 hpi_pad_get_rdsPI(u32 h_control, u32 *ppI);
1483
1484u16 hpi_pad_get_program_type_string(u32 h_control, const u32 data_type,
1485 const u32 pTY, char *psz_string, const u32 string_length);
1486
1487
1488
1489
1490u16 hpi_aesebu_receiver_query_format(const u32 h_aes_rx, const u32 index,
1491 u16 *pw_format);
1492
1493u16 hpi_aesebu_receiver_set_format(u32 h_control, u16 source);
1494
1495u16 hpi_aesebu_receiver_get_format(u32 h_control, u16 *pw_source);
1496
1497u16 hpi_aesebu_receiver_get_sample_rate(u32 h_control, u32 *psample_rate);
1498
1499u16 hpi_aesebu_receiver_get_user_data(u32 h_control, u16 index, u16 *pw_data);
1500
1501u16 hpi_aesebu_receiver_get_channel_status(u32 h_control, u16 index,
1502 u16 *pw_data);
1503
1504u16 hpi_aesebu_receiver_get_error_status(u32 h_control, u16 *pw_error_data);
1505
1506
1507
1508
1509u16 hpi_aesebu_transmitter_set_sample_rate(u32 h_control, u32 sample_rate);
1510
1511u16 hpi_aesebu_transmitter_set_user_data(u32 h_control, u16 index, u16 data);
1512
1513u16 hpi_aesebu_transmitter_set_channel_status(u32 h_control, u16 index,
1514 u16 data);
1515
1516u16 hpi_aesebu_transmitter_get_channel_status(u32 h_control, u16 index,
1517 u16 *pw_data);
1518
1519u16 hpi_aesebu_transmitter_query_format(const u32 h_aes_tx, const u32 index,
1520 u16 *pw_format);
1521
1522u16 hpi_aesebu_transmitter_set_format(u32 h_control, u16 output_format);
1523
1524u16 hpi_aesebu_transmitter_get_format(u32 h_control, u16 *pw_output_format);
1525
1526
1527
1528
1529u16 hpi_multiplexer_set_source(u32 h_control, u16 source_node_type,
1530 u16 source_node_index);
1531
1532u16 hpi_multiplexer_get_source(u32 h_control, u16 *source_node_type,
1533 u16 *source_node_index);
1534
1535u16 hpi_multiplexer_query_source(u32 h_control, u16 index,
1536 u16 *source_node_type, u16 *source_node_index);
1537
1538
1539
1540
1541u16 hpi_vox_set_threshold(u32 h_control, short an_gain0_01dB);
1542
1543u16 hpi_vox_get_threshold(u32 h_control, short *an_gain0_01dB);
1544
1545
1546
1547
1548u16 hpi_bitstream_set_clock_edge(u32 h_control, u16 edge_type);
1549
1550u16 hpi_bitstream_set_data_polarity(u32 h_control, u16 polarity);
1551
1552u16 hpi_bitstream_get_activity(u32 h_control, u16 *pw_clk_activity,
1553 u16 *pw_data_activity);
1554
1555
1556
1557
1558
1559u16 hpi_sample_clock_query_source(const u32 h_clock, const u32 index,
1560 u16 *pw_source);
1561
1562u16 hpi_sample_clock_set_source(u32 h_control, u16 source);
1563
1564u16 hpi_sample_clock_get_source(u32 h_control, u16 *pw_source);
1565
1566u16 hpi_sample_clock_query_source_index(const u32 h_clock, const u32 index,
1567 const u32 source, u16 *pw_source_index);
1568
1569u16 hpi_sample_clock_set_source_index(u32 h_control, u16 source_index);
1570
1571u16 hpi_sample_clock_get_source_index(u32 h_control, u16 *pw_source_index);
1572
1573u16 hpi_sample_clock_get_sample_rate(u32 h_control, u32 *psample_rate);
1574
1575u16 hpi_sample_clock_query_local_rate(const u32 h_clock, const u32 index,
1576 u32 *psource);
1577
1578u16 hpi_sample_clock_set_local_rate(u32 h_control, u32 sample_rate);
1579
1580u16 hpi_sample_clock_get_local_rate(u32 h_control, u32 *psample_rate);
1581
1582u16 hpi_sample_clock_set_auto(u32 h_control, u32 enable);
1583
1584u16 hpi_sample_clock_get_auto(u32 h_control, u32 *penable);
1585
1586u16 hpi_sample_clock_set_local_rate_lock(u32 h_control, u32 lock);
1587
1588u16 hpi_sample_clock_get_local_rate_lock(u32 h_control, u32 *plock);
1589
1590
1591
1592
1593u16 hpi_microphone_set_phantom_power(u32 h_control, u16 on_off);
1594
1595u16 hpi_microphone_get_phantom_power(u32 h_control, u16 *pw_on_off);
1596
1597
1598
1599
1600u16 hpi_parametric_eq_get_info(u32 h_control, u16 *pw_number_of_bands,
1601 u16 *pw_enabled);
1602
1603u16 hpi_parametric_eq_set_state(u32 h_control, u16 on_off);
1604
1605u16 hpi_parametric_eq_set_band(u32 h_control, u16 index, u16 type,
1606 u32 frequency_hz, short q100, short gain0_01dB);
1607
1608u16 hpi_parametric_eq_get_band(u32 h_control, u16 index, u16 *pn_type,
1609 u32 *pfrequency_hz, short *pnQ100, short *pn_gain0_01dB);
1610
1611u16 hpi_parametric_eq_get_coeffs(u32 h_control, u16 index, short coeffs[5]
1612 );
1613
1614
1615
1616
1617
1618u16 hpi_compander_set_enable(u32 h_control, u32 on);
1619
1620u16 hpi_compander_get_enable(u32 h_control, u32 *pon);
1621
1622u16 hpi_compander_set_makeup_gain(u32 h_control, short makeup_gain0_01dB);
1623
1624u16 hpi_compander_get_makeup_gain(u32 h_control, short *pn_makeup_gain0_01dB);
1625
1626u16 hpi_compander_set_attack_time_constant(u32 h_control, u32 index,
1627 u32 attack);
1628
1629u16 hpi_compander_get_attack_time_constant(u32 h_control, u32 index,
1630 u32 *pw_attack);
1631
1632u16 hpi_compander_set_decay_time_constant(u32 h_control, u32 index,
1633 u32 decay);
1634
1635u16 hpi_compander_get_decay_time_constant(u32 h_control, u32 index,
1636 u32 *pw_decay);
1637
1638u16 hpi_compander_set_threshold(u32 h_control, u32 index,
1639 short threshold0_01dB);
1640
1641u16 hpi_compander_get_threshold(u32 h_control, u32 index,
1642 short *pn_threshold0_01dB);
1643
1644u16 hpi_compander_set_ratio(u32 h_control, u32 index, u32 ratio100);
1645
1646u16 hpi_compander_get_ratio(u32 h_control, u32 index, u32 *pw_ratio100);
1647
1648
1649
1650
1651u16 hpi_cobranet_hmi_write(u32 h_control, u32 hmi_address, u32 byte_count,
1652 u8 *pb_data);
1653
1654u16 hpi_cobranet_hmi_read(u32 h_control, u32 hmi_address, u32 max_byte_count,
1655 u32 *pbyte_count, u8 *pb_data);
1656
1657u16 hpi_cobranet_hmi_get_status(u32 h_control, u32 *pstatus,
1658 u32 *preadable_size, u32 *pwriteable_size);
1659
1660u16 hpi_cobranet_get_ip_address(u32 h_control, u32 *pdw_ip_address);
1661
1662u16 hpi_cobranet_set_ip_address(u32 h_control, u32 dw_ip_address);
1663
1664u16 hpi_cobranet_get_static_ip_address(u32 h_control, u32 *pdw_ip_address);
1665
1666u16 hpi_cobranet_set_static_ip_address(u32 h_control, u32 dw_ip_address);
1667
1668u16 hpi_cobranet_get_macaddress(u32 h_control, u32 *p_mac_msbs,
1669 u32 *p_mac_lsbs);
1670
1671
1672
1673
1674u16 hpi_tone_detector_get_state(u32 hC, u32 *state);
1675
1676u16 hpi_tone_detector_set_enable(u32 hC, u32 enable);
1677
1678u16 hpi_tone_detector_get_enable(u32 hC, u32 *enable);
1679
1680u16 hpi_tone_detector_set_event_enable(u32 hC, u32 event_enable);
1681
1682u16 hpi_tone_detector_get_event_enable(u32 hC, u32 *event_enable);
1683
1684u16 hpi_tone_detector_set_threshold(u32 hC, int threshold);
1685
1686u16 hpi_tone_detector_get_threshold(u32 hC, int *threshold);
1687
1688u16 hpi_tone_detector_get_frequency(u32 hC, u32 index, u32 *frequency);
1689
1690
1691
1692
1693u16 hpi_silence_detector_get_state(u32 hC, u32 *state);
1694
1695u16 hpi_silence_detector_set_enable(u32 hC, u32 enable);
1696
1697u16 hpi_silence_detector_get_enable(u32 hC, u32 *enable);
1698
1699u16 hpi_silence_detector_set_event_enable(u32 hC, u32 event_enable);
1700
1701u16 hpi_silence_detector_get_event_enable(u32 hC, u32 *event_enable);
1702
1703u16 hpi_silence_detector_set_delay(u32 hC, u32 delay);
1704
1705u16 hpi_silence_detector_get_delay(u32 hC, u32 *delay);
1706
1707u16 hpi_silence_detector_set_threshold(u32 hC, int threshold);
1708
1709u16 hpi_silence_detector_get_threshold(u32 hC, int *threshold);
1710
1711
1712
1713
1714u16 hpi_format_create(struct hpi_format *p_format, u16 channels, u16 format,
1715 u32 sample_rate, u32 bit_rate, u32 attributes);
1716
1717#endif
1718