1:
9:
10:
14:
15:
#ifndef __DSPPRM_H__
16:
#define __DSPPRM_H__
17:
18:
19:
#include "register/AG903_dspreg.h"
20:
21:
#ifdef __cplusplus
22:
extern "C" {
23:
#endif
24:
25:
26:
typedef struct _DSPPrmParamMOD {
27: uint32_t de;
28: uint32_t ip;
29: uint32_t upd;
30: uint32_t bmr;
31: uint32_t lut;
32: uint32_t dith;
33: }
DSPPrmParamMOD;
34:
35:
36:
typedef struct _DSPPrmParamSYNC {
37: uint32_t sel;
38: uint32_t dly;
39: uint32_t ip;
40: uint32_t vp;
41: uint32_t fp;
42: uint32_t msk;
43: }
DSPPrmParamSYNC;
44:
45:
46:
typedef struct _DSPPrmParamVTPRM0 {
47: uint32_t vpw;
48: uint32_t ofp;
49: uint32_t obp;
50: uint32_t efp;
51: uint32_t ebp;
52: }
DSPPrmParamVTPRM0;
53:
54:
55:
typedef struct _DSPPrmParamCDCTRL {
56: uint32_t be;
57: uint32_t ge;
58: uint32_t re;
59: uint32_t ae;
60: }
DSPPrmParamCDCTRL;
61:
62:
63:
typedef struct _DSPPrmParamCOLDET {
64: uint32_t b;
65: uint32_t g;
66: uint32_t r;
67: uint32_t a;
68: }
DSPPrmParamCOLDET;
69:
70:
71:
typedef struct _DSPPrmParamERRSTAT {
72: uint32_t line;
73: uint32_t ue;
74: uint32_t le;
75: uint32_t pe;
76: }
DSPPrmParamERRSTAT;
77:
78:
79:
typedef struct _DSPPrmParamERRCLR {
80: uint32_t line;
81: uint32_t ue;
82: uint32_t le;
83: uint32_t pe;
84: }
DSPPrmParamERRCLR;
85:
86:
87:
typedef struct _DSPPrmParamINT {
88: uint32_t line;
89: uint32_t fcnt;
90: uint32_t hline;
91: uint32_t vblk;
92: }
DSPPrmParamINT;
93:
94:
95:
typedef struct _DSPPrmParamINTSTAT {
96: uint32_t vblk;
97: uint32_t hline;
98: uint32_t doff;
99: uint32_t dreq;
100: }
DSPPrmParamINTSTAT;
101:
102:
103:
typedef struct _DSPPrmParamINTMASK {
104: uint32_t vblk;
105: uint32_t hline;
106: uint32_t doff;
107: uint32_t err;
108: }
DSPPrmParamINTMASK;
109:
110:
111:
typedef struct _DSPPrmParamLUTR {
112: uint32_t r0;
113: uint32_t r1;
114: uint32_t r2;
115: uint32_t r3;
116: }
DSPPrmParamLUTR;
117:
118:
119:
typedef struct _DSPPrmParamLUTG {
120: uint32_t g0;
121: uint32_t g1;
122: uint32_t g2;
123: uint32_t g3;
124: }
DSPPrmParamLUTG;
125:
126:
127:
typedef struct _DSPPrmParamLUTB {
128: uint32_t b0;
129: uint32_t b1;
130: uint32_t b2;
131: uint32_t b3;
132: }
DSPPrmParamLUTB;
133:
134:
135:
void AG903_DSPPrmGetCTRL(uint8_t ch, uint32_t *don);
136:
void AG903_DSPPrmSetCTRL(uint8_t ch, uint32_t don);
137:
void AG903_DSPPrmGetMOD(uint8_t ch,
DSPPrmParamMOD *mod);
138:
void AG903_DSPPrmSetMOD(uint8_t ch,
DSPPrmParamMOD *mod);
139:
void AG903_DSPPrmGetSYNC(uint8_t ch,
DSPPrmParamSYNC *sync);
140:
void AG903_DSPPrmSetSYNC(uint8_t ch,
DSPPrmParamSYNC *sync);
141:
void AG903_DSPPrmGetBGCOL(uint8_t ch, uint32_t *bgcol);
142:
void AG903_DSPPrmSetBGCOL(uint8_t ch, uint32_t bgcol);
143:
void AG903_DSPPrmGetWINNUM(uint8_t ch, uint32_t *act, uint32_t *conf);
144:
void AG903_DSPPrmSetWINNUM(uint8_t ch, uint32_t conf);
145:
void AG903_DSPPrmGetWATNUM(uint8_t ch, uint32_t *num);
146:
void AG903_DSPPrmSetWATNUM(uint8_t ch, uint32_t num);
147:
void AG903_DSPPrmGetWATBASE(uint8_t ch, uint32_t *addr);
148:
void AG903_DSPPrmSetWATBASE(uint8_t ch, uint32_t addr);
149:
void AG903_DSPPrmGetLSTCTRL(uint8_t ch, uint32_t *pal, uint32_t *wat);
150:
void AG903_DSPPrmSetLSTCTRL(uint8_t ch, uint32_t pal, uint32_t wat);
151:
void AG903_DSPPrmGetHRZPRM0(uint8_t ch, uint32_t *hpw);
152:
void AG903_DSPPrmSetHRZPRM0(uint8_t ch, uint32_t hpw);
153:
void AG903_DSPPrmGetHRZPRM1(uint8_t ch, uint32_t *hfp, uint32_t *hbp);
154:
void AG903_DSPPrmSetHRZPRM1(uint8_t ch, uint32_t hfp, uint32_t hbp);
155:
void AG903_DSPPrmGetVTPRM0(uint8_t ch,
DSPPrmParamVTPRM0 *vtprm0);
156:
void AG903_DSPPrmSetVTPRM0(uint8_t ch,
DSPPrmParamVTPRM0 *vtprm0);
157:
void AG903_DSPPrmGetVTPRM1(uint8_t ch, uint32_t *vfp, uint32_t *vbp);
158:
void AG903_DSPPrmSetVTPRM1(uint8_t ch, uint32_t vfp, uint32_t vbp);
159:
void AG903_DSPPrmGetFRMSIZE(uint8_t ch, uint32_t *vfs, uint32_t *hfs);
160:
void AG903_DSPPrmSetFRMSIZE(uint8_t ch, uint32_t vfs, uint32_t hfs);
161:
void AG903_DSPPrmGetCDCTRL(uint8_t ch,
DSPPrmParamCDCTRL *cdctrl);
162:
void AG903_DSPPrmSetCDCTRL(uint8_t ch,
DSPPrmParamCDCTRL *cdctrl);
163:
void AG903_DSPPrmGetCOLDET(uint8_t ch,
DSPPrmParamCOLDET *coldet);
164:
void AG903_DSPPrmSetCOLDET(uint8_t ch,
DSPPrmParamCOLDET *coldet);
165:
void AG903_DSPPrmGetDITHAREA0A(uint8_t ch, uint32_t *x0, uint32_t *y0);
166:
void AG903_DSPPrmSetDITHAREA0A(uint8_t ch, uint32_t x0, uint32_t y0);
167:
void AG903_DSPPrmGetDITHAREA0B(uint8_t ch, uint32_t *x1, uint32_t *y1);
168:
void AG903_DSPPrmSetDITHAREA0B(uint8_t ch, uint32_t x1, uint32_t y1);
169:
void AG903_DSPPrmGetDITHAREA1A(uint8_t ch, uint32_t *x0, uint32_t *y0);
170:
void AG903_DSPPrmSetDITHAREA1A(uint8_t ch, uint32_t x0, uint32_t y0);
171:
void AG903_DSPPrmGetDITHAREA1B(uint8_t ch, uint32_t *x1, uint32_t *y1);
172:
void AG903_DSPPrmSetDITHAREA1B(uint8_t ch, uint32_t x1, uint32_t y1);
173:
void AG903_DSPPrmGetDITHAREA2A(uint8_t ch, uint32_t *x0, uint32_t *y0);
174:
void AG903_DSPPrmSetDITHAREA2A(uint8_t ch, uint32_t x0, uint32_t y0);
175:
void AG903_DSPPrmGetDITHAREA2B(uint8_t ch, uint32_t *x1, uint32_t *y1);
176:
void AG903_DSPPrmSetDITHAREA2B(uint8_t ch, uint32_t x1, uint32_t y1);
177:
void AG903_DSPPrmGetDITHAREA3A(uint8_t ch, uint32_t *x0, uint32_t *y0);
178:
void AG903_DSPPrmSetDITHAREA3A(uint8_t ch, uint32_t x0, uint32_t y0);
179:
void AG903_DSPPrmGetDITHAREA3B(uint8_t ch, uint32_t *x1, uint32_t *y1);
180:
void AG903_DSPPrmSetDITHAREA3B(uint8_t ch, uint32_t x1, uint32_t y1);
181:
void AG903_DSPPrmGetERRSTAT(uint8_t ch,
DSPPrmParamERRSTAT *errstat);
182:
void AG903_DSPPrmSetERRCLR(uint8_t ch,
DSPPrmParamERRCLR *errclr);
183:
void AG903_DSPPrmGetINT(uint8_t ch,
DSPPrmParamINT *intprm);
184:
void AG903_DSPPrmSetINT(uint8_t ch,
DSPPrmParamINT *intprm);
185:
void AG903_DSPPrmGetTRIGGER(uint8_t ch, uint32_t *out, uint32_t *hrz, uint32_t *vt);
186:
void AG903_DSPPrmSetTRIGGER(uint8_t ch, uint32_t out, uint32_t hrz, uint32_t vt);
187:
void AG903_DSPPrmGetINTSTAT(uint8_t ch,
DSPPrmParamINTSTAT *intstat);
188:
void AG903_DSPPrmSetINTCLR(uint8_t ch, uint32_t vblk, uint32_t hline, uint32_t doff);
189:
void AG903_DSPPrmGetINTMASK(uint8_t ch,
DSPPrmParamINTMASK *intmask);
190:
void AG903_DSPPrmSetINTMASK(uint8_t ch,
DSPPrmParamINTMASK *intmask);
191:
void AG903_DSPPrmGetDMAREQ(uint8_t ch, uint32_t *req);
192:
void AG903_DSPPrmSetDMAREQ(uint8_t ch, uint32_t req);
193:
void AG903_DSPPrmGetHRZSTAT(uint8_t ch, uint32_t *pix, uint32_t *stat);
194:
void AG903_DSPPrmGetVTSTAT(uint8_t ch, uint32_t *line, uint32_t *stat, uint32_t *fcnt);
195:
void AG903_DSPPrmGetLUTR(uint8_t ch, uint8_t table_no,
DSPPrmParamLUTR *lutr);
196:
void AG903_DSPPrmSetLUTR(uint8_t ch, uint8_t table_no,
DSPPrmParamLUTR *lutr);
197:
void AG903_DSPPrmGetLUTG(uint8_t ch, uint8_t table_no,
DSPPrmParamLUTG *lutg);
198:
void AG903_DSPPrmSetLUTG(uint8_t ch, uint8_t table_no,
DSPPrmParamLUTG *lutg);
199:
void AG903_DSPPrmGetLUTB(uint8_t ch, uint8_t table_no,
DSPPrmParamLUTB *lutb);
200:
void AG903_DSPPrmSetLUTB(uint8_t ch, uint8_t table_no,
DSPPrmParamLUTB *lutb);
201:
202:
#ifdef __cplusplus
203: }
204:
#endif
205:
206:
#endif