Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/dev/mvme Separate out devices common to many Motorola mv...



details:   https://anonhg.NetBSD.org/src/rev/db00882fb7fb
branches:  trunk
changeset: 522209:db00882fb7fb
user:      scw <scw%NetBSD.org@localhost>
date:      Tue Feb 12 20:38:41 2002 +0000

description:
Separate out devices common to many Motorola mvme boards (68k, 88k and ppc)
in preparation for future mvmeppc and mvme88k ports.

This needs a bit if tidying up to make it trully shareable, which will
happen as the new mvme ports are added.

diffstat:

 sys/dev/mvme/clockvar.h |  90 +++++++++++++++++++++++++++++++++++++++++++++++++
 sys/dev/mvme/files.mvme |  50 +++++++++++++++++++++++++++
 2 files changed, 140 insertions(+), 0 deletions(-)

diffs (148 lines):

diff -r d11bbdba89bc -r db00882fb7fb sys/dev/mvme/clockvar.h
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/dev/mvme/clockvar.h   Tue Feb 12 20:38:41 2002 +0000
@@ -0,0 +1,90 @@
+/*     $NetBSD: clockvar.h,v 1.1 2002/02/12 20:38:41 scw Exp $ */
+
+/*-
+ * Copyright (c) 1996, 2002 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Jason R. Thorpe.
+ *
+ * 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 product includes software developed by the NetBSD
+ *        Foundation, Inc. and its contributors.
+ * 4. Neither the name of The NetBSD Foundation nor the names of its
+ *    contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
+ */
+
+#ifndef _MVME_CLOCKVAR_H
+#define _MVME_CLOCKVAR_H
+
+#include <dev/clock_subr.h>
+#include <dev/ic/mk48txxreg.h>
+
+/*
+ * Defintions exported to ASIC-specific clock attachment.
+ */
+
+extern struct evcnt clock_profcnt;
+extern struct evcnt clock_statcnt;
+
+extern int clock_statvar;
+extern int clock_statmin;
+
+struct clock_attach_args {
+       void                    (*ca_initfunc) __P((void *, int, int));
+       long                    (*ca_microtime) __P((void *));
+       void                    *ca_arg;
+};
+
+void   clock_config __P((struct device *, struct clock_attach_args *,
+                       struct evcnt *));
+
+void   clock_rtc_config __P((todr_chip_handle_t));
+
+/*
+ * Macro to compute a new randomized interval.  The intervals are
+ * uniformly distributed on [statint - statvar / 2, statint + statvar / 2],
+ * and therefore have mean statint, giving a stathz frequency clock.
+ *
+ * This is gratuitously stolen from sparc/sparc/clock.c
+ */
+#define CLOCK_NEWINT(statvar, statmin) ({                              \
+               u_long r, var = (statvar);                              \
+               do { r = random() & (var - 1); } while (r == 0);        \
+               (statmin + r);                                          \
+       })
+
+/*
+ * Sun chose the year `68' as their base count, so that
+ * cl_year==0 means 1968.
+ */
+#define YEAR0   1968
+
+/*
+ * interrupt level for clock
+ */
+#define CLOCK_LEVEL 5
+
+#endif /* _MVME_CLOCKVAR_H */
diff -r d11bbdba89bc -r db00882fb7fb sys/dev/mvme/files.mvme
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/dev/mvme/files.mvme   Tue Feb 12 20:38:41 2002 +0000
@@ -0,0 +1,50 @@
+#      $NetBSD: files.mvme,v 1.1 2002/02/12 20:38:42 scw Exp $
+#
+# Config file and device description for drivers shared between all
+# Motorola MVME boards.
+
+# Our own common VMEbus glue
+define mvmebus
+file   dev/mvme/mvmebus.c                      mvmebus
+
+# VMEChip2 found on many MVME boards
+device vmetwo: mvmebus, vmebus
+attach vmetwo at mainbus
+file   dev/mvme/vme_two.c                      vmetwo needs-flag
+
+# PCCChip2 found on many MVME boards
+device pcctwo { [ ipl = -1 ] }
+attach pcctwo at mainbus
+file   dev/mvme/pcctwo.c                       pcctwo needs-flag
+
+# This is not as odd as it looks. If the user doesn't define
+# a vmetwo0 device in the config file, we still need the
+# following gloop to deal with some local interrupts.
+file   dev/mvme/vme_two_isr.c                  pcctwo
+
+# MVME68K/MVME88K Clock
+attach clock at pcctwo with clock_pcctwo
+file   dev/mvme/clock_pcctwo.c                 clock_pcctwo
+
+# MVME68K/MVME88K Printer
+device lpt
+attach lpt at pcctwo with lpt_pcctwo
+file   dev/mvme/lpt_mvme.c                     lpt needs-flag
+file   dev/mvme/lpt_pcctwo.c                   lpt_pcctwo
+
+# MVME68K/MVME88K Ethernet Interface
+attach ie at pcctwo with ie_pcctwo
+file   dev/mvme/if_ie_mvme.c                   ie_pcctwo
+
+# CD2401 Quad Serial Controller
+attach clmpcc at pcctwo with clmpcc_pcctwo
+file   dev/mvme/clmpcc_pcctwo.c                clmpcc_pcctwo needs-flag
+
+# MVME68K/MVME88K Memory Controller ASICs
+device memc
+attach memc at mainbus
+file   dev/mvme/memc.c                         memc
+
+# MVME68K/MVME88K ncr53c710 SCSI
+attach osiop at pcctwo with osiop_pcctwo
+file   dev/mvme/osiop_pcctwo.c                 osiop_pcctwo



Home | Main Index | Thread Index | Old Index