Port NetBSD auxio driver. The driver was modified to use led(4) and can
be used to announce various system activity. The auxio device provides auxiliary I/O functions and is found on various SBus/EBus UltraSPARC models. At present, only front panel LED is controlled by this driver. Approved by: jake (mentor) Reviewed by: joerg Tested by: joerg
This commit is contained in:
parent
1ec2d0e4b0
commit
0323c1151e
7
share/man/man4/man4.sparc64/Makefile
Normal file
7
share/man/man4/man4.sparc64/Makefile
Normal file
@ -0,0 +1,7 @@
|
||||
# $FreeBSD$
|
||||
|
||||
MAN= auxio.4
|
||||
|
||||
MANSUBDIR=/sparc64
|
||||
|
||||
.include <bsd.prog.mk>
|
70
share/man/man4/man4.sparc64/auxio.4
Normal file
70
share/man/man4/man4.sparc64/auxio.4
Normal file
@ -0,0 +1,70 @@
|
||||
.\"-
|
||||
.\" Copyright (c) 2004 Pyun YongHyeon
|
||||
.\" All rights reserved.
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
.\" are met:
|
||||
.\" 1. Redistributions of source code must retain the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer.
|
||||
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer in the
|
||||
.\" documentation and/or other materials provided with the distribution.
|
||||
.\"
|
||||
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||||
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd October 8, 2004
|
||||
.Dt AUXIO 4
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm auxio
|
||||
.Nd Sun Auxiliary I/O
|
||||
.Sh SYNOPSIS
|
||||
.Cd device auxio
|
||||
.Cd device sbus
|
||||
.Cd device ebus
|
||||
.Sh DESCRIPTION
|
||||
The
|
||||
.Nm
|
||||
device provides auxiliary I/O functions required by Sun
|
||||
.Tn UltraSPARC
|
||||
workstation and server models. The front panel LED is also
|
||||
controlled by the deivce.
|
||||
This LED can be made to blink by writing
|
||||
.Tn ASCII
|
||||
strings to the
|
||||
.Pa /dev/led/auxio
|
||||
device.
|
||||
.Sh FILES
|
||||
.Bl -tag -width "/dev/led/auxio"
|
||||
.It Pa /dev/led/auxio
|
||||
Auxiliary I/O device node
|
||||
.El
|
||||
.Sh SEE ALSO
|
||||
.Xr led 4
|
||||
.Sh HISTORY
|
||||
The
|
||||
.Nm
|
||||
driver was written for
|
||||
.Nx
|
||||
by
|
||||
.An Matthew R. Green .
|
||||
The
|
||||
.Nm
|
||||
driver was then ported to
|
||||
.Fx 5.3
|
||||
by
|
||||
.An Pyun YongHyeon
|
||||
.Aq yongari@FreeBSD.org .
|
@ -12,6 +12,8 @@ crypto/blowfish/bf_enc.c optional ipsec ipsec_esp
|
||||
crypto/des/des_enc.c optional ipsec ipsec_esp
|
||||
crypto/blowfish/bf_enc.c optional crypto
|
||||
crypto/des/des_enc.c optional crypto
|
||||
dev/auxio/auxio.c optional auxio sbus
|
||||
dev/auxio/auxio.c optional auxio ebus
|
||||
dev/esp/esp_sbus.c optional esp sbus
|
||||
dev/esp/lsi64854.c optional esp sbus
|
||||
dev/fb/creator.c optional creator sc
|
||||
|
335
sys/dev/auxio/auxio.c
Normal file
335
sys/dev/auxio/auxio.c
Normal file
@ -0,0 +1,335 @@
|
||||
/*-
|
||||
* Copyright (c) 2004 Pyun YongHyeon
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
/* $NetBSD: auxio.c,v 1.11 2003/07/15 03:36:04 lukem Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2000, 2001 Matthew R. Green
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. The name of the author may not be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||||
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
/*
|
||||
* AUXIO registers support on the sbus & ebus2, used for the floppy driver
|
||||
* and to control the system LED, for the BLINK option.
|
||||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__FBSDID("$FreeBSD$");
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/bus.h>
|
||||
#include <sys/kernel.h>
|
||||
#include <sys/lock.h>
|
||||
#include <sys/module.h>
|
||||
#include <sys/mutex.h>
|
||||
#include <sys/resource.h>
|
||||
#include <sys/rman.h>
|
||||
|
||||
#include <dev/led/led.h>
|
||||
#include <dev/ofw/ofw_bus.h>
|
||||
#include <dev/ofw/openfirm.h>
|
||||
|
||||
#include <machine/bus.h>
|
||||
#include <machine/ofw_machdep.h>
|
||||
#include <machine/resource.h>
|
||||
|
||||
#include <sparc64/sbus/sbusvar.h>
|
||||
#include <dev/auxio/auxioreg.h>
|
||||
|
||||
/*
|
||||
* on sun4u, auxio exists with one register (LED) on the sbus, and 5
|
||||
* registers on the ebus2 (pci) (LED, PCIMODE, FREQUENCY, SCSI
|
||||
* OSCILLATOR, and TEMP SENSE.
|
||||
*/
|
||||
|
||||
#define AUXIO_PCIO_LED 0
|
||||
#define AUXIO_PCIO_PCI 1
|
||||
#define AUXIO_PCIO_FREQ 2
|
||||
#define AUXIO_PCIO_OSC 3
|
||||
#define AUXIO_PCIO_TEMP 4
|
||||
#define AUXIO_PCIO_MAX 8
|
||||
|
||||
struct auxio_softc {
|
||||
struct device *sc_dev;
|
||||
|
||||
int sc_nauxio;
|
||||
struct resource *sc_res[AUXIO_PCIO_MAX];
|
||||
int sc_rid[AUXIO_PCIO_MAX];
|
||||
bus_space_tag_t sc_regt[AUXIO_PCIO_MAX];
|
||||
bus_space_handle_t sc_regh[AUXIO_PCIO_MAX];
|
||||
struct cdev *sc_led_dev;
|
||||
u_int32_t sc_led_stat;
|
||||
|
||||
int sc_flags;
|
||||
#define AUXIO_LEDONLY 0x1
|
||||
#define AUXIO_EBUS 0x2
|
||||
#define AUXIO_SBUS 0x4
|
||||
|
||||
struct mtx sc_lock;
|
||||
};
|
||||
|
||||
static void auxio_led_func(void *arg, int onoff);
|
||||
static void auxio_attach_common(struct auxio_softc *);
|
||||
static int auxio_bus_probe(device_t);
|
||||
static int auxio_sbus_attach(device_t);
|
||||
static int auxio_ebus_attach(device_t);
|
||||
static int auxio_bus_detach(device_t);
|
||||
static void auxio_free_resource(struct auxio_softc *);
|
||||
static __inline u_int32_t auxio_led_read(struct auxio_softc *);
|
||||
static __inline void auxio_led_write(struct auxio_softc *, u_int32_t);
|
||||
|
||||
/* SBus */
|
||||
static device_method_t auxio_sbus_methods[] = {
|
||||
DEVMETHOD(device_probe, auxio_bus_probe),
|
||||
DEVMETHOD(device_attach, auxio_sbus_attach),
|
||||
DEVMETHOD(device_detach, auxio_bus_detach),
|
||||
{0, 0}
|
||||
};
|
||||
|
||||
static driver_t auxio_sbus_driver = {
|
||||
"auxio",
|
||||
auxio_sbus_methods,
|
||||
sizeof(struct auxio_softc)
|
||||
};
|
||||
|
||||
static devclass_t auxio_devclass;
|
||||
DRIVER_MODULE(auxio, sbus, auxio_sbus_driver, auxio_devclass, 0, 0);
|
||||
|
||||
/* EBus */
|
||||
static device_method_t auxio_ebus_methods[] = {
|
||||
DEVMETHOD(device_probe, auxio_bus_probe),
|
||||
DEVMETHOD(device_attach, auxio_ebus_attach),
|
||||
DEVMETHOD(device_detach, auxio_bus_detach),
|
||||
{0, 0}
|
||||
};
|
||||
|
||||
static driver_t auxio_ebus_driver = {
|
||||
"auxio",
|
||||
auxio_ebus_methods,
|
||||
sizeof(struct auxio_softc)
|
||||
};
|
||||
|
||||
DRIVER_MODULE(auxio, ebus, auxio_ebus_driver, auxio_devclass, 0, 0);
|
||||
MODULE_VERSION(auxio, 1);
|
||||
|
||||
#define AUXIO_LOCK_INIT(sc) \
|
||||
mtx_init(&sc->sc_lock, "auxio mtx", NULL, MTX_DEF)
|
||||
#define AUXIO_LOCK(sc) mtx_lock(&sc->sc_lock)
|
||||
#define AUXIO_UNLOCK(sc) mtx_unlock(&sc->sc_lock)
|
||||
#define AUXIO_LOCK_DESTROY(sc) mtx_destroy(&sc->sc_lock)
|
||||
|
||||
static __inline void
|
||||
auxio_led_write(struct auxio_softc *sc, u_int32_t v)
|
||||
{
|
||||
if (sc->sc_flags & AUXIO_EBUS)
|
||||
bus_space_write_4(sc->sc_regt[AUXIO_PCIO_LED],
|
||||
sc->sc_regh[AUXIO_PCIO_LED], 0, v);
|
||||
else
|
||||
bus_space_write_1(sc->sc_regt[AUXIO_PCIO_LED],
|
||||
sc->sc_regh[AUXIO_PCIO_LED], 0, v);
|
||||
}
|
||||
|
||||
static __inline u_int32_t
|
||||
auxio_led_read(struct auxio_softc *sc)
|
||||
{
|
||||
u_int32_t led;
|
||||
|
||||
if (sc->sc_flags & AUXIO_EBUS)
|
||||
led = bus_space_read_4(sc->sc_regt[AUXIO_PCIO_LED],
|
||||
sc->sc_regh[AUXIO_PCIO_LED], 0);
|
||||
else
|
||||
led = bus_space_read_1(sc->sc_regt[AUXIO_PCIO_LED],
|
||||
sc->sc_regh[AUXIO_PCIO_LED], 0);
|
||||
|
||||
return (led);
|
||||
}
|
||||
|
||||
static void
|
||||
auxio_led_func(void *arg, int onoff)
|
||||
{
|
||||
struct auxio_softc *sc;
|
||||
u_int32_t led;
|
||||
|
||||
sc = (struct auxio_softc *)arg;
|
||||
|
||||
led = onoff ? AUXIO_LED_LED : 0;
|
||||
AUXIO_LOCK(sc);
|
||||
auxio_led_write(sc, led);
|
||||
AUXIO_UNLOCK(sc);
|
||||
}
|
||||
|
||||
static int
|
||||
auxio_bus_probe(device_t dev)
|
||||
{
|
||||
const char *name;
|
||||
|
||||
name = ofw_bus_get_name(dev);
|
||||
if (strcmp("auxio", name) == 0) {
|
||||
device_set_desc(dev, "Sun Auxiliary I/O");
|
||||
return (0);
|
||||
}
|
||||
|
||||
return (ENXIO);
|
||||
}
|
||||
|
||||
static int
|
||||
auxio_ebus_attach(device_t dev)
|
||||
{
|
||||
struct auxio_softc *sc;
|
||||
struct resource *res;
|
||||
u_long start, count;
|
||||
int i;
|
||||
|
||||
sc = device_get_softc(dev);
|
||||
bzero(sc, sizeof(*sc));
|
||||
sc->sc_dev = dev;
|
||||
|
||||
AUXIO_LOCK_INIT(sc);
|
||||
sc->sc_nauxio = AUXIO_PCIO_MAX;
|
||||
sc->sc_flags = AUXIO_LEDONLY | AUXIO_EBUS;
|
||||
for (i = 0;
|
||||
i < AUXIO_PCIO_MAX &&
|
||||
bus_get_resource(dev, SYS_RES_IOPORT, i, &start, &count) == 0;
|
||||
i++) {
|
||||
sc->sc_rid[i] = i;
|
||||
if (bootverbose)
|
||||
device_printf(sc->sc_dev,
|
||||
"Got rid %d, start %#lx, count %#lx\n",
|
||||
i, start, count);
|
||||
res = bus_alloc_resource_any(dev, SYS_RES_IOPORT,
|
||||
&sc->sc_rid[i], RF_ACTIVE);
|
||||
if (res == NULL) {
|
||||
device_printf(sc->sc_dev,
|
||||
"could not allocate resources\n");
|
||||
goto attach_fail;
|
||||
}
|
||||
sc->sc_res[i] = res;
|
||||
sc->sc_regt[i] = rman_get_bustag(res);
|
||||
sc->sc_regh[i] = rman_get_bushandle(res);
|
||||
}
|
||||
sc->sc_nauxio = i;
|
||||
auxio_attach_common(sc);
|
||||
|
||||
return (0);
|
||||
|
||||
attach_fail:
|
||||
auxio_free_resource(sc);
|
||||
|
||||
return (ENXIO);
|
||||
}
|
||||
|
||||
static void
|
||||
auxio_attach_common(struct auxio_softc *sc)
|
||||
{
|
||||
sc->sc_led_stat = auxio_led_read(sc);
|
||||
sc->sc_led_dev = led_create(auxio_led_func, sc, "auxioled");
|
||||
/* turn on the LED */
|
||||
auxio_led_func(sc, 1);
|
||||
}
|
||||
|
||||
static int
|
||||
auxio_bus_detach(device_t dev)
|
||||
{
|
||||
struct auxio_softc *sc;
|
||||
|
||||
sc = device_get_softc(dev);
|
||||
led_destroy(sc->sc_led_dev);
|
||||
auxio_led_func(sc, sc->sc_led_stat);
|
||||
auxio_free_resource(sc);
|
||||
|
||||
return (0);
|
||||
}
|
||||
|
||||
static void
|
||||
auxio_free_resource(struct auxio_softc *sc)
|
||||
{
|
||||
int i, n;
|
||||
|
||||
n = sc->sc_nauxio;
|
||||
for (i = 0; i < n; i++)
|
||||
if (sc->sc_res[i])
|
||||
bus_release_resource(sc->sc_dev,
|
||||
(sc->sc_flags & AUXIO_SBUS) ? SYS_RES_MEMORY :
|
||||
SYS_RES_IOPORT, sc->sc_rid[i], sc->sc_res[i]);
|
||||
AUXIO_LOCK_DESTROY(sc);
|
||||
}
|
||||
|
||||
static int
|
||||
auxio_sbus_attach(device_t dev)
|
||||
{
|
||||
struct auxio_softc *sc;
|
||||
struct resource *res;
|
||||
|
||||
sc = device_get_softc(dev);
|
||||
bzero(sc, sizeof(*sc));
|
||||
sc->sc_dev = dev;
|
||||
|
||||
AUXIO_LOCK_INIT(sc);
|
||||
sc->sc_nauxio = 1;
|
||||
sc->sc_flags = AUXIO_LEDONLY | AUXIO_SBUS;
|
||||
sc->sc_rid[AUXIO_PCIO_LED] = 0;
|
||||
res = bus_alloc_resource_any(dev, SYS_RES_MEMORY,
|
||||
&sc->sc_rid[AUXIO_PCIO_LED], RF_ACTIVE);
|
||||
if (res == NULL) {
|
||||
device_printf(sc->sc_dev, "could not allocate resources\n");
|
||||
goto attach_fail;
|
||||
}
|
||||
sc->sc_res[AUXIO_PCIO_LED] = res;
|
||||
sc->sc_regt[AUXIO_PCIO_LED] = rman_get_bustag(res);
|
||||
sc->sc_regh[AUXIO_PCIO_LED] = rman_get_bushandle(res);
|
||||
auxio_attach_common(sc);
|
||||
return (0);
|
||||
|
||||
attach_fail:
|
||||
auxio_free_resource(sc);
|
||||
|
||||
return (ENXIO);
|
||||
}
|
73
sys/dev/auxio/auxioreg.h
Normal file
73
sys/dev/auxio/auxioreg.h
Normal file
@ -0,0 +1,73 @@
|
||||
/* $FreeBSD$ */
|
||||
/* $NetBSD: auxioreg.h,v 1.4 2001/10/22 07:31:41 mrg Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2000 Matthew R. Green
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. The name of the author may not be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||||
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
/*
|
||||
* The AUXIO registers; their offset in the Ebus2 address space, plus the
|
||||
* bits for each register. Note that the fdthree (FD), SUNW,CS4231 (AUDIO)
|
||||
* and power (POWER) devices on the Ebus2 have their AUXIO regsiters mapped
|
||||
* into their own "reg" properties, not the "auxio" device's "reg" properties.
|
||||
*/
|
||||
#define AUXIO_FD 0x00720000
|
||||
#define AUXIO_FD_DENSENSE_INPUT 0x0
|
||||
#define AUXIO_FD_DENSENSE_OUTPUT 0x1
|
||||
|
||||
#define AUXIO_AUDIO 0x00722000
|
||||
#define AUXIO_AUDIO_POWERDOWN 0x0
|
||||
|
||||
#define AUXIO_POWER 0x00724000
|
||||
#define AUXIO_POWER_SYSTEM_OFF 0x0
|
||||
#define AUXIO_POWER_COURTESY_OFF 0x1
|
||||
|
||||
#define AUXIO_LED 0x00726000
|
||||
#define AUXIO_LED_LED 1
|
||||
|
||||
#define AUXIO_PCI 0x00728000
|
||||
#define AUXIO_PCI_SLOT0 0x0 /* two bits each */
|
||||
#define AUXIO_PCI_SLOT1 0x2
|
||||
#define AUXIO_PCI_SLOT2 0x4
|
||||
#define AUXIO_PCI_SLOT3 0x6
|
||||
#define AUXIO_PCI_MODE 0x8
|
||||
|
||||
#define AUXIO_FREQ 0x0072a000
|
||||
#define AUXIO_FREQ_FREQ0 0x0
|
||||
#define AUXIO_FREQ_FREQ1 0x1
|
||||
#define AUXIO_FREQ_FREQ2 0x2
|
||||
|
||||
#define AUXIO_SCSI 0x0072c000
|
||||
#define AUXIO_SCSI_INT_OSC_EN 0x0
|
||||
#define AUXIO_SCSI_EXT_OSC_EN 0x1
|
||||
|
||||
#define AUXIO_TEMP 0x0072f000
|
||||
#define AUXIO_TEMP_SELECT 0x0
|
||||
#define AUXIO_TEMP_CLOCK 0x1
|
||||
#define AUXIO_TEMP_ENABLE 0x2
|
||||
#define AUXIO_TEMP_DATAOUT 0x3
|
||||
#define AUXIO_TEMP_DATAINT 0x4
|
@ -28,6 +28,7 @@ SUBDIR= ${_3dfx} \
|
||||
${_ath_hal} \
|
||||
aue \
|
||||
autofs \
|
||||
${_auxio} \
|
||||
${_awi} \
|
||||
axe \
|
||||
bfe \
|
||||
@ -438,6 +439,7 @@ _gem= gem
|
||||
.endif
|
||||
|
||||
.if ${MACHINE_ARCH} == "sparc64"
|
||||
_auxio= auxio
|
||||
_gem= gem
|
||||
.endif
|
||||
|
||||
|
10
sys/modules/auxio/Makefile
Normal file
10
sys/modules/auxio/Makefile
Normal file
@ -0,0 +1,10 @@
|
||||
# $FreeBSD$
|
||||
|
||||
.PATH: ${.CURDIR}/../../dev/auxio
|
||||
|
||||
KMOD= auxio
|
||||
|
||||
SRCS= auxio.c
|
||||
SRCS+= device_if.h bus_if.h
|
||||
|
||||
.include <bsd.kmod.mk>
|
@ -124,6 +124,7 @@ device ses # SCSI Environmental Services (and SAF-TE)
|
||||
device ofw_console # Open Firmware console device
|
||||
|
||||
# Builtin hardware
|
||||
device auxio # auxiliary I/O device
|
||||
device genclock # Generic clock interface
|
||||
device eeprom # eeprom (really a front-end for the MK48Txx)
|
||||
device "mk48txx" # Mostek MK48T02, MK48T08, MK48T59 clock
|
||||
|
@ -47,6 +47,7 @@ device "mk48txx" # Mostek MK48T02, MK48T08, MK48T59 clock
|
||||
# Optional devices:
|
||||
#
|
||||
|
||||
device auxio # auxiliary I/O device
|
||||
device creator # Creator, Creator3D and Elite3D graphics cards
|
||||
|
||||
device ofw_console # Open Firmware console device
|
||||
|
Loading…
x
Reference in New Issue
Block a user