mbed library sources

Dependents:   Encrypted my_mbed lklk CyaSSL_DTLS_Cellular ... more

Superseded

This library was superseded by mbed-dev - https://os.mbed.com/users/mbed_official/code/mbed-dev/.

Development branch of the mbed library sources. This library is kept in synch with the latest changes from the mbed SDK and it is not guaranteed to work.

If you are looking for a stable and tested release, please import one of the official mbed library releases:

Import librarymbed

The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Committer:
mbed_official
Date:
Thu Jul 02 16:30:08 2015 +0100
Revision:
581:39197bcd20f2
Parent:
489:119543c9f674
Synchronized with git revision ae2d3cdffe70184eb8736d94f76c45c93f4b7724

Full URL: https://github.com/mbedmicro/mbed/commit/ae2d3cdffe70184eb8736d94f76c45c93f4b7724/

Make it possible to build the core mbed library with yotta

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 489:119543c9f674 1 /**
mbed_official 489:119543c9f674 2 ******************************************************************************
mbed_official 489:119543c9f674 3 * @file stm32f1xx_hal_hcd.h
mbed_official 489:119543c9f674 4 * @author MCD Application Team
mbed_official 489:119543c9f674 5 * @version V1.0.0
mbed_official 489:119543c9f674 6 * @date 15-December-2014
mbed_official 489:119543c9f674 7 * @brief Header file of HCD HAL module.
mbed_official 489:119543c9f674 8 ******************************************************************************
mbed_official 489:119543c9f674 9 * @attention
mbed_official 489:119543c9f674 10 *
mbed_official 489:119543c9f674 11 * <h2><center>&copy; COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
mbed_official 489:119543c9f674 12 *
mbed_official 489:119543c9f674 13 * Redistribution and use in source and binary forms, with or without modification,
mbed_official 489:119543c9f674 14 * are permitted provided that the following conditions are met:
mbed_official 489:119543c9f674 15 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 489:119543c9f674 16 * this list of conditions and the following disclaimer.
mbed_official 489:119543c9f674 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 489:119543c9f674 18 * this list of conditions and the following disclaimer in the documentation
mbed_official 489:119543c9f674 19 * and/or other materials provided with the distribution.
mbed_official 489:119543c9f674 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 489:119543c9f674 21 * may be used to endorse or promote products derived from this software
mbed_official 489:119543c9f674 22 * without specific prior written permission.
mbed_official 489:119543c9f674 23 *
mbed_official 489:119543c9f674 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 489:119543c9f674 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 489:119543c9f674 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 489:119543c9f674 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 489:119543c9f674 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 489:119543c9f674 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 489:119543c9f674 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 489:119543c9f674 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 489:119543c9f674 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 489:119543c9f674 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 489:119543c9f674 34 *
mbed_official 489:119543c9f674 35 ******************************************************************************
mbed_official 489:119543c9f674 36 */
mbed_official 489:119543c9f674 37
mbed_official 489:119543c9f674 38 /* Define to prevent recursive inclusion -------------------------------------*/
mbed_official 489:119543c9f674 39 #ifndef __STM32F1xx_HAL_HCD_H
mbed_official 489:119543c9f674 40 #define __STM32F1xx_HAL_HCD_H
mbed_official 489:119543c9f674 41
mbed_official 489:119543c9f674 42 #ifdef __cplusplus
mbed_official 489:119543c9f674 43 extern "C" {
mbed_official 489:119543c9f674 44 #endif
mbed_official 489:119543c9f674 45
mbed_official 489:119543c9f674 46 #if defined(STM32F105xC) || defined(STM32F107xC)
mbed_official 489:119543c9f674 47
mbed_official 489:119543c9f674 48
mbed_official 489:119543c9f674 49 /* Includes ------------------------------------------------------------------*/
mbed_official 489:119543c9f674 50 #include "stm32f1xx_ll_usb.h"
mbed_official 489:119543c9f674 51
mbed_official 489:119543c9f674 52 /** @addtogroup STM32F1xx_HAL_Driver
mbed_official 489:119543c9f674 53 * @{
mbed_official 489:119543c9f674 54 */
mbed_official 489:119543c9f674 55
mbed_official 489:119543c9f674 56 /** @addtogroup HCD
mbed_official 489:119543c9f674 57 * @{
mbed_official 489:119543c9f674 58 */
mbed_official 489:119543c9f674 59
mbed_official 489:119543c9f674 60 /* Exported types ------------------------------------------------------------*/
mbed_official 489:119543c9f674 61 /** @defgroup HCD_Exported_Types HCD Exported Types
mbed_official 489:119543c9f674 62 * @{
mbed_official 489:119543c9f674 63 */
mbed_official 489:119543c9f674 64
mbed_official 489:119543c9f674 65 /**
mbed_official 489:119543c9f674 66 * @brief HCD Status structure definition
mbed_official 489:119543c9f674 67 */
mbed_official 489:119543c9f674 68 typedef enum
mbed_official 489:119543c9f674 69 {
mbed_official 489:119543c9f674 70 HAL_HCD_STATE_RESET = 0x00,
mbed_official 489:119543c9f674 71 HAL_HCD_STATE_READY = 0x01,
mbed_official 489:119543c9f674 72 HAL_HCD_STATE_ERROR = 0x02,
mbed_official 489:119543c9f674 73 HAL_HCD_STATE_BUSY = 0x03,
mbed_official 489:119543c9f674 74 HAL_HCD_STATE_TIMEOUT = 0x04
mbed_official 489:119543c9f674 75 } HCD_StateTypeDef;
mbed_official 489:119543c9f674 76
mbed_official 489:119543c9f674 77 typedef USB_OTG_GlobalTypeDef HCD_TypeDef;
mbed_official 489:119543c9f674 78 typedef USB_OTG_CfgTypeDef HCD_InitTypeDef;
mbed_official 489:119543c9f674 79 typedef USB_OTG_HCTypeDef HCD_HCTypeDef;
mbed_official 489:119543c9f674 80 typedef USB_OTG_URBStateTypeDef HCD_URBStateTypeDef;
mbed_official 489:119543c9f674 81 typedef USB_OTG_HCStateTypeDef HCD_HCStateTypeDef;
mbed_official 489:119543c9f674 82
mbed_official 489:119543c9f674 83 /**
mbed_official 489:119543c9f674 84 * @brief HCD Handle Structure definition
mbed_official 489:119543c9f674 85 */
mbed_official 489:119543c9f674 86 typedef struct
mbed_official 489:119543c9f674 87 {
mbed_official 489:119543c9f674 88 HCD_TypeDef *Instance; /*!< Register base address */
mbed_official 489:119543c9f674 89 HCD_InitTypeDef Init; /*!< HCD required parameters */
mbed_official 489:119543c9f674 90 HCD_HCTypeDef hc[15]; /*!< Host channels parameters */
mbed_official 489:119543c9f674 91 HAL_LockTypeDef Lock; /*!< HCD peripheral status */
mbed_official 489:119543c9f674 92 __IO HCD_StateTypeDef State; /*!< HCD communication state */
mbed_official 489:119543c9f674 93 void *pData; /*!< Pointer Stack Handler */
mbed_official 489:119543c9f674 94 } HCD_HandleTypeDef;
mbed_official 489:119543c9f674 95
mbed_official 489:119543c9f674 96 /**
mbed_official 489:119543c9f674 97 * @}
mbed_official 489:119543c9f674 98 */
mbed_official 489:119543c9f674 99
mbed_official 489:119543c9f674 100 /* Exported constants --------------------------------------------------------*/
mbed_official 489:119543c9f674 101 /** @defgroup HCD_Exported_Constants HCD Exported Constants
mbed_official 489:119543c9f674 102 * @{
mbed_official 489:119543c9f674 103 */
mbed_official 489:119543c9f674 104 /** @defgroup HCD_Speed HCD Speed
mbed_official 489:119543c9f674 105 * @{
mbed_official 489:119543c9f674 106 */
mbed_official 489:119543c9f674 107 #define HCD_SPEED_LOW 2
mbed_official 489:119543c9f674 108 #define HCD_SPEED_FULL 3
mbed_official 489:119543c9f674 109
mbed_official 489:119543c9f674 110 /**
mbed_official 489:119543c9f674 111 * @}
mbed_official 489:119543c9f674 112 */
mbed_official 489:119543c9f674 113
mbed_official 489:119543c9f674 114 /**
mbed_official 489:119543c9f674 115 * @}
mbed_official 489:119543c9f674 116 */
mbed_official 489:119543c9f674 117
mbed_official 489:119543c9f674 118 /* Exported macro ------------------------------------------------------------*/
mbed_official 489:119543c9f674 119 /** @defgroup HCD_Exported_Macros HCD Exported Macros
mbed_official 489:119543c9f674 120 * @brief macros to handle interrupts and specific clock configurations
mbed_official 489:119543c9f674 121 * @{
mbed_official 489:119543c9f674 122 */
mbed_official 489:119543c9f674 123 #define __HAL_HCD_ENABLE(__HANDLE__) USB_EnableGlobalInt ((__HANDLE__)->Instance)
mbed_official 489:119543c9f674 124 #define __HAL_HCD_DISABLE(__HANDLE__) USB_DisableGlobalInt ((__HANDLE__)->Instance)
mbed_official 489:119543c9f674 125
mbed_official 489:119543c9f674 126
mbed_official 489:119543c9f674 127 #define __HAL_HCD_GET_FLAG(__HANDLE__, __INTERRUPT__) ((USB_ReadInterrupts((__HANDLE__)->Instance) & (__INTERRUPT__)) == (__INTERRUPT__))
mbed_official 489:119543c9f674 128 #define __HAL_HCD_CLEAR_FLAG(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->GINTSTS) = (__INTERRUPT__))
mbed_official 489:119543c9f674 129 #define __HAL_HCD_IS_INVALID_INTERRUPT(__HANDLE__) (USB_ReadInterrupts((__HANDLE__)->Instance) == 0)
mbed_official 489:119543c9f674 130
mbed_official 489:119543c9f674 131
mbed_official 489:119543c9f674 132 #define __HAL_HCD_CLEAR_HC_INT(chnum, __INTERRUPT__) (USBx_HC(chnum)->HCINT = (__INTERRUPT__))
mbed_official 489:119543c9f674 133 #define __HAL_HCD_MASK_HALT_HC_INT(chnum) (USBx_HC(chnum)->HCINTMSK &= ~USB_OTG_HCINTMSK_CHHM)
mbed_official 489:119543c9f674 134 #define __HAL_HCD_UNMASK_HALT_HC_INT(chnum) (USBx_HC(chnum)->HCINTMSK |= USB_OTG_HCINTMSK_CHHM)
mbed_official 489:119543c9f674 135 #define __HAL_HCD_MASK_ACK_HC_INT(chnum) (USBx_HC(chnum)->HCINTMSK &= ~USB_OTG_HCINTMSK_ACKM)
mbed_official 489:119543c9f674 136 #define __HAL_HCD_UNMASK_ACK_HC_INT(chnum) (USBx_HC(chnum)->HCINTMSK |= USB_OTG_HCINTMSK_ACKM)
mbed_official 489:119543c9f674 137
mbed_official 489:119543c9f674 138 /**
mbed_official 489:119543c9f674 139 * @}
mbed_official 489:119543c9f674 140 */
mbed_official 489:119543c9f674 141
mbed_official 489:119543c9f674 142 /* Exported functions --------------------------------------------------------*/
mbed_official 489:119543c9f674 143 /** @addtogroup HCD_Exported_Functions HCD Exported Functions
mbed_official 489:119543c9f674 144 * @{
mbed_official 489:119543c9f674 145 */
mbed_official 489:119543c9f674 146
mbed_official 489:119543c9f674 147 /* Initialization/de-initialization functions ********************************/
mbed_official 489:119543c9f674 148 /** @addtogroup HCD_Exported_Functions_Group1 Initialization and de-initialization functions
mbed_official 489:119543c9f674 149 * @{
mbed_official 489:119543c9f674 150 */
mbed_official 489:119543c9f674 151 HAL_StatusTypeDef HAL_HCD_Init(HCD_HandleTypeDef *hhcd);
mbed_official 489:119543c9f674 152 HAL_StatusTypeDef HAL_HCD_DeInit (HCD_HandleTypeDef *hhcd);
mbed_official 489:119543c9f674 153 HAL_StatusTypeDef HAL_HCD_HC_Init(HCD_HandleTypeDef *hhcd,
mbed_official 489:119543c9f674 154 uint8_t ch_num,
mbed_official 489:119543c9f674 155 uint8_t epnum,
mbed_official 489:119543c9f674 156 uint8_t dev_address,
mbed_official 489:119543c9f674 157 uint8_t speed,
mbed_official 489:119543c9f674 158 uint8_t ep_type,
mbed_official 489:119543c9f674 159 uint16_t mps);
mbed_official 489:119543c9f674 160
mbed_official 489:119543c9f674 161 HAL_StatusTypeDef HAL_HCD_HC_Halt(HCD_HandleTypeDef *hhcd,
mbed_official 489:119543c9f674 162 uint8_t ch_num);
mbed_official 489:119543c9f674 163
mbed_official 489:119543c9f674 164 void HAL_HCD_MspInit(HCD_HandleTypeDef *hhcd);
mbed_official 489:119543c9f674 165 void HAL_HCD_MspDeInit(HCD_HandleTypeDef *hhcd);
mbed_official 489:119543c9f674 166 /**
mbed_official 489:119543c9f674 167 * @}
mbed_official 489:119543c9f674 168 */
mbed_official 489:119543c9f674 169
mbed_official 489:119543c9f674 170 /* I/O operation functions ***************************************************/
mbed_official 489:119543c9f674 171 /** @addtogroup HCD_Exported_Functions_Group2 IO operation functions
mbed_official 489:119543c9f674 172 * @{
mbed_official 489:119543c9f674 173 */
mbed_official 489:119543c9f674 174 HAL_StatusTypeDef HAL_HCD_HC_SubmitRequest(HCD_HandleTypeDef *hhcd,
mbed_official 489:119543c9f674 175 uint8_t pipe,
mbed_official 489:119543c9f674 176 uint8_t direction,
mbed_official 489:119543c9f674 177 uint8_t ep_type,
mbed_official 489:119543c9f674 178 uint8_t token,
mbed_official 489:119543c9f674 179 uint8_t* pbuff,
mbed_official 489:119543c9f674 180 uint16_t length,
mbed_official 489:119543c9f674 181 uint8_t do_ping);
mbed_official 489:119543c9f674 182
mbed_official 489:119543c9f674 183 /* Non-Blocking mode: Interrupt */
mbed_official 489:119543c9f674 184 void HAL_HCD_IRQHandler(HCD_HandleTypeDef *hhcd);
mbed_official 489:119543c9f674 185 void HAL_HCD_SOF_Callback(HCD_HandleTypeDef *hhcd);
mbed_official 489:119543c9f674 186 void HAL_HCD_Connect_Callback(HCD_HandleTypeDef *hhcd);
mbed_official 489:119543c9f674 187 void HAL_HCD_Disconnect_Callback(HCD_HandleTypeDef *hhcd);
mbed_official 489:119543c9f674 188 void HAL_HCD_HC_NotifyURBChange_Callback(HCD_HandleTypeDef *hhcd,
mbed_official 489:119543c9f674 189 uint8_t chnum,
mbed_official 489:119543c9f674 190 HCD_URBStateTypeDef urb_state);
mbed_official 489:119543c9f674 191 /**
mbed_official 489:119543c9f674 192 * @}
mbed_official 489:119543c9f674 193 */
mbed_official 489:119543c9f674 194 /* Peripheral Control functions **********************************************/
mbed_official 489:119543c9f674 195 /** @addtogroup HCD_Exported_Functions_Group3 Peripheral Control functions
mbed_official 489:119543c9f674 196 * @{
mbed_official 489:119543c9f674 197 */
mbed_official 489:119543c9f674 198 HAL_StatusTypeDef HAL_HCD_ResetPort(HCD_HandleTypeDef *hhcd);
mbed_official 489:119543c9f674 199 HAL_StatusTypeDef HAL_HCD_Start(HCD_HandleTypeDef *hhcd);
mbed_official 489:119543c9f674 200 HAL_StatusTypeDef HAL_HCD_Stop(HCD_HandleTypeDef *hhcd);
mbed_official 489:119543c9f674 201 /**
mbed_official 489:119543c9f674 202 * @}
mbed_official 489:119543c9f674 203 */
mbed_official 489:119543c9f674 204 /* Peripheral State functions ************************************************/
mbed_official 489:119543c9f674 205 /** @addtogroup HCD_Exported_Functions_Group4 Peripheral State functions
mbed_official 489:119543c9f674 206 * @{
mbed_official 489:119543c9f674 207 */
mbed_official 489:119543c9f674 208 HCD_StateTypeDef HAL_HCD_GetState(HCD_HandleTypeDef *hhcd);
mbed_official 489:119543c9f674 209 HCD_URBStateTypeDef HAL_HCD_HC_GetURBState(HCD_HandleTypeDef *hhcd, uint8_t chnum);
mbed_official 489:119543c9f674 210 uint32_t HAL_HCD_HC_GetXferCount(HCD_HandleTypeDef *hhcd, uint8_t chnum);
mbed_official 489:119543c9f674 211 HCD_HCStateTypeDef HAL_HCD_HC_GetState(HCD_HandleTypeDef *hhcd, uint8_t chnum);
mbed_official 489:119543c9f674 212 uint32_t HAL_HCD_GetCurrentFrame(HCD_HandleTypeDef *hhcd);
mbed_official 489:119543c9f674 213 uint32_t HAL_HCD_GetCurrentSpeed(HCD_HandleTypeDef *hhcd);
mbed_official 489:119543c9f674 214 /**
mbed_official 489:119543c9f674 215 * @}
mbed_official 489:119543c9f674 216 */
mbed_official 489:119543c9f674 217
mbed_official 489:119543c9f674 218 /**
mbed_official 489:119543c9f674 219 * @}
mbed_official 489:119543c9f674 220 */
mbed_official 489:119543c9f674 221
mbed_official 489:119543c9f674 222 /* Private macros ------------------------------------------------------------*/
mbed_official 489:119543c9f674 223 /** @defgroup HCD_Private_Macros HCD Private Macros
mbed_official 489:119543c9f674 224 * @{
mbed_official 489:119543c9f674 225 */
mbed_official 489:119543c9f674 226 /** @defgroup HCD_Instance_definition HCD Instance definition
mbed_official 489:119543c9f674 227 * @{
mbed_official 489:119543c9f674 228 */
mbed_official 489:119543c9f674 229 #define IS_HCD_ALL_INSTANCE(INSTANCE) (((INSTANCE) == USB_OTG_FS))
mbed_official 489:119543c9f674 230 /**
mbed_official 489:119543c9f674 231 * @}
mbed_official 489:119543c9f674 232 */
mbed_official 489:119543c9f674 233 /**
mbed_official 489:119543c9f674 234 * @}
mbed_official 489:119543c9f674 235 */
mbed_official 489:119543c9f674 236
mbed_official 489:119543c9f674 237 /**
mbed_official 489:119543c9f674 238 * @}
mbed_official 489:119543c9f674 239 */
mbed_official 489:119543c9f674 240
mbed_official 489:119543c9f674 241 /**
mbed_official 489:119543c9f674 242 * @}
mbed_official 489:119543c9f674 243 */
mbed_official 489:119543c9f674 244
mbed_official 489:119543c9f674 245 #endif /* STM32F105xC || STM32F107xC */
mbed_official 489:119543c9f674 246
mbed_official 489:119543c9f674 247
mbed_official 489:119543c9f674 248 #ifdef __cplusplus
mbed_official 489:119543c9f674 249 }
mbed_official 489:119543c9f674 250 #endif
mbed_official 489:119543c9f674 251
mbed_official 489:119543c9f674 252 #endif /* __STM32F1xx_HAL_HCD_H */
mbed_official 489:119543c9f674 253
mbed_official 489:119543c9f674 254 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/