Subject: Re: Question on the Qube 2700?
To: None <port-cobalt@netbsd.org>
From: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
List: port-cobalt
Date: 11/24/2003 02:20:57
In article <20031120152706.GA2316@loki>
cdi@orcsoftware.spb.ru wrote:
> I fear this is what Ray Dekens has reported quite a while ago. That is, the
> kernel fails to initialize Tulip card properly. The driver times out during
> setup saying "filter setup and transmit timeout", then re-initilizes the card
> and tries the same thing again, this is why nic leds are blinking. I suspect
> interrupt setup and/or handling is broken for 2700, but we have not succeeded
> in fixing it yet.
According to arch/mips/cobalt/pci.c in linux-2.0.34C53_SK,
some cobalt models require several pci fixup code (like sgimips does)
including interrupt lines.
Maybe it's worth to add some fixup code into gt.c:gt_attach().
(siop on my RaQ2 also requires fixup mem address space.)
---
Izumi Tsutsui
tsutsui@ceres.dti.ne.jp
---
:
/* Fix PCI latency-timer and cache-line-size values in Galileo
* host bridge.
*/
pcibios_write_config_byte(0, 0, PCI_LATENCY_TIMER, 64);
pcibios_write_config_byte(0, 0, PCI_CACHE_LINE_SIZE, 7);
/*
* Now tell the SCSI device that we expect an interrupt at
* IRQ 7 and not the default 0.
*/
pcibios_write_config_byte(0, 0x08<<3, PCI_INTERRUPT_LINE,
COBALT_SCSI_IRQ);
/*
* Now tell the Ethernet device that we expect an interrupt at
* IRQ 13 and not the default 189.
*
* The IRQ of the first Tulip is different on Qube and RaQ
* hardware except for the weird first RaQ bringup board,
* see above for details. -DaveM
*/
if (! raq_p) {
/* All Qube's route this the same way. */
pcibios_write_config_byte(0, 0x07<<3, PCI_INTERRUPT_LINE,
COBALT_ETHERNET_IRQ);
} else {
:
---