27#ifndef __DC_PVR_PVR_REGS_H
28#define __DC_PVR_PVR_REGS_H
52#define PVR_GET(REG) (* ( (volatile uint32_t *)( 0xa05f8000 + (REG) ) ) )
59#define PVR_SET(REG, VALUE) PVR_GET(REG) = (VALUE)
65#define PVR2_ADDR_STRIDE 0x02000000
68#define PVR2_GET(REG) (* ( (volatile uint32_t *)( 0xa25f8000 + (REG) ) ) )
71#define PVR2_SET(REG, VALUE) PVR2_GET(REG) = (VALUE)
74#define PVR_BCAST_SET(REG, VALUE) \
75 (* ( (volatile uint32_t *)( 0xa85f8000 + (REG) ) ) = (VALUE))
93#define PVR_REVISION 0x0004
94#define PVR_RESET 0x0008
96#define PVR_ISP_START 0x0014
97#define PVR_TEST_SELECT 0x0018
99#define PVR_ISP_VERTBUF_ADDR 0x0020
101#define PVR_ISP_TILEMAT_ADDR 0x002c
102#define PVR_SPANSORT_CFG 0x0030
104#define PVR_BORDER_COLOR 0x0040
105#define PVR_FB_CFG_1 0x0044
106#define PVR_FB_CFG_2 0x0048
107#define PVR_RENDER_MODULO 0x004c
108#define PVR_FB_ADDR 0x0050
109#define PVR_FB_IL_ADDR 0x0054
111#define PVR_FB_SIZE 0x005c
112#define PVR_RENDER_ADDR 0x0060
113#define PVR_RENDER_ADDR_2 0x0064
114#define PVR_PCLIP_X 0x0068
115#define PVR_PCLIP_Y 0x006c
117#define PVR_CHEAP_SHADOW 0x0074
118#define PVR_OBJECT_CLIP 0x0078
119#define PVR_FPU_PARAM_CFG 0x007c
120#define PVR_HALF_OFFSET 0x0080
121#define PVR_TEXTURE_CLIP 0x0084
122#define PVR_BGPLANE_Z 0x0088
123#define PVR_BGPLANE_CFG 0x008c
125#define PVR_ISP_FEED_CFG 0x0098
127#define PVR_SDRAM_REFRESH 0x00a0
128#define PVR_SDRAM_ARB_CFG 0x00a4
130#define PVR_SDRAM_CFG 0x00a8
132#define PVR_FOG_TABLE_COLOR 0x00b0
133#define PVR_FOG_VERTEX_COLOR 0x00b4
134#define PVR_FOG_DENSITY 0x00b8
135#define PVR_COLOR_CLAMP_MAX 0x00bc
136#define PVR_COLOR_CLAMP_MIN 0x00c0
137#define PVR_GUN_POS 0x00c4
138#define PVR_HPOS_IRQ 0x00c8
139#define PVR_VPOS_IRQ 0x00cc
140#define PVR_IL_CFG 0x00d0
141#define PVR_BORDER_X 0x00d4
142#define PVR_SCAN_CLK 0x00d8
143#define PVR_BORDER_Y 0x00dc
145#define PVR_TEXTURE_MODULO 0x00e4
146#define PVR_VIDEO_CFG 0x00e8
147#define PVR_BITMAP_X 0x00ec
148#define PVR_BITMAP_Y 0x00f0
149#define PVR_SCALER_CFG 0x00f4
151#define PVR_PALETTE_CFG 0x0108
152#define PVR_SYNC_STATUS 0x010c
153#define PVR_FB_BURSTCTRL 0x0110
154#define PVR_FB_C_SOF 0x0114
155#define PVR_Y_COEFF 0x0118
157#define PVR_PT_ALPHA_REF 0x011c
159#define PVR_TA_OPB_START 0x0124
160#define PVR_TA_VERTBUF_START 0x0128
161#define PVR_TA_OPB_END 0x012c
162#define PVR_TA_VERTBUF_END 0x0130
163#define PVR_TA_OPB_POS 0x0134
164#define PVR_TA_VERTBUF_POS 0x0138
165#define PVR_TILEMAT_CFG 0x013c
166#define PVR_OPB_CFG 0x0140
167#define PVR_TA_INIT 0x0144
168#define PVR_YUV_ADDR 0x0148
169#define PVR_YUV_CFG 0x014c
170#define PVR_YUV_STAT 0x0150
172#define PVR_TA_LIST_CONT 0x0160
173#define PVR_TA_OPB_INIT 0x0164
175#define PVR_FOG_TABLE_BASE 0x0200
177#define PVR_PALETTE_TABLE_BASE 0x1000
188#define PVR_TA_INPUT 0x10000000
189#define PVR_TA_YUV_CONV 0x10800000
190#define PVR_TA_TEX_MEM 0x11000000
191#define PVR_TA_TEX_MEM_32 0x13000000
192#define PVR_RAM_BASE_32_P0 0x05000000
193#define PVR_RAM_BASE_64_P0 0x04000000
194#define PVR_RAM_BASE 0xa5000000
195#define PVR_RAM_INT_BASE 0xa4000000
197#define PVR_RAM_SIZE_MB (hardware_sys_mode(NULL) == HW_TYPE_RETAIL ? 8 : 16)
198#define PVR_RAM_SIZE (PVR_RAM_SIZE_MB*1024*1024)
200#define PVR_RAM_TOP (PVR_RAM_BASE + PVR_RAM_SIZE)
201#define PVR_RAM_INT_TOP (PVR_RAM_INT_BASE + PVR_RAM_SIZE)
203#define PVR2_RAM_BASE_32_P0 (PVR_RAM_BASE_32_P0 + PVR2_ADDR_STRIDE)
204#define PVR2_RAM_BASE_64_P0 (PVR_RAM_BASE_64_P0 + PVR2_ADDR_STRIDE)
205#define PVR2_RAM_BASE (PVR_RAM_BASE + PVR2_ADDR_STRIDE)
206#define PVR2_RAM_INT_BASE (PVR_RAM_INT_BASE + PVR2_ADDR_STRIDE)
207#define PVR2_RAM_TOP (PVR2_RAM_BASE + PVR_RAM_SIZE)
208#define PVR2_RAM_INT_TOP (PVR2_RAM_INT_BASE + PVR_RAM_SIZE)
223#define PVR_RESET_ALL 0xffffffff
224#define PVR_RESET_NONE 0x00000000
225#define PVR_RESET_TA 0x00000001
226#define PVR_RESET_ISPTSP 0x00000002
234#define PVR_ISP_START_GO 0xffffffff
236#define PVR_TA_INIT_GO 0x80000000
244#define PVR_TXR_STRIDE_MULT GENMASK(4, 0)
252#define PVR_SCALER_CFG_FSAA BIT(16)
254#define PVR_SCALER_CFG_VSCALE_FACTOR GENMASK(15, 0)
Dreamcast architecture specific options.
Various common macros used throughout the codebase.