1 #ifndef _REG_TDM_H_
2 #define _REG_TDM_H_
3 
4 #include "plat_types.h"
5 #include "reg_i2sip.h"
6 // 0  enable offset
7 #define TDM_ENABLE_SHIFT                  0x0
8 #define TDM_ENABLE                            0x1
9 #define TDM_DISABLE                           0x0
10 // 1  FS_ASSERTED
11 #define TDM_MODE_FS_ASSERTED_SHIFT        0x1
12 #define TDM_MODE_FS_ASSERTED_AT_FIRST         0x0
13 #define TDM_MODE_FS_ASSERTED_AT_LAST          0x1
14 // 2  FS_EDGE
15 #define TDM_FS_EDGE_SHIFT                 0x2
16 #define TDM_FS_EDGE_POSEDGE                   0x0
17 #define TDM_FS_EDGE_NEGEDGE                   0x1
18 // 3  FRAME_WIDTH
19 #define TDM_FRAME_WIDTH_SHIFT             0x3
20 #define TDM_FRAME_WIDTH_16_CYCLES             0x1
21 #define TDM_FRAME_WIDTH_32_CYCLES             0x2
22 #define TDM_FRAME_WIDTH_64_CYCLES             0x3
23 #define TDM_FRAME_WIDTH_128_CYCLES            0x4
24 #define TDM_FRAME_WIDTH_256_CYCLES            0x5
25 // 6 FRAME_WIDTH
26 #define TDM_FS_WIDTH_SHIFT                0x6
27 #define TDM_FS_WIDTH_1_CYCLE                  0x0
28 #define TDM_FS_WIDTH_8_CYCLES                 0x1
29 #define TDM_FS_WIDTH_16_CYCLES                0x2
30 #define TDM_FS_WIDTH_32_CYCLES                0x3
31 #define TDM_FS_WIDTH_64_CYCLES                0x4
32 #define TDM_FS_WIDTH_128_CYCLES               0x5
33 #define TDM_FS_WIDTH_FRAME_LENGTH_1_CYCLES    0x7
34 // 9 SLOT_WIDTH
35 #define TDM_SLOT_WIDTH_SHIFT              0x9
36 #define TDM_SLOT_WIDTH_32_BIT                 0x0
37 #define TDM_SLOT_WIDTH_16_BIT                 0x1
38 
39 #define TDM_DATA_OFFSET_SHIT              0xa
40 #define TDM_DATA_OFFSET_MIN                   0x0
41 #define TDM_DATA_OFFSET_SIZE                  0x0
42 #define TDM_DATA_OFFSET_MAX                   0x7
43 
44 #endif
45