Software support for the new TMU
[mw/milkymist.git] / software / include / hw / tmu.h
1 /*
2  * Milkymist VJ SoC (Software)
3  * Copyright (C) 2007, 2008, 2009, 2010 Sebastien Bourdeauducq
4  *
5  * This program is free software: you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation, version 3 of the License.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
16  */
17
18 #ifndef __HW_TMU_H
19 #define __HW_TMU_H
20
21 #include <hw/common.h>
22
23 #define CSR_TMU_CTL             MMPTR(0x80006000)
24 #define TMU_CTL_START           0x01
25 #define TMU_CTL_BUSY            0x01
26 #define TMU_CTL_CHROMAKEY       0x02
27
28 #define CSR_TMU_HMESHLAST       MMPTR(0x80006004)
29 #define CSR_TMU_VMESHLAST       MMPTR(0x80006008)
30 #define CSR_TMU_BRIGHTNESS      MMPTR(0x8000600C)
31 #define CSR_TMU_CHROMAKEY       MMPTR(0x80006010)
32
33 #define TMU_BRIGHTNESS_MAX      (63)
34
35 #define CSR_TMU_VERTICESADR     MMPTR(0x80006014)
36 #define CSR_TMU_TEXFBUF         MMPTR(0x80006018)
37 #define CSR_TMU_TEXHRES         MMPTR(0x8000601C)
38 #define CSR_TMU_TEXVRES         MMPTR(0x80006020)
39 #define CSR_TMU_TEXHMASK        MMPTR(0x80006024)
40 #define CSR_TMU_TEXVMASK        MMPTR(0x80006028)
41
42 #define TMU_MASK_FULL           (0x3ffff)
43 #define TMU_FIXEDPOINT_SHIFT    (6)
44
45 #define CSR_TMU_DSTFBUF         MMPTR(0x8000602C)
46 #define CSR_TMU_DSTHRES         MMPTR(0x80006030)
47 #define CSR_TMU_DSTVRES         MMPTR(0x80006034)
48 #define CSR_TMU_DSTHOFFSET      MMPTR(0x80006038)
49 #define CSR_TMU_DSTVOFFSET      MMPTR(0x8000603C)
50 #define CSR_TMU_DSTSQUAREW      MMPTR(0x80006040)
51 #define CSR_TMU_DSTSQUAREH      MMPTR(0x80006044)
52
53 struct tmu_vertex {
54         int x;
55         int y;
56 } __attribute__((packed));
57
58 #define TMU_MESH_MAXSIZE        128
59
60 #endif /* __HW_TMU_H */
61