summaryrefslogtreecommitdiffstats
path: root/sys/alpha/tc/mcclock_ioasic.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/alpha/tc/mcclock_ioasic.c')
-rw-r--r--sys/alpha/tc/mcclock_ioasic.c129
1 files changed, 0 insertions, 129 deletions
diff --git a/sys/alpha/tc/mcclock_ioasic.c b/sys/alpha/tc/mcclock_ioasic.c
deleted file mode 100644
index adbede9..0000000
--- a/sys/alpha/tc/mcclock_ioasic.c
+++ /dev/null
@@ -1,129 +0,0 @@
-/* $FreeBSD$ */
-/* $NetBSD: mcclock_ioasic.c,v 1.8 1997/09/02 13:20:14 thorpej Exp $ */
-
-/*
- * Copyright (c) 1994, 1995, 1996 Carnegie-Mellon University.
- * All rights reserved.
- *
- * Author: Chris G. Demetriou
- *
- * Permission to use, copy, modify and distribute this software and
- * its documentation is hereby granted, provided that both the copyright
- * notice and this permission notice appear in all copies of the
- * software, derivative works or modified versions, and any portions
- * thereof, and that both notices appear in supporting documentation.
- *
- * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
- * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND
- * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
- *
- * Carnegie Mellon requests users of this software to return to
- *
- * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
- * School of Computer Science
- * Carnegie Mellon University
- * Pittsburgh PA 15213-3890
- *
- * any improvements or extensions that they make and grant Carnegie the
- * rights to redistribute these changes.
- */
-
-#include <sys/param.h>
-#include <sys/kernel.h>
-#include <sys/systm.h>
-#include <sys/module.h>
-#include <sys/bus.h>
-
-#include <machine/clockvar.h>
-#include <dev/dec/mcclockvar.h>
-
-#include <alpha/tlsb/gbusvar.h>
-
-#include <alpha/tc/tcreg.h>
-#include <alpha/tc/tcvar.h>
-#include <alpha/tc/tcdevs.h>
-#include <alpha/tc/ioasicreg.h>
-#include <alpha/tc/ioasicvar.h>
-
-#include <dev/dec/mc146818reg.h>
-
-
-
-struct mcclock_ioasic_clockdatum {
- u_char datum;
- char pad[3];
-};
-
-#define KV(_addr) ((caddr_t)ALPHA_PHYS_TO_K0SEG((_addr)))
-/*
- * Registers are 64 bytes apart (and 1 byte wide)
- */
-#define REGSHIFT 6
-
-struct mcclock_ioasic_softc {
- unsigned long regbase;
- struct mcclock_ioasic_clockdatum *sc_dp;
-};
-
-static int mcclock_ioasic_probe(device_t dev);
-static int mcclock_ioasic_attach(device_t dev);
-static void mcclock_ioasic_write(device_t, u_int, u_int);
-static u_int mcclock_ioasic_read(device_t, u_int);
-
-static device_method_t mcclock_ioasic_methods[] = {
- /* Device interface */
- DEVMETHOD(device_probe, mcclock_ioasic_probe),
- DEVMETHOD(device_attach, mcclock_ioasic_attach),
-
- /* mcclock interface */
- DEVMETHOD(mcclock_write, mcclock_ioasic_write),
- DEVMETHOD(mcclock_read, mcclock_ioasic_read),
-
- /* clock interface */
- DEVMETHOD(clock_init, mcclock_init),
- DEVMETHOD(clock_get, mcclock_get),
- DEVMETHOD(clock_set, mcclock_set),
-
- { 0, 0 }
-};
-
-static driver_t mcclock_ioasic_driver = {
- "mcclock",
- mcclock_ioasic_methods,
- sizeof(struct mcclock_ioasic_softc),
-};
-
-static devclass_t mcclock_devclass;
-
-int
-mcclock_ioasic_probe(device_t dev)
-{
- device_set_desc(dev, "MC146818A real time clock");
- return 0;
-}
-
-static int
-mcclock_ioasic_attach(device_t dev)
-{
- struct mcclock_ioasic_softc *sc = device_get_softc(dev);
- struct ioasic_dev *ioasic = device_get_ivars(dev);
- sc->sc_dp = (struct mcclock_ioasic_clockdatum *)ioasic->iada_addr;
- mcclock_attach(dev);
- return 0;
-}
-
-void
-mcclock_ioasic_write(device_t dev, u_int reg, u_int datum)
-{
- struct mcclock_ioasic_softc *sc = device_get_softc(dev);
- sc->sc_dp[reg].datum = datum;
-}
-
-u_int
-mcclock_ioasic_read(device_t dev, u_int reg)
-{
- struct mcclock_ioasic_softc *sc = device_get_softc(dev);
- return (sc->sc_dp[reg].datum);
-}
-
-DRIVER_MODULE(mcclock, ioasic, mcclock_ioasic_driver, mcclock_devclass, 0, 0);
OpenPOWER on IntegriCloud