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