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

Linux Kernel for ARM and SATA problems

In my efforts for a stable build of Debian for the Freescale iMX53 Quick Start Board I can now reliably build u-boot and the Linux kernel.  With these, I now have Debian Squeeze running fine from a 4GB SD card.

My next step is to get things running on an attached SATA disk, but neither u-boot or my Linux kernel recognize the SATA drive.  I've done simple things such as verify power to the drive and tried multiple SATA cables without any improvement.  The drive I'm using is a Western Digital Scorpio Blue 500 GB 2.5" drive of 2009 vintage.  I seem to recall around that time there were issues with the new WD drives using advanced format sectors that gave some versions of Linux grief, but my memory is a bit hazy about that.  I'm wondering if I'm running into related issues.

When I attempt to initialize the SATA modules and query the drive from u-boot I get the following output:

MX53-LOCO U-Boot > sata init
AHCI 0001.0100 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
flags: ncq stag pm led clo only pmp pio slum part
No port device detected!

MX53-LOCO U-Boot > sata info
SATA device 0: Model:  Firm:  Ser#:
            Type: Hard Disk
            Capacity: not available

It seems that u-boot partially recognizes there is a SATA device attached, but it can't query any information from it.

When the Linux kernel is booted, I get the following relevant output:

U-Boot 2009.08 (Mar 17 2012 - 13:58:56)
Linux version (mike@ubuntu) (gcc version 4.6.1 (Ubuntu/Linaro 4.6.1-9ubuntu3) ) #3 PREEMPT Sat Mar 17 15:34:48 PDT 2012
CPU: ARMv7 Processor [412fc085] revision 5 (ARMv7), cr=10c53c7f
CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
Machine: Freescale MX53 LOCO Board
ata1: SATA max UDMA/133 irq_stat 0x00000040, connection status changed irq 28
ata1: SATA link down (SStatus 1 SControl 300)
ata1: exception Emask 0x10 SAct 0x0 SErr 0x4000000 action 0xe frozen t4
ata1: irq_stat 0x00000040, connection status changed
ata1: SError: { DevExch }
ata1: hard resetting link
ata1: SATA link down (SStatus 1 SControl 300)
ata1: EH complete
Debian GNU/Linux 6.0 devel ttymxc0
devel login:

It seems the link stays down and I never see a /dev/sda device that should be present if the SATA drive was recognized.

Have others seen these types of issues with Debian ARM?  I realize kernel configuration is almost a black art on these embedded ARM systems, but even the Ubuntu demo that Freescale provides with the iMX53 Quick Start board fails to recognize the drive.  My kernel configuration for Debian is derived from that one.

I'm using one the newer Revision R Quick Start Boards if that makes any difference.

Any hints or guidance on where I can look to make my SATA disk work with Debian ARM would be greatly appreciated.


Mike Thompson

Reply to: