Subject: Re: Promise Ultra/100TX2
To: Konrad Neuwirth <konrad@fimsch.net>
From: Manuel Bouyer <bouyer@antioche.lip6.fr>
List: port-i386
Date: 05/10/2001 22:07:25
On Tue, May 08, 2001 at 09:38:34PM +0200, Konrad Neuwirth wrote:
> > Following up to the discussion regarding the support of the Promise
> > Ultra/100 TX2 controller, I am trying to get the thing running but
> > currently failing.
>
> Following up once more, after a bit of poking around at least I now
> have more details about the beast, having compiled a kernel with
> DEBUG_PROBE in pciide.c
>
> Device-specific output while booting now is:
>
> | pciide1 at pci0 dev 11 function 0: Promise Ultra100/ATA Bus Master IDE Accelerator (rev. 0x01)
> | PCI configuration registers:
> | Common header:
> | 0x00: 0x4d68105a 0x04300007 0x01808501 0x00002008
> |
> | Vendor Name: Promise Technology (0x105a)
> | Device Name: Ultra/100 ATA Bus Master IDE Accelerator (0x4d68)
> | Command register: 0x0007
> | I/O space accesses: on
> | Memory space accesses: on
> | Bus mastering: on
> | Special cycles: off
> | MWI transactions: off
> | Palette snooping: off
> | Parity error checking: off
> | Address/data stepping: off
> | System error (SERR): off
> | Fast back-to-back transactions: off
> | Status register: 0x0430
> | Capability List support: on
> | 66 MHz capable: on
> | User Definable Features (UDF) support: off
> | Fast back-to-back capable: off
> | Data parity error detected: off
> | DEVSEL timing: slow (0x2)
> | Slave signaled Target Abort: off
> | Master received Target Abort: off
> | Master received Master Abort: off
> | Asserted System Error (SERR): off
> | Parity error detected: off
> | Class Name: mass storage (0x01)
> | Subclass Name: miscellaneous (0x80)
> | Interface: 0x85
> | Revision ID: 0x01
> | BIST: 0x00
> | Header Type: 0x00 (0x00)
> | Latency Timer: 0x20
> | Cache Line Size: 0x08
> |
> | Type 0 ("normal" device) header:
> | 0x10: 0x0000d001 0x0000b801 0x0000b401 0x0000b001
> | 0x20: 0x0000a801 0xe7000000 0x00000000 0x4d68105a
> | 0x30: 0x00000000 0x00000060 0x00000000 0x1204010b
> |
> | Base address register at 0x10
> | type: 32-bit i/o
> | base: 0x0000d000, size: 0x00000008
> | Base address register at 0x14
> | type: 32-bit i/o
> | base: 0x0000b800, size: 0x00000004
> | Base address register at 0x18
> | type: 32-bit i/o
> | base: 0x0000b400, size: 0x00000008
> | Base address register at 0x1c
> | type: 32-bit i/o
> | base: 0x0000b000, size: 0x00000004
> | Base address register at 0x20
> | type: 32-bit i/o
> | base: 0x0000a800, size: 0x00000010
> | Base address register at 0x24
> | type: 32-bit nonprefetchable memory
> | base: 0xe7000000, size: 0x00004000
> | Cardbus CIS Pointer: 0x00000000
> | Subsystem vendor ID: 0x105a
> | Subsystem ID: 0x4d68
> | Expansion ROM Base Address: 0x00000000
> | Capability list pointer: 0x60
> | Reserved @ 0x38: 0x00000000
> | Maximum Latency: 0x12
> | Minimum Grant: 0x04
> | Interrupt pin: 0x01 (pin A)
> | Interrupt line: 0x0b
> | Capability register at 0x60
> | type: 0x01 (Power Management, rev. 1.0)
> |
> | Device-dependent header:
> | 0x40: 0x00000000 0x00000000 0x00000000 0x00000000
> | 0x50: 0x00000000 0x00000000 0x00000000 0x00000000
> | 0x60: 0x02010001 0x00000000 0x00000000 0x00000000
> | 0x70: 0x00000000 0x00000000 0x00000000 0x00000000
> | 0x80: 0x00000000 0x00000000 0x00000000 0x00000000
> | 0x90: 0x00000000 0x00000000 0x00000000 0x00000000
> | 0xa0: 0x00000000 0x00000000 0x00000000 0x00000000
> | 0xb0: 0x00000000 0x00000000 0x00000000 0x00000000
> | 0xc0: 0x00000000 0x00000000 0x00000000 0x00000000
> | 0xd0: 0x00000000 0x00000000 0x00000000 0x00000000
> | 0xe0: 0x00000000 0x00000000 0x00000000 0x00000000
> | 0xf0: 0x00000000 0x00000000 0x00000000 0x00000000
> |
> | Don't know how to pretty-print device-dependent header.
> |
> | pdc202xx_setup_chip: controller state 0x0
> | pciide1: bus-master DMA support present
> | pdc202xx_setup_chip: channel 0 drive 0 initial timings 0x2010001, now 0x457309
> | pdc202xx_setup_chip: channel 0 drive 1 initial timings 0x0, now 0x57309
> | pdc202xx_setup_chip: channel 1 drive 0 initial timings 0x0, now 0x457309
> | pdc202xx_setup_chip: channel 1 drive 1 initial timings 0x0, now 0x57309
> | pdc202xx_setup_chip: initial SCR 0xffffffff, now 0x1130001
> | pdc202xx_setup_chip: primary mode 0xff, secondary mode 0xff
> | pciide1: primary channel configured to compatibility mode
> | pciide1: primary channel ignored (disabled)
> | pciide1: secondary channel configured to compatibility mode
> | pciide1: secondary channel ignored (disabled)
> | pdc202xx_setup_chip: new controller state 0x0
> | pciide: command/status register=4300007
Looking at this output, is seems that this board is using a completely
different register set than previous promise Ultra100.
We'll need some docs on this one.
--
Manuel Bouyer <bouyer@antioche.eu.org>
--