summaryrefslogtreecommitdiff
path: root/sys/arch/sgi/dev/lpt_lbus.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch/sgi/dev/lpt_lbus.c')
-rw-r--r--sys/arch/sgi/dev/lpt_lbus.c163
1 files changed, 0 insertions, 163 deletions
diff --git a/sys/arch/sgi/dev/lpt_lbus.c b/sys/arch/sgi/dev/lpt_lbus.c
deleted file mode 100644
index d816302c52d..00000000000
--- a/sys/arch/sgi/dev/lpt_lbus.c
+++ /dev/null
@@ -1,163 +0,0 @@
-/* $OpenBSD: lpt_lbus.c,v 1.4 2005/01/31 21:35:50 grange Exp $ */
-
-/*
- * Copyright (c) 1993, 1994 Charles Hannum.
- * Copyright (c) 1990 William F. Jolitz, TeleMuse
- * 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. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This software is a component of "386BSD" developed by
- * William F. Jolitz, TeleMuse.
- * 4. Neither the name of the developer nor the name "386BSD"
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS A COMPONENT OF 386BSD DEVELOPED BY WILLIAM F. JOLITZ
- * AND IS INTENDED FOR RESEARCH AND EDUCATIONAL PURPOSES ONLY. THIS
- * SOFTWARE SHOULD NOT BE CONSIDERED TO BE A COMMERCIAL PRODUCT.
- * THE DEVELOPER URGES THAT USERS WHO REQUIRE A COMMERCIAL PRODUCT
- * NOT MAKE USE OF THIS WORK.
- *
- * FOR USERS WHO WISH TO UNDERSTAND THE 386BSD SYSTEM DEVELOPED
- * BY WILLIAM F. JOLITZ, WE RECOMMEND THE USER STUDY WRITTEN
- * REFERENCES SUCH AS THE "PORTING UNIX TO THE 386" SERIES
- * (BEGINNING JANUARY 1991 "DR. DOBBS JOURNAL", USA AND BEGINNING
- * JUNE 1991 "UNIX MAGAZIN", GERMANY) BY WILLIAM F. JOLITZ AND
- * LYNNE GREER JOLITZ, AS WELL AS OTHER BOOKS ON UNIX AND THE
- * ON-LINE 386BSD USER MANUAL BEFORE USE. A BOOK DISCUSSING THE INTERNALS
- * OF 386BSD ENTITLED "386BSD FROM THE INSIDE OUT" WILL BE AVAILABLE LATE 1992.
- *
- * THIS SOFTWARE IS PROVIDED BY THE DEVELOPER ``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 DEVELOPER 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.
- */
-
-/*
- * Device Driver for AT parallel printer port
- */
-
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/device.h>
-
-#include <machine/autoconf.h>
-#include <machine/bus.h>
-#include <machine/intr.h>
-
-#include <dev/ic/lptreg.h>
-#include <dev/ic/lptvar.h>
-
-int lpt_localbus_probe(struct device *, void *, void *);
-void lpt_localbus_attach(struct device *, struct device *, void *);
-
-struct cfattach lpt_pica_ca = {
- sizeof(struct lpt_softc), lpt_localbus_probe, lpt_localbus_attach
-};
-
-struct cfattach lpt_algor_ca = {
- sizeof(struct lpt_softc), lpt_localbus_probe, lpt_localbus_attach
-};
-
-int
-lpt_localbus_probe(parent, match, aux)
- struct device *parent;
- void *match, *aux;
-{
- struct confargs *ca = aux;
- bus_space_tag_t iot;
- bus_space_handle_t ioh;
- bus_addr_t base;
- u_int8_t mask, data;
- int i;
-
-#ifdef DEBUG
-#define ABORT \
- do { \
- printf("lpt_localbus_probe: mask %x data %x failed\n", mask, \
- data); \
- return 0; \
- } while (0)
-#else
-#define ABORT return 0
-#endif
-
- if (!BUS_MATCHNAME(ca, "lpt"))
- return(0);
-
-/*XXX need to check where to pick up iotag when porting this */
- iot = sys_config.localbus_iot;
- base = (bus_addr_t)BUS_CVTADDR(ca);
- if (bus_space_map(iot, base, LPT_NPORTS, 0, &ioh)) {
- return 0;
- }
-
- mask = 0xff;
-
- data = 0x55; /* Alternating zeros */
- if (!lpt_port_test(iot, ioh, base, lpt_data, data, mask))
- ABORT;
-
- data = 0xaa; /* Alternating ones */
- if (!lpt_port_test(iot, ioh, base, lpt_data, data, mask))
- ABORT;
-
- for (i = 0; i < CHAR_BIT; i++) { /* Walking zero */
- data = ~(1 << i);
- if (!lpt_port_test(iot, ioh, base, lpt_data, data, mask))
- ABORT;
- }
-
- for (i = 0; i < CHAR_BIT; i++) { /* Walking one */
- data = (1 << i);
- if (!lpt_port_test(iot, ioh, base, lpt_data, data, mask))
- ABORT;
- }
-
- bus_space_write_1(iot, ioh, lpt_data, 0);
- bus_space_write_1(iot, ioh, lpt_control, 0);
-
- return 1;
-}
-
-void
-lpt_localbus_attach(parent, self, aux)
- struct device *parent, *self;
- void *aux;
-{
- struct lpt_softc *sc = (void *)self;
- struct confargs *ca = aux;
- bus_space_tag_t iot;
- bus_space_handle_t ioh;
- bus_addr_t base;
-
- printf("\n");
-
- sc->sc_state = 0;
- iot = sc->sc_iot = &pmonmips_bus_io;
- base = (bus_space_handle_t)BUS_CVTADDR(ca);
- if (bus_space_map(iot, base, LPT_NPORTS, 0, &ioh)) {
- panic("unexpected bus_space_map error");
- }
- sc->sc_ioh = ioh;
-
- bus_space_write_1(iot, ioh, lpt_control, LPC_NINIT);
-
- BUS_INTR_ESTABLISH(ca, lptintr, sc);
-}