Merge branch 'master' of git://git.ti.com/tas2557sw-android/tas2557-ftc
[tas2557sw-android/tas2557-ftc.git] / tas2557.h
1 /*\r
2 ** =============================================================================\r
3 ** Copyright (c) 2016  Texas Instruments Inc.\r
4 **\r
5 ** File:\r
6 **     tas2557.h\r
7 **\r
8 ** Description:\r
9 **     header file for tas2557.c\r
10 **\r
11 ** =============================================================================\r
12 */\r
13 \r
14 #ifndef TAS2557_H_\r
15 #define TAS2557_H_\r
16 \r
17 #include <stdint.h>\r
18 #include "tas2557_ftc.h"\r
19 \r
20 /* 0000 0000 0BBB BBBB BPPP PPPP PRRR RRRR */\r
21 \r
22 #define TAS2557_REG(book, page, reg)            ((((unsigned int)book * 256 * 128) + \\r
23                                                  ((unsigned int)page * 128)) + reg)\r
24 \r
25 #define TAS2557_BOOK_ID(reg)                    ((unsigned char)(reg / (256 * 128)))\r
26 #define TAS2557_PAGE_ID(reg)                    ((unsigned char)((reg % (256 * 128)) / 128))\r
27 #define TAS2557_BOOK_REG(reg)                   ((unsigned char)(reg % (256 * 128)))\r
28 #define TAS2557_PAGE_REG(reg)                   ((unsigned char)((reg % (256 * 128)) % 128))\r
29 \r
30 #define TILOAD_IOC_MAGIC   0xE0\r
31 \r
32 #define TILOAD_IOCTL_SET_CHL                    _IOW(TILOAD_IOC_MAGIC, 5, int)\r
33 #define TILOAD_IOCTL_SET_CONFIG                 _IOW(TILOAD_IOC_MAGIC, 6, int)\r
34 #define TILOAD_IOCTL_SET_CALIBRATION    _IOW(TILOAD_IOC_MAGIC, 7, int)\r
35 \r
36 #define RESULT_PASS                     0x00000000 \r
37 #define RE1_FAIL_HI                     0x00000001 \r
38 #define RE1_FAIL_LO                     0x00000010 \r
39 #define RE1_CHK_MSK                     0x00000011 \r
40 \r
41 uint8_t tas2557_get_PGID(void);\r
42 void tas2557_mixer_command(char *pCommand, int nData);\r
43 uint32_t tas2557_coeff_read(uint32_t reg);\r
44 void tas2557_coeff_write(uint32_t reg, uint32_t data);\r
45 void tas2557_save_cal(struct TFTCConfiguration *pFTCC,\r
46         double dev_a_re, uint32_t dev_a_rms_pow, uint32_t dev_a_t_limit,\r
47         double t_cal, uint32_t,char * pFileName);\r
48 uint32_t check_spk_bounds(struct TFTCConfiguration *pFTCC, double re1);\r
49 void tas2557_load_calibration(int nCalibration);\r
50 void tas2557_open_bin(char * pFileName);\r
51 void tas2557_close_bin(void);\r
52 void tas2557_ftc_release(void);\r
53 \r
54 #endif /* TAS2557_H_ */\r