update rccd2 for end-system integraton
[tas2555sw-android/tas2555-util-stereo.git] / rccd2 / include / rccd2.h
1 #ifndef RCCD2_H_
2 #define RCCD2_H_
4 #define FW_ID_ADDRESS   0x1FBC
6 #define TARGET_I2C          5
7 #define RCCD_MAGIC          "TICC"
8 #define RCCD_PING           "PING"
9 #define DEFAULT_FWID        "FWIDTLV320AIC3262EVM-U"    
10 #define RCCD_MAX_PACKET     (32*1024)
11 #define RCCD_MAX_STREAMS    (8)
13 enum __attribute__ ((__packed__)) rccd_cmd_id {
14     RCCD_CMD_WRITE      = 0x02,
15     RCCD_CMD_READ       = 0x03,
16     RCCD_CMD_FWID       = 0x05,
17     RCCD_CMD_SLAVE      = 0x06,
19     RCCD_CMD_BLOCK      = 0x80,
20     RCCD_CMD_OPEN,
21     RCCD_CMD_CLOSE,
22     RCCD_CMD_PLAY,
23     RCCD_CMD_CAPTURE,
24     RCCD_CMD_START,
25     RCCD_CMD_STOP,
26     RCCD_CMD_MGET,
27     RCCD_CMD_MSET,
28     RCCD_CMD_NCTLS,
29     RCCD_CMD_CTL
30 };
32 struct rccd_cmd {
33     u8 len;
34     enum rccd_cmd_id cid;
35     u8 options;
36     u8 data[];
37 };
38 struct rccd_cmd_alsa {
39     u8 len;
40     enum rccd_cmd_id cid;
41     u8 stream;
42     u8 device;
43     unsigned int flags;
44     unsigned int buffer_size;
45     unsigned int channels;
46     unsigned int rate;
47     unsigned int period_size;
48     unsigned int period_count;
49     unsigned int format;
50     u8 data[];
51 };
53 struct rccd_request {
54     u8 magic[4];
55     u8 len;
56     u8 app;
57     u8 target;
58     u8 result;
59     struct rccd_cmd cmd[];
60 };
62 #endif