Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/powerpc/ibm4xx/dev Add functions:
details: https://anonhg.NetBSD.org/src/rev/383b20ed0f7e
branches: trunk
changeset: 572208:383b20ed0f7e
user: shige <shige%NetBSD.org@localhost>
date: Fri Dec 24 14:55:50 2004 +0000
description:
Add functions:
- com_opb_cnattach
- com_opb_device_register
diffstat:
sys/arch/powerpc/ibm4xx/dev/com_opb.c | 79 ++++++++++++++++++++++++++++++++-
sys/arch/powerpc/ibm4xx/dev/comopbvar.h | 42 +++++++++++++++++
2 files changed, 119 insertions(+), 2 deletions(-)
diffs (154 lines):
diff -r 35fbc26e15d2 -r 383b20ed0f7e sys/arch/powerpc/ibm4xx/dev/com_opb.c
--- a/sys/arch/powerpc/ibm4xx/dev/com_opb.c Fri Dec 24 11:59:15 2004 +0000
+++ b/sys/arch/powerpc/ibm4xx/dev/com_opb.c Fri Dec 24 14:55:50 2004 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: com_opb.c,v 1.11 2003/07/15 02:54:44 lukem Exp $ */
+/* $NetBSD: com_opb.c,v 1.12 2004/12/24 14:55:50 shige Exp $ */
/*
* Copyright 2001 Wasabi Systems, Inc.
@@ -35,8 +35,33 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
+/*
+ * Copyright (c) 1998
+ * Matthias Drochner. 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 ``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.
+ */
+
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: com_opb.c,v 1.11 2003/07/15 02:54:44 lukem Exp $");
+__KERNEL_RCSID(0, "$NetBSD: com_opb.c,v 1.12 2004/12/24 14:55:50 shige Exp $");
#include <sys/param.h>
#include <sys/device.h>
@@ -48,9 +73,13 @@
#include <machine/cpu.h>
#include <powerpc/ibm4xx/dev/opbvar.h>
+#include <powerpc/ibm4xx/dev/comopbvar.h>
+#include "com.h"
+#if (NCOM > 0)
#include <dev/ic/comreg.h>
#include <dev/ic/comvar.h>
+#endif
struct com_opb_softc {
struct com_softc sc_com;
@@ -100,3 +129,49 @@
intr_establish(oaa->opb_irq, IST_LEVEL, IPL_SERIAL, comintr, sc);
}
+
+/*
+ * com_opb_cnattach:
+ * Initialize the system console.
+ */
+void
+com_opb_cnattach(int com_freq, int conaddr, int conspeed, int conmode)
+{
+ static int attached = 0;
+#if (NCOM > 0)
+ bus_space_tag_t tag;
+#endif
+
+ if (attached)
+ return;
+ attached = 1;
+
+#if (NCOM > 0)
+ /* We *know* the com-console attaches to opb */
+ tag = opb_get_bus_space_tag();
+
+ if (comcnattach(tag,
+ conaddr, conspeed, com_freq, COM_TYPE_NORMAL, conmode))
+ panic("can't init serial console @%x", conaddr);
+ else
+ return;
+#endif
+ panic("console device missing -- serial console not in kernel");
+ /* Of course, this is moot if there is no console... */
+}
+
+/*
+ * com_opb_device_register:
+ */
+void
+com_opb_device_register(struct device *dev, int frequency)
+{
+ int com_freq = frequency;
+
+ /* Set the frequency of the on-chip UART. */
+ if (prop_set(dev_propdb, dev, "frequency",
+ &com_freq, sizeof(com_freq), PROP_INT, 0) != 0)
+ printf("WARNING: unable to set frequency "
+ "property for %s\n", dev->dv_xname);
+ return;
+}
diff -r 35fbc26e15d2 -r 383b20ed0f7e sys/arch/powerpc/ibm4xx/dev/comopbvar.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/arch/powerpc/ibm4xx/dev/comopbvar.h Fri Dec 24 14:55:50 2004 +0000
@@ -0,0 +1,42 @@
+/* $NetBSD: comopbvar.h,v 1.1 2004/12/24 14:55:50 shige Exp $ */
+
+/*
+ * Copyright (c) 2004 Shigeyuki Fukushima.
+ * 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.
+ */
+
+#ifndef __IBM4XX_COMOPBVAR_H__
+#define __IBM4XX_COMOPBVAR_H__
+
+#include <sys/param.h>
+#include <sys/device.h>
+
+extern void com_opb_cnattach(int, int, int, int);
+extern void com_opb_device_register(struct device *, int);
+
+#endif /* __IBM4XX_COMOPBVAR_H__ */
Home |
Main Index |
Thread Index |
Old Index