mbed library sources
Fork of mbed-src by
Diff: targets/cmsis/TARGET_STM/TARGET_STM32F4/stm32f4xx_hal_pccard.c
- Revision:
- 532:fe11edbda85c
- Parent:
- 384:ef87175507f1
- Child:
- 613:bc40b8d2aec4
--- a/targets/cmsis/TARGET_STM/TARGET_STM32F4/stm32f4xx_hal_pccard.c Thu Apr 30 13:00:08 2015 +0100 +++ b/targets/cmsis/TARGET_STM/TARGET_STM32F4/stm32f4xx_hal_pccard.c Thu Apr 30 13:45:11 2015 +0100 @@ -2,8 +2,8 @@ ****************************************************************************** * @file stm32f4xx_hal_pccard.c * @author MCD Application Team - * @version V1.1.0 - * @date 19-June-2014 + * @version V1.3.0 + * @date 09-March-2015 * @brief PCCARD HAL module driver. * This file provides a generic firmware to drive PCCARD memories mounted * as external device. @@ -17,37 +17,40 @@ control PCCARD/compact flash memories. It uses the FMC/FSMC layer functions to interface with PCCARD devices. This driver is used for: - (+) PCCARD/compact flash memory configuration sequence using the function - HAL_PCCARD_Init() with control and timing parameters for both common and - attribute spaces. + (+) PCCARD/Compact Flash memory configuration sequence using the function + HAL_PCCARD_Init()/HAL_CF_Init() with control and timing parameters for + both common and attribute spaces. - (+) Read PCCARD/compact flash memory maker and device IDs using the function - HAL_CF_Read_ID(). The read information is stored in the CompactFlash_ID - structure declared by the function caller. + (+) Read PCCARD/Compact Flash memory maker and device IDs using the function + HAL_PCCARD_Read_ID()/HAL_CF_Read_ID(). The read information is stored in + the CompactFlash_ID structure declared by the function caller. - (+) Access PCCARD/compact flash memory by read/write operations using the functions + (+) Access PCCARD/Compact Flash memory by read/write operations using the functions + HAL_PCCARD_Read_Sector()/ HAL_PCCARD_Write_Sector() - HAL_CF_Read_Sector()/HAL_CF_Write_Sector(), to read/write sector. - (+) Perform PCCARD/compact flash Reset chip operation using the function HAL_CF_Reset(). + (+) Perform PCCARD/Compact Flash Reset chip operation using the function + HAL_PCCARD_Reset()/HAL_CF_Reset. - (+) Perform PCCARD/compact flash erase sector operation using the function - HAL_CF_Erase_Sector(). + (+) Perform PCCARD/Compact Flash erase sector operation using the function + HAL_PCCARD_Erase_Sector()/HAL_CF_Erase_Sector. - (+) Read the PCCARD/compact flash status operation using the function HAL_CF_ReadStatus(). + (+) Read the PCCARD/Compact Flash status operation using the function + HAL_PCCARD_ReadStatus()/HAL_CF_ReadStatus(). - (+) You can monitor the PCCARD/compact flash device HAL state by calling the function - HAL_PCCARD_GetState() + (+) You can monitor the PCCARD/Compact Flash device HAL state by calling + the function HAL_PCCARD_GetState()/HAL_CF_GetState() [..] (@) This driver is a set of generic APIs which handle standard PCCARD/compact flash - operations. If a PCCARD/compact flash device contains different operations + operations. If a PCCARD/Compact Flash device contains different operations and/or implementations, it should be implemented separately. @endverbatim ****************************************************************************** * @attention * - * <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2> + * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2> * * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: @@ -81,25 +84,39 @@ * @{ */ -/** @defgroup PCCARD - * @brief PCCARD driver modules +#ifdef HAL_PCCARD_MODULE_ENABLED +#if defined(STM32F405xx) || defined(STM32F415xx) || defined(STM32F407xx) || defined(STM32F417xx) ||\ + defined(STM32F427xx) || defined(STM32F437xx) || defined(STM32F429xx) || defined(STM32F439xx) +/** @defgroup PCCARD PCCARD + * @brief PCCARD HAL module driver + * @{ + */ +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ + +/** @defgroup PCCARD_Private_Defines PCCARD Private Defines * @{ */ -#ifdef HAL_PCCARD_MODULE_ENABLED -#if defined(STM32F405xx) || defined(STM32F415xx) || defined(STM32F407xx) || defined(STM32F417xx) || defined(STM32F427xx) || defined(STM32F437xx) || defined(STM32F429xx) || defined(STM32F439xx) +#define PCCARD_TIMEOUT_READ_ID (uint32_t)0x0000FFFF +#define PCCARD_TIMEOUT_READ_WRITE_SECTOR (uint32_t)0x0000FFFF +#define PCCARD_TIMEOUT_ERASE_SECTOR (uint32_t)0x00000400 +#define PCCARD_TIMEOUT_STATUS (uint32_t)0x01000000 -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ +#define PCCARD_STATUS_OK (uint8_t)0x58 +#define PCCARD_STATUS_WRITE_OK (uint8_t)0x50 +/** + * @} + */ + /* Private macro -------------------------------------------------------------*/ /* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/** @defgroup PCCARD_Private_Functions +/* Private function ----------------------------------------------------------*/ +/* Exported functions --------------------------------------------------------*/ +/** @defgroup PCCARD_Exported_Functions PCCARD Exported Functions * @{ */ -/** @defgroup PCCARD_Group1 Initialization and de-initialization functions +/** @defgroup PCCARD_Exported_Functions_Group1 Initialization and de-initialization functions * @brief Initialization and Configuration functions * @verbatim @@ -133,6 +150,8 @@ if(hpccard->State == HAL_PCCARD_STATE_RESET) { + /* Allocate lock resource and initialize it */ + hpccard->Lock = HAL_UNLOCKED; /* Initialize the low level hardware (MSP) */ HAL_PCCARD_MspInit(hpccard); } @@ -215,7 +234,7 @@ * @} */ -/** @defgroup PCCARD_Group2 Input and Output functions +/** @defgroup PCCARD_Exported_Functions_Group2 Input and Output functions * @brief Input Output and memory control functions * @verbatim @@ -238,10 +257,10 @@ * @retval HAL status * */ -HAL_StatusTypeDef HAL_CF_Read_ID(PCCARD_HandleTypeDef *hpccard, uint8_t CompactFlash_ID[], uint8_t *pStatus) +HAL_StatusTypeDef HAL_PCCARD_Read_ID(PCCARD_HandleTypeDef *hpccard, uint8_t CompactFlash_ID[], uint8_t *pStatus) { - uint32_t timeout = 0xFFFF, index; - uint8_t status; + uint32_t timeout = PCCARD_TIMEOUT_READ_ID, index = 0; + uint8_t status = 0; /* Process Locked */ __HAL_LOCK(hpccard); @@ -255,31 +274,31 @@ /* Update the PCCARD controller state */ hpccard->State = HAL_PCCARD_STATE_BUSY; - /* Initialize the CF status */ - *pStatus = CF_READY; + /* Initialize the PCCARD status */ + *pStatus = PCCARD_READY; /* Send the Identify Command */ - *(__IO uint16_t *)(CF_IO_SPACE_PRIMARY_ADDR | CF_STATUS_CMD) = 0xECEC; + *(__IO uint16_t *)(PCCARD_IO_SPACE_PRIMARY_ADDR | ATA_STATUS_CMD) = 0xECEC; - /* Read CF IDs and timeout treatment */ + /* Read PCCARD IDs and timeout treatment */ do { - /* Read the CF status */ - status = *(__IO uint8_t *)(CF_IO_SPACE_PRIMARY_ADDR | CF_STATUS_CMD_ALTERNATE); + /* Read the PCCARD status */ + status = *(__IO uint8_t *)(PCCARD_IO_SPACE_PRIMARY_ADDR | ATA_STATUS_CMD_ALTERNATE); timeout--; - }while((status != 0x58) && timeout); + }while((status != PCCARD_STATUS_OK) && timeout); if(timeout == 0) { - *pStatus = CF_TIMEOUT_ERROR; + *pStatus = PCCARD_TIMEOUT_ERROR; } else { - /* Read CF ID bytes */ + /* Read PCCARD ID bytes */ for(index = 0; index < 16; index++) { - CompactFlash_ID[index] = *(__IO uint8_t *)(CF_IO_SPACE_PRIMARY_ADDR | CF_DATA); + CompactFlash_ID[index] = *(__IO uint8_t *)(PCCARD_IO_SPACE_PRIMARY_ADDR | ATA_DATA); } } @@ -298,13 +317,13 @@ * the configuration information for PCCARD module. * @param pBuffer: pointer to destination read buffer * @param SectorAddress: Sector address to read - * @param pStatus: pointer to CF status + * @param pStatus: pointer to PCCARD status * @retval HAL status */ -HAL_StatusTypeDef HAL_CF_Read_Sector(PCCARD_HandleTypeDef *hpccard, uint16_t *pBuffer, uint16_t SectorAddress, uint8_t *pStatus) +HAL_StatusTypeDef HAL_PCCARD_Read_Sector(PCCARD_HandleTypeDef *hpccard, uint16_t *pBuffer, uint16_t SectorAddress, uint8_t *pStatus) { - uint32_t timeout = 0xFFFF, index = 0; - uint8_t status; + uint32_t timeout = PCCARD_TIMEOUT_READ_WRITE_SECTOR, index = 0; + uint8_t status = 0; /* Process Locked */ __HAL_LOCK(hpccard); @@ -318,44 +337,44 @@ /* Update the PCCARD controller state */ hpccard->State = HAL_PCCARD_STATE_BUSY; - /* Initialize CF status */ - *pStatus = CF_READY; + /* Initialize PCCARD status */ + *pStatus = PCCARD_READY; /* Set the parameters to write a sector */ - *(__IO uint16_t *)(CF_IO_SPACE_PRIMARY_ADDR | CF_CYLINDER_HIGH) = (uint16_t)0x00; - *(__IO uint16_t *)(CF_IO_SPACE_PRIMARY_ADDR | CF_SECTOR_COUNT) = ((uint16_t)0x0100 ) | ((uint16_t)SectorAddress); - *(__IO uint16_t *)(CF_IO_SPACE_PRIMARY_ADDR | CF_STATUS_CMD) = (uint16_t)0xE4A0; + *(__IO uint16_t *)(PCCARD_IO_SPACE_PRIMARY_ADDR | ATA_CYLINDER_HIGH) = (uint16_t)0x00; + *(__IO uint16_t *)(PCCARD_IO_SPACE_PRIMARY_ADDR | ATA_SECTOR_COUNT) = ((uint16_t)0x0100 ) | ((uint16_t)SectorAddress); + *(__IO uint16_t *)(PCCARD_IO_SPACE_PRIMARY_ADDR | ATA_STATUS_CMD) = (uint16_t)0xE4A0; do { /* wait till the Status = 0x80 */ - status = *(__IO uint16_t *)(CF_IO_SPACE_PRIMARY_ADDR | CF_STATUS_CMD_ALTERNATE); + status = *(__IO uint16_t *)(PCCARD_IO_SPACE_PRIMARY_ADDR | ATA_STATUS_CMD_ALTERNATE); timeout--; }while((status == 0x80) && timeout); if(timeout == 0) { - *pStatus = CF_TIMEOUT_ERROR; + *pStatus = PCCARD_TIMEOUT_ERROR; } - timeout = 0xFFFF; + timeout = PCCARD_TIMEOUT_READ_WRITE_SECTOR; do { - /* wait till the Status = 0x58 */ - status = *(__IO uint16_t *)(CF_IO_SPACE_PRIMARY_ADDR | CF_STATUS_CMD_ALTERNATE); + /* wait till the Status = PCCARD_STATUS_OK */ + status = *(__IO uint16_t *)(PCCARD_IO_SPACE_PRIMARY_ADDR | ATA_STATUS_CMD_ALTERNATE); timeout--; - }while((status != 0x58) && timeout); + }while((status != PCCARD_STATUS_OK) && timeout); if(timeout == 0) { - *pStatus = CF_TIMEOUT_ERROR; + *pStatus = PCCARD_TIMEOUT_ERROR; } /* Read bytes */ - for(; index < CF_SECTOR_SIZE; index++) + for(; index < PCCARD_SECTOR_SIZE; index++) { - *(uint16_t *)pBuffer++ = *(uint16_t *)(CF_IO_SPACE_PRIMARY_ADDR); + *(uint16_t *)pBuffer++ = *(uint16_t *)(PCCARD_IO_SPACE_PRIMARY_ADDR); } /* Update the PCCARD controller state */ @@ -374,13 +393,13 @@ * the configuration information for PCCARD module. * @param pBuffer: pointer to source write buffer * @param SectorAddress: Sector address to write - * @param pStatus: pointer to CF status + * @param pStatus: pointer to PCCARD status * @retval HAL status */ -HAL_StatusTypeDef HAL_CF_Write_Sector(PCCARD_HandleTypeDef *hpccard, uint16_t *pBuffer, uint16_t SectorAddress, uint8_t *pStatus) +HAL_StatusTypeDef HAL_PCCARD_Write_Sector(PCCARD_HandleTypeDef *hpccard, uint16_t *pBuffer, uint16_t SectorAddress, uint8_t *pStatus) { - uint32_t timeout = 0xFFFF, index = 0; - uint8_t status; + uint32_t timeout = PCCARD_TIMEOUT_READ_WRITE_SECTOR, index = 0; + uint8_t status = 0; /* Process Locked */ __HAL_LOCK(hpccard); @@ -394,42 +413,42 @@ /* Update the PCCARD controller state */ hpccard->State = HAL_PCCARD_STATE_BUSY; - /* Initialize CF status */ - *pStatus = CF_READY; + /* Initialize PCCARD status */ + *pStatus = PCCARD_READY; /* Set the parameters to write a sector */ - *(__IO uint16_t *)(CF_IO_SPACE_PRIMARY_ADDR | CF_CYLINDER_HIGH) = (uint16_t)0x00; - *(__IO uint16_t *)(CF_IO_SPACE_PRIMARY_ADDR | CF_SECTOR_COUNT) = ((uint16_t)0x0100 ) | ((uint16_t)SectorAddress); - *(__IO uint16_t *)(CF_IO_SPACE_PRIMARY_ADDR | CF_STATUS_CMD) = (uint16_t)0x30A0; + *(__IO uint16_t *)(PCCARD_IO_SPACE_PRIMARY_ADDR | ATA_CYLINDER_HIGH) = (uint16_t)0x00; + *(__IO uint16_t *)(PCCARD_IO_SPACE_PRIMARY_ADDR | ATA_SECTOR_COUNT) = ((uint16_t)0x0100 ) | ((uint16_t)SectorAddress); + *(__IO uint16_t *)(PCCARD_IO_SPACE_PRIMARY_ADDR | ATA_STATUS_CMD) = (uint16_t)0x30A0; do { - /* Wait till the Status = 0x58 */ - status = *(__IO uint8_t *)(CF_IO_SPACE_PRIMARY_ADDR | CF_STATUS_CMD_ALTERNATE); + /* Wait till the Status = PCCARD_STATUS_OK */ + status = *(__IO uint8_t *)(PCCARD_IO_SPACE_PRIMARY_ADDR | ATA_STATUS_CMD_ALTERNATE); timeout--; - }while((status != 0x58) && timeout); + }while((status != PCCARD_STATUS_OK) && timeout); if(timeout == 0) { - *pStatus = CF_TIMEOUT_ERROR; + *pStatus = PCCARD_TIMEOUT_ERROR; } /* Write bytes */ - for(; index < CF_SECTOR_SIZE; index++) + for(; index < PCCARD_SECTOR_SIZE; index++) { - *(uint16_t *)(CF_IO_SPACE_PRIMARY_ADDR) = *(uint16_t *)pBuffer++; + *(uint16_t *)(PCCARD_IO_SPACE_PRIMARY_ADDR) = *(uint16_t *)pBuffer++; } do { - /* Wait till the Status = 0x50 */ - status = *(__IO uint8_t *)(CF_IO_SPACE_PRIMARY_ADDR | CF_STATUS_CMD_ALTERNATE); + /* Wait till the Status = PCCARD_STATUS_WRITE_OK */ + status = *(__IO uint8_t *)(PCCARD_IO_SPACE_PRIMARY_ADDR | ATA_STATUS_CMD_ALTERNATE); timeout--; - }while((status != 0x50) && timeout); + }while((status != PCCARD_STATUS_WRITE_OK) && timeout); if(timeout == 0) { - *pStatus = CF_TIMEOUT_ERROR; + *pStatus = PCCARD_TIMEOUT_ERROR; } /* Update the PCCARD controller state */ @@ -447,13 +466,13 @@ * @param hpccard: pointer to a PCCARD_HandleTypeDef structure that contains * the configuration information for PCCARD module. * @param SectorAddress: Sector address to erase - * @param pStatus: pointer to CF status + * @param pStatus: pointer to PCCARD status * @retval HAL status */ -HAL_StatusTypeDef HAL_CF_Erase_Sector(PCCARD_HandleTypeDef *hpccard, uint16_t SectorAddress, uint8_t *pStatus) +HAL_StatusTypeDef HAL_PCCARD_Erase_Sector(PCCARD_HandleTypeDef *hpccard, uint16_t SectorAddress, uint8_t *pStatus) { - uint32_t timeout = 0x400; - uint8_t status; + uint32_t timeout = PCCARD_TIMEOUT_ERASE_SECTOR; + uint8_t status = 0; /* Process Locked */ __HAL_LOCK(hpccard); @@ -467,29 +486,29 @@ /* Update the PCCARD controller state */ hpccard->State = HAL_PCCARD_STATE_BUSY; - /* Initialize CF status */ - *pStatus = CF_READY; + /* Initialize PCCARD status */ + *pStatus = PCCARD_READY; /* Set the parameters to write a sector */ - *(__IO uint8_t *)(CF_IO_SPACE_PRIMARY_ADDR | CF_CYLINDER_LOW) = 0x00; - *(__IO uint8_t *)(CF_IO_SPACE_PRIMARY_ADDR | CF_CYLINDER_HIGH) = 0x00; - *(__IO uint8_t *)(CF_IO_SPACE_PRIMARY_ADDR | CF_SECTOR_NUMBER) = SectorAddress; - *(__IO uint8_t *)(CF_IO_SPACE_PRIMARY_ADDR | CF_SECTOR_COUNT) = 0x01; - *(__IO uint8_t *)(CF_IO_SPACE_PRIMARY_ADDR | CF_CARD_HEAD) = 0xA0; - *(__IO uint8_t *)(CF_IO_SPACE_PRIMARY_ADDR | CF_STATUS_CMD) = CF_ERASE_SECTOR_CMD; + *(__IO uint8_t *)(PCCARD_IO_SPACE_PRIMARY_ADDR | ATA_CYLINDER_LOW) = 0x00; + *(__IO uint8_t *)(PCCARD_IO_SPACE_PRIMARY_ADDR | ATA_CYLINDER_HIGH) = 0x00; + *(__IO uint8_t *)(PCCARD_IO_SPACE_PRIMARY_ADDR | ATA_SECTOR_NUMBER) = SectorAddress; + *(__IO uint8_t *)(PCCARD_IO_SPACE_PRIMARY_ADDR | ATA_SECTOR_COUNT) = 0x01; + *(__IO uint8_t *)(PCCARD_IO_SPACE_PRIMARY_ADDR | ATA_CARD_HEAD) = 0xA0; + *(__IO uint8_t *)(PCCARD_IO_SPACE_PRIMARY_ADDR | ATA_STATUS_CMD) = ATA_ERASE_SECTOR_CMD; - /* wait till the CF is ready */ - status = *(__IO uint8_t *)(CF_IO_SPACE_PRIMARY_ADDR | CF_STATUS_CMD_ALTERNATE); + /* wait till the PCCARD is ready */ + status = *(__IO uint8_t *)(PCCARD_IO_SPACE_PRIMARY_ADDR | ATA_STATUS_CMD_ALTERNATE); - while((status != 0x50) && timeout) + while((status != PCCARD_STATUS_WRITE_OK) && timeout) { - status = *(__IO uint8_t *)(CF_IO_SPACE_PRIMARY_ADDR | CF_STATUS_CMD_ALTERNATE); + status = *(__IO uint8_t *)(PCCARD_IO_SPACE_PRIMARY_ADDR | ATA_STATUS_CMD_ALTERNATE); timeout--; } if(timeout == 0) { - *pStatus = CF_TIMEOUT_ERROR; + *pStatus = PCCARD_TIMEOUT_ERROR; } /* Check the PCCARD controller state */ @@ -507,9 +526,8 @@ * the configuration information for PCCARD module. * @retval HAL status */ -HAL_StatusTypeDef HAL_CF_Reset(PCCARD_HandleTypeDef *hpccard) +HAL_StatusTypeDef HAL_PCCARD_Reset(PCCARD_HandleTypeDef *hpccard) { - /* Process Locked */ __HAL_LOCK(hpccard); @@ -519,17 +537,17 @@ return HAL_BUSY; } - /* Provide an SW reset and Read and verify the: - - CF Configuration Option Register at address 0x98000200 --> 0x80 - - Card Configuration and Status Register at address 0x98000202 --> 0x00 - - Pin Replacement Register at address 0x98000204 --> 0x0C + /* Provide a SW reset and Read and verify the: + - PCCard Configuration Option Register at address 0x98000200 --> 0x80 + - Card Configuration and Status Register at address 0x98000202 --> 0x00 + - Pin Replacement Register at address 0x98000204 --> 0x0C - Socket and Copy Register at address 0x98000206 --> 0x00 */ /* Check the PCCARD controller state */ hpccard->State = HAL_PCCARD_STATE_BUSY; - *(__IO uint8_t *)(0x98000202) = 0x01; + *(__IO uint8_t *)(PCCARD_ATTRIBUTE_SPACE_ADDRESS | ATA_CARD_CONFIGURATION ) = 0x01; /* Check the PCCARD controller state */ hpccard->State = HAL_PCCARD_STATE_READY; @@ -587,7 +605,6 @@ /* Clear PCCARD interrupt FIFO empty pending bit */ __FMC_PCCARD_CLEAR_FLAG(hpccard->Instance, FMC_FLAG_FEMPT); } - } /** @@ -607,7 +624,7 @@ * @} */ -/** @defgroup PCCARD_Group4 State functions +/** @defgroup PCCARD_Exported_Functions_Group3 State functions * @brief Peripheral State functions * @verbatim @@ -637,37 +654,36 @@ * @brief Get the compact flash memory status * @param hpccard: pointer to a PCCARD_HandleTypeDef structure that contains * the configuration information for PCCARD module. - * @retval New status of the CF operation. This parameter can be: + * @retval New status of the PCCARD operation. This parameter can be: * - CompactFlash_TIMEOUT_ERROR: when the previous operation generate * a Timeout error - * - CompactFlash_READY: when memory is ready for the next operation - * + * - CompactFlash_READY: when memory is ready for the next operation */ -CF_StatusTypedef HAL_CF_GetStatus(PCCARD_HandleTypeDef *hpccard) +HAL_PCCARD_StatusTypeDef HAL_PCCARD_GetStatus(PCCARD_HandleTypeDef *hpccard) { - uint32_t timeout = 0x1000000, status_CF; + uint32_t timeout = PCCARD_TIMEOUT_STATUS, status_pccard = 0; /* Check the PCCARD controller state */ if(hpccard->State == HAL_PCCARD_STATE_BUSY) { - return CF_ONGOING; + return HAL_PCCARD_STATUS_ONGOING; } - status_CF = *(__IO uint8_t *)(CF_IO_SPACE_PRIMARY_ADDR | CF_STATUS_CMD_ALTERNATE); + status_pccard = *(__IO uint8_t *)(PCCARD_IO_SPACE_PRIMARY_ADDR | ATA_STATUS_CMD_ALTERNATE); - while((status_CF == CF_BUSY) && timeout) + while((status_pccard == PCCARD_BUSY) && timeout) { - status_CF = *(__IO uint8_t *)(CF_IO_SPACE_PRIMARY_ADDR | CF_STATUS_CMD_ALTERNATE); + status_pccard = *(__IO uint8_t *)(PCCARD_IO_SPACE_PRIMARY_ADDR | ATA_STATUS_CMD_ALTERNATE); timeout--; } if(timeout == 0) { - status_CF = CF_TIMEOUT_ERROR; + status_pccard = PCCARD_TIMEOUT_ERROR; } /* Return the operation status */ - return (CF_StatusTypedef) status_CF; + return (HAL_PCCARD_StatusTypeDef) status_pccard; } /** @@ -677,31 +693,31 @@ * @retval The status of the Compact Flash memory. This parameter can be: * - CompactFlash_BUSY: when memory is busy * - CompactFlash_READY: when memory is ready for the next operation - * - CompactFlash_ERROR: when the previous operation gererates error + * - CompactFlash_ERROR: when the previous operation generates error */ -CF_StatusTypedef HAL_CF_ReadStatus(PCCARD_HandleTypeDef *hpccard) +HAL_PCCARD_StatusTypeDef HAL_PCCARD_ReadStatus(PCCARD_HandleTypeDef *hpccard) { - uint8_t data = 0, status_CF = CF_BUSY; + uint8_t data = 0, status_pccard = PCCARD_BUSY; /* Check the PCCARD controller state */ if(hpccard->State == HAL_PCCARD_STATE_BUSY) { - return CF_ONGOING; + return HAL_PCCARD_STATUS_ONGOING; } /* Read status operation */ - data = *(__IO uint8_t *)(CF_IO_SPACE_PRIMARY_ADDR | CF_STATUS_CMD_ALTERNATE); + data = *(__IO uint8_t *)(PCCARD_IO_SPACE_PRIMARY_ADDR | ATA_STATUS_CMD_ALTERNATE); - if((data & CF_TIMEOUT_ERROR) == CF_TIMEOUT_ERROR) + if((data & PCCARD_TIMEOUT_ERROR) == PCCARD_TIMEOUT_ERROR) { - status_CF = CF_TIMEOUT_ERROR; + status_pccard = PCCARD_TIMEOUT_ERROR; } - else if((data & CF_READY) == CF_READY) + else if((data & PCCARD_READY) == PCCARD_READY) { - status_CF = CF_READY; + status_pccard = PCCARD_READY; } - return (CF_StatusTypedef) status_CF; + return (HAL_PCCARD_StatusTypeDef) status_pccard; } /** @@ -711,8 +727,9 @@ /** * @} */ -#endif /* STM32F405xx || STM32F415xx || STM32F407xx || STM32F417xx || STM32F427xx || STM32F437xx || STM32F429xx || STM32F439xx */ -#endif /* HAL_PCCARD_MODULE_ENABLED */ +#endif /* STM32F405xx || STM32F415xx || STM32F407xx || STM32F417xx ||\ + STM32F427xx || STM32F437xx || STM32F429xx || STM32F439xx */ +#endif /* HAL_PCCARD_MODULE_ENABLED */ /** * @}