[U-Boot] Problem w/ SATA/IDE on Kirkwood _88F6281_ board:

David Purdy david.c.purdy at gmail.com
Sun Apr 1 23:24:28 CEST 2012


Problem w/ SATA/IDE on Kirkwood 88F6281 board:

I've got U-Boot 2011.12 working well on a 8192 Kirkwood board, _except_ for
a nagging SATA problem.
Currently, it loads and executes U-Boot fine, it boots fine from a USB
drive, but I'm unable to get the SATA port to function correctly.  Any
insight from Albert, Prafulla or anyone else who recognizes this problem,
would be greatly appreciated.

It will detect an known-good-SATA-drive with known-good-ext2-partitions and
list its specs, but there are some errors:

U-Boot 2011.12 (Apr 01 2012 - 15:55:54)
Cloud Engines-Pogoplug v4

SoC:   Kirkwood 88F6281_A1
DRAM:  128 MiB
WARNING: Caches not enabled
NAND:  128 MiB
In:    serial
Out:   serial
Err:   serial
Net:   egiga0
Hit any key to stop autoboot:  0
Pogov4> ide reset

Reset IDE: Bus 0: OK Bus 1: OK
  Device 0: Model: TOSHIBA MK1655GSX  Firm: FG010D Ser#:  X9AHTNGQT
            Type: Hard Disk
            Supports 48-bit addressing
            Capacity: 152627.8 MB = 149.0 GB (312581808 x 512)
Error (no IRQ) dev 0 blk 16: status 0x7f
No Powersaving mode 7F
Error (no IRQ) dev 0 blk 0: status 0x7f
  Device 1: not available
Pogov4> ext2ls ide 0:1 /
** Bad partition - ide 0:1 **
Pogov4>
------------------------------------





With #define DEBUG enabled in common/cmd_ide.c, I see the following:
------------------------------------
Pogov4> ide reset

Reset IDE: Bus 0: ide_outb (dev= 0, port= 0x118, val= 0xe0) : @ 0xf1082118
ide_inb (dev= 0, port= 0x11c) : @ 0xf108211c -> 0x50
OK Bus 1: ide_outb (dev= 1, port= 0x118, val= 0xf0) : @ 0xf1082118
ide_inb (dev= 1, port= 0x11c) : @ 0xf108211c -> 0x50
OK
  Device 0: ide_outb (dev= 0, port= 0x118, val= 0xe0) : @ 0xf1082118
ide_outb (dev= 0, port= 0x11c, val= 0xec) : @ 0xf108211c
ide_inb (dev= 0, port= 0x11c) : @ 0xf108211c -> 0xd0
ide_inb (dev= 0, port= 0x11c) : @ 0xf108211c -> 0x58
in input data base for read is f1082100
Model: ?�?�?�?�?�?� Firm: ?�?�?�?� Ser#: ?�?�?��?�?�?�
            Type: Hard Disk
            Supports 48-bit addressing
            Capacity: 524263.9 MB = 511.9 GB (1073692671 x 512)
ide_read dev 0 start 10, blocks 1 buffer at 7FBB230
ide_outb (dev= 0, port= 0x118, val= 0xe0) : @ 0xf1082118
ide_inb (dev= 0, port= 0x11c) : @ 0xf108211c -> 0x58
ide_outb (dev= 0, port= 0x11c, val= 0xe5) : @ 0xf108211c
ide_inb (dev= 0, port= 0x11c) : @ 0xf108211c -> 0xd8
...
ide_inb (dev= 0, port= 0x11c) : @ 0xf108211c -> 0xd8
ide_inb (dev= 0, port= 0x11c) : @ 0xf108211c -> 0x7f
No Powersaving mode 7F
ide_inb (dev= 0, port= 0x11c) : @ 0xf108211c -> 0x7f
ide_outb (dev= 0, port= 0x108, val= 0x01) : @ 0xf1082108
ide_outb (dev= 0, port= 0x10c, val= 0x10) : @ 0xf108210c
ide_outb (dev= 0, port= 0x110, val= 0x00) : @ 0xf1082110
ide_outb (dev= 0, port= 0x114, val= 0x00) : @ 0xf1082114
ide_outb (dev= 0, port= 0x118, val= 0xe0) : @ 0xf1082118
ide_outb (dev= 0, port= 0x11c, val= 0x20) : @ 0xf108211c
ide_inb (dev= 0, port= 0x11c) : @ 0xf108211c -> 0x7f
Error (no IRQ) dev 0 blk 16: status 0x7f
ide_read dev 0 start 0, blocks 1 buffer at 7E30C30
ide_outb (dev= 0, port= 0x118, val= 0xe0) : @ 0xf1082118
ide_inb (dev= 0, port= 0x11c) : @ 0xf108211c -> 0x7f
ide_outb (dev= 0, port= 0x11c, val= 0xe5) : @ 0xf108211c
ide_inb (dev= 0, port= 0x11c) : @ 0xf108211c -> 0x80
...
ide_inb (dev= 0, port= 0x11c) : @ 0xf108211c -> 0x80
ide_inb (dev= 0, port= 0x11c) : @ 0xf108211c -> 0x7f
No Powersaving mode 7F
ide_inb (dev= 0, port= 0x11c) : @ 0xf108211c -> 0x7f
ide_outb (dev= 0, port= 0x108, val= 0x01) : @ 0xf1082108
ide_outb (dev= 0, port= 0x10c, val= 0x00) : @ 0xf108210c
ide_outb (dev= 0, port= 0x110, val= 0x00) : @ 0xf1082110
ide_outb (dev= 0, port= 0x114, val= 0x00) : @ 0xf1082114
ide_outb (dev= 0, port= 0x118, val= 0xe0) : @ 0xf1082118
ide_outb (dev= 0, port= 0x11c, val= 0x20) : @ 0xf108211c
ide_inb (dev= 0, port= 0x11c) : @ 0xf108211c -> 0x7f
Error (no IRQ) dev 0 blk 0: status 0x7f
  Device 1: ide_outb (dev= 1, port= 0x118, val= 0xf0) : @ 0xf1082118
ide_outb (dev= 1, port= 0x11c, val= 0xec) : @ 0xf108211c
ide_inb (dev= 1, port= 0x11c) : @ 0xf108211c -> 0x7f
not available
------------------------------------

Ideas, anyone?


More information about the U-Boot mailing list