Commit Graph

88 Commits

Author SHA1 Message Date
sekiya 5110af7a8b Add support for keyboard and mouse attachments at zs*, used on IP12 and IP20.
Code written by Steve Rumble; committed with his blessing.

Using a glass TTY as a console on IP20 (IP12 untested) should now be possible.
2004-07-08 22:30:53 +00:00
sekiya ae7e3d69b0 Fake a FIFO interrupt iff the FIFO interrupt is unmasked. Should eliminate
the "spurious interrupt" messages on machines without grtwo displays.
2004-07-08 10:10:49 +00:00
sekiya 432805bb11 Add the following to the int driver:
* if the driver hasn't been properly initialized, spin for a bit in wait_fifo()
  rather than try to access the local0 status register.
* allow interrupt sharing (from Steve Rumble; necessary for IP20 glass TTY
  support).
2004-07-06 23:56:13 +00:00
rumble 875866073a sekiya-san's platform abstraction allows us to keep these
functions static.
2004-06-13 18:30:11 +00:00
rumble 0f58ff497d General cleanup to improve style consistency and KNF adherence.
Updated comments and removed superfluous code. No functional
change intended.

ok'd by pooka and sekiya
2004-06-13 18:28:35 +00:00
pooka 0e36d54eba Fix base address for i8254 calibration code. This has the effect of
us writing to the correct addresses and the thing actually working.
2004-04-11 12:05:37 +00:00
pooka 451031bddf RCS Id police 2004-04-11 00:44:47 +00:00
pooka a7250523da At least my IP12 works better without the port-flipping glue,
so un-glueify IP12 for the time being.
2004-04-10 19:20:19 +00:00
pooka a674ac1bc3 and finally, the big moment you've all been waiting for:
make it actually compile
2004-04-10 19:07:58 +00:00
pooka 89a2f53d77 fix off-by-one in revision print 2004-04-10 19:07:06 +00:00
pooka 88764f7031 add watchdog enable and disable
from Steve Rumble
2004-04-10 19:06:33 +00:00
pooka f59c5e58e8 Add physical offsets for memory configuration registers to be used
outside bus_space.
2004-04-10 19:02:39 +00:00
sekiya 49ecfdf2e4 Hook the IMC bus error handler into the ISR, otherwise bus error conditions
won't be properly dealt with.
2004-04-03 11:33:29 +00:00
pooka 3b19c32c1a KNF 2004-03-25 15:16:11 +00:00
pooka 75033bc71e replace terms ip1x and ip2x in comment 2004-03-25 15:08:57 +00:00
pooka 39a22bd417 Sprinkle some #ifdef MIPS3 to be able to compile the port without
including MIPS3 code.

for upcoming IP12
2004-03-25 15:06:37 +00:00
sekiya 4a4eccf833 Add int2_wait_fifo(), which will idle while awaiting a flag in the interrupt
controller to deassert.  Needed for the more interesting features of various
SGI framebuffers.
2004-03-09 14:05:09 +00:00
sekiya ad76afdc86 de-__P. 2004-02-08 13:15:42 +00:00
sekiya d0207690f0 opt_machtype.h no longer exists. 2004-01-19 08:06:54 +00:00
sekiya 90448f3f3f Attach int0 at mainbus (precedent being the ip32 CRIME device, which handled
interrupts and timer calibration yet is also attached at mainbus).

Introduce the INDY_R4600_CACHE config option, which more accurately describes
the code enabled by this option.

This renders #ifdef IPxx completely obsolete, thus we theoretically can unify
the GENERIC files if a workable load address relocation scheme can be found.
2004-01-19 00:12:31 +00:00
sekiya 6ce242b753 Keep chip revision and EISA information on same line as attach information. 2004-01-18 13:11:18 +00:00
sekiya 6f76c4237a ANSIfy, de-__P(), add a little glue for IP12. 2004-01-18 13:00:05 +00:00
sekiya 6feffff053 Properly disable watchdog timer. 2004-01-18 12:18:57 +00:00
sekiya 5aea276a37 Add files.dev and files.mace 2004-01-18 04:07:17 +00:00
sekiya 63b59c4db4 Following the example of the hpc/, gio/, and ioc/ directories, move the
mace devices to their own mace/ directory.  Alter conf/files.sgimips to
reflect this change in a sane manner (i.e., pull in dev/files.dev and
mace/files.mace when appropriate).

At the same time, allow crime_intr_establish() to fall through to
mace_intr_establish().  mace devices now call cpu_intr_establish().
2004-01-18 04:06:42 +00:00
sekiya 23020fc3cf Finish moving code between ip2x.c and ip3x.c to imc.c and crime.c. 2004-01-18 00:54:55 +00:00
sekiya 58a060c797 Assign memory controller-dependent watchdog reset functions to
platform.watchdog_reset.
2004-01-13 14:31:37 +00:00
sekiya ffc95bbe6e As the platform-specific bus reset routine varies based on the memory
controller used, set it in the memory controller driver rather than the
platform init code.
2004-01-13 13:05:17 +00:00
sekiya 09d9a0fb59 Add pic (memory controller for IP12) driver. Originally written by
Steve Rumble, with mostly stylistic changes by myself.
2004-01-12 12:07:06 +00:00
sekiya 74e150c7b1 CRIME revision 1.1 has a bug that affects PIO operations to/from the MACE.
The recommended workaround is a 5-10ms delay before and after accesses.
Therefore, move the affected bus_space_* operations from bus.h to bus.c
and special-case MACE accesses.

CRIME accesses are not affected, so introduce SGIMIPS_BUS_SPACE_CRIME and
use it as the CRIME tag.

My ip32 seems a little bit happier with this change, and my ip22 didn't
notice the change.
2004-01-12 03:30:51 +00:00
sekiya c7e23cc3fe Checkpoint if_mec work (just in case I get hit by a bus). This driver is still
not operational.  The MII code mostly works, DMA data structures are defined
and allocated, but tx/rx logic is missing.
2004-01-11 14:01:46 +00:00
sekiya aa7367bc4b Add register definitions for INT2 interrupt controller. 2004-01-10 05:16:57 +00:00
sekiya 280b50a365 Add watchdog and bus error handling functions (these features live in
IMC space, thus should be handled here rather than in ip2x.c)
2004-01-10 05:00:50 +00:00
sekiya 264219f697 Bus-space'ify the memory controller driver, and add IP20-specific bits. 2003-12-14 07:21:51 +00:00
sekiya 8302dd42e0 The serial controller on IP20 lives in a different place. Modify
zs_get_chan_addr() to reflect this.

XXX hardcoded addresses are quite distasteful.  This should be passed in
through consinit() -- to avoid conflicts with Ilpo's soon-to-be-committed
framebuffer driver, I'll hold off until his code hits the tree.
2003-12-14 05:59:50 +00:00
keihan 0714799990 www.netbsd.org -> www.NetBSD.org 2003-11-17 10:07:58 +00:00
chs 0e9360f160 NULL -> 0 2003-10-25 16:15:07 +00:00
sekiya a747a8f16d Mouse port offset was incorrect. 2003-10-17 12:43:08 +00:00
tsutsui b0cd3c8093 Apply a bunch of patches written by Christopher SEKIYA
(with several cosmetic changes by me) which fixes O2 (IP32) support.

Now my R5000 O2 works fine in multiuser with on-board AIC7880 SCSIs
and several PCI network cards (but only on serial console yet).
L2 cache on R5000/Rm5200 is still disabled for now, but it will be
fixed later, hopefully.

See recent discussion on port-sgimips for details.
2003-10-05 15:38:08 +00:00
tsutsui d330e7b609 TAB/space cleanup. 2003-10-04 09:19:23 +00:00
lukem ed51729135 __KERNEL_RCSID() 2003-07-15 02:54:31 +00:00
pk be1188e00d Provide locking required by the interrupt handlers running at IPL_SERIAL. 2003-01-28 12:35:31 +00:00
rafal 6c79dcd0e4 Update to use the full DS1687 register set, therefore allowing the clock to
store absolute year rather than an offset -- this means the clock is now
consitent across the ARCS PROM, IRIX and NetBSD.

XXX: This attachment is now a mismoner, since it's a Dallas Semi RTC, not
a Motorola RTC.  Should be renamed.
2003-01-19 22:26:38 +00:00
rafal 30d29f647c Simplify CRIME rev. calculation (we don't appear to need the low nibble). 2003-01-10 20:39:22 +00:00
rafal c21021e6fb Improve the interrupt code somewhat by having callers of xxx_intr_establish
pass in an interrupt handle (which is currently to the CRIME interrupt the
device is attached to) so the interrupt handlers know which device was the
one looking for attention.

While here, fix up PCI interrupt routing for both the on-board devices and
the PCI slots -- even though there is only one PCI slot in the chasis, the
hardware can accomodate up to three and provides an interrupt mapping for
all the PCI interrupt pins for both the internal SCSI & PCI slot and the
two "extra" slots.
2003-01-06 06:19:40 +00:00
rafal 0cff9e28dc Checkpoint of O2 work by Chris Sekiya and myself. This is the sgimips bit;
still needs some arch/mips support code before it will fully work.
2003-01-03 09:09:21 +00:00
thorpej dca15fc8c2 Use aprint_normal() for cfprint routines. 2003-01-01 02:10:08 +00:00
pooka 00ddd0deec add timer calibration
from Chris Sekiya
2002-12-28 16:40:48 +00:00
pooka 30d4a8344b sync with mecreg change, ie. make this compile 2002-12-26 22:25:12 +00:00
pooka a0c298e366 brush up situation with mec register definitions
from Chris Sekiya
2002-12-26 22:24:46 +00:00