my fork

Dependents:   Nucleo_blueNRG

Fork of mbed by mbed official

Committer:
Kojto
Date:
Tue Oct 28 16:40:41 2014 +0000
Revision:
90:cb3d968589d8
Release 90 of the mbed library

Changes:

- Freescale KSDK update (v1.0)
- K22 - new target addition
- KL43Z - new target addition
- Nucleo F091RC - new target addition
- Nucleo L152RE - STM32Cube driver
- Nordic - Softdevice v7.1.0
- Nvic files - BSD License
- LPC824 - various HAL fixes
- Nucleo F411RE - CMSIS - IAR files

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Kojto 90:cb3d968589d8 1 /**
Kojto 90:cb3d968589d8 2 ******************************************************************************
Kojto 90:cb3d968589d8 3 * @file stm32f3xx_hal_pcd_ex.h
Kojto 90:cb3d968589d8 4 * @author MCD Application Team
Kojto 90:cb3d968589d8 5 * @version V1.1.0
Kojto 90:cb3d968589d8 6 * @date 12-Sept-2014
Kojto 90:cb3d968589d8 7 * @brief Header file of PCD HAL Extended module.
Kojto 90:cb3d968589d8 8 ******************************************************************************
Kojto 90:cb3d968589d8 9 * @attention
Kojto 90:cb3d968589d8 10 *
Kojto 90:cb3d968589d8 11 * <h2><center>&copy; COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
Kojto 90:cb3d968589d8 12 *
Kojto 90:cb3d968589d8 13 * Redistribution and use in source and binary forms, with or without modification,
Kojto 90:cb3d968589d8 14 * are permitted provided that the following conditions are met:
Kojto 90:cb3d968589d8 15 * 1. Redistributions of source code must retain the above copyright notice,
Kojto 90:cb3d968589d8 16 * this list of conditions and the following disclaimer.
Kojto 90:cb3d968589d8 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
Kojto 90:cb3d968589d8 18 * this list of conditions and the following disclaimer in the documentation
Kojto 90:cb3d968589d8 19 * and/or other materials provided with the distribution.
Kojto 90:cb3d968589d8 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
Kojto 90:cb3d968589d8 21 * may be used to endorse or promote products derived from this software
Kojto 90:cb3d968589d8 22 * without specific prior written permission.
Kojto 90:cb3d968589d8 23 *
Kojto 90:cb3d968589d8 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
Kojto 90:cb3d968589d8 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
Kojto 90:cb3d968589d8 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
Kojto 90:cb3d968589d8 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
Kojto 90:cb3d968589d8 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
Kojto 90:cb3d968589d8 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
Kojto 90:cb3d968589d8 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
Kojto 90:cb3d968589d8 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
Kojto 90:cb3d968589d8 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
Kojto 90:cb3d968589d8 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Kojto 90:cb3d968589d8 34 *
Kojto 90:cb3d968589d8 35 ******************************************************************************
Kojto 90:cb3d968589d8 36 */
Kojto 90:cb3d968589d8 37
Kojto 90:cb3d968589d8 38 /* Define to prevent recursive inclusion -------------------------------------*/
Kojto 90:cb3d968589d8 39 #ifndef __STM32F3xx_HAL_PCD_EX_H
Kojto 90:cb3d968589d8 40 #define __STM32F3xx_HAL_PCD_EX_H
Kojto 90:cb3d968589d8 41
Kojto 90:cb3d968589d8 42 #ifdef __cplusplus
Kojto 90:cb3d968589d8 43 extern "C" {
Kojto 90:cb3d968589d8 44 #endif
Kojto 90:cb3d968589d8 45
Kojto 90:cb3d968589d8 46 #if defined(STM32F302xE) || defined(STM32F303xE) || \
Kojto 90:cb3d968589d8 47 defined(STM32F302xC) || defined(STM32F303xC) || \
Kojto 90:cb3d968589d8 48 defined(STM32F302x8) || \
Kojto 90:cb3d968589d8 49 defined(STM32F373xC)
Kojto 90:cb3d968589d8 50
Kojto 90:cb3d968589d8 51 /* Includes ------------------------------------------------------------------*/
Kojto 90:cb3d968589d8 52 #include "stm32f3xx_hal_def.h"
Kojto 90:cb3d968589d8 53
Kojto 90:cb3d968589d8 54 /** @addtogroup STM32F3xx_HAL_Driver
Kojto 90:cb3d968589d8 55 * @{
Kojto 90:cb3d968589d8 56 */
Kojto 90:cb3d968589d8 57
Kojto 90:cb3d968589d8 58 /** @addtogroup PCDEx
Kojto 90:cb3d968589d8 59 * @{
Kojto 90:cb3d968589d8 60 */
Kojto 90:cb3d968589d8 61
Kojto 90:cb3d968589d8 62 /* Exported types ------------------------------------------------------------*/
Kojto 90:cb3d968589d8 63 /* Exported constants --------------------------------------------------------*/
Kojto 90:cb3d968589d8 64 /* Exported macros -----------------------------------------------------------*/
Kojto 90:cb3d968589d8 65 /** @defgroup PCDEx_Exported_Macros PCD Extended Exported Macros
Kojto 90:cb3d968589d8 66 * @{
Kojto 90:cb3d968589d8 67 */
Kojto 90:cb3d968589d8 68 /**
Kojto 90:cb3d968589d8 69 * @brief Gets address in an endpoint register.
Kojto 90:cb3d968589d8 70 * @param USBx: USB peripheral instance register address.
Kojto 90:cb3d968589d8 71 * @param bEpNum: Endpoint Number.
Kojto 90:cb3d968589d8 72 * @retval None
Kojto 90:cb3d968589d8 73 */
Kojto 90:cb3d968589d8 74
Kojto 90:cb3d968589d8 75 #if defined(STM32F302xC) || defined(STM32F303xC) || \
Kojto 90:cb3d968589d8 76 defined(STM32F373xC)
Kojto 90:cb3d968589d8 77
Kojto 90:cb3d968589d8 78 #define PCD_EP_TX_ADDRESS(USBx, bEpNum) ((uint32_t *)((USBx->BTABLE+bEpNum*8)*2+ ((uint32_t)USBx + 0x400)))
Kojto 90:cb3d968589d8 79 #define PCD_EP_TX_CNT(USBx, bEpNum) ((uint32_t *)((USBx->BTABLE+bEpNum*8+2)*2+ ((uint32_t)USBx + 0x400)))
Kojto 90:cb3d968589d8 80 #define PCD_EP_RX_ADDRESS(USBx, bEpNum) ((uint32_t *)((USBx->BTABLE+bEpNum*8+4)*2+ ((uint32_t)USBx + 0x400)))
Kojto 90:cb3d968589d8 81 #define PCD_EP_RX_CNT(USBx, bEpNum) ((uint32_t *)((USBx->BTABLE+bEpNum*8+6)*2+ ((uint32_t)USBx + 0x400)))
Kojto 90:cb3d968589d8 82
Kojto 90:cb3d968589d8 83 #define PCD_SET_EP_RX_CNT(USBx, bEpNum,wCount) {\
Kojto 90:cb3d968589d8 84 uint32_t *pdwReg = PCD_EP_RX_CNT(USBx, bEpNum); \
Kojto 90:cb3d968589d8 85 PCD_SET_EP_CNT_RX_REG(pdwReg, wCount);\
Kojto 90:cb3d968589d8 86 }
Kojto 90:cb3d968589d8 87
Kojto 90:cb3d968589d8 88 #endif /* STM32F302xC || STM32F303xC || */
Kojto 90:cb3d968589d8 89 /* STM32F373xC */
Kojto 90:cb3d968589d8 90
Kojto 90:cb3d968589d8 91
Kojto 90:cb3d968589d8 92 #if defined(STM32F302xE) || defined(STM32F303xE) || \
Kojto 90:cb3d968589d8 93 defined(STM32F302x8)
Kojto 90:cb3d968589d8 94
Kojto 90:cb3d968589d8 95 #define PCD_EP_TX_ADDRESS(USBx, bEpNum) ((uint16_t *)((USBx->BTABLE+bEpNum*8)+ ((uint32_t)USBx + 0x400)))
Kojto 90:cb3d968589d8 96 #define PCD_EP_TX_CNT(USBx, bEpNum) ((uint16_t *)((USBx->BTABLE+bEpNum*8+2)+ ((uint32_t)USBx + 0x400)))
Kojto 90:cb3d968589d8 97 #define PCD_EP_RX_ADDRESS(USBx, bEpNum) ((uint16_t *)((USBx->BTABLE+bEpNum*8+4)+ ((uint32_t)USBx + 0x400)))
Kojto 90:cb3d968589d8 98 #define PCD_EP_RX_CNT(USBx, bEpNum) ((uint16_t *)((USBx->BTABLE+bEpNum*8+6)+ ((uint32_t)USBx + 0x400)))
Kojto 90:cb3d968589d8 99
Kojto 90:cb3d968589d8 100 #define PCD_SET_EP_RX_CNT(USBx, bEpNum,wCount) {\
Kojto 90:cb3d968589d8 101 uint16_t *pdwReg = PCD_EP_RX_CNT(USBx, bEpNum); \
Kojto 90:cb3d968589d8 102 PCD_SET_EP_CNT_RX_REG(pdwReg, wCount);\
Kojto 90:cb3d968589d8 103 }
Kojto 90:cb3d968589d8 104
Kojto 90:cb3d968589d8 105 #endif /* STM32F302xE || STM32F303xE || */
Kojto 90:cb3d968589d8 106 /* STM32F302x8 */
Kojto 90:cb3d968589d8 107 /**
Kojto 90:cb3d968589d8 108 * @}
Kojto 90:cb3d968589d8 109 */
Kojto 90:cb3d968589d8 110
Kojto 90:cb3d968589d8 111 /* Exported functions --------------------------------------------------------*/
Kojto 90:cb3d968589d8 112 /** @addtogroup PCDEx_Exported_Functions PCD Extended Exported Functions
Kojto 90:cb3d968589d8 113 * @{
Kojto 90:cb3d968589d8 114 */
Kojto 90:cb3d968589d8 115 /** @addtogroup PCDEx_Exported_Functions_Group1 Extended Initialization and de-initialization functions
Kojto 90:cb3d968589d8 116 * @brief Initialization and Configuration functions
Kojto 90:cb3d968589d8 117 * @{
Kojto 90:cb3d968589d8 118 */
Kojto 90:cb3d968589d8 119 HAL_StatusTypeDef HAL_PCDEx_PMAConfig(PCD_HandleTypeDef *hpcd,
Kojto 90:cb3d968589d8 120 uint16_t ep_addr,
Kojto 90:cb3d968589d8 121 uint16_t ep_kind,
Kojto 90:cb3d968589d8 122 uint32_t pmaadress);
Kojto 90:cb3d968589d8 123
Kojto 90:cb3d968589d8 124 __weak void HAL_PCDEx_SetConnectionState(PCD_HandleTypeDef *hpcd, uint8_t state);
Kojto 90:cb3d968589d8 125
Kojto 90:cb3d968589d8 126 /**
Kojto 90:cb3d968589d8 127 * @}
Kojto 90:cb3d968589d8 128 */
Kojto 90:cb3d968589d8 129
Kojto 90:cb3d968589d8 130 /**
Kojto 90:cb3d968589d8 131 * @}
Kojto 90:cb3d968589d8 132 */
Kojto 90:cb3d968589d8 133
Kojto 90:cb3d968589d8 134 /**
Kojto 90:cb3d968589d8 135 * @}
Kojto 90:cb3d968589d8 136 */
Kojto 90:cb3d968589d8 137
Kojto 90:cb3d968589d8 138 /**
Kojto 90:cb3d968589d8 139 * @}
Kojto 90:cb3d968589d8 140 */
Kojto 90:cb3d968589d8 141
Kojto 90:cb3d968589d8 142 #endif /* STM32F302xE || STM32F303xE || */
Kojto 90:cb3d968589d8 143 /* STM32F302xC || STM32F303xC || */
Kojto 90:cb3d968589d8 144 /* STM32F302x8 || */
Kojto 90:cb3d968589d8 145 /* STM32F373xC */
Kojto 90:cb3d968589d8 146
Kojto 90:cb3d968589d8 147 #ifdef __cplusplus
Kojto 90:cb3d968589d8 148 }
Kojto 90:cb3d968589d8 149 #endif
Kojto 90:cb3d968589d8 150
Kojto 90:cb3d968589d8 151
Kojto 90:cb3d968589d8 152 #endif /* __STM32F3xx_HAL_PCD_EX_H */
Kojto 90:cb3d968589d8 153
Kojto 90:cb3d968589d8 154 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/