xref: /netbsd/sys/arch/sparc64/dev/auxioreg.h (revision b2f3a04f)
1 /*	$NetBSD: auxioreg.h,v 1.8 2015/07/11 10:32:46 kamil Exp $	*/
2 
3 /*
4  * Copyright (c) 2000 Matthew R. Green
5  * All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions
9  * are met:
10  * 1. Redistributions of source code must retain the above copyright
11  *    notice, this list of conditions and the following disclaimer.
12  * 2. Redistributions in binary form must reproduce the above copyright
13  *    notice, this list of conditions and the following disclaimer in the
14  *    documentation and/or other materials provided with the distribution.
15  *
16  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
21  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
23  * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
24  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26  * SUCH DAMAGE.
27  */
28 
29 /*
30  * The AUXIO registers; their offset in the Ebus2 address space, plus the
31  * bits for each register.  Note that the fdthree (FD), SUNW,CS4231 (AUDIO)
32  * and power (POWER) devices on the Ebus2 have their AUXIO registers mapped
33  * into their own "reg" properties, not the "auxio" device's "reg" properties.
34  */
35 #define	AUXIO_FD			0x00720000
36 #define	AUXIO_FD_DENSENSE_INPUT		0x0
37 #define	AUXIO_FD_DENSENSE_OUTPUT	0x1
38 
39 #define	AUXIO_AUDIO			0x00722000
40 #define	AUXIO_AUDIO_POWERDOWN		0x0
41 
42 #define	AUXIO_POWER			0x00724000
43 #define	AUXIO_POWER_SYSTEM_OFF		0x0
44 #define	AUXIO_POWER_COURTESY_OFF	0x1
45 
46 #define	AUXIO_LED                       0x00726000
47 /* XXX: these may be useless on Ebus2 auxio! find out! */
48 #define	AUXIO_LED_LED           0x01    /* front panel LED */
49 #define	AUXIO_LED_FTC           0x02    /* floppy: drives Terminal Count pin */
50 #define	AUXIO_LED_MMUX          0x04    /* Monitor/Mouse MUX; what is it? */
51 #define	AUXIO_LED_LTE           0x08    /* link-test enable */
52 #define	AUXIO_LED_FHD           0x20    /* floppy: high density (unreliable?)*/
53 #define	AUXIO_LED_FLOPPY_MASK           (AUXIO_LED_FTC)
54 
55 #define	AUXIO_PCI			0x00728000
56 #define	AUXIO_PCI_SLOT0			0x0	/* two bits each */
57 #define	AUXIO_PCI_SLOT1			0x2
58 #define	AUXIO_PCI_SLOT2			0x4
59 #define	AUXIO_PCI_SLOT3			0x6
60 #define	AUXIO_PCI_MODE			0x8
61 
62 #define	AUXIO_FREQ			0x0072a000
63 #define	AUXIO_FREQ_FREQ0		0x0
64 #define	AUXIO_FREQ_FREQ1		0x1
65 #define	AUXIO_FREQ_FREQ2		0x2
66 
67 #define	AUXIO_SCSI			0x0072c000
68 #define	AUXIO_SCSI_INT_OSC_EN		0x0
69 #define	AUXIO_SCSI_EXT_OSC_EN		0x1
70 
71 #define	AUXIO_TEMP			0x0072f000
72 #define	AUXIO_TEMP_SELECT		0x0
73 #define	AUXIO_TEMP_CLOCK		0x1
74 #define	AUXIO_TEMP_ENABLE		0x2
75 #define	AUXIO_TEMP_DATAOUT		0x3
76 #define	AUXIO_TEMP_DATAINT		0x4
77 
78 #define FTC_FLIP \
79 	do { \
80 		auxio_fd_control(AUXIO_LED_FTC); \
81 		auxio_fd_control(0); \
82 	} while (0)
83