1:
9:
10:
14:
15:
#ifndef __EQSCTL_H__
16:
#define __EQSCTL_H__
17:
18:
19:
#ifdef __cplusplus
20:
extern "C" {
21:
#endif
22:
23:
24:
#define AG903_EQS_SYS_CLK (200 * 1000 * 1000)
25:
26:
27:
enum AG903_EQS_MODE_ENUM{
28: AG903_EQS_MODE_NORM = 0,
29: AG903_EQS_MODE_QUAD,
30: };
31:
32:
33:
enum AG903_EQS_AREA_ENUM{
34: AG903_EQS_AREA_0 = 0,
35: AG903_EQS_AREA_1,
36: AG903_EQS_AREA_2,
37: AG903_EQS_AREA_3,
38: AG903_EQS_AREA_NUM,
39: };
40:
41:
42:
enum AG903_EQS_DIR_ENUM{
43: AG903_EQS_DIR_READ = 0,
44: AG903_EQS_DIR_WRITE,
45: };
46:
47:
48:
enum AG903_EQS_FLOW_ENUM{
49: AG903_EQS_FLOW_OFF = 0,
50: AG903_EQS_FLOW_ON,
51: };
52:
53:
54:
enum AG903_EQS_WIDTH_ENUM{
55: AG903_EQS_WIDTH_NONE = 0,
56: AG903_EQS_WIDTH_8BIT,
57: AG903_EQS_WIDTH_16BIT,
58: AG903_EQS_WIDTH_24BIT,
59: };
60:
61:
62:
enum AG903_EQS_DATA_ENUM{
63: AG903_EQS_DATA_NONE = 0,
64: AG903_EQS_DATA_BUS,
65: };
66:
67:
68:
typedef struct _AG903_EQSCtlFormat {
69: uint8_t command;
70: uint8_t wait;
71: uint8_t data_len;
72: uint8_t addr_len;
73: uint8_t flow;
74: uint8_t reserve;
75: }
AG903_EQSCtlFormat;
76:
77:
80: int32_t
AG903_EQSCtlInit(uint16_t div, uint16_t cnt);
81: int32_t
AG903_EQSCtlSetMode(uint8_t mode);
82: int32_t
AG903_EQSCtlGetAddress(uint8_t ch, uint32_t *addr);
83: int32_t
AG903_EQSCtlSetup(uint8_t area, uint8_t dir,
AG903_EQSCtlFormat *format);
84:
85:
#ifdef __cplusplus
86: }
87:
#endif
88:
89:
#endif