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:
http://ftp.embeddedarm.com/ide/
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.
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 |
JP3 | JP4 | IRQ | INTERRUPT | 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.
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.
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:
ideX=IDE_PORT,IDE_AUX,INTERRUPTwhere
X = the IDE interface number to use (0-3). This must be unique for each drive
IDE_PORT = I/O BASE PORT + 8
IDE_AUX = I/O BASE PORT + 6
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.
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.oPlease 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-coreOnce the modules are unloaded a new card can be inserted and the modules re-loaded using the same insmod commands as before.