diff options
| author | briggs <briggs@NetBSD.org> | 2001-08-30 02:08:42 +0000 |
|---|---|---|
| committer | briggs <briggs@NetBSD.org> | 2001-08-30 02:08:42 +0000 |
| commit | f05abdee3c6c7fa05ba3db25f24418ae5e936cb0 (patch) | |
| tree | f6b76a007e70012d9239de585a38d2c64faee959 /sys/arch/sandpoint/include | |
| parent | 33ebc9435e259c9112c8819af139cf1295f099d5 (diff) | |
- Change default time frequency to 100MHz from 66MHz.
- Support the serial mode interrupts (with a kernel configuration option)
on the Sandpoint X3.
- Initialize cpu_timebase.
- Enable tulip driver.
Diffstat (limited to 'sys/arch/sandpoint/include')
| -rw-r--r-- | sys/arch/sandpoint/include/intr.h | 26 | ||||
| -rw-r--r-- | sys/arch/sandpoint/include/openpicreg.h | 70 |
2 files changed, 68 insertions, 28 deletions
diff --git a/sys/arch/sandpoint/include/intr.h b/sys/arch/sandpoint/include/intr.h index 820d6ec1a5d..d78f2ff3a19 100644 --- a/sys/arch/sandpoint/include/intr.h +++ b/sys/arch/sandpoint/include/intr.h @@ -1,4 +1,4 @@ -/* $NetBSD: intr.h,v 1.2 2001/04/13 23:30:04 thorpej Exp $ */ +/* $NetBSD: intr.h,v 1.3 2001/08/30 02:08:43 briggs Exp $ */ /*- * Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -188,27 +188,9 @@ set_sint(pending) /* * Motorola SandPoint PPC eval board interrupt list */ -#define SANDPOINT_INTR_PCI0 0 -#define SANDPOINT_INTR_IDE0 SANDPOINT_INTR_PCI0 -#define SANDPOINT_INTR_PCI1 1 -#define SANDPOINT_INTR_IDE1 SANDPOINT_INTR_PCI1 -#define SANDPOINT_INTR_ISA SANDPOINT_INTR_PCI1 -#define SANDPOINT_INTR_PCI2 2 -#define SANDPOINT_INTR_PCI3 3 -#define SANDPOINT_INTR_SERCON 4 /* Not used on Unity X4 */ -#define SANDPOINT_INTR_I2C 5 -#define SANDPOINT_INTR_DMA0 6 -#define SANDPOINT_INTR_DMA1 7 -#define SANDPOINT_INTR_I2O 8 -#define SANDPOINT_INTR_TIMER0 9 -#define SANDPOINT_INTR_TIMER1 10 -#define SANDPOINT_INTR_TIMER2 11 -#define SANDPOINT_INTR_TIMER3 12 - -#define OPENPIC_MAX_EXTERNAL_INT 4 - -#define ICU_LEN 13 -#define ICU_MASK 0x00001fff +#define ICU_LEN 25 +#define ICU_MASK 0x01ffffff + #define LEGAL_IRQ(x) ((x) >= 0 && (x) < ICU_LEN) #define SINT_ISA 0x10000000 diff --git a/sys/arch/sandpoint/include/openpicreg.h b/sys/arch/sandpoint/include/openpicreg.h index 6309623e01b..5c9e5cdd289 100644 --- a/sys/arch/sandpoint/include/openpicreg.h +++ b/sys/arch/sandpoint/include/openpicreg.h @@ -1,4 +1,4 @@ -/* $NetBSD: openpicreg.h,v 1.2 2001/02/05 19:22:24 briggs Exp $ */ +/* $NetBSD: openpicreg.h,v 1.3 2001/08/30 02:08:43 briggs Exp $ */ /* * Copyright 2001 Wasabi Systems, Inc. @@ -45,16 +45,74 @@ * * The last interrupts are at 0x01120 + (irq - 9) * 0x20 */ +#include "opt_openpic.h" + +#if defined(OPENPIC_SERIAL_MODE) +#define SANDPOINT_INTR_SIOINT 0 +#define SANDPOINT_INTR_ISA SANDPOINT_INTR_SIOINT +#define SANDPOINT_INTR_SIOINT2 1 /* unknown... */ +#define SANDPOINT_INTR_PCI0 2 +#define SANDPOINT_INTR_PCI1 3 +#define SANDPOINT_INTR_PCI2 4 +#define SANDPOINT_INTR_PCI3 5 +#define SANDPOINT_INTR_WINBOND_A 6 +#define SANDPOINT_INTR_WINBOND_B 7 +#define SANDPOINT_INTR_WINBOND_C 8 +#define SANDPOINT_INTR_IDE0 SANDPOINT_INTR_WINBOND_C +#define SANDPOINT_INTR_WINBOND_D 9 +#define SANDPOINT_INTR_IDE1 SANDPOINT_INTR_WINBOND_D +#define SANDPOINT_INTR_RESERVED_10 10 +#define SANDPOINT_INTR_RESERVED_11 11 +#define SANDPOINT_INTR_RESERVED_12 12 +#define SANDPOINT_INTR_RESERVED_13 13 +#define SANDPOINT_INTR_RESERVED_14 14 +#define SANDPOINT_INTR_RESERVED_15 15 +#define SANDPOINT_INTR_SERCON 16 /* Not often used */ +#define SANDPOINT_INTR_I2C 17 +#define SANDPOINT_INTR_DMA0 18 +#define SANDPOINT_INTR_DMA1 19 +#define SANDPOINT_INTR_I2O 20 +#define SANDPOINT_INTR_TIMER0 21 +#define SANDPOINT_INTR_TIMER1 22 +#define SANDPOINT_INTR_TIMER2 23 +#define SANDPOINT_INTR_TIMER3 24 + +#define OPENPIC_MAX_EXTERNAL_INT 15 + +#else + +#define SANDPOINT_INTR_PCI0 0 +#define SANDPOINT_INTR_IDE0 SANDPOINT_INTR_PCI0 +#define SANDPOINT_INTR_PCI1 1 +#define SANDPOINT_INTR_IDE1 SANDPOINT_INTR_PCI1 +#define SANDPOINT_INTR_ISA SANDPOINT_INTR_PCI1 +#define SANDPOINT_INTR_PCI2 2 +#define SANDPOINT_INTR_PCI3 3 +#define SANDPOINT_INTR_SERCON 4 /* Not often used */ +#define SANDPOINT_INTR_I2C 5 +#define SANDPOINT_INTR_DMA0 6 +#define SANDPOINT_INTR_DMA1 7 +#define SANDPOINT_INTR_I2O 8 +#define SANDPOINT_INTR_TIMER0 9 +#define SANDPOINT_INTR_TIMER1 10 +#define SANDPOINT_INTR_TIMER2 11 +#define SANDPOINT_INTR_TIMER3 12 + +#define OPENPIC_MAX_EXTERNAL_INT 4 +#endif + /* interrupt vector/priority reg */ #define OPENPIC_SRC_VECTOR(irq) \ - ((irq <= 4) ? (0x10200 + (irq) * 0x20) \ - : ((irq <= 7) ? (0x11000 + ((irq) - 4) * 0x20) \ - : ((irq == 8) ? 0x110C0 \ - : (0x01120 + ((irq) - 9) * 0x40)))) + ((irq <= OPENPIC_MAX_EXTERNAL_INT) ? (0x10200 + (irq) * 0x20) \ + : ((irq <= OPENPIC_MAX_EXTERNAL_INT + 3) ? \ + (0x11000 + ((irq) - OPENPIC_MAX_EXTERNAL_INT) * 0x20) \ + : ((irq == OPENPIC_MAX_EXTERNAL_INT + 4) ? 0x110C0 \ + : (0x01120 + \ + ((irq) - (OPENPIC_MAX_EXTERNAL_INT + 5)) * 0x40)))) #define OPENPIC_INIT_SRC(irq) \ (((OPENPIC_IMASK | (8 << OPENPIC_PRIORITY_SHIFT)) | \ - (((irq) <= 4) ? \ + (((irq) <= OPENPIC_MAX_EXTERNAL_INT) ? \ (OPENPIC_POLARITY_NEGATIVE | OPENPIC_SENSE_LEVEL) : 0)) \ | (irq)) |
