1/****************************************************************************
2 ****************************************************************************
3 ***
4 ***   This header was automatically generated from a Linux kernel header
5 ***   of the same name, to make information necessary for userspace to
6 ***   call into the kernel available to libc.  It contains only constants,
7 ***   structures, and macros generated from the original header, and thus,
8 ***   contains no copyrightable information.
9 ***
10 ***   To edit the content of this header, modify the corresponding
11 ***   source file (e.g. under external/kernel-headers/original/) then
12 ***   run bionic/libc/kernel/tools/update_all.py
13 ***
14 ***   Any manual change here will be lost the next time this script will
15 ***   be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef _SGI_IOC_H
20#define _SGI_IOC_H
21#include <linux/types.h>
22#include <asm/sgi/pi1.h>
23/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24struct sgioc_uart_regs {
25 u8 _ctrl1[3];
26 volatile u8 ctrl1;
27 u8 _data1[3];
28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29 volatile u8 data1;
30 u8 _ctrl2[3];
31 volatile u8 ctrl2;
32 u8 _data2[3];
33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34 volatile u8 data2;
35};
36struct sgioc_keyb_regs {
37 u8 _data[3];
38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39 volatile u8 data;
40 u8 _command[3];
41 volatile u8 command;
42};
43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44struct sgint_regs {
45 u8 _istat0[3];
46 volatile u8 istat0;
47#define SGINT_ISTAT0_FFULL 0x01
48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49#define SGINT_ISTAT0_SCSI0 0x02
50#define SGINT_ISTAT0_SCSI1 0x04
51#define SGINT_ISTAT0_ENET 0x08
52#define SGINT_ISTAT0_GFXDMA 0x10
53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54#define SGINT_ISTAT0_PPORT 0x20
55#define SGINT_ISTAT0_HPC2 0x40
56#define SGINT_ISTAT0_LIO2 0x80
57 u8 _imask0[3];
58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59 volatile u8 imask0;
60 u8 _istat1[3];
61 volatile u8 istat1;
62#define SGINT_ISTAT1_ISDNI 0x01
63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64#define SGINT_ISTAT1_PWR 0x02
65#define SGINT_ISTAT1_ISDNH 0x04
66#define SGINT_ISTAT1_LIO3 0x08
67#define SGINT_ISTAT1_HPC3 0x10
68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69#define SGINT_ISTAT1_AFAIL 0x20
70#define SGINT_ISTAT1_VIDEO 0x40
71#define SGINT_ISTAT1_GIO2 0x80
72 u8 _imask1[3];
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74 volatile u8 imask1;
75 u8 _vmeistat[3];
76 volatile u8 vmeistat;
77 u8 _cmeimask0[3];
78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79 volatile u8 cmeimask0;
80 u8 _cmeimask1[3];
81 volatile u8 cmeimask1;
82 u8 _cmepol[3];
83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84 volatile u8 cmepol;
85 u8 _tclear[3];
86 volatile u8 tclear;
87 u8 _errstat[3];
88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89 volatile u8 errstat;
90 u32 _unused0[2];
91 u8 _tcnt0[3];
92 volatile u8 tcnt0;
93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94 u8 _tcnt1[3];
95 volatile u8 tcnt1;
96 u8 _tcnt2[3];
97 volatile u8 tcnt2;
98/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99 u8 _tcword[3];
100 volatile u8 tcword;
101#define SGINT_TCWORD_BCD 0x01
102#define SGINT_TCWORD_MMASK 0x0e
103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104#define SGINT_TCWORD_MITC 0x00
105#define SGINT_TCWORD_MOS 0x02
106#define SGINT_TCWORD_MRGEN 0x04
107#define SGINT_TCWORD_MSWGEN 0x06
108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109#define SGINT_TCWORD_MSWST 0x08
110#define SGINT_TCWORD_MHWST 0x0a
111#define SGINT_TCWORD_CMASK 0x30
112#define SGINT_TCWORD_CLAT 0x00
113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114#define SGINT_TCWORD_CLSB 0x10
115#define SGINT_TCWORD_CMSB 0x20
116#define SGINT_TCWORD_CALL 0x30
117#define SGINT_TCWORD_CNT0 0x00
118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119#define SGINT_TCWORD_CNT1 0x40
120#define SGINT_TCWORD_CNT2 0x80
121#define SGINT_TCWORD_CRBCK 0xc0
122};
123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124#define SGINT_TIMER_CLOCK 1000000
125#define SGINT_TCSAMP_COUNTER ((SGINT_TIMER_CLOCK / HZ) + 255)
126struct sgioc_regs {
127 struct pi1_regs pport;
128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129 u32 _unused0[2];
130 struct sgioc_uart_regs uart;
131 struct sgioc_keyb_regs kbdmouse;
132 u8 _gcsel[3];
133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134 volatile u8 gcsel;
135 u8 _genctrl[3];
136 volatile u8 genctrl;
137 u8 _panel[3];
138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139 volatile u8 panel;
140#define SGIOC_PANEL_POWERON 0x01
141#define SGIOC_PANEL_POWERINTR 0x02
142#define SGIOC_PANEL_VOLDNINTR 0x10
143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144#define SGIOC_PANEL_VOLDNHOLD 0x20
145#define SGIOC_PANEL_VOLUPINTR 0x40
146#define SGIOC_PANEL_VOLUPHOLD 0x80
147 u32 _unused1;
148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149 u8 _sysid[3];
150 volatile u8 sysid;
151#define SGIOC_SYSID_FULLHOUSE 0x01
152#define SGIOC_SYSID_BOARDREV(x) (((x) & 0x1e) >> 1)
153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154#define SGIOC_SYSID_CHIPREV(x) (((x) & 0xe0) >> 5)
155 u32 _unused2;
156 u8 _read[3];
157 volatile u8 read;
158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159 u32 _unused3;
160 u8 _dmasel[3];
161 volatile u8 dmasel;
162#define SGIOC_DMASEL_SCLK10MHZ 0x00
163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164#define SGIOC_DMASEL_ISDNB 0x01
165#define SGIOC_DMASEL_ISDNA 0x02
166#define SGIOC_DMASEL_PPORT 0x04
167#define SGIOC_DMASEL_SCLK667MHZ 0x10
168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169#define SGIOC_DMASEL_SCLKEXT 0x20
170 u32 _unused4;
171 u8 _reset[3];
172 volatile u8 reset;
173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174#define SGIOC_RESET_PPORT 0x01
175#define SGIOC_RESET_KBDMOUSE 0x02
176#define SGIOC_RESET_EISA 0x04
177#define SGIOC_RESET_ISDN 0x08
178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179#define SGIOC_RESET_LC0OFF 0x10
180#define SGIOC_RESET_LC1OFF 0x20
181 u32 _unused5;
182 u8 _write[3];
183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184 volatile u8 write;
185#define SGIOC_WRITE_NTHRESH 0x01
186#define SGIOC_WRITE_TPSPEED 0x02
187#define SGIOC_WRITE_EPSEL 0x04
188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189#define SGIOC_WRITE_EASEL 0x08
190#define SGIOC_WRITE_U1AMODE 0x10
191#define SGIOC_WRITE_U0AMODE 0x20
192#define SGIOC_WRITE_MLO 0x40
193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194#define SGIOC_WRITE_MHI 0x80
195 u32 _unused6;
196 struct sgint_regs int3;
197 u32 _unused7[16];
198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199 volatile u32 extio;
200#define EXTIO_S0_IRQ_3 0x8000
201#define EXTIO_S0_IRQ_2 0x4000
202#define EXTIO_S0_IRQ_1 0x2000
203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204#define EXTIO_S0_RETRACE 0x1000
205#define EXTIO_SG_IRQ_3 0x0800
206#define EXTIO_SG_IRQ_2 0x0400
207#define EXTIO_SG_IRQ_1 0x0200
208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209#define EXTIO_SG_RETRACE 0x0100
210#define EXTIO_GIO_33MHZ 0x0080
211#define EXTIO_EISA_BUSERR 0x0040
212#define EXTIO_MC_BUSERR 0x0020
213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
214#define EXTIO_HPC3_BUSERR 0x0010
215#define EXTIO_S0_STAT_1 0x0008
216#define EXTIO_S0_STAT_0 0x0004
217#define EXTIO_SG_STAT_1 0x0002
218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219#define EXTIO_SG_STAT_0 0x0001
220};
221#endif
222