dd523fc18ea0ee5660b2526688656edc51d50cb1
[mw/milkymist.git] / software / include / hw / tmu.h
1 /*
2  * Milkymist VJ SoC (Software)
3  * Copyright (C) 2007, 2008, 2009 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_SRCMESH         MMPTR(0x80006014)
36 #define CSR_TMU_SRCFBUF         MMPTR(0x80006018)
37 #define CSR_TMU_SRCHRES         MMPTR(0x8000601C)
38 #define CSR_TMU_SRCVRES         MMPTR(0x80006020)
39
40 #define CSR_TMU_DSTMESH         MMPTR(0x80006024)
41 #define CSR_TMU_DSTFBUF         MMPTR(0x80006028)
42 #define CSR_TMU_DSTHRES         MMPTR(0x8000602C)
43 #define CSR_TMU_DSTVRES         MMPTR(0x80006030)
44
45 /* Performance counters */
46
47 #define CSR_TMUP_PIXELS         MMPTR(0x80006034)
48 #define CSR_TMUP_CLOCKS         MMPTR(0x80006038)
49
50 #define CSR_TMUP_STALL1         MMPTR(0x8000603C)
51 #define CSR_TMUP_COMPLETE1      MMPTR(0x80006040)
52 #define CSR_TMUP_STALL2         MMPTR(0x80006044)
53 #define CSR_TMUP_COMPLETE2      MMPTR(0x80006048)
54
55 #define CSR_TMUP_MISSES         MMPTR(0x8000604C)
56
57 struct tmu_vertex {
58         short int y;
59         short int x;
60 } __attribute__((packed));
61
62 #define TMU_MESH_MAXSIZE        128
63
64 #endif /* __HW_TMU_H */
65