summaryrefslogtreecommitdiff
path: root/sys/arch/hpcmips/dev/plumvideoreg.h
blob: 6e61fcd8c805fb7dcc7e13df1ef4072df07c221b (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
/*	$NetBSD: plumvideoreg.h,v 1.6 2008/04/28 20:23:21 martin Exp $ */

/*-
 * Copyright (c) 1999, 2000 The NetBSD Foundation, Inc.
 * All rights reserved.
 *
 * This code is derived from software contributed to The NetBSD Foundation
 * by UCHIYAMA Yasushi.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 */

/* (CS3) */
#define	PLUM_VIDEO_REGBASE		0x1000
#define	PLUM_VIDEO_REGSIZE		0x200

/* (MCS0) */
/* VRAM 4MByte */
#define PLUM_VIDEO_VRAM_IOBASE_PHYSICAL	0x6c000000
#define PLUM_VIDEO_VRAM_IOBASE		0x00000000
#define PLUM_VIDEO_VRAM_IOSIZE		0x00400000
/* Color palette LCD 4KByte */
#define	PLUM_VIDEO_CLUT_LCD_IOBASE	0x00400000
#define	PLUM_VIDEO_CLUT_LCD_IOSIZE	0x00001000
/* Color palette CRT 4KByte */
#define	PLUM_VIDEO_CLUT_CRT_IOBASE	0x00401000
#define	PLUM_VIDEO_CLUT_CRT_IOSIZE	0x00001000
/* BitBlt 4KByte */
#define PLUM_VIDEO_BITBLT_IOBASE	0x00402000
#define PLUM_VIDEO_BITBLT_IOSIZE	0x00401000

/*
 *	Common Control Register
 */
/* Interrupt Status enable and IRQ line enable */
#define	PLUM_VIDEO_POSENIEN_REG		0x000
/* Interrupt Status */
#define	PLUM_VIDEO_POIST_REG		0x004
/* Buffer Control */
#define	PLUM_VIDEO_POBFC_REG		0x008
/* VRAM Control */
#define	PLUM_VIDEO_PORAM_REG		0x00c
/* VRAM Refresh Control */
#define	PLUM_VIDEO_POREF_REG		0x010
/* LCD Clock Source select and control */
#define	PLUM_VIDEO_POCKL_REG		0x014
/* CRT Clock Source select and control */
#define	PLUM_VIDEO_POCKC_REG		0x018
/* PLL Clock Source select and control */
#define	PLUM_VIDEO_POPLL_REG		0x01c

/*
 *	LCD Panel Control Register
 */
/* LCD Control */
#define	PLUM_VIDEO_PLCNT_REG		0x040
/* STN Control */
#define	PLUM_VIDEO_PLSTN_REG		0x044
/* LCD Level control */
#define	PLUM_VIDEO_PLLEV_REG		0x048
/* LCD Luminance control */
#define	PLUM_VIDEO_PLLUM_REG		0x04c
#define PLUM_VIDEO_PLLUM_MAX		0x3
#define PLUM_VIDEO_PLLUM_MIN		0x0
/* DSTN Dither Pattern base address */
#define	PLUM_VIDEO_PLDPA_REG		0x050
/* DSTN VRAM Offscreen buffer address */
#define	PLUM_VIDEO_PLOSA_REG		0x054

/*
 *	CRT Control Register
 */
/* DAC Control */
#define	PLUM_VIDEO_PCDAC_REG		0x060
/* CRT Border Color */
#define	PLUM_VIDEO_PCBOC_REG		0x064
/* Palette snoop */
#define	PLUM_VIDEO_PCSNP_REG		0x068

/*
 *	LCD Timing Register
 */
/* Horizontanl Total */
#define	PLUM_VIDEO_PLHT_REG		0x080
/* Horizontal Display Start */
#define	PLUM_VIDEO_PLHDS_REG		0x084
/* H-Sync Start/End */
#define	PLUM_VIDEO_PLHSEHSS_REG		0x088
/* H-Blanking Start/End */
#define	PLUM_VIDEO_PLHBEHSS_REG		0x08c
/* Horizontal # of pixel */
#define	PLUM_VIDEO_PLHPX_REG		0x090
/* Vertical Total */
#define	PLUM_VIDEO_PLVT_REG		0x094
/* Vertical Display Start */
#define	PLUM_VIDEO_PLVDS_REG		0x098
/* V-Sync Start/End */
#define	PLUM_VIDEO_PLVSEVSS_REG		0x09c
/* V-Blankng Start/End */
#define	PLUM_VIDEO_PLVBEVBS_REG		0x0a0
/* Current Line # */
#define	PLUM_VIDEO_PLCLN_REG		0x0a8
/* Interrupt Line # */
#define	PLUM_VIDEO_PLILN_REG		0x0ac
/* Mode */
#define	PLUM_VIDEO_PLMOD_REG		0x0b0
/* LCD controller test */
#define	PLUM_VIDEO_PLTST_REG		0x0bc

/*
 *	LCD Graphics Register
 */
/* Double Buffer Select */
#define	PLUM_VIDEO_PLBSL_REG		0x0c0
/* Graphics Display Start Address */
#define	PLUM_VIDEO_PLDSA0_REG		0x0c4
#define	PLUM_VIDEO_PLDSA1_REG		0x0c8
/* VRAM Pitch 1 */
#define	PLUM_VIDEO_PLPIT1_REG		0x0cc
/* VRAM Pitch 2 */
#define	PLUM_VIDEO_PLPIT2_REG		0x0d0
#define PLUM_VIDEO_PLPIT2_MASK		0xffffffe0
/* VRAM Offset */
#define	PLUM_VIDEO_PLOFS_REG		0x0d4
/* VRAM Lower Screen Address offset */
#define	PLUM_VIDEO_PLLSA_REG		0x0d8
/* Graphics Mode */
#define	PLUM_VIDEO_PLGMD_REG		0x0dc

#define PLUM_VIDEO_PLGMD_GMODE_MASK	0x3
#define PLUM_VIDEO_PLGMD_DISABLE	0x0
#define PLUM_VIDEO_PLGMD_8BPP		0x1
#define PLUM_VIDEO_PLGMD_16BPP		0x2

#define PLUM_VIDEO_PLGMD_MODE_DISPLAY	0x4
#define PLUM_VIDEO_PLGMD_PALETTE_ENABLE 0x8

/*
 *	CRT Timing Register
 */
/* notyet */
/*
 *	CRT Graphics Register
 */
/* notyet */