]> git.donarmstrong.com Git - qmk_firmware.git/blob - tmk_core/tool/mbed/mbed-sdk/libraries/mbed/targets/cmsis/TARGET_STM/TARGET_STM32L0/stm32l0xx_hal_smartcard_ex.h
Merge commit '1fe4406f374291ab2e86e95a97341fd9c475fcb8'
[qmk_firmware.git] / tmk_core / tool / mbed / mbed-sdk / libraries / mbed / targets / cmsis / TARGET_STM / TARGET_STM32L0 / stm32l0xx_hal_smartcard_ex.h
1 /**
2   ******************************************************************************
3   * @file    stm32l0xx_hal_smartcard_ex.h
4   * @author  MCD Application Team
5   * @version V1.2.0
6   * @date    06-February-2015
7   * @brief   Header file of SMARTCARD HAL module.
8   ******************************************************************************
9   * @attention
10   *
11   * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
12   *
13   * Redistribution and use in source and binary forms, with or without modification,
14   * are permitted provided that the following conditions are met:
15   *   1. Redistributions of source code must retain the above copyright notice,
16   *      this list of conditions and the following disclaimer.
17   *   2. Redistributions in binary form must reproduce the above copyright notice,
18   *      this list of conditions and the following disclaimer in the documentation
19   *      and/or other materials provided with the distribution.
20   *   3. Neither the name of STMicroelectronics nor the names of its contributors
21   *      may be used to endorse or promote products derived from this software
22   *      without specific prior written permission.
23   *
24   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
25   * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
27   * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
28   * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
29   * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
30   * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
31   * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
32   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
33   * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34   *
35   ******************************************************************************
36   */
37
38 /* Define to prevent recursive inclusion -------------------------------------*/
39 #ifndef __STM32L0xx_HAL_SMARTCARD_EX_H
40 #define __STM32L0xx_HAL_SMARTCARD_EX_H
41
42 #ifdef __cplusplus
43  extern "C" {
44 #endif
45
46 /* Includes ------------------------------------------------------------------*/
47 #include "stm32l0xx_hal_def.h"
48
49 /** @addtogroup STM32L0xx_HAL_Driver
50   * @{
51   */
52
53 /** @defgroup SMARTCARDEx SMARTCARDEx
54   * @{
55   */ 
56
57 /* Exported types ------------------------------------------------------------*/
58 /* Exported constants --------------------------------------------------------*/
59 /* Exported macro ------------------------------------------------------------*/
60    
61 /** @brief  Reports the SMARTCARD clock source.
62   * @param  __HANDLE__: specifies the USART Handle
63   * @param  __CLOCKSOURCE__ : output variable   
64   * @retval the USART clocking source, written in __CLOCKSOURCE__.
65   */
66 #if defined (STM32L031xx) || defined (STM32L041xx)
67 #define SMARTCARD_GETCLOCKSOURCE(__HANDLE__,__CLOCKSOURCE__) \
68   do {                                                             \
69     if((__HANDLE__)->Instance == USART2)                      \
70     {                                                              \
71        switch(__HAL_RCC_GET_USART2_SOURCE())                       \
72        {                                                           \
73         case RCC_USART2CLKSOURCE_PCLK1:                            \
74           (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_PCLK1;         \
75           break;                                                   \
76         case RCC_USART2CLKSOURCE_HSI:                              \
77           (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_HSI;           \
78           break;                                                   \
79         case RCC_USART2CLKSOURCE_SYSCLK:                           \
80           (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_SYSCLK;        \
81           break;                                                   \
82         case RCC_USART2CLKSOURCE_LSE:                              \
83           (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_LSE;           \
84           break;                                                   \
85         default:                                                   \
86           break;                                                   \
87        }                                                           \
88     }                                                              \
89   } while(0)
90
91 #else /* (STM32L031xx) || defined (STM32L041xx) */
92
93 #define SMARTCARD_GETCLOCKSOURCE(__HANDLE__,__CLOCKSOURCE__) \
94   do {                                                             \
95     if((__HANDLE__)->Instance == USART1)                           \
96     {                                                              \
97        switch(__HAL_RCC_GET_USART1_SOURCE())                       \
98        {                                                           \
99         case RCC_USART1CLKSOURCE_PCLK2:                            \
100           (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_PCLK2;         \
101           break;                                                   \
102         case RCC_USART1CLKSOURCE_HSI:                              \
103           (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_HSI;           \
104           break;                                                   \
105         case RCC_USART1CLKSOURCE_SYSCLK:                           \
106           (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_SYSCLK;        \
107           break;                                                   \
108         case RCC_USART1CLKSOURCE_LSE:                              \
109           (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_LSE;           \
110           break;                                                   \
111         default:                                                   \
112           break;                                                   \
113        }                                                           \
114     }                                                              \
115     else if((__HANDLE__)->Instance == USART2)                      \
116     {                                                              \
117        switch(__HAL_RCC_GET_USART2_SOURCE())                       \
118        {                                                           \
119         case RCC_USART2CLKSOURCE_PCLK1:                            \
120           (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_PCLK1;         \
121           break;                                                   \
122         case RCC_USART2CLKSOURCE_HSI:                              \
123           (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_HSI;           \
124           break;                                                   \
125         case RCC_USART2CLKSOURCE_SYSCLK:                           \
126           (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_SYSCLK;        \
127           break;                                                   \
128         case RCC_USART2CLKSOURCE_LSE:                              \
129           (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_LSE;           \
130           break;                                                   \
131         default:                                                   \
132           break;                                                   \
133        }                                                           \
134     }                                                              \
135   } while(0)
136 #endif /* (STM32L031xx) || (STM32L041xx) */
137
138 /* Exported functions --------------------------------------------------------*/
139 /** @defgroup SMARTCARDEx_Exported_Functions SMARTCARD Extended Exported functions
140   * @{
141   */
142 /* Initialization/de-initialization functions  ********************************/
143 /** @defgroup SMARTCARDEx_Exported_Functions_Group1 Extended Peripheral Control functions
144  *  @{
145  */
146
147 /* Initialization and de-initialization functions  ****************************/
148 /* IO operation functions *****************************************************/
149 /* Peripheral Control functions ***********************************************/
150 void HAL_SMARTCARDEx_BlockLength_Config(SMARTCARD_HandleTypeDef *hsc, uint8_t BlockLength);
151 void HAL_SMARTCARDEx_TimeOut_Config(SMARTCARD_HandleTypeDef *hsc, uint32_t TimeOutValue);
152 HAL_StatusTypeDef HAL_SMARTCARDEx_EnableReceiverTimeOut(SMARTCARD_HandleTypeDef *hsc);
153 HAL_StatusTypeDef HAL_SMARTCARDEx_DisableReceiverTimeOut(SMARTCARD_HandleTypeDef *hsc);
154
155 /* Peripheral State and Error functions ***************************************/
156
157 /**
158   * @}
159   */ 
160
161 /**
162   * @}
163   */
164
165 /**
166   * @}
167   */
168
169 /**
170   * @}
171   */
172 #ifdef __cplusplus
173 }
174 #endif
175
176 #endif /* __STM32L0xx_HAL_SMARTCARD_EX_H */
177
178 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
179