| .. | .. |
|---|
| 18 | 18 | #define I2S_TXCR_RCNT_SHIFT 17 |
|---|
| 19 | 19 | #define I2S_TXCR_RCNT_MASK (0x3f << I2S_TXCR_RCNT_SHIFT) |
|---|
| 20 | 20 | #define I2S_TXCR_CSR_SHIFT 15 |
|---|
| 21 | | -#define I2S_TXCR_CSR(x) (x << I2S_TXCR_CSR_SHIFT) |
|---|
| 22 | 21 | #define I2S_TXCR_CSR_MASK (3 << I2S_TXCR_CSR_SHIFT) |
|---|
| 22 | +#define I2S_TXCR_CSR(x) (x << I2S_TXCR_CSR_SHIFT) |
|---|
| 23 | +#define I2S_TXCR_CSR_V(v) ((((v) & I2S_TXCR_CSR_MASK) >> 15) + 1) |
|---|
| 23 | 24 | #define I2S_TXCR_HWT BIT(14) |
|---|
| 24 | 25 | #define I2S_TXCR_SJM_SHIFT 12 |
|---|
| 25 | 26 | #define I2S_TXCR_SJM_R (0 << I2S_TXCR_SJM_SHIFT) |
|---|
| .. | .. |
|---|
| 48 | 49 | * receive operation control register |
|---|
| 49 | 50 | */ |
|---|
| 50 | 51 | #define I2S_RXCR_CSR_SHIFT 15 |
|---|
| 51 | | -#define I2S_RXCR_CSR(x) (x << I2S_RXCR_CSR_SHIFT) |
|---|
| 52 | 52 | #define I2S_RXCR_CSR_MASK (3 << I2S_RXCR_CSR_SHIFT) |
|---|
| 53 | +#define I2S_RXCR_CSR(x) (x << I2S_RXCR_CSR_SHIFT) |
|---|
| 54 | +#define I2S_RXCR_CSR_V(v) ((((v) & I2S_RXCR_CSR_MASK) >> 15) + 1) |
|---|
| 53 | 55 | #define I2S_RXCR_HWT BIT(14) |
|---|
| 54 | 56 | #define I2S_RXCR_SJM_SHIFT 12 |
|---|
| 55 | 57 | #define I2S_RXCR_SJM_R (0 << I2S_RXCR_SJM_SHIFT) |
|---|
| .. | .. |
|---|
| 132 | 134 | #define I2S_DMACR_RDE_DISABLE (0 << I2S_DMACR_RDE_SHIFT) |
|---|
| 133 | 135 | #define I2S_DMACR_RDE_ENABLE (1 << I2S_DMACR_RDE_SHIFT) |
|---|
| 134 | 136 | #define I2S_DMACR_RDL_SHIFT 16 |
|---|
| 135 | | -#define I2S_DMACR_RDL(x) ((x - 1) << I2S_DMACR_RDL_SHIFT) |
|---|
| 136 | 137 | #define I2S_DMACR_RDL_MASK (0x1f << I2S_DMACR_RDL_SHIFT) |
|---|
| 138 | +#define I2S_DMACR_RDL(x) ((x - 1) << I2S_DMACR_RDL_SHIFT) |
|---|
| 139 | +#define I2S_DMACR_RDL_V(v) ((((v) & I2S_DMACR_RDL_MASK) >> 16) + 1) |
|---|
| 137 | 140 | #define I2S_DMACR_TDE_SHIFT 8 |
|---|
| 138 | 141 | #define I2S_DMACR_TDE_DISABLE (0 << I2S_DMACR_TDE_SHIFT) |
|---|
| 139 | 142 | #define I2S_DMACR_TDE_ENABLE (1 << I2S_DMACR_TDE_SHIFT) |
|---|
| 140 | 143 | #define I2S_DMACR_TDL_SHIFT 0 |
|---|
| 141 | | -#define I2S_DMACR_TDL(x) ((x) << I2S_DMACR_TDL_SHIFT) |
|---|
| 142 | 144 | #define I2S_DMACR_TDL_MASK (0x1f << I2S_DMACR_TDL_SHIFT) |
|---|
| 145 | +#define I2S_DMACR_TDL(x) ((x) << I2S_DMACR_TDL_SHIFT) |
|---|
| 146 | +#define I2S_DMACR_TDL_V(v) (((v) & I2S_DMACR_TDL_MASK) >> 0) |
|---|
| 143 | 147 | |
|---|
| 144 | 148 | /* |
|---|
| 145 | 149 | * INTCR |
|---|
| .. | .. |
|---|
| 229 | 233 | #define I2S_TXCR (0x0000) |
|---|
| 230 | 234 | #define I2S_RXCR (0x0004) |
|---|
| 231 | 235 | #define I2S_CKR (0x0008) |
|---|
| 232 | | -#define I2S_FIFOLR (0x000c) |
|---|
| 236 | +#define I2S_TXFIFOLR (0x000c) |
|---|
| 233 | 237 | #define I2S_DMACR (0x0010) |
|---|
| 234 | 238 | #define I2S_INTCR (0x0014) |
|---|
| 235 | 239 | #define I2S_INTSR (0x0018) |
|---|
| .. | .. |
|---|
| 237 | 241 | #define I2S_CLR (0x0020) |
|---|
| 238 | 242 | #define I2S_TXDR (0x0024) |
|---|
| 239 | 243 | #define I2S_RXDR (0x0028) |
|---|
| 244 | +#define I2S_RXFIFOLR (0x002c) |
|---|
| 240 | 245 | |
|---|
| 241 | 246 | /* io direction cfg register */ |
|---|
| 242 | 247 | #define I2S_IO_DIRECTION_MASK (7) |
|---|
| .. | .. |
|---|
| 245 | 250 | #define I2S_IO_4CH_OUT_6CH_IN (6) |
|---|
| 246 | 251 | #define I2S_IO_2CH_OUT_8CH_IN (7) |
|---|
| 247 | 252 | |
|---|
| 253 | +/* XFL4 is compatible for old version */ |
|---|
| 254 | +#define I2S_FIFOLR_XFL4(v) (((v) & GENMASK(29, 24)) >> 24) |
|---|
| 255 | +#define I2S_FIFOLR_XFL3(v) (((v) & GENMASK(23, 18)) >> 18) |
|---|
| 256 | +#define I2S_FIFOLR_XFL2(v) (((v) & GENMASK(17, 12)) >> 12) |
|---|
| 257 | +#define I2S_FIFOLR_XFL1(v) (((v) & GENMASK(11, 6)) >> 6) |
|---|
| 258 | +#define I2S_FIFOLR_XFL0(v) (((v) & GENMASK(5, 0)) >> 0) |
|---|
| 259 | + |
|---|
| 248 | 260 | #endif /* _ROCKCHIP_IIS_H */ |
|---|