Port-ofppc archive

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

Powerstack II



Hi,

after I fixed a minor problem in ofppc/ofppc/mainbus.c (crash when no /rtas
exists) I can boot a recect kernel on a Motorola Powerstack II as far as
this:

---8<---
NetBSD 5.99.23 (PWRSTK2) #12: Sat Jan 16 16:44:46 CET 2010                  
          
frank%jaana.owl.de@localhost:/home/frank/netbsd/current/src/sys/arch/ofppc/compile/obj/PWRSTK2
                                                                   
Model: MOT,PowerStack_II_Pro4000
total memory = 65536 KB
avail memory = 58596 KB
bootpath: /pci/ethernet@4/netbsd
mainbus0 (root)
cpu0 at mainbus0: 604ev (Revision 1.0), ID 0 (primary)
cpu0: HID0 0x8000c086<EMCP,ICE,DCE,SGE,BHT,NOPDST>, powersave: 1
cpu0: 300.00 MHz
cpu0: L1 I-cache 32 KB 0B/line, D-cache 32 KB 0B/line
cpu0: L2 cache 256 KB 0B/line
ofwpci0 at mainbus0
pci0 at ofwpci0 bus 0: OFW method configuration space access
pchb0 at pci0 dev 0 function 0
pchb0: IBM 82660 PowerPC to PCI Bridge and Memory Controller (rev. 0x02)
pchb0: L1: enabled L2: enabled 
pchb0: DRAM EDO (ECC) SRAM async
pcib0 at pci0 dev 1 function 0: Symphony Labs 83C553 PCI-ISA Bridge (rev.
0x10)
pciide0 at pci0 dev 1 function 1: Symphony Labs 82C105 (rev. 0x05)
pciide0: couldn't map native-PCI interrupt
pciide0: couldn't map native-PCI interrupt
esiop0 at pci0 dev 2 function 0: Symbios Logic 53c825a (fast wide scsi)
esiop0: using on-board RAM
esiop0: interrupting at irq 15
scsibus0 at esiop0: 16 targets, 8 luns per target
tlp0 at pci0 dev 4 function 0: DECchip 21140A Ethernet, pass 2.2
tlp0: sorry, unable to handle your board
isa0 at pcib0
lpt0 at isa0 port 0x3bc-0x3bf irq 7
com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
com0: console
com1 at isa0 port 0x2f8-0x2ff irq 3: ns16550a, working fifo
pckbc0 at isa0 port 0x60-0x64
attimer0 at isa0 port 0x40-0x43
pcppi0 at isa0 port 0x61
attimer0: attached to pcppi0
biomask 8000006 netmask 8000006 ttymask 8000006
scsibus0: waiting 2 seconds for devices to settle...
probe(esiop0:0:0:0): command timeout, CDB: 0x12 00 00 00 24 00
---8<---

From the dmesg you will notice three problems:

1. "pciide0: couldn't map native-PCI interrupt"
This happens for both channels. By some debugging I found out that
pci_intr_map() is called to map irq 14, but genofw_setup_pciintr_map()
didn't provide a dictionary entry for this interrupt line. I think the OFW
is to blame here, because, although pciide0 is configured native-PCI, it
doesn't have a device node for it:
  ok dev /pci
  ok ls
  3eba0bc ethernet@4
  3eb3d44 scsi@2
  3e5a580 isa@1
But also under ISA, there is no IDE!
  3ebf568 sound@i830
  3e66d3c abort-sw
  3e61a74 8042@i60
  3e5fac4 floppy@i3f0
  3e5f4e4 parallel@i3bc
  3e5dfb0 serial@i2f8
  3e5ca7c serial@i3f8
  3e5c470 nvram@i74
  3e5b4f0 rtc@i74
  3e5b070 timer@i40
  3e5ac40 interrupt-controller@i20
  3e5ab1c dma-controller@i00
I'm not sure what would be the best way to deal with that. But probably it
could be hacked somehow.

2. "tlp0: sorry, unable to handle your board"
That's a much bigger problem! Although the 21140A chip is recognized the
drive is unable to read its SROM. For debugging I have printed the contents
of the first 40 bytes in sc->sc_srom, but all bytes are 0xff!
Is this the PCI memory access problem which Jochen Kunz mentioned?

3. "probe(esiop0:0:0:0): command timeout, CDB: 0x12 00 00 00 24 00"
I didn't really check yet. But I tried with and without hard disk. I'm not
sure where to terminate the bus. Only at its end?
Probably this problem is the same as with tlp0, and the esiop driver is also
reading 0xff all the time...

Suggestions how to proceed are welcome! :)

-- 
Frank Wille



Home | Main Index | Thread Index | Old Index