01d8b793779770ae1b760a8e4d786c49536ba58f
[tas2557sw-android/tas2557dm-ftc.git] / tas2557.h
1 /*\r
2 ** =============================================================================\r
3 ** Copyright (c) 2016  Texas Instruments Inc.\r
4 **\r
5 ** This program is free software; you can redistribute it and/or modify it under\r
6 ** the terms of the GNU General Public License as published by the Free Software \r
7 ** Foundation; version 2.\r
8 **\r
9 ** This program is distributed in the hope that it will be useful, but WITHOUT\r
10 ** ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\r
11 ** FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
12 **\r
13 ** You should have received a copy of the GNU General Public License along with\r
14 ** this program; if not, write to the Free Software Foundation, Inc., 51 Franklin\r
15 ** Street, Fifth Floor, Boston, MA 02110-1301, USA.\r
16 **\r
17 ** File:\r
18 **     tas2557.h\r
19 **\r
20 ** Description:\r
21 **     header file for tas2557.c\r
22 **\r
23 ** =============================================================================\r
24 */\r
25 \r
26 #ifndef TAS2557_H_\r
27 #define TAS2557_H_\r
28 \r
29 #include <stdint.h>\r
30 #include "tas2557_ftc.h"\r
31 \r
32 #define TILOAD_IOC_MAGIC   0xE0\r
33 \r
34 #define TILOAD_IOCTL_SET_CHL                    _IOW(TILOAD_IOC_MAGIC, 5, int)\r
35 #define TILOAD_IOCTL_SET_CONFIG                 _IOW(TILOAD_IOC_MAGIC, 6, int)\r
36 #define TILOAD_IOCTL_SET_CALIBRATION    _IOW(TILOAD_IOC_MAGIC, 7, int)\r
37 \r
38 #define RESULT_PASS                     0x00000000 \r
39 #define RE1_FAIL_HI                     0x00000001 \r
40 #define RE1_FAIL_LO                     0x00000010 \r
41 #define RE1_CHK_MSK                     0x00000011 \r
42 #define RE2_FAIL_HI         0x00000100 \r
43 #define RE2_FAIL_LO         0x00001000 \r
44 #define RE2_CHK_MSK         0x00001100\r
45 \r
46 uint8_t tas2557_get_PGID(void);\r
47 void tas2557_mixer_command(char *pCommand, int nData);\r
48 uint32_t tas2557_switch_device(uint8_t i2cslave);\r
49 uint32_t tas2557_coeff_read(uint8_t book, uint8_t page, uint8_t reg);\r
50 void tas2557_coeff_write(uint8_t book, uint8_t page, uint8_t reg, uint32_t data);\r
51 void tas2557_save_cal(struct TFTCConfiguration *pFTCC,\r
52         double dev_a_re, uint32_t dev_a_rms_pow, uint32_t dev_a_t_limit, \r
53         double dev_b_re, uint32_t dev_b_rms_pow, uint32_t dev_b_t_limit, \r
54         double t_cal, uint32_t,char * pFileName);\r
55 uint32_t check_spk_bounds(struct TFTCConfiguration *pFTCC, double re1, double re2);\r
56 void tas2557_load_calibration(int nCalibration);\r
57 void tas2557_open_bin(char * pFileName, unsigned char dev_a, unsigned char dev_b);\r
58 void tas2557_close_bin(void);\r
59 void tas2557_ftc_release(void);\r
60 \r
61 #endif /* TAS2557_H_ */\r