The latest TS Linux kernels support up to 4 IDE interfaces. This support can either be compiled into the kernel, or loaded as a module. 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 binaries required are available in the directory at: http://ftp.embeddedarm.com/ide/ The files in this directory are: ide-core.o - core IDE module ide-detect.o - required to detect what IDE interfaces are present ide-disk.o - required 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. The new IDE drivers can be used in the following ways: 1. TS-7200 board 2. TS-RF2 daughter board with CF option 3. TS-9600 (IDE) daughter board A single loading of the IDE drivers is all that is needed to support as many IDE devices as you have (up to 4). To support multiple devices, simply include multiple instances of the ide command line parameter, one for each interface. TS-7200 ------- Support for the TS-7200 IDE driver is built in; you do not need to specify any parameters. However please note that the TS-7200 IDE interface occupies uses interrupt 32 and occupies base address 0x100. If you use additional TS-RF2 boards with the TS-7200 you will need to avoid a base address conflict. TS-RF2 ------ The TS-RF2 board can be purchased with the compact flash option which provides a single compact flash slot. 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 (you probably don't want to 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 (not IRQ) settings. To use a kernel with the new compiled-in support for compact flash, you will need to first install the new kernel on your main board, and then modify the kernel command line parameters to add an option of the form: ideX=IDE_PORT,IDE_AUX,INTERRUPT where X = the IDE interface number to use (0-3); 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" Note: On the TS-7200 board the on-board CF card uses IDE interface 0. CF card hot-swapping is not supported when using the IDE driver built-in to the kernel. To remove the CF card and use another card you will need to use the modular CF driver instead. For the above 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 the the quotes in the first command are required to prevent the shell from (mis)interpretting the options. After removing the card the modules should be unloaded (with rmmod) in the opposite order they were loaded, and then re-loaded after a new card is inserted. TS-9600 ------- To use the TS-9600 IDE board with these modules you will first want to select IRQ 7 on the TS-9600, then issue the following commands: insmod ./ide-core.o options=\"ide0=0x1f0,0x3f6,40\" insmod ./ide-detect.o insmod ./ide-disk.o Note: The TS-9600 board will only work with TS-7XXX boards that have the "16-bit PC104 bus" option. You will not be able to share IRQ 7 when using the TS-9600 board.