Community
cancel
Showing results for 
Search instead for 
Did you mean: 

OCIDEC on NIOS2

OCIDEC on NIOS2



OCIDEC (OpenCores IDE Controller) is a ATA (AT attachment) interface core, also known as the IDE (Integrated Drive Electronics) interface.

The ATA interface provides a simple interface to (low cost) non-volatile memories, like harddisk drives, DVD players, CD(ROM) players/writers and CompactFlash and PC-CARD devices.

You can found more information about this opencore on http://opencores.org/project,ata

One of the limitation of the Nios2 with uClinux is the data storage. Indeed, if you need a large data storage you can instance the alcf component in you design. However you will see (under uClinux) that the data rate will be limited to PIO mode 0 : ~ 2MByte/s. That's the reason why I decided to implement the opencore IDE controler on Nios2 and to write uClinux driver for this interface.

I have translated the OCIDEC3.0 core from Wishbone to Avalon. You can downloaded below. The core has been updated in order to support burst on Avalon bus. The driver for Linux has been done (libata subsytem) and tested on Linux 2.6.30. It is easly portable to newer version (almost no work at all)

To integrate the driver in your kernel tree just copy the pata_ocidec.c file into linux-2.6/drivers/ata folder Modify the Makefile in the ata folder by adding this line $(CONFIG_PATA_OCIDEC) += pata_ocidec.o

Modify the Kconfig file in the ata folder by adding this:

config PATA_OCIDEC

tristate "OCIDEC Compact Flash IP driver"

Reconfigure your kernel to enable the driver.

§ Ocidec.zip

§ Pata_ocidec.c


Attachments
Version history
Revision #:
1 of 1
Last update:
‎06-25-2019 10:15 PM
Updated by:
 
Contributors