2 * $Id: pvr2mmio.h,v 1.1 2006-03-13 12:39:07 nkeynes Exp $
4 * PVR2 (video chip) MMIO register definitions.
6 * Copyright (c) 2005 Nathan Keynes.
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
21 MMIO_REGION_BEGIN( 0x005F8000, PVR2, "Power VR/2" )
22 LONG_PORT( 0x000, PVRID, PORT_MR, 0x17FD11DB, "PVR2 Core ID" )
23 LONG_PORT( 0x004, PVRVER, PORT_MR, 0x00000011, "PVR2 Core Version" )
24 LONG_PORT( 0x008, PVRRST, PORT_MR, 0, "PVR2 Reset" )
25 LONG_PORT( 0x014, RENDSTART, PORT_W, 0, "Start render" )
26 LONG_PORT( 0x020, OBJBASE, PORT_MRW, 0, "Object buffer base offset" )
27 LONG_PORT( 0x02C, TILEBASE, PORT_MRW, 0, "Tile buffer base offset" )
28 LONG_PORT( 0x040, DISPBORDER, PORT_MRW, 0, "Border Colour (RGB)" )
29 LONG_PORT( 0x044, DISPMODE, PORT_MRW, 0, "Display Mode" )
30 LONG_PORT( 0x048, RENDMODE, PORT_MRW, 0, "Rendering Mode" )
31 LONG_PORT( 0x04C, RENDSIZE, PORT_MRW, 0, "Rendering width (bytes/2)" )
32 LONG_PORT( 0x050, DISPADDR1, PORT_MRW, 0, "Video memory base 1" )
33 LONG_PORT( 0x054, DISPADDR2, PORT_MRW, 0, "Video memory base 2" )
34 LONG_PORT( 0x05C, DISPSIZE, PORT_MRW, 0, "Display size" )
35 LONG_PORT( 0x060, RENDADDR1, PORT_MRW, 0, "Rendering memory base 1" )
36 LONG_PORT( 0x064, RENDADDR2, PORT_MRW, 0, "Rendering memory base 2" )
37 LONG_PORT( 0x068, HCLIP, PORT_MRW, 0, "Horizontal clipping area" )
38 LONG_PORT( 0x06C, VCLIP, PORT_MRW, 0, "Vertical clipping area" )
39 LONG_PORT( 0x074, SHADOW, PORT_MRW, 0, "Shadowing" )
40 LONG_PORT( 0x078, OBJCLIP, PORT_MRW, 0, "Object clip distance (float32)" )
41 LONG_PORT( 0x07C, OBJCFG, PORT_MRW, 0, "Object config" )
42 LONG_PORT( 0x084, TSPCLIP, PORT_MRW, 0, "Texture clip distance (float32)" )
43 LONG_PORT( 0x088, BGPLANEZ, PORT_MRW, 0, "Background plane depth (float32)" )
44 LONG_PORT( 0x08C, BGPLANECFG, PORT_MRW, 0, "Background plane config" )
45 LONG_PORT( 0x0B0, FOGTBLCOL, PORT_MRW, 0, "Fog table colour" )
46 LONG_PORT( 0x0B4, FOGVRTCOL, PORT_MRW, 0, "Fog vertex colour" )
47 LONG_PORT( 0x0B8, FOGCOEFF, PORT_MRW, 0, "Fog density coefficient (float16)" )
48 LONG_PORT( 0x0BC, CLAMPHI, PORT_MRW, 0, "Clamp high colour" )
49 LONG_PORT( 0x0C0, CLAMPLO, PORT_MRW, 0, "Clamp low colour" )
50 LONG_PORT( 0x0C4, GUNPOS, PORT_MRW, 0, "Lightgun position" )
51 LONG_PORT( 0x0CC, VPOS_IRQ, PORT_MRW, 0, "Raster event position" )
52 LONG_PORT( 0x0D0, DISPCFG, PORT_MRW, 0, "Sync configuration & enable" )
53 LONG_PORT( 0x0D4, HBORDER, PORT_MRW, 0, "Horizontal border area" )
54 LONG_PORT( 0x0D8, REFRESH, PORT_MRW, 0, "Refresh rates?" )
55 LONG_PORT( 0x0DC, VBORDER, PORT_MRW, 0, "Vertical border area" )
56 LONG_PORT( 0x0E0, SYNCPOS, PORT_MRW, 0, "Sync pulse timing" )
57 LONG_PORT( 0x0E4, TSPCFG, PORT_MRW, 0, "Texture modulo width" )
58 LONG_PORT( 0x0E8, DISPCFG2, PORT_MRW, 0, "Video configuration 2" )
59 LONG_PORT( 0x0F0, VPOS, PORT_MRW, 0, "Vertical display position" )
60 LONG_PORT( 0x0F4, SCALERCFG, PORT_MRW, 0, "Scaler configuration (?)" )
61 LONG_PORT( 0x10C, BEAMPOS, PORT_R, 0, "Raster beam position" )
62 LONG_PORT( 0x124, TAOBJPBASE, PORT_MRW, 0, "TA Object Pointer Buffer start" )
63 LONG_PORT( 0x128, TAOBJBASE, PORT_MRW, 0, "TA Object Buffer start" )
64 LONG_PORT( 0x12C, TAOBJPEND, PORT_MRW, 0, "TA Object Pointer Buffer end" )
65 LONG_PORT( 0x130, TAOBJEND, PORT_MRW, 0, "TA Object Buffer end" )
66 LONG_PORT( 0x134, TAOBJPPOS, PORT_MRW, 0, "TA Object Pointer Buffer position" )
67 LONG_PORT( 0x138, TAOBJPOS, PORT_MRW, 0, "TA Object Buffer position" )
68 LONG_PORT( 0x13C, TATBSZ, PORT_MRW, 0, "TA Tile Buffer size" )
69 LONG_PORT( 0x140, TAOPBCFG, PORT_MRW, 0, "TA Object Pointer Buffer config" )
70 LONG_PORT( 0x144, TAINIT, PORT_MRW, 0, "TA Initialize" )
71 LONG_PORT( 0x164, TAOPLST, PORT_MRW, 0, "TA Object Pointer List start" )
74 MMIO_REGION_BEGIN( 0x005F9000, PVR2PAL, "Power VR/2 CLUT Palettes" )
75 LONG_PORT( 0x000, PAL0_0, PORT_MRW, 0, "Pal0 colour 0" )
78 MMIO_REGION_BEGIN( 0x10000000, PVR2TA, "Power VR/2 TA Command port" )
79 LONG_PORT( 0x000, TACMD, PORT_MRW, 0, "TA Command port" )
.