CHAPTER 5 APPLICATION EXAMPLES
Application Note U17121EJ1V1AN
83
ConfigData = 0x00000001;
// bit 0 : IDE I/F RESET Port = 1b :
// Output IDE RESETX signal output to IDE I/F.
PCI_ConfigWrite(ConfigAddress, ConfigData);
return;
}
////////////////////////////////////
// Transfer mode setting function //
////////////////////////////////////
/////////////////////////////////////////////////////////////////////////
// Function name: Set_Transfer_Mode //
// Function: Setting of transfer mode //
// Argument: dev_num : Device selection (0:Master/1:Slave) //
// mode : Transfer mode //
// Return value: //
// STATUS_SUCCESS : Normal end //
// STATUS_TIMEOUT_DEVICE_SELECTION : DEVICE SELECTION error end //
// STATUS_TIMEOUT_DRDY1 : DRDY=1 timeout error end //
// STATUS_TIMEOUT_INTRQ : INTRQ timeout error end //
// STATUS_IDE_ERROR : Error end after command execution //
// //
/////////////////////////////////////////////////////////////////////////
int Set_Transfer_Mode(int dev_num, UBYTE mode)
{
status = ATA_Set_Features(dev_num, 0x03, mode);
return status;
}
/////////////////////////////////////////////////////////////////
// Function name: Set_PIO_Timing //
// Function: Setting of PIO Timing register //
// Argument: pio_timing : Value set to PIO Timing register //
// Return value: None //
// //
/////////////////////////////////////////////////////////////////
void Set_PIO_Timing(UWORD pio_timing)
{
UWORD ConfigAddress;
UWORD ConfigData;
ConfigAddress = 0x40000048;
// bit 31-11 : IDSEL specification = 010000000000000000000b
// Select PCI device connected to AD30
// bit 10-08 : Function number = 00b