0001
0002
0003
0004
0005
0006
0007
0008 #ifndef SHDMA_ARM_H
0009 #define SHDMA_ARM_H
0010
0011 #include "shdma.h"
0012
0013
0014 enum {
0015 XMIT_SZ_8BIT = 0,
0016 XMIT_SZ_16BIT = 1,
0017 XMIT_SZ_32BIT = 2,
0018 XMIT_SZ_64BIT = 7,
0019 XMIT_SZ_128BIT = 3,
0020 XMIT_SZ_256BIT = 4,
0021 XMIT_SZ_512BIT = 5,
0022 };
0023
0024
0025 #define SH_DMAE_TS_SHIFT { \
0026 [XMIT_SZ_8BIT] = 0, \
0027 [XMIT_SZ_16BIT] = 1, \
0028 [XMIT_SZ_32BIT] = 2, \
0029 [XMIT_SZ_64BIT] = 3, \
0030 [XMIT_SZ_128BIT] = 4, \
0031 [XMIT_SZ_256BIT] = 5, \
0032 [XMIT_SZ_512BIT] = 6, \
0033 }
0034
0035 #define TS_LOW_BIT 0x3
0036 #define TS_HI_BIT 0xc
0037
0038 #define TS_LOW_SHIFT (3)
0039 #define TS_HI_SHIFT (20 - 2)
0040
0041 #define TS_INDEX2VAL(i) \
0042 ((((i) & TS_LOW_BIT) << TS_LOW_SHIFT) |\
0043 (((i) & TS_HI_BIT) << TS_HI_SHIFT))
0044
0045 #define CHCR_TX(xmit_sz) (DM_FIX | SM_INC | RS_ERS | TS_INDEX2VAL((xmit_sz)))
0046 #define CHCR_RX(xmit_sz) (DM_INC | SM_FIX | RS_ERS | TS_INDEX2VAL((xmit_sz)))
0047
0048 #endif