summitreg.h revision 1.2 1 1.2 macallan /* $NetBSD: summitreg.h,v 1.2 2024/11/26 14:53:33 macallan Exp $ */
2 1.1 macallan
3 1.1 macallan /*
4 1.1 macallan * Copyright (c) 2024 Michael Lorenz
5 1.1 macallan * All rights reserved.
6 1.1 macallan *
7 1.1 macallan * Redistribution and use in source and binary forms, with or without
8 1.1 macallan * modification, are permitted provided that the following conditions
9 1.1 macallan * are met:
10 1.1 macallan * 1. Redistributions of source code must retain the above copyright
11 1.1 macallan * notice, this list of conditions and the following disclaimer.
12 1.1 macallan * 2. Redistributions in binary form must reproduce the above copyright
13 1.1 macallan * notice, this list of conditions and the following disclaimer in the
14 1.1 macallan * documentation and/or other materials provided with the distribution.
15 1.1 macallan *
16 1.1 macallan * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17 1.1 macallan * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18 1.1 macallan * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19 1.1 macallan * IN NO EVENT SHALL THE AUTHOR OR HIS RELATIVES BE LIABLE FOR ANY DIRECT,
20 1.1 macallan * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 1.1 macallan * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
22 1.1 macallan * SERVICES; LOSS OF MIND, USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23 1.1 macallan * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
24 1.1 macallan * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
25 1.1 macallan * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
26 1.1 macallan * THE POSSIBILITY OF SUCH DAMAGE.
27 1.1 macallan */
28 1.1 macallan
29 1.1 macallan /* HP Visualize FX 4 and related hardware, aka Summit */
30 1.1 macallan
31 1.1 macallan /*
32 1.1 macallan * register values, found by disassembling the ROM
33 1.1 macallan * some found by Sven Schnelle
34 1.1 macallan * ( see https://patchwork.kernel.org/project/linux-parisc/patch/20211031204952.25678-2-svens@stackframe.org/ )
35 1.1 macallan * some by me
36 1.1 macallan */
37 1.1 macallan
38 1.1 macallan #ifndef SUMMITREG_H
39 1.1 macallan #define SUMMITREG_H
40 1.1 macallan
41 1.1 macallan #define VISFX_STATUS 0x641400 // zero when idle
42 1.2 macallan #define VISFX_FIFO 0x641440
43 1.1 macallan #define VISFX_VRAM_WRITE_MODE 0xa00808
44 1.2 macallan #define VISFX_VRAM_READ_MODE 0xa0080c // this is a guess
45 1.1 macallan #define VISFX_PIXEL_MASK 0xa0082c
46 1.1 macallan #define VISFX_FG_COLOUR 0xa0083c
47 1.1 macallan #define VISFX_BG_COLOUR 0xa00844
48 1.1 macallan #define VISFX_PLANE_MASK 0xa0084c
49 1.2 macallan #define VISFX_VRAM_WRITE_DATA_INCRX 0xa60000
50 1.2 macallan #define VISFX_VRAM_WRITE_DATA_INCRY 0xa68000
51 1.2 macallan #define VISFX_VRAM_WRITE_DEST 0xac1000
52 1.1 macallan
53 1.1 macallan #define VISFX_WRITE_MODE_PLAIN 0x02000000
54 1.1 macallan #define VISFX_WRITE_MODE_EXPAND 0x050004c0
55 1.1 macallan #define VISFX_WRITE_MODE_FILL 0x050008c0
56 1.2 macallan #define VISFX_WRITE_MODE_TRANSPARENT 0x00000800
57 1.1 macallan
58 1.2 macallan #define VISFX_READ_MODE_COPY 0x02000400
59 1.2 macallan
60 1.2 macallan /* fill */
61 1.1 macallan #define VISFX_START 0xb3c000
62 1.2 macallan #define VISFX_SIZE 0xb3c808 /* start, FX4 uses 0xb3c908 */
63 1.2 macallan
64 1.2 macallan /* copy */
65 1.2 macallan #define VISFX_COPY_SRC 0xb3c010
66 1.2 macallan #define VISFX_COPY_WH 0xb3c008
67 1.2 macallan #define VISFX_COPY_DST 0xb3cc00
68 1.2 macallan /*
69 1.2 macallan * looks like ORing 0x800 to the register address starts a command
70 1.2 macallan * 0x100 and 0x400 seem to have functions as well
71 1.2 macallan */
72 1.1 macallan
73 1.1 macallan #define VISFX_COLOR_MASK 0x800018
74 1.1 macallan #define VISFX_COLOR_INDEX 0x800020
75 1.1 macallan #define VISFX_COLOR_VALUE 0x800024
76 1.1 macallan
77 1.1 macallan #define VISFX_CURSOR_POS 0x400000
78 1.1 macallan #define VISFX_CURSOR_INDEX 0x400004
79 1.1 macallan #define VISFX_CURSOR_DATA 0x400008
80 1.1 macallan #define VISFX_CURSOR_COLOR 0x400010
81 1.1 macallan #define VISFX_CURSOR_ENABLE 0x80000000
82 1.1 macallan
83 1.1 macallan #endif