Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/dev/pci add a bunch of register definitions
details: https://anonhg.NetBSD.org/src/rev/45d437cbf216
branches: trunk
changeset: 773439:45d437cbf216
user: macallan <macallan%NetBSD.org@localhost>
date: Thu Feb 02 07:09:53 2012 +0000
description:
add a bunch of register definitions
not used yet but I better commit them now than have he tell me that I forgot
them when pm2fb.c starts using them
diffstat:
sys/dev/pci/pm2reg.h | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 120 insertions(+), 2 deletions(-)
diffs (159 lines):
diff -r a8eb79ada883 -r 45d437cbf216 sys/dev/pci/pm2reg.h
--- a/sys/dev/pci/pm2reg.h Thu Feb 02 03:50:32 2012 +0000
+++ b/sys/dev/pci/pm2reg.h Thu Feb 02 07:09:53 2012 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: pm2reg.h,v 1.5 2011/11/24 03:23:08 macallan Exp $ */
+/* $NetBSD: pm2reg.h,v 1.6 2012/02/02 07:09:53 macallan Exp $ */
/*
* Copyright (c) 2009 Michael Lorenz
@@ -39,6 +39,13 @@
#define PM2_INPUT_FIFO_SPACE 0x00000018
#define PM2_OUTPUT_FIFO_WORDS 0x00000020
+#define PM2_VCLKCTL 0x00000040
+#define VCC_CLOCK_A 0x00000000
+#define VCC_CLOCK_B 0x00000001
+#define VCC_CLOCK_C 0x00000002
+/* PCI clocks to wait between RAMDAC accesses */
+#define VCC_RAMDAC_WAIT_MASK 0x000003fc
+
#define PM2_APERTURE1_CONTROL 0x00000050
#define PM2_APERTURE2_CONTROL 0x00000058
#define PM2_AP_BYTESWAP 0x00000001
@@ -60,6 +67,38 @@
#define PM2_SCREEN_BASE 0x00003000 /* in 64bit units */
#define PM2_SCREEN_STRIDE 0x00003008 /* in 64bit units */
+#define PM2_HTOTAL 0x00003010
+#define PM2_HGATE_END 0x00003018
+#define PM2_HBLANK_END 0x00003020
+#define PM2_HSYNC_START 0x00003028
+#define PM2_HSYNC_END 0x00003030
+#define PM2_VTOTAL 0x00003038
+#define PM2_VBLANK_END 0x00003040
+#define PM2_VSYNC_START 0x00003048
+#define PM2_VSYNC_END 0x00003050
+#define PM2_VIDEO_CONTROL 0x00003058
+#define PM2_VC_VIDEO_ENABLE 0x00000001
+#define PM2_VC_BLANK_ACR_LOW 0x00000002
+#define PM2_VC_LINE_DOUBLE 0x00000004
+#define PM2_VC_HSYNC_FORCE_H 0x00000000
+#define PM2_VC_HSYNC_ACT_HIGH 0x00000008
+#define PM2_VC_HSYNC_FORCE_L 0x00000010
+#define PM2_VC_HSYNC_ACT_LOW 0x00000018
+#define PM2_VC_VSYNC_FORCE_H 0x00000000
+#define PM2_VC_VSYNC_ACT_HIGH 0x00000020
+#define PM2_VC_VSYNC_FORCE_L 0x00000040
+#define PM2_VC_VSYNC_ACT_LOW 0x00000060
+#define PM2_VC_BP_BASE_PENDING 0x00000080
+#define PM2_VC_RE_BASE_PENDING 0x00000100
+#define PM2_VC_SWAP_SYNC_BLANK 0x00000000
+#define PM2_VC_SWAP_FREERUNNING 0x00000200
+#define PM2_VC_SWAP_LIMIT_FR 0x00000400
+#define PM2_VC_STEREO_ENABLE 0x00000800
+#define PM2_VC_RIGHT_EYE_ACT_L 0x00001000
+#define PM2_VC_DISP_RIGHT_FRAME 0x00002000 /* RO, left otherwise */
+#define PM2_VC_BP_RIGHT_PENDING 0x00004000
+#define PM2_VC_RE_RIGHT_PENDING 0x00008000
+#define PM2_VC_RAMDAC_64BIT 0x00010000 /* 32bit otherwise */
#define PM2_DISPLAY_DATA 0x00003068
#define PM2_DD_SDA_IN 0x00000001
@@ -79,9 +118,16 @@
#define PM2_DAC_PAL_WRITE_IDX 0x00004000
#define PM2_DAC_DATA 0x00004008
#define PM2_DAC_MASK 0x00004010
-#define PM2_DAC_PAL_READ 0x00004018
+#define PM2_DAC_PAL_READ_IDX 0x00004018
+/* these are different on PM2V: */
#define PM2_DAC_CURSOR_PAL 0x00004020
#define PM2_DAC_CURSOR_DATA 0x00004028
+/* here we go: */
+#define PM2V_DAC_INDEX_LOW 0x00004020
+#define PM2V_DAC_INDEX_HIGH 0x00004028
+#define PM2V_DAC_INDEX_DATA 0x00004030
+#define PM2V_DAC_INDEX_CONTROL 0x00004038
+
#define PM2_DAC_INDEX_DATA 0x00004050
#define PM2_DAC_CURSOR_RAM 0x00004058
#define PM2_DAC_CURSOR_X_LOW 0x00004060
@@ -89,6 +135,78 @@
#define PM2_DAC_CURSOR_Y_LOW 0x00004070
#define PM2_DAC_CURSOR_Y_HIGH 0x00004078
+/* RAMDAC registers ( through INDEX_DATA */
+#define PM2_DAC_COLOR_MODE 0x18
+#define CM_PALETTE 0x00
+#define CM_RGB332 0x01
+#define CM_RGB232OFFSET 0x02
+#define CM_RGBA2321 0x03
+#define CM_RGBA5551 0x04
+#define CM_RGBA4444 0x05
+#define CM_RGB565 0x06
+#define CM_RGBA8888 0x08
+#define CM_RGB888 0x09
+#define CM_GUI_DISABLE 0x10
+#define CM_RGB 0x20 /* BGR otherwise */
+#define CM_TRUECOLOR 0x80 /* use palette for gamma correction */
+
+#define PM2_DAC_MISC_CONTROL 0x1e
+#define MC_POWERDOWN 0x01
+#define MC_PALETTE_8BIT 0x02 /* 6bit otherwise */
+#define MC_HSYNC_INV 0x04
+#define MC_VSYNC_INV 0x08
+#define MC_SYNCONGREEN 0x10
+#define PM2_DAC_PIXELCLKA_M 0x20
+#define PM2_DAC_PIXELCLKA_N 0x21
+#define PM2_DAC_PIXELCLKA_P 0x22
+#define PCLK_ENABLE 0x08
+#define PM2_DAC_PIXELCLKB_M 0x23
+#define PM2_DAC_PIXELCLKB_N 0x24
+#define PM2_DAC_PIXELCLKB_P 0x25
+#define PM2_DAC_PIXELCLKC_M 0x26
+#define PM2_DAC_PIXELCLKC_N 0x27
+#define PM2_DAC_PIXELCLKC_P 0x28
+#define PM2_DAC_PIXELCLK_STATUS 0x29
+#define PCLK_LOCKED 0x10
+#define PM2_DAC_MEMCLK_M 0x30
+#define PM2_DAC_MEMCLK_N 0x31
+#define PM2_DAC_MEMCLK_P 0x32
+#define PM2_DAC_MEMCLK_STATUS 0x33
+
+/* PM2V RAMDAC */
+#define PM2V_DAC_MISC_CONTROL 0x000
+#define PM2V_DAC_8BIT 0x01 /* 6bit otherwise */
+#define PM2V_DAC_BYPASS_CLUT 0x08 /* ??? guess from xorg */
+#define PM2V_DAC_8_24_OVERLAY 0x10 /* ??? guess from xorg */
+#define PM2V_DAC_SYNC_CONTROL 0x001
+#define PM2V_DAC_HSYNC_INV 0x01
+#define PM2V_DAC_VSYNC_INV 0x08
+#define PM2V_DAC_CONTROL 0x002
+#define PM2V_DAC_PIXEL_SIZE 0x003
+#define PM2V_PS_8BIT 0x00
+#define PM2V_PS_16BIT 0x01
+#define PM2V_PS_32BIT 0x02
+#define PM2V_PS_24BIT 0x04
+#define PM2V_DAC_COLOR_FORMAT 0x004
+#define PM2V_DAC_PALETTE 0x2e
+#define PM2V_DAC_RGB555 0x61
+#define PM2V_DAC_RGB565 0x70
+#define PM2V_DAC_RGB888 0x60
+#define PM2V_DAC_RGBA8888 0x20
+
+#define PM2V_DAC_CHECK_CONTROL 0x018
+#define PM2V_DAC_CLOCK_CONTROL 0x200
+#define PM2V_DAC_CLOCK_A_M 0x201
+#define PM2V_DAC_CLOCK_A_N 0x202
+#define PM2V_DAC_CLOCK_A_P 0x203
+#define PM2V_DAC_CLOCK_B_M 0x204
+#define PM2V_DAC_CLOCK_B_N 0x205
+#define PM2V_DAC_CLOCK_B_P 0x206
+#define PM2V_DAC_MCLK_CONTROL 0x20D
+#define PM2V_DAC_MCLK_M 0x20E
+#define PM2V_DAC_MCLK_N 0x20F
+#define PM2V_DAC_MCLK_P 0x210
+
/* drawing engine */
#define PM2_RE_STARTXDOM 0x00008000
#define PM2_RE_DXDOM 0x00008008
Home |
Main Index |
Thread Index |
Old Index