mbed library sources

Fork of mbed-src by mbed official

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>&copy; COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
+  * <h2><center>&copy; 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 */
 
 /**
   * @}