Source-Changes-HG archive

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

[src/nathanw_sa]: src/sys/arch/evbmips/alchemy Add support for the Alchemy Se...



details:   https://anonhg.NetBSD.org/src/rev/53511ca9acc0
branches:  nathanw_sa
changeset: 506072:53511ca9acc0
user:      simonb <simonb%NetBSD.org@localhost>
date:      Mon Jul 29 16:22:59 2002 +0000

description:
Add support for the Alchemy Semiconductor Pb1000 evaluation board for
their Au1000 CPU.  Should also work with little or no tweaking for the
Pb1500 board for the Au1500 CPU as well.

diffstat:

 sys/arch/evbmips/alchemy/pb1000_intr.c    |  97 +++++++++++++++++++++++++++++++
 sys/arch/evbmips/alchemy/pb1000_obiovar.h |  50 +++++++++++++++
 sys/arch/evbmips/alchemy/pb1000reg.h      |  69 ++++++++++++++++++++++
 sys/arch/evbmips/alchemy/pb1000var.h      |  53 ++++++++++++++++
 4 files changed, 269 insertions(+), 0 deletions(-)

diffs (285 lines):

diff -r 452988afff25 -r 53511ca9acc0 sys/arch/evbmips/alchemy/pb1000_intr.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/arch/evbmips/alchemy/pb1000_intr.c    Mon Jul 29 16:22:59 2002 +0000
@@ -0,0 +1,97 @@
+/*     $NetBSD: pb1000_intr.c,v 1.1.2.2 2002/07/29 16:22:59 simonb Exp $       */
+
+/*-
+ * Copyright (c) 2001 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.
+ */
+
+/*
+ * Platform-specific interrupt support for the Alchemy Semiconductor Pb1000.
+ *
+ * The Alchemy Semiconductor Pb1000's interrupts are wired to two internal
+ * interrupt controllers.
+ */
+
+#include "opt_ddb.h"
+
+#include <sys/param.h>
+#include <sys/queue.h>
+#include <sys/malloc.h>
+#include <sys/systm.h>
+#include <sys/device.h>
+#include <sys/kernel.h>
+
+#include <machine/bus.h>
+#include <machine/intr.h>
+
+#include <mips/locore.h>
+#include <mips/alchemy/include/auvar.h>
+
+#include <evbmips/evbmips/clockvar.h>
+#include <mips/alchemy/include/aubusvar.h>
+#include <evbmips/alchemy/pb1000reg.h>
+#include <evbmips/alchemy/pb1000var.h>
+
+#include <dev/ic/mc146818reg.h>
+#include <dev/pci/pcireg.h>
+#include <dev/pci/pcivar.h>
+
+void
+evbmips_intr_init(void)
+{
+       au_intr_init();
+}
+
+void *
+pb1000_intr_establish(int irq, int req, int level, int type,
+    int (*func)(void *), void *arg)
+{
+
+       return (au_intr_establish(irq, req, level, type, func, arg));
+}
+
+void
+pb1000_intr_disestablish(void *cookie)
+{
+
+       return (au_intr_disestablish(cookie));
+}
+
+void
+evbmips_iointr(u_int32_t status, u_int32_t cause, u_int32_t pc,
+    u_int32_t ipending)
+{
+
+       au_iointr(status, cause, pc, ipending);
+}
diff -r 452988afff25 -r 53511ca9acc0 sys/arch/evbmips/alchemy/pb1000_obiovar.h
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/arch/evbmips/alchemy/pb1000_obiovar.h Mon Jul 29 16:22:59 2002 +0000
@@ -0,0 +1,50 @@
+/* $NetBSD: pb1000_obiovar.h,v 1.1.2.2 2002/07/29 16:22:59 simonb Exp $ */
+
+/*
+ * Copyright 2002 Wasabi Systems, Inc.
+ * All rights reserved.
+ *
+ * Written by Simon Burge for Wasabi Systems, Inc.
+ *
+ * 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 for the NetBSD Project by
+ *      Wasabi Systems, Inc.
+ * 4. The name of Wasabi Systems, Inc. may not be used to endorse
+ *    or promote products derived from this software without specific prior
+ *    written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY WASABI SYSTEMS, INC. ``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 WASABI SYSTEMS, INC
+ * 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 _PB1000_OBIOVAR_H_
+#define _PB1000_OBIOVAR_H_
+
+struct obio_attach_args {
+       const char *oba_name;           /* name of device */
+       bus_space_tag_t oba_st;         /* bus space tag */
+       bus_addr_t oba_addr;            /* address of device */
+       int oba_irq;                    /* CPLD interrupt bit # */
+};
+
+// extern struct bus_space obio_bs_tag;
+
+#endif /* _PB1000_OBIOVAR_H_ */
diff -r 452988afff25 -r 53511ca9acc0 sys/arch/evbmips/alchemy/pb1000reg.h
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/arch/evbmips/alchemy/pb1000reg.h      Mon Jul 29 16:22:59 2002 +0000
@@ -0,0 +1,69 @@
+/*     $NetBSD: pb1000reg.h,v 1.1.2.2 2002/07/29 16:23:00 simonb Exp $ */
+
+/*-
+ * Copyright (c) 2001 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.
+ */
+
+/*
+ * Memory map and register definitions for the Alchemy Semiconductor Pb1000.
+ */
+
+/* RAM addresses */
+#define        PB1000_SDRAM_BASE       0x00000000
+#define        PB1000_SDRAM_SIZE       0x04000000
+
+/* Static RAM */
+#define        PB1000_SRAM_BASE        0x1c000000
+#define        PB1000_SRAM_SIZE        0x00040000
+
+/* PCMCIA addresses */
+#define        PB1000_PCMCIA_CONTROL   0x1e000000
+#define        PB1000_PCMCIA_DATA      0x1e000004
+#define        PB1000_PCMCIA_STATUS    0x1e000008
+
+/* CPLD addresses */
+#define        PB1000_CPLD_AUX0        0x1e00000c
+#define        PB1000_CPLD_AUX1        0x1e000010
+#define        PB1000_CPLD_AUX2        0x1e000014
+
+/* Flash addresses */
+#define        PB1000_FLASH_BASE       0x1f800000
+#define        PB1000_FLASH_SIZE       0x00800000
+
+#define        LCD_BASE                0xe ## 00000000
+#define        LCD_SIZE                0x1 ## 00000000
+
+#define        PCMCIA_BASE             0xf ## 00000000
+#define        PCMCIA_SIZE             0x1 ## 00000000
diff -r 452988afff25 -r 53511ca9acc0 sys/arch/evbmips/alchemy/pb1000var.h
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/arch/evbmips/alchemy/pb1000var.h      Mon Jul 29 16:22:59 2002 +0000
@@ -0,0 +1,53 @@
+/*     $NetBSD: pb1000var.h,v 1.1.2.2 2002/07/29 16:23:00 simonb Exp $ */
+
+/*-
+ * Copyright (c) 2001 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.
+ */
+
+#include <machine/bus.h>
+
+#include <mips/alchemy/include/auvar.h>
+#include <mips/alchemy/include/aubusvar.h>
+
+struct pb1000_config {
+       struct mips_bus_space pc_cpuregt;
+};
+
+#ifdef _KERNEL
+extern struct pb1000_config pb1000_configuration;
+
+void *pb1000_intr_establish(int, int, int, int, int (*)(void *), void *);
+void pb1000_intr_disestablish(void *);
+#endif /* _KERNEL */



Home | Main Index | Thread Index | Old Index