Tux
Communication
Mailing lists
Documentation
User Manual
Target board info.
Target chip info.
Support
Linux support
Bugzilla
Downloads
STLinux
Updates
Search
Google


The web
stlinux.com
Distribution Guide
Device drivers
IDE drivers
ST Logo
Previous   Contents   Next


IDE drivers

There are three controllers which can connect hard disks to STMicroelectronics' chips:

  • an on-chip USB controller for USB external disks,

  • an on-chip UDMA IDE controller for PATA disks, and

  • an EMI PIO IDE controller for PATA disks.

A fourth controller, an on-chip SATA controller for SATA disks, is under consideration.

USB external disk

Disks can easily be connected via USB. However, for performance reasons, the use of a EHCI USB2 controller is recommended as the speed of an OCHI USB1 is limited.

USB disks appear as SCSI disks. Support must be configured in the kernel (see Kernel configuration). The required sections are:

Device Drivers ---> USB support ---> USB Mass Storage support

Device Drivers ---> SCSI device support ---> SCSI device support

Device Drivers ---> SCSI device support ---> SCSI disk support

These set the options CONFIG_USB_STORAGE, CONFIG_SCSI and CONFIG_BLK_DEV_SD.

Using USB disks as root file systems

It is possible to use the USB disk as a root file system. However it takes a few seconds for the USB subsystem to identify the drive and make it ready for use. This happens asynchronously to the main kernel booting, so the kernel can try to access the root device before it is ready. The solution to this is to pass a kernel command line option rootdelay=<sec>, where <sec> is the number of seconds to delay before attempting to mount the root file system.

Another important point when mounting the root file system over USB, is that the name of the root partition cannot be specified in the usual manner. It has to use the notation root=<major>:<minor>, where <major> and <minor> are the device numbers of the block device on which the root partition resides, for example: root=8:2 rootdelay=5.

This finds the root file system at major 8 minor 2, which is /dev/sda2. A 5 second delay is specified before this file system is mounted (this should be adequate for most scenarios).

UDMA IDE controller

If the UDMA IDE controller is present in the hardware, it will be enabled by selecting the configuration option CONFIG_IDE, using the menus:

Device Drivers ---> ATA/ATAPI/MFM/RLL support ---> ATA/ATAPI/MFM/RLL support

DMA is disabled by default, but can be enabled by passing ide0=dma on the kernel command line, or by using the hdparm utility. If using DMA, be aware that the on-chip UDMA controller is not capable of scatter-gather DMA, and therefore transfers have to be limited in size to small blocks. This restricts throughput to some degree and results in higher CPU loading than with more intelligent controllers.

If an IDE interface is configured into the kernel, but no actual drive is attached to the interface, it can take a while for the probe to discover this. As a result, there may be a considerable increase in kernel boot time. Passing ide0=noprobe on the kernel command line prevents the kernel probing the interface for a drive.

EMI PIO controller

Some STMicroelectronics' chips can interface directly to an IDE disk with minimal external logic by putting the EMI into a special mode. This interface allows the drive only to work in PIO mode; DMA mode is not supported. On hardware, where this type of controller is present and is actually connected on the board, it is activated when CONFIG_IDE is enabled as in UDMA IDE controller.

The paragraph in UDMA IDE controller on probing applies to this interface as well.

SATA controller

The SATA controller is not supported on STMicroelectronics' boards at the time of writing.

Previous   Contents   Next
Valid HTML 4.01! Last updated: 2005/09/29 18:29:18
© Copyright STMicroelectronics Limited, 2005
Printer