summaryrefslogtreecommitdiff
path: root/arch/unicore32/include/mach/regs-unigfx.h
blob: 58bbd540a39302219398fe31d7967f6ce6e4e04a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
/*
 * PKUnity UNIGFX Registers
 */

#define UDE_BASE      (PKUNITY_UNIGFX_BASE + 0x1400)
#define UGE_BASE      (PKUNITY_UNIGFX_BASE + 0x0000)

/*
 * command reg for UNIGFX DE
 */
/*
 * control reg UDE_CFG
 */
#define UDE_CFG       __REG(UDE_BASE + 0x0000)
/*
 * framebuffer start address reg UDE_FSA
 */
#define UDE_FSA       __REG(UDE_BASE + 0x0004)
/*
 * line size reg UDE_LS
 */
#define UDE_LS        __REG(UDE_BASE + 0x0008)
/*
 * pitch size reg UDE_PS
 */
#define UDE_PS        __REG(UDE_BASE + 0x000C)
/*
 * horizontal active time reg UDE_HAT
 */
#define UDE_HAT       __REG(UDE_BASE + 0x0010)
/*
 * horizontal blank time reg UDE_HBT
 */
#define UDE_HBT       __REG(UDE_BASE + 0x0014)
/*
 * horizontal sync time reg UDE_HST
 */
#define UDE_HST       __REG(UDE_BASE + 0x0018)
/*
 * vertival active time reg UDE_VAT
 */
#define UDE_VAT       __REG(UDE_BASE + 0x001C)
/*
 * vertival blank time reg UDE_VBT
 */
#define UDE_VBT       __REG(UDE_BASE + 0x0020)
/*
 * vertival sync time reg UDE_VST
 */
#define UDE_VST       __REG(UDE_BASE + 0x0024)
/*
 * cursor position UDE_CXY
 */
#define UDE_CXY       __REG(UDE_BASE + 0x0028)
/*
 * cursor front color UDE_CC0
 */
#define UDE_CC0       __REG(UDE_BASE + 0x002C)
/*
 * cursor background color UDE_CC1
 */
#define UDE_CC1       __REG(UDE_BASE + 0x0030)
/*
 * video position UDE_VXY
 */
#define UDE_VXY       __REG(UDE_BASE + 0x0034)
/*
 * video start address reg UDE_VSA
 */
#define UDE_VSA       __REG(UDE_BASE + 0x0040)
/*
 * video size reg UDE_VS
 */
#define UDE_VS        __REG(UDE_BASE + 0x004C)

/*
 * command reg for UNIGFX GE
 */
/*
 * src xy reg UGE_SRCXY
 */
#define UGE_SRCXY     __REG(UGE_BASE + 0x0000)
/*
 * dst xy reg UGE_DSTXY
 */
#define UGE_DSTXY     __REG(UGE_BASE + 0x0004)
/*
 * pitch reg UGE_PITCH
 */
#define UGE_PITCH     __REG(UGE_BASE + 0x0008)
/*
 * src start reg UGE_SRCSTART
 */
#define UGE_SRCSTART  __REG(UGE_BASE + 0x000C)
/*
 * dst start reg UGE_DSTSTART
 */
#define UGE_DSTSTART  __REG(UGE_BASE + 0x0010)
/*
 * width height reg UGE_WIDHEIGHT
 */
#define UGE_WIDHEIGHT __REG(UGE_BASE + 0x0014)
/*
 * rop alpah reg UGE_ROPALPHA
 */
#define UGE_ROPALPHA  __REG(UGE_BASE + 0x0018)
/*
 * front color UGE_FCOLOR
 */
#define UGE_FCOLOR    __REG(UGE_BASE + 0x001C)
/*
 * background color UGE_BCOLOR
 */
#define UGE_BCOLOR    __REG(UGE_BASE + 0x0020)
/*
 * src color key for high value UGE_SCH
 */
#define UGE_SCH       __REG(UGE_BASE + 0x0024)
/*
 * dst color key for high value UGE_DCH
 */
#define UGE_DCH       __REG(UGE_BASE + 0x0028)
/*
 * src color key for low value UGE_SCL
 */
#define UGE_SCL       __REG(UGE_BASE + 0x002C)
/*
 * dst color key for low value UGE_DCL
 */
#define UGE_DCL       __REG(UGE_BASE + 0x0030)
/*
 * clip 0 reg UGE_CLIP0
 */
#define UGE_CLIP0     __REG(UGE_BASE + 0x0034)
/*
 * clip 1 reg UGE_CLIP1
 */
#define UGE_CLIP1     __REG(UGE_BASE + 0x0038)
/*
 * command reg UGE_COMMAND
 */
#define UGE_COMMAND   __REG(UGE_BASE + 0x003C)
/*
 * pattern 0 UGE_P0
 */
#define UGE_P0        __REG(UGE_BASE + 0x0040)
#define UGE_P1        __REG(UGE_BASE + 0x0044)
#define UGE_P2        __REG(UGE_BASE + 0x0048)
#define UGE_P3        __REG(UGE_BASE + 0x004C)
#define UGE_P4        __REG(UGE_BASE + 0x0050)
#define UGE_P5        __REG(UGE_BASE + 0x0054)
#define UGE_P6        __REG(UGE_BASE + 0x0058)
#define UGE_P7        __REG(UGE_BASE + 0x005C)
#define UGE_P8        __REG(UGE_BASE + 0x0060)
#define UGE_P9        __REG(UGE_BASE + 0x0064)
#define UGE_P10       __REG(UGE_BASE + 0x0068)
#define UGE_P11       __REG(UGE_BASE + 0x006C)
#define UGE_P12       __REG(UGE_BASE + 0x0070)
#define UGE_P13       __REG(UGE_BASE + 0x0074)
#define UGE_P14       __REG(UGE_BASE + 0x0078)
#define UGE_P15       __REG(UGE_BASE + 0x007C)
#define UGE_P16       __REG(UGE_BASE + 0x0080)
#define UGE_P17       __REG(UGE_BASE + 0x0084)
#define UGE_P18       __REG(UGE_BASE + 0x0088)
#define UGE_P19       __REG(UGE_BASE + 0x008C)
#define UGE_P20       __REG(UGE_BASE + 0x0090)
#define UGE_P21       __REG(UGE_BASE + 0x0094)
#define UGE_P22       __REG(UGE_BASE + 0x0098)
#define UGE_P23       __REG(UGE_BASE + 0x009C)
#define UGE_P24       __REG(UGE_BASE + 0x00A0)
#define UGE_P25       __REG(UGE_BASE + 0x00A4)
#define UGE_P26       __REG(UGE_BASE + 0x00A8)
#define UGE_P27       __REG(UGE_BASE + 0x00AC)
#define UGE_P28       __REG(UGE_BASE + 0x00B0)
#define UGE_P29       __REG(UGE_BASE + 0x00B4)
#define UGE_P30       __REG(UGE_BASE + 0x00B8)
#define UGE_P31       __REG(UGE_BASE + 0x00BC)

#define UDE_CFG_DST_MASK	FMASK(2, 8)
#define UDE_CFG_DST8            FIELD(0x0, 2, 8)
#define UDE_CFG_DST16           FIELD(0x1, 2, 8)
#define UDE_CFG_DST24           FIELD(0x2, 2, 8)
#define UDE_CFG_DST32           FIELD(0x3, 2, 8)

/*
 * GDEN enable UDE_CFG_GDEN_ENABLE
 */
#define UDE_CFG_GDEN_ENABLE     FIELD(1, 1, 3)
/*
 * VDEN enable UDE_CFG_VDEN_ENABLE
 */
#define UDE_CFG_VDEN_ENABLE     FIELD(1, 1, 4)
/*
 * CDEN enable UDE_CFG_CDEN_ENABLE
 */
#define UDE_CFG_CDEN_ENABLE     FIELD(1, 1, 5)
/*
 * TIMEUP enable UDE_CFG_TIMEUP_ENABLE
 */
#define UDE_CFG_TIMEUP_ENABLE   FIELD(1, 1, 6)