0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020 #ifndef _HPI_H_
0021 #define _HPI_H_
0022
0023 #include <linux/types.h>
0024 #define HPI_BUILD_KERNEL_MODE
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034 enum HPI_FORMATS {
0035
0036 HPI_FORMAT_MIXER_NATIVE = 0,
0037
0038 HPI_FORMAT_PCM8_UNSIGNED = 1,
0039
0040 HPI_FORMAT_PCM16_SIGNED = 2,
0041
0042 HPI_FORMAT_MPEG_L1 = 3,
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071
0072 HPI_FORMAT_MPEG_L2 = 4,
0073
0074
0075
0076
0077
0078
0079
0080
0081
0082
0083
0084
0085
0086
0087
0088
0089
0090
0091
0092
0093
0094
0095
0096
0097
0098
0099
0100
0101
0102
0103
0104
0105 HPI_FORMAT_MPEG_L3 = 5,
0106
0107 HPI_FORMAT_DOLBY_AC2 = 6,
0108
0109 HPI_FORMAT_DOLBY_AC3 = 7,
0110
0111 HPI_FORMAT_PCM16_BIGENDIAN = 8,
0112
0113 HPI_FORMAT_AA_TAGIT1_HITS = 9,
0114
0115 HPI_FORMAT_AA_TAGIT1_INSERTS = 10,
0116
0117
0118
0119
0120 HPI_FORMAT_PCM32_SIGNED = 11,
0121
0122 HPI_FORMAT_RAW_BITSTREAM = 12,
0123
0124 HPI_FORMAT_AA_TAGIT1_HITS_EX1 = 13,
0125
0126
0127
0128
0129 HPI_FORMAT_PCM32_FLOAT = 14,
0130
0131 HPI_FORMAT_PCM24_SIGNED = 15,
0132
0133 HPI_FORMAT_OEM1 = 16,
0134
0135 HPI_FORMAT_OEM2 = 17,
0136
0137 HPI_FORMAT_UNDEFINED = 0xffff
0138 };
0139
0140
0141
0142
0143
0144 enum HPI_STREAM_STATES {
0145
0146 HPI_STATE_STOPPED = 1,
0147
0148 HPI_STATE_PLAYING = 2,
0149
0150 HPI_STATE_RECORDING = 3,
0151
0152 HPI_STATE_DRAINED = 4,
0153
0154 HPI_STATE_SINEGEN = 5,
0155
0156
0157 HPI_STATE_WAIT = 6
0158 };
0159
0160
0161
0162
0163 enum HPI_SOURCENODES {
0164
0165
0166
0167
0168 HPI_SOURCENODE_NONE = 100,
0169
0170 HPI_SOURCENODE_OSTREAM = 101,
0171
0172 HPI_SOURCENODE_LINEIN = 102,
0173 HPI_SOURCENODE_AESEBU_IN = 103,
0174 HPI_SOURCENODE_TUNER = 104,
0175 HPI_SOURCENODE_RF = 105,
0176 HPI_SOURCENODE_CLOCK_SOURCE = 106,
0177 HPI_SOURCENODE_RAW_BITSTREAM = 107,
0178 HPI_SOURCENODE_MICROPHONE = 108,
0179
0180
0181 HPI_SOURCENODE_COBRANET = 109,
0182 HPI_SOURCENODE_ANALOG = 110,
0183 HPI_SOURCENODE_ADAPTER = 111,
0184
0185
0186 HPI_SOURCENODE_RTP_DESTINATION = 112,
0187 HPI_SOURCENODE_INTERNAL = 113,
0188 HPI_SOURCENODE_AVB = 114,
0189 HPI_SOURCENODE_BLULINK = 115,
0190
0191 HPI_SOURCENODE_LAST_INDEX = 115
0192
0193 };
0194
0195
0196
0197
0198
0199 enum HPI_DESTNODES {
0200
0201
0202
0203
0204 HPI_DESTNODE_NONE = 200,
0205
0206 HPI_DESTNODE_ISTREAM = 201,
0207 HPI_DESTNODE_LINEOUT = 202,
0208 HPI_DESTNODE_AESEBU_OUT = 203,
0209 HPI_DESTNODE_RF = 204,
0210 HPI_DESTNODE_SPEAKER = 205,
0211
0212
0213 HPI_DESTNODE_COBRANET = 206,
0214 HPI_DESTNODE_ANALOG = 207,
0215
0216
0217 HPI_DESTNODE_RTP_SOURCE = 208,
0218 HPI_DESTNODE_AVB = 209,
0219 HPI_DESTNODE_INTERNAL = 210,
0220 HPI_DESTNODE_BLULINK = 211,
0221
0222 HPI_DESTNODE_LAST_INDEX = 211
0223
0224 };
0225
0226
0227
0228
0229
0230 enum HPI_CONTROLS {
0231 HPI_CONTROL_GENERIC = 0,
0232 HPI_CONTROL_CONNECTION = 1,
0233 HPI_CONTROL_VOLUME = 2,
0234 HPI_CONTROL_METER = 3,
0235 HPI_CONTROL_MUTE = 4,
0236 HPI_CONTROL_MULTIPLEXER = 5,
0237
0238 HPI_CONTROL_AESEBU_TRANSMITTER = 6,
0239 HPI_CONTROL_AESEBUTX = 6,
0240
0241 HPI_CONTROL_AESEBU_RECEIVER = 7,
0242 HPI_CONTROL_AESEBURX = 7,
0243
0244 HPI_CONTROL_LEVEL = 8,
0245 HPI_CONTROL_TUNER = 9,
0246
0247 HPI_CONTROL_VOX = 11,
0248
0249
0250
0251 HPI_CONTROL_CHANNEL_MODE = 15,
0252
0253 HPI_CONTROL_BITSTREAM = 16,
0254 HPI_CONTROL_SAMPLECLOCK = 17,
0255 HPI_CONTROL_MICROPHONE = 18,
0256 HPI_CONTROL_PARAMETRIC_EQ = 19,
0257 HPI_CONTROL_EQUALIZER = 19,
0258
0259 HPI_CONTROL_COMPANDER = 20,
0260 HPI_CONTROL_COBRANET = 21,
0261 HPI_CONTROL_TONEDETECTOR = 22,
0262 HPI_CONTROL_SILENCEDETECTOR = 23,
0263 HPI_CONTROL_PAD = 24,
0264 HPI_CONTROL_SRC = 25,
0265 HPI_CONTROL_UNIVERSAL = 26,
0266
0267
0268 HPI_CONTROL_LAST_INDEX = 26
0269
0270 };
0271
0272
0273
0274
0275
0276
0277 enum HPI_ADAPTER_PROPERTIES {
0278
0279
0280
0281
0282
0283
0284
0285 HPI_ADAPTER_PROPERTY_ERRATA_1 = 1,
0286
0287
0288
0289
0290 HPI_ADAPTER_PROPERTY_GROUPING = 2,
0291
0292
0293
0294
0295
0296
0297 HPI_ADAPTER_PROPERTY_ENABLE_SSX2 = 3,
0298
0299
0300
0301
0302
0303
0304
0305
0306
0307 HPI_ADAPTER_PROPERTY_SSX2_SETTING = 4,
0308
0309
0310
0311
0312
0313
0314
0315
0316 HPI_ADAPTER_PROPERTY_IRQ_RATE = 5,
0317
0318
0319 HPI_ADAPTER_PROPERTY_READONLYBASE = 256,
0320
0321
0322
0323
0324
0325
0326 HPI_ADAPTER_PROPERTY_LATENCY = 256,
0327
0328
0329
0330
0331
0332
0333
0334 HPI_ADAPTER_PROPERTY_GRANULARITY = 257,
0335
0336
0337
0338
0339 HPI_ADAPTER_PROPERTY_CURCHANNELS = 258,
0340
0341
0342
0343
0344
0345
0346 HPI_ADAPTER_PROPERTY_SOFTWARE_VERSION = 259,
0347
0348
0349
0350
0351
0352
0353 HPI_ADAPTER_PROPERTY_MAC_ADDRESS_MSB = 260,
0354
0355
0356
0357
0358
0359 HPI_ADAPTER_PROPERTY_MAC_ADDRESS_LSB = 261,
0360
0361
0362
0363
0364
0365
0366
0367
0368
0369 HPI_ADAPTER_PROPERTY_EXTENDED_ADAPTER_TYPE = 262,
0370
0371
0372 HPI_ADAPTER_PROPERTY_LOGTABLEN = 263,
0373 HPI_ADAPTER_PROPERTY_LOGTABBEG = 264,
0374
0375
0376
0377
0378
0379
0380 HPI_ADAPTER_PROPERTY_IP_ADDRESS = 265,
0381
0382
0383
0384
0385
0386
0387 HPI_ADAPTER_PROPERTY_BUFFER_UPDATE_COUNT = 266,
0388
0389
0390
0391
0392
0393
0394
0395
0396
0397
0398
0399
0400
0401 HPI_ADAPTER_PROPERTY_INTERVAL = 267,
0402
0403
0404
0405
0406 HPI_ADAPTER_PROPERTY_CAPS1 = 268,
0407
0408
0409
0410
0411 HPI_ADAPTER_PROPERTY_CAPS2 = 269,
0412
0413
0414
0415 HPI_ADAPTER_PROPERTY_SYNC_HEADER_CONNECTIONS = 270,
0416
0417
0418
0419
0420
0421
0422 HPI_ADAPTER_PROPERTY_SUPPORTS_SSX2 = 271,
0423
0424
0425
0426
0427
0428 HPI_ADAPTER_PROPERTY_SUPPORTS_IRQ = 272,
0429
0430
0431
0432
0433 HPI_ADAPTER_PROPERTY_SUPPORTS_FW_UPDATE = 273,
0434
0435
0436
0437
0438
0439
0440 HPI_ADAPTER_PROPERTY_FIRMWARE_ID = 274
0441 };
0442
0443
0444
0445
0446
0447
0448 enum HPI_ADAPTER_MODE_CMDS {
0449
0450 HPI_ADAPTER_MODE_SET = 0,
0451
0452
0453 HPI_ADAPTER_MODE_QUERY = 1
0454 };
0455
0456
0457
0458
0459
0460
0461
0462
0463 enum HPI_ADAPTER_MODES {
0464
0465
0466
0467
0468
0469
0470
0471
0472
0473
0474 HPI_ADAPTER_MODE_4OSTREAM = 1,
0475
0476
0477
0478
0479
0480
0481 HPI_ADAPTER_MODE_6OSTREAM = 2,
0482
0483
0484
0485
0486
0487
0488 HPI_ADAPTER_MODE_8OSTREAM = 3,
0489
0490
0491
0492
0493
0494
0495 HPI_ADAPTER_MODE_16OSTREAM = 4,
0496
0497
0498
0499
0500 HPI_ADAPTER_MODE_1OSTREAM = 5,
0501
0502
0503
0504
0505 HPI_ADAPTER_MODE_1 = 6,
0506
0507
0508
0509
0510 HPI_ADAPTER_MODE_2 = 7,
0511
0512
0513
0514
0515 HPI_ADAPTER_MODE_3 = 8,
0516
0517
0518
0519
0520
0521
0522 HPI_ADAPTER_MODE_MULTICHANNEL = 9,
0523
0524
0525
0526
0527
0528
0529 HPI_ADAPTER_MODE_12OSTREAM = 10,
0530
0531
0532
0533
0534 HPI_ADAPTER_MODE_9OSTREAM = 11,
0535
0536
0537
0538
0539
0540 HPI_ADAPTER_MODE_MONO = 12,
0541
0542
0543
0544
0545 HPI_ADAPTER_MODE_LOW_LATENCY = 13
0546 };
0547
0548
0549
0550 #define HPI_CAPABILITY_NONE (0)
0551 #define HPI_CAPABILITY_MPEG_LAYER3 (1)
0552
0553
0554
0555 #define HPI_CAPABILITY_MAX 1
0556
0557
0558
0559
0560
0561
0562
0563
0564
0565 enum HPI_MPEG_ANC_MODES {
0566
0567 HPI_MPEG_ANC_HASENERGY = 0,
0568
0569
0570
0571
0572 HPI_MPEG_ANC_RAW = 1
0573 };
0574
0575
0576
0577
0578 enum HPI_ISTREAM_MPEG_ANC_ALIGNS {
0579
0580 HPI_MPEG_ANC_ALIGN_LEFT = 0,
0581
0582 HPI_MPEG_ANC_ALIGN_RIGHT = 1
0583 };
0584
0585
0586
0587
0588
0589
0590
0591
0592
0593 enum HPI_MPEG_MODES {
0594
0595
0596
0597 HPI_MPEG_MODE_DEFAULT = 0,
0598
0599 HPI_MPEG_MODE_STEREO = 1,
0600
0601 HPI_MPEG_MODE_JOINTSTEREO = 2,
0602
0603 HPI_MPEG_MODE_DUALCHANNEL = 3
0604 };
0605
0606
0607
0608
0609
0610 #define HPI_MIXER_GET_CONTROL_MULTIPLE_CHANGED (0)
0611 #define HPI_MIXER_GET_CONTROL_MULTIPLE_RESET (1)
0612
0613
0614
0615
0616
0617 enum HPI_MIXER_STORE_COMMAND {
0618
0619 HPI_MIXER_STORE_SAVE = 1,
0620
0621 HPI_MIXER_STORE_RESTORE = 2,
0622
0623 HPI_MIXER_STORE_DELETE = 3,
0624
0625 HPI_MIXER_STORE_ENABLE = 4,
0626
0627 HPI_MIXER_STORE_DISABLE = 5,
0628
0629 HPI_MIXER_STORE_SAVE_SINGLE = 6
0630 };
0631
0632
0633
0634
0635
0636
0637
0638
0639
0640
0641 enum HPI_SWITCH_STATES {
0642 HPI_SWITCH_OFF = 0,
0643 HPI_SWITCH_ON = 1
0644 };
0645
0646
0647
0648
0649
0650
0651 #define HPI_UNITS_PER_dB 100
0652
0653
0654
0655 #define HPI_GAIN_OFF (-100 * HPI_UNITS_PER_dB)
0656
0657
0658
0659
0660 #define HPI_BITMASK_ALL_CHANNELS (0xFFFFFFFF)
0661
0662
0663
0664
0665 #define HPI_METER_MINIMUM (-150 * HPI_UNITS_PER_dB)
0666
0667
0668
0669
0670 enum HPI_VOLUME_AUTOFADES {
0671
0672 HPI_VOLUME_AUTOFADE_LOG = 2,
0673
0674 HPI_VOLUME_AUTOFADE_LINEAR = 3
0675 };
0676
0677
0678
0679
0680
0681
0682
0683 enum HPI_AESEBU_FORMATS {
0684
0685 HPI_AESEBU_FORMAT_AESEBU = 1,
0686
0687 HPI_AESEBU_FORMAT_SPDIF = 2
0688 };
0689
0690
0691
0692
0693
0694
0695 enum HPI_AESEBU_ERRORS {
0696
0697 HPI_AESEBU_ERROR_NOT_LOCKED = 0x01,
0698
0699 HPI_AESEBU_ERROR_POOR_QUALITY = 0x02,
0700
0701 HPI_AESEBU_ERROR_PARITY_ERROR = 0x04,
0702
0703 HPI_AESEBU_ERROR_BIPHASE_VIOLATION = 0x08,
0704
0705 HPI_AESEBU_ERROR_VALIDITY = 0x10,
0706
0707 HPI_AESEBU_ERROR_CRC = 0x20
0708 };
0709
0710
0711
0712
0713
0714 #define HPI_PAD_CHANNEL_NAME_LEN 16
0715
0716 #define HPI_PAD_ARTIST_LEN 64
0717
0718 #define HPI_PAD_TITLE_LEN 64
0719
0720 #define HPI_PAD_COMMENT_LEN 256
0721
0722 #define HPI_PAD_PROGRAM_TYPE_INVALID 0xffff
0723
0724
0725
0726
0727
0728 enum eHPI_RDS_type {
0729 HPI_RDS_DATATYPE_RDS = 0,
0730 HPI_RDS_DATATYPE_RBDS = 1
0731 };
0732
0733
0734
0735
0736
0737
0738 enum HPI_TUNER_BAND {
0739 HPI_TUNER_BAND_AM = 1,
0740 HPI_TUNER_BAND_FM = 2,
0741 HPI_TUNER_BAND_TV_NTSC_M = 3,
0742 HPI_TUNER_BAND_TV = 3,
0743 HPI_TUNER_BAND_FM_STEREO = 4,
0744 HPI_TUNER_BAND_AUX = 5,
0745 HPI_TUNER_BAND_TV_PAL_BG = 6,
0746 HPI_TUNER_BAND_TV_PAL_I = 7,
0747 HPI_TUNER_BAND_TV_PAL_DK = 8,
0748 HPI_TUNER_BAND_TV_SECAM_L = 9,
0749 HPI_TUNER_BAND_DAB = 10,
0750 HPI_TUNER_BAND_LAST = 10
0751 };
0752
0753
0754
0755
0756
0757
0758
0759 enum HPI_TUNER_MODES {
0760 HPI_TUNER_MODE_RSS = 1,
0761 HPI_TUNER_MODE_RDS = 2
0762 };
0763
0764
0765
0766
0767
0768
0769 enum HPI_TUNER_MODE_VALUES {
0770
0771 HPI_TUNER_MODE_RSS_DISABLE = 0,
0772 HPI_TUNER_MODE_RSS_ENABLE = 1,
0773
0774
0775 HPI_TUNER_MODE_RDS_DISABLE = 0,
0776 HPI_TUNER_MODE_RDS_RDS = 1,
0777 HPI_TUNER_MODE_RDS_RBDS = 2
0778 };
0779
0780
0781
0782
0783
0784
0785
0786 enum HPI_TUNER_STATUS_BITS {
0787 HPI_TUNER_VIDEO_COLOR_PRESENT = 0x0001,
0788 HPI_TUNER_VIDEO_IS_60HZ = 0x0020,
0789 HPI_TUNER_VIDEO_HORZ_SYNC_MISSING = 0x0040,
0790 HPI_TUNER_VIDEO_STATUS_VALID = 0x0100,
0791 HPI_TUNER_DIGITAL = 0x0200,
0792 HPI_TUNER_MULTIPROGRAM = 0x0400,
0793 HPI_TUNER_PLL_LOCKED = 0x1000,
0794 HPI_TUNER_FM_STEREO = 0x2000
0795 };
0796
0797
0798
0799
0800
0801 enum HPI_CHANNEL_MODES {
0802
0803 HPI_CHANNEL_MODE_NORMAL = 1,
0804
0805 HPI_CHANNEL_MODE_SWAP = 2,
0806
0807 HPI_CHANNEL_MODE_LEFT_TO_STEREO = 3,
0808
0809 HPI_CHANNEL_MODE_RIGHT_TO_STEREO = 4,
0810
0811
0812 HPI_CHANNEL_MODE_STEREO_TO_LEFT = 5,
0813
0814
0815 HPI_CHANNEL_MODE_STEREO_TO_RIGHT = 6,
0816 HPI_CHANNEL_MODE_LAST = 6
0817 };
0818
0819
0820
0821
0822 enum HPI_SAMPLECLOCK_SOURCES {
0823
0824
0825 HPI_SAMPLECLOCK_SOURCE_LOCAL = 1,
0826
0827 HPI_SAMPLECLOCK_SOURCE_AESEBU_SYNC = 2,
0828
0829 HPI_SAMPLECLOCK_SOURCE_WORD = 3,
0830
0831 HPI_SAMPLECLOCK_SOURCE_WORD_HEADER = 4,
0832
0833 HPI_SAMPLECLOCK_SOURCE_SMPTE = 5,
0834
0835 HPI_SAMPLECLOCK_SOURCE_AESEBU_INPUT = 6,
0836
0837 HPI_SAMPLECLOCK_SOURCE_NETWORK = 8,
0838
0839 HPI_SAMPLECLOCK_SOURCE_PREV_MODULE = 10,
0840
0841 HPI_SAMPLECLOCK_SOURCE_BLULINK = 11,
0842
0843 HPI_SAMPLECLOCK_SOURCE_LAST = 11
0844 };
0845
0846
0847
0848
0849 enum HPI_FILTER_TYPE {
0850 HPI_FILTER_TYPE_BYPASS = 0,
0851
0852 HPI_FILTER_TYPE_LOWSHELF = 1,
0853 HPI_FILTER_TYPE_HIGHSHELF = 2,
0854 HPI_FILTER_TYPE_EQ_BAND = 3,
0855
0856 HPI_FILTER_TYPE_LOWPASS = 4,
0857 HPI_FILTER_TYPE_HIGHPASS = 5,
0858 HPI_FILTER_TYPE_BANDPASS = 6,
0859 HPI_FILTER_TYPE_BANDSTOP = 7
0860 };
0861
0862
0863
0864
0865 enum ASYNC_EVENT_SOURCES {
0866 HPI_ASYNC_EVENT_GPIO = 1,
0867 HPI_ASYNC_EVENT_SILENCE = 2,
0868 HPI_ASYNC_EVENT_TONE = 3
0869 };
0870
0871
0872
0873
0874
0875
0876
0877
0878
0879
0880
0881
0882 enum HPI_ERROR_CODES {
0883
0884 HPI_ERROR_INVALID_TYPE = 100,
0885
0886 HPI_ERROR_INVALID_OBJ = 101,
0887
0888 HPI_ERROR_INVALID_FUNC = 102,
0889
0890 HPI_ERROR_INVALID_OBJ_INDEX = 103,
0891
0892 HPI_ERROR_OBJ_NOT_OPEN = 104,
0893
0894 HPI_ERROR_OBJ_ALREADY_OPEN = 105,
0895
0896 HPI_ERROR_INVALID_RESOURCE = 106,
0897
0898
0899 HPI_ERROR_INVALID_RESPONSE = 108,
0900
0901
0902 HPI_ERROR_PROCESSING_MESSAGE = 109,
0903
0904 HPI_ERROR_NETWORK_TIMEOUT = 110,
0905
0906 HPI_ERROR_INVALID_HANDLE = 111,
0907
0908 HPI_ERROR_UNIMPLEMENTED = 112,
0909
0910
0911 HPI_ERROR_NETWORK_TOO_MANY_CLIENTS = 113,
0912
0913
0914
0915
0916 HPI_ERROR_RESPONSE_BUFFER_TOO_SMALL = 114,
0917
0918 HPI_ERROR_RESPONSE_MISMATCH = 115,
0919
0920 HPI_ERROR_CONTROL_CACHING = 116,
0921
0922
0923
0924
0925 HPI_ERROR_MESSAGE_BUFFER_TOO_SMALL = 117,
0926
0927
0928
0929 HPI_ERROR_BAD_ADAPTER = 201,
0930
0931 HPI_ERROR_BAD_ADAPTER_NUMBER = 202,
0932
0933 HPI_ERROR_DUPLICATE_ADAPTER_NUMBER = 203,
0934
0935 HPI_ERROR_DSP_BOOTLOAD = 204,
0936
0937 HPI_ERROR_DSP_FILE_NOT_FOUND = 206,
0938
0939 HPI_ERROR_DSP_HARDWARE = 207,
0940
0941 HPI_ERROR_MEMORY_ALLOC = 208,
0942
0943 HPI_ERROR_PLD_LOAD = 209,
0944
0945 HPI_ERROR_DSP_FILE_FORMAT = 210,
0946
0947
0948 HPI_ERROR_DSP_FILE_ACCESS_DENIED = 211,
0949
0950 HPI_ERROR_DSP_FILE_NO_HEADER = 212,
0951
0952
0953 HPI_ERROR_DSP_SECTION_NOT_FOUND = 214,
0954
0955 HPI_ERROR_DSP_FILE_OTHER_ERROR = 215,
0956
0957 HPI_ERROR_DSP_FILE_SHARING_VIOLATION = 216,
0958
0959 HPI_ERROR_DSP_FILE_NULL_HEADER = 217,
0960
0961
0962
0963
0964 HPI_ERROR_BAD_CHECKSUM = 221,
0965 HPI_ERROR_BAD_SEQUENCE = 222,
0966 HPI_ERROR_FLASH_ERASE = 223,
0967 HPI_ERROR_FLASH_PROGRAM = 224,
0968 HPI_ERROR_FLASH_VERIFY = 225,
0969 HPI_ERROR_FLASH_TYPE = 226,
0970 HPI_ERROR_FLASH_START = 227,
0971 HPI_ERROR_FLASH_READ = 228,
0972 HPI_ERROR_FLASH_READ_NO_FILE = 229,
0973 HPI_ERROR_FLASH_SIZE = 230,
0974
0975
0976 HPI_ERROR_RESERVED_1 = 290,
0977
0978
0979
0980 HPI_ERROR_INVALID_FORMAT = 301,
0981
0982 HPI_ERROR_INVALID_SAMPLERATE = 302,
0983
0984 HPI_ERROR_INVALID_CHANNELS = 303,
0985
0986 HPI_ERROR_INVALID_BITRATE = 304,
0987
0988 HPI_ERROR_INVALID_DATASIZE = 305,
0989
0990
0991
0992 HPI_ERROR_INVALID_DATA_POINTER = 308,
0993
0994 HPI_ERROR_INVALID_PACKET_ORDER = 309,
0995
0996
0997
0998 HPI_ERROR_INVALID_OPERATION = 310,
0999
1000
1001
1002 HPI_ERROR_INCOMPATIBLE_SAMPLERATE = 311,
1003
1004 HPI_ERROR_BAD_ADAPTER_MODE = 312,
1005
1006
1007
1008
1009 HPI_ERROR_TOO_MANY_CAPABILITY_CHANGE_ATTEMPTS = 313,
1010
1011 HPI_ERROR_NO_INTERADAPTER_GROUPS = 314,
1012
1013 HPI_ERROR_NO_INTERDSP_GROUPS = 315,
1014
1015 HPI_ERROR_WAIT_CANCELLED = 316,
1016
1017 HPI_ERROR_INVALID_STRING = 317,
1018
1019
1020 HPI_ERROR_INVALID_NODE = 400,
1021
1022 HPI_ERROR_INVALID_CONTROL = 401,
1023
1024 HPI_ERROR_INVALID_CONTROL_VALUE = 402,
1025
1026 HPI_ERROR_INVALID_CONTROL_ATTRIBUTE = 403,
1027
1028 HPI_ERROR_CONTROL_DISABLED = 404,
1029
1030 HPI_ERROR_CONTROL_I2C_MISSING_ACK = 405,
1031 HPI_ERROR_I2C_MISSING_ACK = 405,
1032
1033
1034 HPI_ERROR_CONTROL_NOT_READY = 407,
1035
1036
1037 HPI_ERROR_NVMEM_BUSY = 450,
1038 HPI_ERROR_NVMEM_FULL = 451,
1039 HPI_ERROR_NVMEM_FAIL = 452,
1040
1041
1042 HPI_ERROR_I2C_BAD_ADR = 460,
1043
1044
1045 HPI_ERROR_ENTITY_TYPE_MISMATCH = 470,
1046
1047 HPI_ERROR_ENTITY_ITEM_COUNT = 471,
1048
1049 HPI_ERROR_ENTITY_TYPE_INVALID = 472,
1050
1051 HPI_ERROR_ENTITY_ROLE_INVALID = 473,
1052
1053 HPI_ERROR_ENTITY_SIZE_MISMATCH = 474,
1054
1055
1056
1057
1058 HPI_ERROR_CUSTOM = 600,
1059
1060
1061 HPI_ERROR_MUTEX_TIMEOUT = 700,
1062
1063
1064
1065
1066 HPI_ERROR_BACKEND_BASE = 900,
1067
1068
1069 HPI_ERROR_DSP_COMMUNICATION = 900
1070
1071
1072
1073
1074
1075 };
1076
1077
1078
1079
1080
1081 #define HPI_MAX_ADAPTERS 20
1082
1083 #define HPI_MAX_STREAMS 16
1084 #define HPI_MAX_CHANNELS 2
1085 #define HPI_MAX_NODES 8
1086 #define HPI_MAX_CONTROLS 4
1087
1088 #define HPI_MAX_ANC_BYTES_PER_FRAME (64)
1089 #define HPI_STRING_LEN 16
1090
1091
1092 #define HPI_MIN_NETWORK_ADAPTER_IDX 100
1093
1094
1095 #define HPI_OSTREAM_VELOCITY_UNITS 4096
1096
1097 #define HPI_OSTREAM_TIMESCALE_UNITS 10000
1098
1099 #define HPI_OSTREAM_TIMESCALE_PASSTHROUGH 99999
1100
1101
1102
1103
1104
1105 #ifndef DISABLE_PRAGMA_PACK1
1106 #pragma pack(push, 1)
1107 #endif
1108
1109
1110
1111
1112 struct hpi_format {
1113 u32 sample_rate;
1114
1115 u32 bit_rate;
1116 u32 attributes;
1117
1118 u16 mode_legacy;
1119
1120 u16 unused;
1121 u16 channels;
1122 u16 format;
1123 };
1124
1125 struct hpi_anc_frame {
1126 u32 valid_bits_in_this_frame;
1127 u8 b_data[HPI_MAX_ANC_BYTES_PER_FRAME];
1128 };
1129
1130
1131
1132 struct hpi_async_event {
1133 u16 event_type;
1134 u16 sequence;
1135 u32 state;
1136 u32 h_object;
1137 union {
1138 struct {
1139 u16 index;
1140 } gpio;
1141 struct {
1142 u16 node_index;
1143 u16 node_type;
1144 } control;
1145 } u;
1146 };
1147
1148 #ifndef DISABLE_PRAGMA_PACK1
1149 #pragma pack(pop)
1150 #endif
1151
1152
1153
1154
1155
1156
1157 u16 hpi_stream_estimate_buffer_size(struct hpi_format *pF,
1158 u32 host_polling_rate_in_milli_seconds, u32 *recommended_buffer_size);
1159
1160
1161
1162
1163
1164 u16 hpi_subsys_get_version_ex(u32 *pversion_ex);
1165
1166 u16 hpi_subsys_get_num_adapters(int *pn_num_adapters);
1167
1168 u16 hpi_subsys_get_adapter(int iterator, u32 *padapter_index,
1169 u16 *pw_adapter_type);
1170
1171
1172
1173
1174
1175 u16 hpi_adapter_open(u16 adapter_index);
1176
1177 u16 hpi_adapter_close(u16 adapter_index);
1178
1179 u16 hpi_adapter_get_info(u16 adapter_index, u16 *pw_num_outstreams,
1180 u16 *pw_num_instreams, u16 *pw_version, u32 *pserial_number,
1181 u16 *pw_adapter_type);
1182
1183 u16 hpi_adapter_get_module_by_index(u16 adapter_index, u16 module_index,
1184 u16 *pw_num_outputs, u16 *pw_num_inputs, u16 *pw_version,
1185 u32 *pserial_number, u16 *pw_module_type, u32 *ph_module);
1186
1187 u16 hpi_adapter_set_mode(u16 adapter_index, u32 adapter_mode);
1188
1189 u16 hpi_adapter_set_mode_ex(u16 adapter_index, u32 adapter_mode,
1190 u16 query_or_set);
1191
1192 u16 hpi_adapter_get_mode(u16 adapter_index, u32 *padapter_mode);
1193
1194 u16 hpi_adapter_get_assert2(u16 adapter_index, u16 *p_assert_count,
1195 char *psz_assert, u32 *p_param1, u32 *p_param2,
1196 u32 *p_dsp_string_addr, u16 *p_processor_id);
1197
1198 u16 hpi_adapter_test_assert(u16 adapter_index, u16 assert_id);
1199
1200 u16 hpi_adapter_enable_capability(u16 adapter_index, u16 capability, u32 key);
1201
1202 u16 hpi_adapter_self_test(u16 adapter_index);
1203
1204 u16 hpi_adapter_debug_read(u16 adapter_index, u32 dsp_address, char *p_bytes,
1205 int *count_bytes);
1206
1207 u16 hpi_adapter_set_property(u16 adapter_index, u16 property, u16 paramter1,
1208 u16 paramter2);
1209
1210 u16 hpi_adapter_get_property(u16 adapter_index, u16 property,
1211 u16 *pw_paramter1, u16 *pw_paramter2);
1212
1213 u16 hpi_adapter_enumerate_property(u16 adapter_index, u16 index,
1214 u16 what_to_enumerate, u16 property_index, u32 *psetting);
1215
1216
1217
1218 u16 hpi_outstream_open(u16 adapter_index, u16 outstream_index,
1219 u32 *ph_outstream);
1220
1221 u16 hpi_outstream_close(u32 h_outstream);
1222
1223 u16 hpi_outstream_get_info_ex(u32 h_outstream, u16 *pw_state,
1224 u32 *pbuffer_size, u32 *pdata_to_play, u32 *psamples_played,
1225 u32 *pauxiliary_data_to_play);
1226
1227 u16 hpi_outstream_write_buf(u32 h_outstream, const u8 *pb_write_buf,
1228 u32 bytes_to_write, const struct hpi_format *p_format);
1229
1230 u16 hpi_outstream_start(u32 h_outstream);
1231
1232 u16 hpi_outstream_wait_start(u32 h_outstream);
1233
1234 u16 hpi_outstream_stop(u32 h_outstream);
1235
1236 u16 hpi_outstream_sinegen(u32 h_outstream);
1237
1238 u16 hpi_outstream_reset(u32 h_outstream);
1239
1240 u16 hpi_outstream_query_format(u32 h_outstream, struct hpi_format *p_format);
1241
1242 u16 hpi_outstream_set_format(u32 h_outstream, struct hpi_format *p_format);
1243
1244 u16 hpi_outstream_set_punch_in_out(u32 h_outstream, u32 punch_in_sample,
1245 u32 punch_out_sample);
1246
1247 u16 hpi_outstream_set_velocity(u32 h_outstream, short velocity);
1248
1249 u16 hpi_outstream_ancillary_reset(u32 h_outstream, u16 mode);
1250
1251 u16 hpi_outstream_ancillary_get_info(u32 h_outstream, u32 *pframes_available);
1252
1253 u16 hpi_outstream_ancillary_read(u32 h_outstream,
1254 struct hpi_anc_frame *p_anc_frame_buffer,
1255 u32 anc_frame_buffer_size_in_bytes,
1256 u32 number_of_ancillary_frames_to_read);
1257
1258 u16 hpi_outstream_set_time_scale(u32 h_outstream, u32 time_scaleX10000);
1259
1260 u16 hpi_outstream_host_buffer_allocate(u32 h_outstream, u32 size_in_bytes);
1261
1262 u16 hpi_outstream_host_buffer_free(u32 h_outstream);
1263
1264 u16 hpi_outstream_group_add(u32 h_outstream, u32 h_stream);
1265
1266 u16 hpi_outstream_group_get_map(u32 h_outstream, u32 *poutstream_map,
1267 u32 *pinstream_map);
1268
1269 u16 hpi_outstream_group_reset(u32 h_outstream);
1270
1271
1272
1273
1274 u16 hpi_instream_open(u16 adapter_index, u16 instream_index,
1275 u32 *ph_instream);
1276
1277 u16 hpi_instream_close(u32 h_instream);
1278
1279 u16 hpi_instream_query_format(u32 h_instream,
1280 const struct hpi_format *p_format);
1281
1282 u16 hpi_instream_set_format(u32 h_instream,
1283 const struct hpi_format *p_format);
1284
1285 u16 hpi_instream_read_buf(u32 h_instream, u8 *pb_read_buf, u32 bytes_to_read);
1286
1287 u16 hpi_instream_start(u32 h_instream);
1288
1289 u16 hpi_instream_wait_start(u32 h_instream);
1290
1291 u16 hpi_instream_stop(u32 h_instream);
1292
1293 u16 hpi_instream_reset(u32 h_instream);
1294
1295 u16 hpi_instream_get_info_ex(u32 h_instream, u16 *pw_state, u32 *pbuffer_size,
1296 u32 *pdata_recorded, u32 *psamples_recorded,
1297 u32 *pauxiliary_data_recorded);
1298
1299 u16 hpi_instream_ancillary_reset(u32 h_instream, u16 bytes_per_frame,
1300 u16 mode, u16 alignment, u16 idle_bit);
1301
1302 u16 hpi_instream_ancillary_get_info(u32 h_instream, u32 *pframe_space);
1303
1304 u16 hpi_instream_ancillary_write(u32 h_instream,
1305 const struct hpi_anc_frame *p_anc_frame_buffer,
1306 u32 anc_frame_buffer_size_in_bytes,
1307 u32 number_of_ancillary_frames_to_write);
1308
1309 u16 hpi_instream_host_buffer_allocate(u32 h_instream, u32 size_in_bytes);
1310
1311 u16 hpi_instream_host_buffer_free(u32 h_instream);
1312
1313 u16 hpi_instream_group_add(u32 h_instream, u32 h_stream);
1314
1315 u16 hpi_instream_group_get_map(u32 h_instream, u32 *poutstream_map,
1316 u32 *pinstream_map);
1317
1318 u16 hpi_instream_group_reset(u32 h_instream);
1319
1320
1321
1322
1323 u16 hpi_mixer_open(u16 adapter_index, u32 *ph_mixer);
1324
1325 u16 hpi_mixer_close(u32 h_mixer);
1326
1327 u16 hpi_mixer_get_control(u32 h_mixer, u16 src_node_type,
1328 u16 src_node_type_index, u16 dst_node_type, u16 dst_node_type_index,
1329 u16 control_type, u32 *ph_control);
1330
1331 u16 hpi_mixer_get_control_by_index(u32 h_mixer, u16 control_index,
1332 u16 *pw_src_node_type, u16 *pw_src_node_index, u16 *pw_dst_node_type,
1333 u16 *pw_dst_node_index, u16 *pw_control_type, u32 *ph_control);
1334
1335 u16 hpi_mixer_store(u32 h_mixer, enum HPI_MIXER_STORE_COMMAND command,
1336 u16 index);
1337
1338
1339
1340
1341
1342
1343 u16 hpi_volume_set_gain(u32 h_control, short an_gain0_01dB[HPI_MAX_CHANNELS]
1344 );
1345
1346 u16 hpi_volume_get_gain(u32 h_control,
1347 short an_gain0_01dB_out[HPI_MAX_CHANNELS]
1348 );
1349
1350 u16 hpi_volume_set_mute(u32 h_control, u32 mute);
1351
1352 u16 hpi_volume_get_mute(u32 h_control, u32 *mute);
1353
1354 #define hpi_volume_get_range hpi_volume_query_range
1355 u16 hpi_volume_query_range(u32 h_control, short *min_gain_01dB,
1356 short *max_gain_01dB, short *step_gain_01dB);
1357
1358 u16 hpi_volume_query_channels(const u32 h_control, u32 *p_channels);
1359
1360 u16 hpi_volume_auto_fade(u32 h_control,
1361 short an_stop_gain0_01dB[HPI_MAX_CHANNELS], u32 duration_ms);
1362
1363 u16 hpi_volume_auto_fade_profile(u32 h_control,
1364 short an_stop_gain0_01dB[HPI_MAX_CHANNELS], u32 duration_ms,
1365 u16 profile);
1366
1367 u16 hpi_volume_query_auto_fade_profile(const u32 h_control, const u32 i,
1368 u16 *profile);
1369
1370
1371
1372
1373 u16 hpi_level_query_range(u32 h_control, short *min_gain_01dB,
1374 short *max_gain_01dB, short *step_gain_01dB);
1375
1376 u16 hpi_level_set_gain(u32 h_control, short an_gain0_01dB[HPI_MAX_CHANNELS]
1377 );
1378
1379 u16 hpi_level_get_gain(u32 h_control,
1380 short an_gain0_01dB_out[HPI_MAX_CHANNELS]
1381 );
1382
1383
1384
1385
1386 u16 hpi_meter_query_channels(const u32 h_meter, u32 *p_channels);
1387
1388 u16 hpi_meter_get_peak(u32 h_control,
1389 short an_peak0_01dB_out[HPI_MAX_CHANNELS]
1390 );
1391
1392 u16 hpi_meter_get_rms(u32 h_control, short an_peak0_01dB_out[HPI_MAX_CHANNELS]
1393 );
1394
1395 u16 hpi_meter_set_peak_ballistics(u32 h_control, u16 attack, u16 decay);
1396
1397 u16 hpi_meter_set_rms_ballistics(u32 h_control, u16 attack, u16 decay);
1398
1399 u16 hpi_meter_get_peak_ballistics(u32 h_control, u16 *attack, u16 *decay);
1400
1401 u16 hpi_meter_get_rms_ballistics(u32 h_control, u16 *attack, u16 *decay);
1402
1403
1404
1405
1406 u16 hpi_channel_mode_query_mode(const u32 h_mode, const u32 index,
1407 u16 *pw_mode);
1408
1409 u16 hpi_channel_mode_set(u32 h_control, u16 mode);
1410
1411 u16 hpi_channel_mode_get(u32 h_control, u16 *mode);
1412
1413
1414
1415
1416 u16 hpi_tuner_query_band(const u32 h_tuner, const u32 index, u16 *pw_band);
1417
1418 u16 hpi_tuner_set_band(u32 h_control, u16 band);
1419
1420 u16 hpi_tuner_get_band(u32 h_control, u16 *pw_band);
1421
1422 u16 hpi_tuner_query_frequency(const u32 h_tuner, const u32 index,
1423 const u16 band, u32 *pfreq);
1424
1425 u16 hpi_tuner_set_frequency(u32 h_control, u32 freq_ink_hz);
1426
1427 u16 hpi_tuner_get_frequency(u32 h_control, u32 *pw_freq_ink_hz);
1428
1429 u16 hpi_tuner_get_rf_level(u32 h_control, short *pw_level);
1430
1431 u16 hpi_tuner_get_raw_rf_level(u32 h_control, short *pw_level);
1432
1433 u16 hpi_tuner_query_gain(const u32 h_tuner, const u32 index, u16 *pw_gain);
1434
1435 u16 hpi_tuner_set_gain(u32 h_control, short gain);
1436
1437 u16 hpi_tuner_get_gain(u32 h_control, short *pn_gain);
1438
1439 u16 hpi_tuner_get_status(u32 h_control, u16 *pw_status_mask, u16 *pw_status);
1440
1441 u16 hpi_tuner_set_mode(u32 h_control, u32 mode, u32 value);
1442
1443 u16 hpi_tuner_get_mode(u32 h_control, u32 mode, u32 *pn_value);
1444
1445 u16 hpi_tuner_get_rds(u32 h_control, char *p_rds_data);
1446
1447 u16 hpi_tuner_query_deemphasis(const u32 h_tuner, const u32 index,
1448 const u16 band, u32 *pdeemphasis);
1449
1450 u16 hpi_tuner_set_deemphasis(u32 h_control, u32 deemphasis);
1451 u16 hpi_tuner_get_deemphasis(u32 h_control, u32 *pdeemphasis);
1452
1453 u16 hpi_tuner_query_program(const u32 h_tuner, u32 *pbitmap_program);
1454
1455 u16 hpi_tuner_set_program(u32 h_control, u32 program);
1456
1457 u16 hpi_tuner_get_program(u32 h_control, u32 *pprogram);
1458
1459 u16 hpi_tuner_get_hd_radio_dsp_version(u32 h_control, char *psz_dsp_version,
1460 const u32 string_size);
1461
1462 u16 hpi_tuner_get_hd_radio_sdk_version(u32 h_control, char *psz_sdk_version,
1463 const u32 string_size);
1464
1465 u16 hpi_tuner_get_hd_radio_signal_quality(u32 h_control, u32 *pquality);
1466
1467 u16 hpi_tuner_get_hd_radio_signal_blend(u32 h_control, u32 *pblend);
1468
1469 u16 hpi_tuner_set_hd_radio_signal_blend(u32 h_control, const u32 blend);
1470
1471
1472
1473
1474
1475 u16 hpi_pad_get_channel_name(u32 h_control, char *psz_string,
1476 const u32 string_length);
1477
1478 u16 hpi_pad_get_artist(u32 h_control, char *psz_string,
1479 const u32 string_length);
1480
1481 u16 hpi_pad_get_title(u32 h_control, char *psz_string,
1482 const u32 string_length);
1483
1484 u16 hpi_pad_get_comment(u32 h_control, char *psz_string,
1485 const u32 string_length);
1486
1487 u16 hpi_pad_get_program_type(u32 h_control, u32 *ppTY);
1488
1489 u16 hpi_pad_get_rdsPI(u32 h_control, u32 *ppI);
1490
1491 u16 hpi_pad_get_program_type_string(u32 h_control, const u32 data_type,
1492 const u32 pTY, char *psz_string, const u32 string_length);
1493
1494
1495
1496
1497 u16 hpi_aesebu_receiver_query_format(const u32 h_aes_rx, const u32 index,
1498 u16 *pw_format);
1499
1500 u16 hpi_aesebu_receiver_set_format(u32 h_control, u16 source);
1501
1502 u16 hpi_aesebu_receiver_get_format(u32 h_control, u16 *pw_source);
1503
1504 u16 hpi_aesebu_receiver_get_sample_rate(u32 h_control, u32 *psample_rate);
1505
1506 u16 hpi_aesebu_receiver_get_user_data(u32 h_control, u16 index, u16 *pw_data);
1507
1508 u16 hpi_aesebu_receiver_get_channel_status(u32 h_control, u16 index,
1509 u16 *pw_data);
1510
1511 u16 hpi_aesebu_receiver_get_error_status(u32 h_control, u16 *pw_error_data);
1512
1513
1514
1515
1516 u16 hpi_aesebu_transmitter_set_sample_rate(u32 h_control, u32 sample_rate);
1517
1518 u16 hpi_aesebu_transmitter_set_user_data(u32 h_control, u16 index, u16 data);
1519
1520 u16 hpi_aesebu_transmitter_set_channel_status(u32 h_control, u16 index,
1521 u16 data);
1522
1523 u16 hpi_aesebu_transmitter_get_channel_status(u32 h_control, u16 index,
1524 u16 *pw_data);
1525
1526 u16 hpi_aesebu_transmitter_query_format(const u32 h_aes_tx, const u32 index,
1527 u16 *pw_format);
1528
1529 u16 hpi_aesebu_transmitter_set_format(u32 h_control, u16 output_format);
1530
1531 u16 hpi_aesebu_transmitter_get_format(u32 h_control, u16 *pw_output_format);
1532
1533
1534
1535
1536 u16 hpi_multiplexer_set_source(u32 h_control, u16 source_node_type,
1537 u16 source_node_index);
1538
1539 u16 hpi_multiplexer_get_source(u32 h_control, u16 *source_node_type,
1540 u16 *source_node_index);
1541
1542 u16 hpi_multiplexer_query_source(u32 h_control, u16 index,
1543 u16 *source_node_type, u16 *source_node_index);
1544
1545
1546
1547
1548 u16 hpi_vox_set_threshold(u32 h_control, short an_gain0_01dB);
1549
1550 u16 hpi_vox_get_threshold(u32 h_control, short *an_gain0_01dB);
1551
1552
1553
1554
1555 u16 hpi_bitstream_set_clock_edge(u32 h_control, u16 edge_type);
1556
1557 u16 hpi_bitstream_set_data_polarity(u32 h_control, u16 polarity);
1558
1559 u16 hpi_bitstream_get_activity(u32 h_control, u16 *pw_clk_activity,
1560 u16 *pw_data_activity);
1561
1562
1563
1564
1565
1566 u16 hpi_sample_clock_query_source(const u32 h_clock, const u32 index,
1567 u16 *pw_source);
1568
1569 u16 hpi_sample_clock_set_source(u32 h_control, u16 source);
1570
1571 u16 hpi_sample_clock_get_source(u32 h_control, u16 *pw_source);
1572
1573 u16 hpi_sample_clock_query_source_index(const u32 h_clock, const u32 index,
1574 const u32 source, u16 *pw_source_index);
1575
1576 u16 hpi_sample_clock_set_source_index(u32 h_control, u16 source_index);
1577
1578 u16 hpi_sample_clock_get_source_index(u32 h_control, u16 *pw_source_index);
1579
1580 u16 hpi_sample_clock_get_sample_rate(u32 h_control, u32 *psample_rate);
1581
1582 u16 hpi_sample_clock_query_local_rate(const u32 h_clock, const u32 index,
1583 u32 *psource);
1584
1585 u16 hpi_sample_clock_set_local_rate(u32 h_control, u32 sample_rate);
1586
1587 u16 hpi_sample_clock_get_local_rate(u32 h_control, u32 *psample_rate);
1588
1589 u16 hpi_sample_clock_set_auto(u32 h_control, u32 enable);
1590
1591 u16 hpi_sample_clock_get_auto(u32 h_control, u32 *penable);
1592
1593 u16 hpi_sample_clock_set_local_rate_lock(u32 h_control, u32 lock);
1594
1595 u16 hpi_sample_clock_get_local_rate_lock(u32 h_control, u32 *plock);
1596
1597
1598
1599
1600 u16 hpi_microphone_set_phantom_power(u32 h_control, u16 on_off);
1601
1602 u16 hpi_microphone_get_phantom_power(u32 h_control, u16 *pw_on_off);
1603
1604
1605
1606
1607 u16 hpi_parametric_eq_get_info(u32 h_control, u16 *pw_number_of_bands,
1608 u16 *pw_enabled);
1609
1610 u16 hpi_parametric_eq_set_state(u32 h_control, u16 on_off);
1611
1612 u16 hpi_parametric_eq_set_band(u32 h_control, u16 index, u16 type,
1613 u32 frequency_hz, short q100, short gain0_01dB);
1614
1615 u16 hpi_parametric_eq_get_band(u32 h_control, u16 index, u16 *pn_type,
1616 u32 *pfrequency_hz, short *pnQ100, short *pn_gain0_01dB);
1617
1618 u16 hpi_parametric_eq_get_coeffs(u32 h_control, u16 index, short coeffs[5]
1619 );
1620
1621
1622
1623
1624
1625 u16 hpi_compander_set_enable(u32 h_control, u32 on);
1626
1627 u16 hpi_compander_get_enable(u32 h_control, u32 *pon);
1628
1629 u16 hpi_compander_set_makeup_gain(u32 h_control, short makeup_gain0_01dB);
1630
1631 u16 hpi_compander_get_makeup_gain(u32 h_control, short *pn_makeup_gain0_01dB);
1632
1633 u16 hpi_compander_set_attack_time_constant(u32 h_control, u32 index,
1634 u32 attack);
1635
1636 u16 hpi_compander_get_attack_time_constant(u32 h_control, u32 index,
1637 u32 *pw_attack);
1638
1639 u16 hpi_compander_set_decay_time_constant(u32 h_control, u32 index,
1640 u32 decay);
1641
1642 u16 hpi_compander_get_decay_time_constant(u32 h_control, u32 index,
1643 u32 *pw_decay);
1644
1645 u16 hpi_compander_set_threshold(u32 h_control, u32 index,
1646 short threshold0_01dB);
1647
1648 u16 hpi_compander_get_threshold(u32 h_control, u32 index,
1649 short *pn_threshold0_01dB);
1650
1651 u16 hpi_compander_set_ratio(u32 h_control, u32 index, u32 ratio100);
1652
1653 u16 hpi_compander_get_ratio(u32 h_control, u32 index, u32 *pw_ratio100);
1654
1655
1656
1657
1658 u16 hpi_cobranet_hmi_write(u32 h_control, u32 hmi_address, u32 byte_count,
1659 u8 *pb_data);
1660
1661 u16 hpi_cobranet_hmi_read(u32 h_control, u32 hmi_address, u32 max_byte_count,
1662 u32 *pbyte_count, u8 *pb_data);
1663
1664 u16 hpi_cobranet_hmi_get_status(u32 h_control, u32 *pstatus,
1665 u32 *preadable_size, u32 *pwriteable_size);
1666
1667 u16 hpi_cobranet_get_ip_address(u32 h_control, u32 *pdw_ip_address);
1668
1669 u16 hpi_cobranet_set_ip_address(u32 h_control, u32 dw_ip_address);
1670
1671 u16 hpi_cobranet_get_static_ip_address(u32 h_control, u32 *pdw_ip_address);
1672
1673 u16 hpi_cobranet_set_static_ip_address(u32 h_control, u32 dw_ip_address);
1674
1675 u16 hpi_cobranet_get_macaddress(u32 h_control, u32 *p_mac_msbs,
1676 u32 *p_mac_lsbs);
1677
1678
1679
1680
1681 u16 hpi_tone_detector_get_state(u32 hC, u32 *state);
1682
1683 u16 hpi_tone_detector_set_enable(u32 hC, u32 enable);
1684
1685 u16 hpi_tone_detector_get_enable(u32 hC, u32 *enable);
1686
1687 u16 hpi_tone_detector_set_event_enable(u32 hC, u32 event_enable);
1688
1689 u16 hpi_tone_detector_get_event_enable(u32 hC, u32 *event_enable);
1690
1691 u16 hpi_tone_detector_set_threshold(u32 hC, int threshold);
1692
1693 u16 hpi_tone_detector_get_threshold(u32 hC, int *threshold);
1694
1695 u16 hpi_tone_detector_get_frequency(u32 hC, u32 index, u32 *frequency);
1696
1697
1698
1699
1700 u16 hpi_silence_detector_get_state(u32 hC, u32 *state);
1701
1702 u16 hpi_silence_detector_set_enable(u32 hC, u32 enable);
1703
1704 u16 hpi_silence_detector_get_enable(u32 hC, u32 *enable);
1705
1706 u16 hpi_silence_detector_set_event_enable(u32 hC, u32 event_enable);
1707
1708 u16 hpi_silence_detector_get_event_enable(u32 hC, u32 *event_enable);
1709
1710 u16 hpi_silence_detector_set_delay(u32 hC, u32 delay);
1711
1712 u16 hpi_silence_detector_get_delay(u32 hC, u32 *delay);
1713
1714 u16 hpi_silence_detector_set_threshold(u32 hC, int threshold);
1715
1716 u16 hpi_silence_detector_get_threshold(u32 hC, int *threshold);
1717
1718
1719
1720
1721 u16 hpi_format_create(struct hpi_format *p_format, u16 channels, u16 format,
1722 u32 sample_rate, u32 bit_rate, u32 attributes);
1723
1724 #endif