Main Page | Modules | Namespace List | Data Structures | Directories | File List | Namespace Members | Data Fields | Globals

IDEconfig.c File Reference

#include "IDEconfig.h"
#include <stdlib.h>
#include <cycle_count_bf.h>

Defines

#define IDE_STATUS_DATA   0x58
#define IDE_STATUS_READY   0x50
#define IDE_CMD_READ_SECTOR   0x21
#define IDE_CMD_WRITE_SECTOR   0x30
#define IDE_CMD_READ_ID   0xec
#define IDE_LOOP_TIMEOUT   0xffff
#define IDE_BLOCK_SIZE   512

Functions

static void ker_msec (void)
 wait
void ide_waitMS (unsigned short pa_nMs)
unsigned short ide_readData (T_IDE_INSTANCE *pa_pInst, unsigned char pa_cOffset)
void ide_writeData (T_IDE_INSTANCE *pa_pInst, unsigned char pa_cOffset, unsigned short pa_nData)
bool ide_waitForStatus (T_IDE_INSTANCE *pa_pInst, unsigned short pa_nStatus)
unsigned char ide_getStatus (T_IDE_INSTANCE *pa_pInst)
T_ERROR_CODE ide_getInfo (T_IDE_INSTANCE *pa_pInst)
T_IDE_HANDLE ide_open (T_ADDRESS pa_nSlotBaseAddress, unsigned short pa_nAddressShift, bool pa_bAsMaster, T_GPIO_MASK pa_gpioResetFlag, T_GPIO_MASK pa_gpioIntReq)
void ide_close (T_IDE_HANDLE pa_hIDE)
T_ERROR_CODE ide_readSingleBlock (T_IDE_HANDLE pa_hIDE, T_ADDRESS pa_nBlockAddr, unsigned char *pa_cData)
T_ERROR_CODE ide_readMultipleBlocks (T_IDE_HANDLE pa_hIDE, T_ADDRESS pa_nStartBlockAddr, unsigned long pa_nBlockCount, unsigned char *pa_cData)
T_ERROR_CODE ide_writeSingleBlock (T_IDE_HANDLE pa_hIDE, T_ADDRESS pa_nBlockAddr, unsigned char *pa_cData)
T_ERROR_CODE ide_writeMultipleBlocks (T_IDE_HANDLE pa_hIDE, T_ADDRESS pa_nStartBlockAddr, unsigned long pa_nBlockCount, unsigned char *pa_cData)

Detailed Description

*********************************************************************

Author:
Daniel Weber, Roland Oberhammer
Date:
2005-11-03
Version:
1.0
See also:
IDEconfig.h *

Define Documentation

#define IDE_BLOCK_SIZE   512
 

#define IDE_CMD_READ_ID   0xec
 

#define IDE_CMD_READ_SECTOR   0x21
 

#define IDE_CMD_WRITE_SECTOR   0x30
 

#define IDE_LOOP_TIMEOUT   0xffff
 

#define IDE_STATUS_DATA   0x58
 

#define IDE_STATUS_READY   0x50
 


Function Documentation

void ide_close T_IDE_HANDLE  pa_hIDE  ) 
 

Parameters:
pa_hIDE handle for the ide device
closes ide device and frees resources.

T_ERROR_CODE ide_getInfo T_IDE_INSTANCE pa_pInst  ) 
 

unsigned char ide_getStatus T_IDE_INSTANCE pa_pInst  ) 
 

T_IDE_HANDLE ide_open T_ADDRESS  pa_nSlotBaseAddress,
unsigned short  pa_nAddressShift,
bool  pa_bAsMaster,
T_GPIO_MASK  pa_gpioResetFlag,
T_GPIO_MASK  pa_gpioIntReq
 

Parameters:
pa_nSlotBaseAddress base address of IDE device
pa_nAddressShift depents on connected address signals
pa_bAsMaster true if device is master
pa_gpioResetFlag gpio pin connected to reset signal of device
pa_gpioIntReq gpio pin connected to irq signal of device
Returns:
handle for ide device
opens ide compatible device or cf card in true ide mode on selected base address.

See also:
ide_close

unsigned short ide_readData T_IDE_INSTANCE pa_pInst,
unsigned char  pa_cOffset
 

T_ERROR_CODE ide_readMultipleBlocks T_IDE_HANDLE  pa_hIDE,
T_ADDRESS  pa_nStartBlockAddr,
unsigned long  pa_nBlockCount,
unsigned char *  pa_cData
 

Parameters:
pa_hIDE handle to the ide device
pa_nStartBlockAddr blockaddress of the first block to read from
pa_nBlockCount number of consecutive blocks to read
pa_cData pointer to the buffer to read into
Returns:
on success ERR_NONE, otherwise appropriate error code
reads multiple consecutive blocks from the ide device.

T_ERROR_CODE ide_readSingleBlock T_IDE_HANDLE  pa_hIDE,
T_ADDRESS  pa_nBlockAddr,
unsigned char *  pa_cData
 

Parameters:
pa_hIDE handle to the ide device
pa_nBlockAddr blockaddress to read from
pa_cData pointer to the buffer to read into
Returns:
on success ERR_NONE, otherwise appropriate error code
reads a single block from the ide device.

bool ide_waitForStatus T_IDE_INSTANCE pa_pInst,
unsigned short  pa_nStatus
 

void ide_waitMS unsigned short  pa_nMs  ) 
 

void ide_writeData T_IDE_INSTANCE pa_pInst,
unsigned char  pa_cOffset,
unsigned short  pa_nData
 

T_ERROR_CODE ide_writeMultipleBlocks T_IDE_HANDLE  pa_hIDE,
T_ADDRESS  pa_nStartBlockAddr,
unsigned long  pa_nBlockCount,
unsigned char *  pa_cData
 

Parameters:
pa_hIDE handle of the ide device
pa_nStartBlockAddr blockaddress of the first block to write to
pa_nBlockCount number of consecutive blocks to write
pa_cData pointer to the data block
Returns:
on success ERR_NONE, otherwise error code
writes multiple consecutive blocks to the ide device.

T_ERROR_CODE ide_writeSingleBlock T_IDE_HANDLE  pa_hIDE,
T_ADDRESS  pa_nBlockAddr,
unsigned char *  pa_cData
 

Parameters:
pa_hIDE handle of the ide device
pa_nBlockAddr blockaddress to write to
pa_cData pointer to the data block
Returns:
on success ERR_NONE, otherwise error code
writes a single block to the ide device.

static void ker_msec void   )  [static]
 

wait


Generated on Thu Mar 2 16:11:29 2006 for VDK Blacksheep by  doxygen 1.4.1