Home | History | Annotate | Line # | Download | only in dev
auxioreg.h revision 1.6
      1 /*	$NetBSD: auxioreg.h,v 1.6 2007/03/27 10:13:12 jnemeth 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  * 3. The name of the author may not be used to endorse or promote products
     16  *    derived from this software without specific prior written permission.
     17  *
     18  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
     19  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
     20  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
     21  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
     22  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
     23  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
     24  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
     25  * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
     26  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
     27  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
     28  * SUCH DAMAGE.
     29  */
     30 
     31 /*
     32  * The AUXIO registers; their offset in the Ebus2 address space, plus the
     33  * bits for each register.  Note that the fdthree (FD), SUNW,CS4231 (AUDIO)
     34  * and power (POWER) devices on the Ebus2 have their AUXIO regsiters mapped
     35  * into their own "reg" properties, not the "auxio" device's "reg" properties.
     36  */
     37 #define	AUXIO_FD			0x00720000
     38 #define	AUXIO_FD_DENSENSE_INPUT		0x0
     39 #define	AUXIO_FD_DENSENSE_OUTPUT	0x1
     40 
     41 #define	AUXIO_AUDIO			0x00722000
     42 #define	AUXIO_AUDIO_POWERDOWN		0x0
     43 
     44 #define	AUXIO_POWER			0x00724000
     45 #define	AUXIO_POWER_SYSTEM_OFF		0x0
     46 #define	AUXIO_POWER_COURTESY_OFF	0x1
     47 
     48 #define	AUXIO_LED                       0x00726000
     49 /* XXX: these may be useless on Ebus2 auxio! find out! */
     50 #define	AUXIO_LED_LED           0x01    /* front panel LED */
     51 #define	AUXIO_LED_FTC           0x02    /* floppy: drives Terminal Count pin */
     52 #define	AUXIO_LED_MMUX          0x04    /* Monitor/Mouse MUX; what is it? */
     53 #define	AUXIO_LED_LTE           0x08    /* link-test enable */
     54 #define	AUXIO_LED_FHD           0x20    /* floppy: high density (unreliable?)*/
     55 #define	AUXIO_LED_FLOPPY_MASK           (AUXIO_LED_FTC)
     56 
     57 #define	AUXIO_PCI			0x00728000
     58 #define	AUXIO_PCI_SLOT0			0x0	/* two bits each */
     59 #define	AUXIO_PCI_SLOT1			0x2
     60 #define	AUXIO_PCI_SLOT2			0x4
     61 #define	AUXIO_PCI_SLOT3			0x6
     62 #define	AUXIO_PCI_MODE			0x8
     63 
     64 #define	AUXIO_FREQ			0x0072a000
     65 #define	AUXIO_FREQ_FREQ0		0x0
     66 #define	AUXIO_FREQ_FREQ1		0x1
     67 #define	AUXIO_FREQ_FREQ2		0x2
     68 
     69 #define	AUXIO_SCSI			0x0072c000
     70 #define	AUXIO_SCSI_INT_OSC_EN		0x0
     71 #define	AUXIO_SCSI_EXT_OSC_EN		0x1
     72 
     73 #define	AUXIO_TEMP			0x0072f000
     74 #define	AUXIO_TEMP_SELECT		0x0
     75 #define	AUXIO_TEMP_CLOCK		0x1
     76 #define	AUXIO_TEMP_ENABLE		0x2
     77 #define	AUXIO_TEMP_DATAOUT		0x3
     78 #define	AUXIO_TEMP_DATAINT		0x4
     79 
     80 #define FTC_FLIP \
     81 	do { \
     82 		auxio_fd_control(AUXIO_LED_FTC); \
     83 		auxio_fd_control(0); \
     84 	} while (0)
     85