From Attie's Wiki
Jump to: navigation, search

This text has been copied from http://www.embeddedarm.com/about/resource.php?item=339


Download required software

First, you will need to install or upgrade the IDE drivers on your system. You can either compile these drivers into the kernel, or load them as modules. Unless you have a TS-7200 and need to boot from the CF card we recommend that you use the module approach instead of compiling IDE support into the kernel.

The newest files available are provided in the directory at:


The files in this directory are:

ide-core.o core IDE support
ide-detect.o module to detect what IDE interfaces are present
ide-disk.o module to use IDE disks (including compact flash)
zImage pre-compiled kernel with IDE support

Additional files such as source code may also be available in this directory.

Set the jumpers on your board

To prepare your TS-RF2 board for use, first select a jumper setting that does not conflict with any other peripherals on your system, such as other TS-RF2 boards. The jumpers set the I/O base port and the IRQ line as follows:

JP1 JP2 I/O base
OFF OFF 0x100
OFF ON 0x200
ON OFF 0x110
ON ON 0x210
OFF OFF N/A none (don't use this setting!)
OFF ON 7 40
ON OFF 6 33
ON ON 7 40 (shared interrupt)

Once you have set up the jumpers on your board, please make a note of the I/O and interrupt settings.

Installing the IDE drivers

If you are using a kernel with IDE support built-in, you will want to install the new kernel on your board. You can either use the pre-compiled kernel file supplied, or re-compile your own kernel with the new ide.h source files copied to the appropriate locations in your kernel tree. The method for install the kernel binary will depend on the particular board you are using; please consult the documentation for your board for further information.

If you are using the IDE modules, you will want to install the modules in the appropriate location for your distribution. Typically this will involve copying the .o files the somewhere in the /lib/modules directory, and possibly running a utility such as depmod to bring your module list up to date. Please consult the documentation for the distribution you are using for further information.

Loading the IDE drivers with in-kernel support

To use a kernel with the new compiled-in support for compact flash you will need to modify the kernel command line parameters to add an option of the form:



X = the IDE interface number to use (0-3). This must be unique for each drive



INTERRUPT = the interrupt set by JP3 or JP4

For example, if you wanted to use IDE interface 1, for a board with JP1 ON, JP2 OFF, JP3 ON, and JP4 OFF, and you are using RedBoot and your original boot line in fconfig reads:

exec -c "console=ttyAM0,115200 root=/dev/hda1"  

Your would change this to read:

exec -c "console=ttyAM0,115200 root=/dev/hda1 ide1=0x118,0x116,33"  

Please take care to note that on the TS-7200 board the on-board CF card uses IDE interface 0, so as to avoid conflicts with your TS-RF2/CF.

Hot-Swapping (Loading the IDE drivers with module support)

CF card hot-swapping is not supported when using the IDE driver built-in to the kernel. To be able to remove the CF card and use another card without shutting down or rebooting you will need to use the modular CF driver instead. Conversely, when using the modular IDE support you must take care to load the modules only after plugging in the card. Using the previous example, the following commands would need to be issued (either manually or automatically) after plugging in the CF card:

insmod ide-core.o options=\"ide1=0x118,0x116,33\"    insmod ide-detect.o    insmod ide-disk.o

Please note that the quotes in the first command are required to prevent the shell from mis-interpretting the options.

When finished with the CF card the modules should be unloaded (with rmmod) in the opposite order they were loaded. For example,

rmmod ide-disk    rmmod ide-detect    rmmod ide-core

Once the modules are unloaded a new card can be inserted and the modules re-loaded using the same insmod commands as before.

Personal tools