Subversion Repositories LedShow

Rev

Rev 2 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2 Rev 9
Line 4... Line 4...
4
  * @author  MCD Application Team
4
  * @author  MCD Application Team
5
  * @brief   Header file of PCCARD HAL module.
5
  * @brief   Header file of PCCARD HAL module.
6
  ******************************************************************************
6
  ******************************************************************************
7
  * @attention
7
  * @attention
8
  *
8
  *
9
  * <h2><center>&copy; COPYRIGHT(c) 2016 STMicroelectronics</center></h2>
9
  * <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
-
 
10
  * All rights reserved.</center></h2>
10
  *
11
  *
11
  * Redistribution and use in source and binary forms, with or without modification,
12
  * This software component is licensed by ST under BSD 3-Clause license,
12
  * are permitted provided that the following conditions are met:
13
  * the "License"; You may not use this file except in compliance with the
13
  *   1. Redistributions of source code must retain the above copyright notice,
-
 
14
  *      this list of conditions and the following disclaimer.
14
  * License. You may obtain a copy of the License at:
15
  *   2. Redistributions in binary form must reproduce the above copyright notice,
-
 
16
  *      this list of conditions and the following disclaimer in the documentation
-
 
17
  *      and/or other materials provided with the distribution.
15
  *                       opensource.org/licenses/BSD-3-Clause
18
  *   3. Neither the name of STMicroelectronics nor the names of its contributors
-
 
19
  *      may be used to endorse or promote products derived from this software
-
 
20
  *      without specific prior written permission.
-
 
21
  *
-
 
22
  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-
 
23
  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-
 
24
  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-
 
25
  * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-
 
26
  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-
 
27
  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-
 
28
  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-
 
29
  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-
 
30
  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-
 
31
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
 
32
  *
16
  *
33
  ******************************************************************************
17
  ******************************************************************************
34
  */
18
  */
35
 
19
 
36
/* Define to prevent recursive inclusion -------------------------------------*/
20
/* Define to prevent recursive inclusion -------------------------------------*/
37
#ifndef __STM32F1xx_HAL_PCCARD_H
21
#ifndef STM32F1xx_HAL_PCCARD_H
38
#define __STM32F1xx_HAL_PCCARD_H
22
#define STM32F1xx_HAL_PCCARD_H
39
 
23
 
40
#ifdef __cplusplus
24
#ifdef __cplusplus
41
 extern "C" {
25
extern "C" {
42
#endif
26
#endif
43
 
27
 
-
 
28
#if defined(FSMC_BANK4)
-
 
29
 
44
/* Includes ------------------------------------------------------------------*/
30
/* Includes ------------------------------------------------------------------*/
45
#include "stm32f1xx_ll_fsmc.h"
31
#include "stm32f1xx_ll_fsmc.h"
46
 
32
 
47
/** @addtogroup STM32F1xx_HAL_Driver
33
/** @addtogroup STM32F1xx_HAL_Driver
48
  * @{
34
  * @{
49
  */
35
  */
50
 
36
 
51
#if defined (STM32F101xE) || defined(STM32F103xE) || defined(STM32F101xG) || defined(STM32F103xG)
-
 
52
/** @addtogroup PCCARD
37
/** @addtogroup PCCARD
53
  * @{
38
  * @{
54
  */
-
 
55
 
-
 
56
/** @addtogroup PCCARD_Private_Constants
-
 
57
  * @{
-
 
58
  */
39
  */
59
 
-
 
60
#define PCCARD_DEVICE_ADDRESS           FSMC_BANK4
-
 
61
#define PCCARD_ATTRIBUTE_SPACE_ADDRESS  ((uint32_t)(FSMC_BANK4 + 0x08000000U))  /* Attribute space size to @0x9BFF FFFF */
-
 
62
#define PCCARD_COMMON_SPACE_ADDRESS     PCCARD_DEVICE_ADDRESS                           /* Common space size to @0x93FF FFFF    */
-
 
63
#define PCCARD_IO_SPACE_ADDRESS         ((uint32_t)(FSMC_BANK4 + 0x0C000000U))  /* IO space size to @0x9FFF FFFF        */
-
 
64
#define PCCARD_IO_SPACE_PRIMARY_ADDR    ((uint32_t)(FSMC_BANK4 + 0x0C0001F0U))  /* IO space size to @0x9FFF FFFF        */
-
 
65
 
-
 
66
/* Compact Flash-ATA registers description */
-
 
67
#define ATA_DATA                        ((uint8_t)0x00)    /* Data register */
-
 
68
#define ATA_SECTOR_COUNT                ((uint8_t)0x02)    /* Sector Count register */
-
 
69
#define ATA_SECTOR_NUMBER               ((uint8_t)0x03)    /* Sector Number register */
-
 
70
#define ATA_CYLINDER_LOW                ((uint8_t)0x04)    /* Cylinder low register */
-
 
71
#define ATA_CYLINDER_HIGH               ((uint8_t)0x05)    /* Cylinder high register */
-
 
72
#define ATA_CARD_HEAD                   ((uint8_t)0x06)    /* Card/Head register */
-
 
73
#define ATA_STATUS_CMD                  ((uint8_t)0x07)    /* Status(read)/Command(write) register */
-
 
74
#define ATA_STATUS_CMD_ALTERNATE        ((uint8_t)0x0E)    /* Alternate Status(read)/Command(write) register */
-
 
75
#define ATA_COMMON_DATA_AREA            ((uint16_t)0x0400) /* Start of data area (for Common access only!) */
-
 
76
#define ATA_CARD_CONFIGURATION          ((uint16_t)0x0202) /* Card Configuration and Status Register */
-
 
77
 
-
 
78
/* Compact Flash-ATA commands */
-
 
79
#define ATA_READ_SECTOR_CMD             ((uint8_t)0x20)
-
 
80
#define ATA_WRITE_SECTOR_CMD            ((uint8_t)0x30)
-
 
81
#define ATA_ERASE_SECTOR_CMD            ((uint8_t)0xC0)
-
 
82
#define ATA_IDENTIFY_CMD                ((uint8_t)0xEC)
-
 
83
 
-
 
84
/* Compact Flash status */
-
 
85
#define PCCARD_TIMEOUT_ERROR            ((uint8_t)0x60)
-
 
86
#define PCCARD_BUSY                     ((uint8_t)0x80)
-
 
87
#define PCCARD_PROGR                    ((uint8_t)0x01)
-
 
88
#define PCCARD_READY                    ((uint8_t)0x40)
-
 
89
 
-
 
90
#define PCCARD_SECTOR_SIZE              255U    /* In half words */ 
-
 
91
 
-
 
92
 
-
 
93
/* Compact Flash redefinition */
-
 
94
#define HAL_CF_Read_ID              HAL_PCCARD_Read_ID
-
 
95
#define HAL_CF_Write_Sector         HAL_PCCARD_Write_Sector
-
 
96
#define HAL_CF_Read_Sector          HAL_PCCARD_Read_Sector
-
 
97
#define HAL_CF_Erase_Sector         HAL_PCCARD_Erase_Sector
-
 
98
#define HAL_CF_Reset                HAL_PCCARD_Reset
-
 
99
 
-
 
100
#define HAL_CF_GetStatus            HAL_PCCARD_GetStatus
-
 
101
#define HAL_CF_ReadStatus           HAL_PCCARD_ReadStatus
-
 
102
 
-
 
103
#define CF_SUCCESS                  HAL_PCCARD_STATUS_SUCCESS
-
 
104
#define CF_ONGOING                  HAL_PCCARD_STATUS_ONGOING
-
 
105
#define CF_ERROR                    HAL_PCCARD_STATUS_ERROR
-
 
106
#define CF_TIMEOUT                  HAL_PCCARD_STATUS_TIMEOUT
-
 
107
#define CF_StatusTypedef            HAL_PCCARD_StatusTypeDef
-
 
108
 
-
 
109
#define CF_DEVICE_ADDRESS           PCCARD_DEVICE_ADDRESS
-
 
110
#define CF_ATTRIBUTE_SPACE_ADDRESS  PCCARD_ATTRIBUTE_SPACE_ADDRESS
-
 
111
#define CF_COMMON_SPACE_ADDRESS     PCCARD_COMMON_SPACE_ADDRESS   
-
 
112
#define CF_IO_SPACE_ADDRESS         PCCARD_IO_SPACE_ADDRESS       
-
 
113
#define CF_IO_SPACE_PRIMARY_ADDR    PCCARD_IO_SPACE_PRIMARY_ADDR  
-
 
114
 
-
 
115
#define CF_TIMEOUT_ERROR            PCCARD_TIMEOUT_ERROR
-
 
116
#define CF_BUSY                     PCCARD_BUSY         
-
 
117
#define CF_PROGR                    PCCARD_PROGR        
-
 
118
#define CF_READY                    PCCARD_READY        
-
 
119
 
-
 
120
#define CF_SECTOR_SIZE              PCCARD_SECTOR_SIZE
-
 
121
 
-
 
122
/**
-
 
123
  * @}
-
 
124
  */
-
 
125
 
40
 
126
/* Exported typedef ----------------------------------------------------------*/
41
/* Exported typedef ----------------------------------------------------------*/
127
/** @defgroup PCCARD_Exported_Types PCCARD Exported Types
42
/** @defgroup PCCARD_Exported_Types PCCARD Exported Types
128
  * @{
43
  * @{
129
  */
44
  */
130
 
45
 
131
/**
46
/**
132
  * @brief  HAL PCCARD State structures definition  
47
  * @brief  HAL PCCARD State structures definition
133
  */
48
  */
134
typedef enum
49
typedef enum
135
{
50
{
136
  HAL_PCCARD_STATE_RESET     = 0x00U,    /*!< PCCARD peripheral not yet initialized or disabled */
51
  HAL_PCCARD_STATE_RESET     = 0x00U,    /*!< PCCARD peripheral not yet initialized or disabled */
137
  HAL_PCCARD_STATE_READY     = 0x01U,    /*!< PCCARD peripheral ready                           */
52
  HAL_PCCARD_STATE_READY     = 0x01U,    /*!< PCCARD peripheral ready                           */
138
  HAL_PCCARD_STATE_BUSY      = 0x02U,    /*!< PCCARD peripheral busy                            */  
53
  HAL_PCCARD_STATE_BUSY      = 0x02U,    /*!< PCCARD peripheral busy                            */
139
  HAL_PCCARD_STATE_ERROR     = 0x04U     /*!< PCCARD peripheral error                           */
54
  HAL_PCCARD_STATE_ERROR     = 0x04U     /*!< PCCARD peripheral error                           */
140
}HAL_PCCARD_StateTypeDef;
55
} HAL_PCCARD_StateTypeDef;
141
 
56
 
142
typedef enum
57
typedef enum
143
{
58
{
144
  HAL_PCCARD_STATUS_SUCCESS = 0U,
59
  HAL_PCCARD_STATUS_SUCCESS = 0U,
145
  HAL_PCCARD_STATUS_ONGOING,
60
  HAL_PCCARD_STATUS_ONGOING,
146
  HAL_PCCARD_STATUS_ERROR,
61
  HAL_PCCARD_STATUS_ERROR,
147
  HAL_PCCARD_STATUS_TIMEOUT
62
  HAL_PCCARD_STATUS_TIMEOUT
148
}HAL_PCCARD_StatusTypeDef;
63
} HAL_PCCARD_StatusTypeDef;
149
 
64
 
150
/**
65
/**
151
  * @brief  FSMC_PCCARD handle Structure definition  
66
  * @brief  FSMC_PCCARD handle Structure definition
152
  */  
67
  */
-
 
68
#if (USE_HAL_PCCARD_REGISTER_CALLBACKS == 1)
-
 
69
typedef struct __PCCARD_HandleTypeDef
-
 
70
#else
153
typedef struct
71
typedef struct
-
 
72
#endif /* USE_HAL_PCCARD_REGISTER_CALLBACKS  */
154
{
73
{
155
  FSMC_PCCARD_TypeDef           *Instance;              /*!< Register base address for PCCARD device          */
74
  FSMC_PCCARD_TypeDef           *Instance;              /*!< Register base address for PCCARD device          */
156
 
75
 
157
  FSMC_PCCARD_InitTypeDef       Init;                   /*!< PCCARD device control configuration parameters   */
76
  FSMC_PCCARD_InitTypeDef       Init;                   /*!< PCCARD device control configuration parameters   */
158
 
77
 
159
  __IO HAL_PCCARD_StateTypeDef State;                  /*!< PCCARD device access state                       */
78
  __IO HAL_PCCARD_StateTypeDef State;                  /*!< PCCARD device access state                       */
160
   
79
 
161
  HAL_LockTypeDef              Lock;                   /*!< PCCARD Lock                                      */
80
  HAL_LockTypeDef              Lock;                   /*!< PCCARD Lock                                      */
162
 
81
 
-
 
82
#if (USE_HAL_PCCARD_REGISTER_CALLBACKS == 1)
-
 
83
  void (* MspInitCallback)(struct __PCCARD_HandleTypeDef *hpccard);               /*!< PCCARD Msp Init callback              */
-
 
84
  void (* MspDeInitCallback)(struct __PCCARD_HandleTypeDef *hpccard);             /*!< PCCARD Msp DeInit callback            */
-
 
85
  void (* ItCallback)(struct __PCCARD_HandleTypeDef *hpccard);                    /*!< PCCARD IT callback                    */
-
 
86
#endif
163
}PCCARD_HandleTypeDef;
87
} PCCARD_HandleTypeDef;
-
 
88
 
-
 
89
#if (USE_HAL_PCCARD_REGISTER_CALLBACKS == 1)
-
 
90
/**
-
 
91
  * @brief  HAL PCCARD Callback ID enumeration definition
-
 
92
  */
-
 
93
typedef enum
-
 
94
{
-
 
95
  HAL_PCCARD_MSP_INIT_CB_ID       = 0x00U,  /*!< PCCARD MspInit Callback ID          */
-
 
96
  HAL_PCCARD_MSP_DEINIT_CB_ID     = 0x01U,  /*!< PCCARD MspDeInit Callback ID        */
-
 
97
  HAL_PCCARD_IT_CB_ID             = 0x02U   /*!< PCCARD IT Callback ID               */
-
 
98
} HAL_PCCARD_CallbackIDTypeDef;
-
 
99
 
-
 
100
/**
-
 
101
  * @brief  HAL PCCARD Callback pointer definition
-
 
102
  */
-
 
103
typedef void (*pPCCARD_CallbackTypeDef)(PCCARD_HandleTypeDef *hpccard);
-
 
104
#endif
164
/**
105
/**
165
  * @}
106
  * @}
166
  */
107
  */
167
 
108
 
168
/* Exported constants --------------------------------------------------------*/
109
/* Exported constants --------------------------------------------------------*/
169
/* Exported macro ------------------------------------------------------------*/
110
/* Exported macro ------------------------------------------------------------*/
170
/** @defgroup PCCARD_Exported_Macros PCCARD Exported Macros
111
/** @defgroup PCCARD_Exported_Macros PCCARD Exported Macros
171
  * @{
112
  * @{
172
  */
113
  */
173
 
-
 
174
/** @brief Reset PCCARD handle state
114
/** @brief Reset PCCARD handle state
175
  * @param  __HANDLE__: specifies the PCCARD handle.
115
  * @param  __HANDLE__ specifies the PCCARD handle.
176
  * @retval None
116
  * @retval None
177
  */
117
  */
-
 
118
#if (USE_HAL_PCCARD_REGISTER_CALLBACKS == 1)
-
 
119
#define __HAL_PCCARD_RESET_HANDLE_STATE(__HANDLE__)       do {                                               \
-
 
120
                                                               (__HANDLE__)->State = HAL_PCCARD_STATE_RESET; \
-
 
121
                                                               (__HANDLE__)->MspInitCallback = NULL;         \
-
 
122
                                                               (__HANDLE__)->MspDeInitCallback = NULL;       \
-
 
123
                                                             } while(0)
-
 
124
#else
178
#define __HAL_PCCARD_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_PCCARD_STATE_RESET)
125
#define __HAL_PCCARD_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_PCCARD_STATE_RESET)
-
 
126
#endif
179
/**
127
/**
180
  * @}
128
  * @}
181
  */
129
  */
182
 
130
 
183
/* Exported functions --------------------------------------------------------*/
131
/* Exported functions --------------------------------------------------------*/
184
/** @addtogroup PCCARD_Exported_Functions PCCARD Exported Functions
132
/** @addtogroup PCCARD_Exported_Functions
185
  * @{
133
  * @{
186
  */
134
  */
187
 
135
 
188
/** @addtogroup PCCARD_Exported_Functions_Group1 Initialization and de-initialization functions
136
/** @addtogroup PCCARD_Exported_Functions_Group1
189
  * @{
137
  * @{
190
  */
138
  */
191
/* Initialization/de-initialization functions  **********************************/
139
/* Initialization/de-initialization functions  **********************************/
192
HAL_StatusTypeDef  HAL_PCCARD_Init(PCCARD_HandleTypeDef *hpccard, FSMC_NAND_PCC_TimingTypeDef *ComSpaceTiming, FSMC_NAND_PCC_TimingTypeDef *AttSpaceTiming, FSMC_NAND_PCC_TimingTypeDef *IOSpaceTiming);
140
HAL_StatusTypeDef  HAL_PCCARD_Init(PCCARD_HandleTypeDef *hpccard, FSMC_NAND_PCC_TimingTypeDef *ComSpaceTiming,
-
 
141
                                   FSMC_NAND_PCC_TimingTypeDef *AttSpaceTiming, FSMC_NAND_PCC_TimingTypeDef *IOSpaceTiming);
193
HAL_StatusTypeDef  HAL_PCCARD_DeInit(PCCARD_HandleTypeDef *hpccard);  
142
HAL_StatusTypeDef  HAL_PCCARD_DeInit(PCCARD_HandleTypeDef *hpccard);
194
void               HAL_PCCARD_MspInit(PCCARD_HandleTypeDef *hpccard);
143
void HAL_PCCARD_MspInit(PCCARD_HandleTypeDef *hpccard);
195
void               HAL_PCCARD_MspDeInit(PCCARD_HandleTypeDef *hpccard);
144
void HAL_PCCARD_MspDeInit(PCCARD_HandleTypeDef *hpccard);
196
/**
145
/**
197
  * @}
146
  * @}
198
  */
147
  */
199
 
148
 
200
/** @addtogroup PCCARD_Exported_Functions_Group2 Input Output and memory functions
149
/** @addtogroup PCCARD_Exported_Functions_Group2
201
  * @{
150
  * @{
202
  */
151
  */
203
/* IO operation functions  *****************************************************/
152
/* IO operation functions  *****************************************************/
204
HAL_StatusTypeDef  HAL_PCCARD_Read_ID(PCCARD_HandleTypeDef *hpccard, uint8_t CompactFlash_ID[], uint8_t *pStatus);
153
HAL_StatusTypeDef  HAL_PCCARD_Read_ID(PCCARD_HandleTypeDef *hpccard, uint8_t CompactFlash_ID[], uint8_t *pStatus);
205
HAL_StatusTypeDef  HAL_PCCARD_Write_Sector(PCCARD_HandleTypeDef *hpccard, uint16_t *pBuffer, uint16_t SectorAddress,  uint8_t *pStatus);
154
HAL_StatusTypeDef  HAL_PCCARD_Write_Sector(PCCARD_HandleTypeDef *hpccard, uint16_t *pBuffer, uint16_t SectorAddress,
-
 
155
                                           uint8_t *pStatus);
206
HAL_StatusTypeDef  HAL_PCCARD_Read_Sector(PCCARD_HandleTypeDef *hpccard, uint16_t *pBuffer, uint16_t SectorAddress, uint8_t *pStatus);
156
HAL_StatusTypeDef  HAL_PCCARD_Read_Sector(PCCARD_HandleTypeDef *hpccard, uint16_t *pBuffer, uint16_t SectorAddress,
-
 
157
                                          uint8_t *pStatus);
207
HAL_StatusTypeDef  HAL_PCCARD_Erase_Sector(PCCARD_HandleTypeDef *hpccard, uint16_t SectorAddress, uint8_t *pStatus);
158
HAL_StatusTypeDef  HAL_PCCARD_Erase_Sector(PCCARD_HandleTypeDef *hpccard, uint16_t SectorAddress, uint8_t *pStatus);
208
HAL_StatusTypeDef  HAL_PCCARD_Reset(PCCARD_HandleTypeDef *hpccard);
159
HAL_StatusTypeDef  HAL_PCCARD_Reset(PCCARD_HandleTypeDef *hpccard);
209
void               HAL_PCCARD_IRQHandler(PCCARD_HandleTypeDef *hpccard);
160
void               HAL_PCCARD_IRQHandler(PCCARD_HandleTypeDef *hpccard);
210
void               HAL_PCCARD_ITCallback(PCCARD_HandleTypeDef *hpccard);
161
void               HAL_PCCARD_ITCallback(PCCARD_HandleTypeDef *hpccard);
211
 
162
 
-
 
163
#if (USE_HAL_PCCARD_REGISTER_CALLBACKS == 1)
-
 
164
/* PCCARD callback registering/unregistering */
-
 
165
HAL_StatusTypeDef  HAL_PCCARD_RegisterCallback(PCCARD_HandleTypeDef *hpccard, HAL_PCCARD_CallbackIDTypeDef CallbackId,
-
 
166
                                               pPCCARD_CallbackTypeDef pCallback);
-
 
167
HAL_StatusTypeDef  HAL_PCCARD_UnRegisterCallback(PCCARD_HandleTypeDef *hpccard,
-
 
168
                                                 HAL_PCCARD_CallbackIDTypeDef CallbackId);
-
 
169
#endif
212
/**
170
/**
213
  * @}
171
  * @}
214
  */
172
  */
215
 
173
 
216
/** @defgroup PCCARD_Exported_Functions_Group3 Peripheral State functions
174
/** @addtogroup PCCARD_Exported_Functions_Group3
217
  * @{
175
  * @{
218
  */
176
  */
219
/* PCCARD State functions *******************************************************/
177
/* PCCARD State functions *******************************************************/
220
HAL_PCCARD_StateTypeDef  HAL_PCCARD_GetState(PCCARD_HandleTypeDef *hpccard);
178
HAL_PCCARD_StateTypeDef  HAL_PCCARD_GetState(PCCARD_HandleTypeDef *hpccard);
221
HAL_PCCARD_StatusTypeDef HAL_PCCARD_GetStatus(PCCARD_HandleTypeDef *hpccard);
179
HAL_PCCARD_StatusTypeDef HAL_PCCARD_GetStatus(PCCARD_HandleTypeDef *hpccard);
Line 225... Line 183...
225
  */
183
  */
226
 
184
 
227
/**
185
/**
228
  * @}
186
  * @}
229
  */
187
  */
-
 
188
/* Private types -------------------------------------------------------------*/
-
 
189
/* Private variables ---------------------------------------------------------*/
-
 
190
/* Private constants ---------------------------------------------------------*/
-
 
191
/** @defgroup PCCARD_Private_Constants PCCARD Private Constants
-
 
192
  * @{
-
 
193
  */
-
 
194
#define PCCARD_DEVICE_ADDRESS             0x90000000U
-
 
195
#define PCCARD_ATTRIBUTE_SPACE_ADDRESS    0x98000000U              /* Attribute space size to @0x9BFF FFFF */
-
 
196
#define PCCARD_COMMON_SPACE_ADDRESS       PCCARD_DEVICE_ADDRESS    /* Common space size to @0x93FF FFFF    */
-
 
197
#define PCCARD_IO_SPACE_ADDRESS           0x9C000000U              /* IO space size to @0x9FFF FFFF        */
-
 
198
#define PCCARD_IO_SPACE_PRIMARY_ADDR      0x9C0001F0U              /* IO space size to @0x9FFF FFFF        */
-
 
199
 
-
 
200
/* Flash-ATA registers description */
-
 
201
#define ATA_DATA                       ((uint8_t)0x00)    /* Data register */
-
 
202
#define ATA_SECTOR_COUNT               ((uint8_t)0x02)    /* Sector Count register */
-
 
203
#define ATA_SECTOR_NUMBER              ((uint8_t)0x03)    /* Sector Number register */
-
 
204
#define ATA_CYLINDER_LOW               ((uint8_t)0x04)    /* Cylinder low register */
-
 
205
#define ATA_CYLINDER_HIGH              ((uint8_t)0x05)    /* Cylinder high register */
-
 
206
#define ATA_CARD_HEAD                  ((uint8_t)0x06)    /* Card/Head register */
-
 
207
#define ATA_STATUS_CMD                 ((uint8_t)0x07)    /* Status(read)/Command(write) register */
-
 
208
#define ATA_STATUS_CMD_ALTERNATE       ((uint8_t)0x0E)    /* Alternate Status(read)/Command(write) register */
-
 
209
#define ATA_COMMON_DATA_AREA           ((uint16_t)0x0400) /* Start of data area (for Common access only!) */
-
 
210
#define ATA_CARD_CONFIGURATION         ((uint16_t)0x0202) /* Card Configuration and Status Register */
-
 
211
 
-
 
212
/* Flash-ATA commands */
-
 
213
#define ATA_READ_SECTOR_CMD            ((uint8_t)0x20)
-
 
214
#define ATA_WRITE_SECTOR_CMD           ((uint8_t)0x30)
-
 
215
#define ATA_ERASE_SECTOR_CMD           ((uint8_t)0xC0)
-
 
216
#define ATA_IDENTIFY_CMD               ((uint8_t)0xEC)
-
 
217
 
-
 
218
/* PC Card/Compact Flash status */
-
 
219
#define PCCARD_TIMEOUT_ERROR           ((uint8_t)0x60)
-
 
220
#define PCCARD_BUSY                    ((uint8_t)0x80)
-
 
221
#define PCCARD_PROGR                   ((uint8_t)0x01)
-
 
222
#define PCCARD_READY                   ((uint8_t)0x40)
-
 
223
 
-
 
224
#define PCCARD_SECTOR_SIZE             255U               /* In half words */
-
 
225
 
-
 
226
/**
-
 
227
  * @}
-
 
228
  */
-
 
229
/* Compact Flash redefinition */
-
 
230
#define HAL_CF_Init                 HAL_PCCARD_Init
-
 
231
#define HAL_CF_DeInit               HAL_PCCARD_DeInit
-
 
232
#define HAL_CF_MspInit              HAL_PCCARD_MspInit
-
 
233
#define HAL_CF_MspDeInit            HAL_PCCARD_MspDeInit
-
 
234
 
-
 
235
#define HAL_CF_Read_ID              HAL_PCCARD_Read_ID
-
 
236
#define HAL_CF_Write_Sector         HAL_PCCARD_Write_Sector
-
 
237
#define HAL_CF_Read_Sector          HAL_PCCARD_Read_Sector
-
 
238
#define HAL_CF_Erase_Sector         HAL_PCCARD_Erase_Sector
-
 
239
#define HAL_CF_Reset                HAL_PCCARD_Reset
-
 
240
#define HAL_CF_IRQHandler           HAL_PCCARD_IRQHandler
-
 
241
#define HAL_CF_ITCallback           HAL_PCCARD_ITCallback
-
 
242
 
-
 
243
#define HAL_CF_GetState             HAL_PCCARD_GetState
-
 
244
#define HAL_CF_GetStatus            HAL_PCCARD_GetStatus
-
 
245
#define HAL_CF_ReadStatus           HAL_PCCARD_ReadStatus
-
 
246
 
-
 
247
#define HAL_CF_STATUS_SUCCESS       HAL_PCCARD_STATUS_SUCCESS
-
 
248
#define HAL_CF_STATUS_ONGOING       HAL_PCCARD_STATUS_ONGOING
-
 
249
#define HAL_CF_STATUS_ERROR         HAL_PCCARD_STATUS_ERROR
-
 
250
#define HAL_CF_STATUS_TIMEOUT       HAL_PCCARD_STATUS_TIMEOUT
-
 
251
#define HAL_CF_StatusTypeDef        HAL_PCCARD_StatusTypeDef
230
 
252
 
-
 
253
#define CF_DEVICE_ADDRESS           PCCARD_DEVICE_ADDRESS
-
 
254
#define CF_ATTRIBUTE_SPACE_ADDRESS  PCCARD_ATTRIBUTE_SPACE_ADDRESS
-
 
255
#define CF_COMMON_SPACE_ADDRESS     PCCARD_COMMON_SPACE_ADDRESS
-
 
256
#define CF_IO_SPACE_ADDRESS         PCCARD_IO_SPACE_ADDRESS
-
 
257
#define CF_IO_SPACE_PRIMARY_ADDR    PCCARD_IO_SPACE_PRIMARY_ADDR
-
 
258
 
-
 
259
#define CF_TIMEOUT_ERROR            PCCARD_TIMEOUT_ERROR
-
 
260
#define CF_BUSY                     PCCARD_BUSY
-
 
261
#define CF_PROGR                    PCCARD_PROGR
-
 
262
#define CF_READY                    PCCARD_READY
-
 
263
 
-
 
264
#define CF_SECTOR_SIZE              PCCARD_SECTOR_SIZE
-
 
265
 
-
 
266
/* Private macros ------------------------------------------------------------*/
231
/**
267
/**
232
  * @}
268
  * @}
233
  */
269
  */
-
 
270
 
234
 
271
 
235
#endif /* STM32F101xE || STM32F103xE || STM32F101xG || STM32F103xG */
-
 
236
/**
272
/**
237
  * @}
273
  * @}
238
  */
274
  */
-
 
275
 
-
 
276
#endif /* FSMC_BANK4 */
239
 
277
 
240
#ifdef __cplusplus
278
#ifdef __cplusplus
241
}
279
}
242
#endif
280
#endif
243
 
281
 
244
#endif /* __STM32F1xx_HAL_PCCARD_H */
282
#endif /* STM32F1xx_HAL_PCCARD_H */
245
 
283
 
246
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
284
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/