lan8742.h 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448
  1. /**
  2. ******************************************************************************
  3. * @file lan8742.h
  4. * @author MCD Application Team
  5. * @brief This file contains all the functions prototypes for the
  6. * lan8742.c PHY driver.
  7. ******************************************************************************
  8. * @attention
  9. *
  10. * <h2><center>&copy; Copyright (c) 2017 STMicroelectronics.
  11. * All rights reserved.</center></h2>
  12. *
  13. * This software component is licensed by ST under BSD 3-Clause license,
  14. * the "License"; You may not use this file except in compliance with the
  15. * License. You may obtain a copy of the License at:
  16. * opensource.org/licenses/BSD-3-Clause
  17. *
  18. ******************************************************************************
  19. */
  20. /* Define to prevent recursive inclusion -------------------------------------*/
  21. #ifndef LAN8742_H
  22. #define LAN8742_H
  23. #ifdef __cplusplus
  24. extern "C" {
  25. #endif
  26. /* Includes ------------------------------------------------------------------*/
  27. #include <stdint.h>
  28. /** @addtogroup BSP
  29. * @{
  30. */
  31. /** @addtogroup Component
  32. * @{
  33. */
  34. /** @defgroup LAN8742
  35. * @{
  36. */
  37. /* Exported constants --------------------------------------------------------*/
  38. /** @defgroup LAN8742_Exported_Constants LAN8742 Exported Constants
  39. * @{
  40. */
  41. /** @defgroup LAN8742_Registers_Mapping LAN8742 Registers Mapping
  42. * @{
  43. */
  44. #define LAN8742_BCR ((uint16_t)0x0000U)
  45. #define LAN8742_BSR ((uint16_t)0x0001U)
  46. #define LAN8742_PHYI1R ((uint16_t)0x0002U)
  47. #define LAN8742_PHYI2R ((uint16_t)0x0003U)
  48. #define LAN8742_ANAR ((uint16_t)0x0004U)
  49. #define LAN8742_ANLPAR ((uint16_t)0x0005U)
  50. #define LAN8742_ANER ((uint16_t)0x0006U)
  51. #define LAN8742_ANNPTR ((uint16_t)0x0007U)
  52. #define LAN8742_ANNPRR ((uint16_t)0x0008U)
  53. #define LAN8742_MMDACR ((uint16_t)0x000DU)
  54. #define LAN8742_MMDAADR ((uint16_t)0x000EU)
  55. #define LAN8742_ENCTR ((uint16_t)0x0010U)
  56. #define LAN8742_MCSR ((uint16_t)0x0011U)
  57. #define LAN8742_SMR ((uint16_t)0x0012U)
  58. #define LAN8742_TPDCR ((uint16_t)0x0018U)
  59. #define LAN8742_TCSR ((uint16_t)0x0019U)
  60. #define LAN8742_SECR ((uint16_t)0x001AU)
  61. #define LAN8742_SCSIR ((uint16_t)0x001BU)
  62. #define LAN8742_CLR ((uint16_t)0x001CU)
  63. #define LAN8742_ISFR ((uint16_t)0x001DU)
  64. #define LAN8742_IMR ((uint16_t)0x001EU)
  65. #define LAN8742_PHYSCSR ((uint16_t)0x001FU)
  66. /**
  67. * @}
  68. */
  69. /** @defgroup LAN8742_BCR_Bit_Definition LAN8742 BCR Bit Definition
  70. * @{
  71. */
  72. #define LAN8742_BCR_SOFT_RESET ((uint16_t)0x8000U)
  73. #define LAN8742_BCR_LOOPBACK ((uint16_t)0x4000U)
  74. #define LAN8742_BCR_SPEED_SELECT ((uint16_t)0x2000U)
  75. #define LAN8742_BCR_AUTONEGO_EN ((uint16_t)0x1000U)
  76. #define LAN8742_BCR_POWER_DOWN ((uint16_t)0x0800U)
  77. #define LAN8742_BCR_ISOLATE ((uint16_t)0x0400U)
  78. #define LAN8742_BCR_RESTART_AUTONEGO ((uint16_t)0x0200U)
  79. #define LAN8742_BCR_DUPLEX_MODE ((uint16_t)0x0100U)
  80. /**
  81. * @}
  82. */
  83. /** @defgroup LAN8742_BSR_Bit_Definition LAN8742 BSR Bit Definition
  84. * @{
  85. */
  86. #define LAN8742_BSR_100BASE_T4 ((uint16_t)0x8000U)
  87. #define LAN8742_BSR_100BASE_TX_FD ((uint16_t)0x4000U)
  88. #define LAN8742_BSR_100BASE_TX_HD ((uint16_t)0x2000U)
  89. #define LAN8742_BSR_10BASE_T_FD ((uint16_t)0x1000U)
  90. #define LAN8742_BSR_10BASE_T_HD ((uint16_t)0x0800U)
  91. #define LAN8742_BSR_100BASE_T2_FD ((uint16_t)0x0400U)
  92. #define LAN8742_BSR_100BASE_T2_HD ((uint16_t)0x0200U)
  93. #define LAN8742_BSR_EXTENDED_STATUS ((uint16_t)0x0100U)
  94. #define LAN8742_BSR_AUTONEGO_CPLT ((uint16_t)0x0020U)
  95. #define LAN8742_BSR_REMOTE_FAULT ((uint16_t)0x0010U)
  96. #define LAN8742_BSR_AUTONEGO_ABILITY ((uint16_t)0x0008U)
  97. #define LAN8742_BSR_LINK_STATUS ((uint16_t)0x0004U)
  98. #define LAN8742_BSR_JABBER_DETECT ((uint16_t)0x0002U)
  99. #define LAN8742_BSR_EXTENDED_CAP ((uint16_t)0x0001U)
  100. /**
  101. * @}
  102. */
  103. /** @defgroup LAN8742_PHYI1R_Bit_Definition LAN8742 PHYI1R Bit Definition
  104. * @{
  105. */
  106. #define LAN8742_PHYI1R_OUI_3_18 ((uint16_t)0xFFFFU)
  107. /**
  108. * @}
  109. */
  110. /** @defgroup LAN8742_PHYI2R_Bit_Definition LAN8742 PHYI2R Bit Definition
  111. * @{
  112. */
  113. #define LAN8742_PHYI2R_OUI_19_24 ((uint16_t)0xFC00U)
  114. #define LAN8742_PHYI2R_MODEL_NBR ((uint16_t)0x03F0U)
  115. #define LAN8742_PHYI2R_REVISION_NBR ((uint16_t)0x000FU)
  116. /**
  117. * @}
  118. */
  119. /** @defgroup LAN8742_ANAR_Bit_Definition LAN8742 ANAR Bit Definition
  120. * @{
  121. */
  122. #define LAN8742_ANAR_NEXT_PAGE ((uint16_t)0x8000U)
  123. #define LAN8742_ANAR_REMOTE_FAULT ((uint16_t)0x2000U)
  124. #define LAN8742_ANAR_PAUSE_OPERATION ((uint16_t)0x0C00U)
  125. #define LAN8742_ANAR_PO_NOPAUSE ((uint16_t)0x0000U)
  126. #define LAN8742_ANAR_PO_SYMMETRIC_PAUSE ((uint16_t)0x0400U)
  127. #define LAN8742_ANAR_PO_ASYMMETRIC_PAUSE ((uint16_t)0x0800U)
  128. #define LAN8742_ANAR_PO_ADVERTISE_SUPPORT ((uint16_t)0x0C00U)
  129. #define LAN8742_ANAR_100BASE_TX_FD ((uint16_t)0x0100U)
  130. #define LAN8742_ANAR_100BASE_TX ((uint16_t)0x0080U)
  131. #define LAN8742_ANAR_10BASE_T_FD ((uint16_t)0x0040U)
  132. #define LAN8742_ANAR_10BASE_T ((uint16_t)0x0020U)
  133. #define LAN8742_ANAR_SELECTOR_FIELD ((uint16_t)0x000FU)
  134. /**
  135. * @}
  136. */
  137. /** @defgroup LAN8742_ANLPAR_Bit_Definition LAN8742 ANLPAR Bit Definition
  138. * @{
  139. */
  140. #define LAN8742_ANLPAR_NEXT_PAGE ((uint16_t)0x8000U)
  141. #define LAN8742_ANLPAR_REMOTE_FAULT ((uint16_t)0x2000U)
  142. #define LAN8742_ANLPAR_PAUSE_OPERATION ((uint16_t)0x0C00U)
  143. #define LAN8742_ANLPAR_PO_NOPAUSE ((uint16_t)0x0000U)
  144. #define LAN8742_ANLPAR_PO_SYMMETRIC_PAUSE ((uint16_t)0x0400U)
  145. #define LAN8742_ANLPAR_PO_ASYMMETRIC_PAUSE ((uint16_t)0x0800U)
  146. #define LAN8742_ANLPAR_PO_ADVERTISE_SUPPORT ((uint16_t)0x0C00U)
  147. #define LAN8742_ANLPAR_100BASE_TX_FD ((uint16_t)0x0100U)
  148. #define LAN8742_ANLPAR_100BASE_TX ((uint16_t)0x0080U)
  149. #define LAN8742_ANLPAR_10BASE_T_FD ((uint16_t)0x0040U)
  150. #define LAN8742_ANLPAR_10BASE_T ((uint16_t)0x0020U)
  151. #define LAN8742_ANLPAR_SELECTOR_FIELD ((uint16_t)0x000FU)
  152. /**
  153. * @}
  154. */
  155. /** @defgroup LAN8742_ANER_Bit_Definition LAN8742 ANER Bit Definition
  156. * @{
  157. */
  158. #define LAN8742_ANER_RX_NP_LOCATION_ABLE ((uint16_t)0x0040U)
  159. #define LAN8742_ANER_RX_NP_STORAGE_LOCATION ((uint16_t)0x0020U)
  160. #define LAN8742_ANER_PARALLEL_DETECT_FAULT ((uint16_t)0x0010U)
  161. #define LAN8742_ANER_LP_NP_ABLE ((uint16_t)0x0008U)
  162. #define LAN8742_ANER_NP_ABLE ((uint16_t)0x0004U)
  163. #define LAN8742_ANER_PAGE_RECEIVED ((uint16_t)0x0002U)
  164. #define LAN8742_ANER_LP_AUTONEG_ABLE ((uint16_t)0x0001U)
  165. /**
  166. * @}
  167. */
  168. /** @defgroup LAN8742_ANNPTR_Bit_Definition LAN8742 ANNPTR Bit Definition
  169. * @{
  170. */
  171. #define LAN8742_ANNPTR_NEXT_PAGE ((uint16_t)0x8000U)
  172. #define LAN8742_ANNPTR_MESSAGE_PAGE ((uint16_t)0x2000U)
  173. #define LAN8742_ANNPTR_ACK2 ((uint16_t)0x1000U)
  174. #define LAN8742_ANNPTR_TOGGLE ((uint16_t)0x0800U)
  175. #define LAN8742_ANNPTR_MESSAGGE_CODE ((uint16_t)0x07FFU)
  176. /**
  177. * @}
  178. */
  179. /** @defgroup LAN8742_ANNPRR_Bit_Definition LAN8742 ANNPRR Bit Definition
  180. * @{
  181. */
  182. #define LAN8742_ANNPTR_NEXT_PAGE ((uint16_t)0x8000U)
  183. #define LAN8742_ANNPRR_ACK ((uint16_t)0x4000U)
  184. #define LAN8742_ANNPRR_MESSAGE_PAGE ((uint16_t)0x2000U)
  185. #define LAN8742_ANNPRR_ACK2 ((uint16_t)0x1000U)
  186. #define LAN8742_ANNPRR_TOGGLE ((uint16_t)0x0800U)
  187. #define LAN8742_ANNPRR_MESSAGGE_CODE ((uint16_t)0x07FFU)
  188. /**
  189. * @}
  190. */
  191. /** @defgroup LAN8742_MMDACR_Bit_Definition LAN8742 MMDACR Bit Definition
  192. * @{
  193. */
  194. #define LAN8742_MMDACR_MMD_FUNCTION ((uint16_t)0xC000U)
  195. #define LAN8742_MMDACR_MMD_FUNCTION_ADDR ((uint16_t)0x0000U)
  196. #define LAN8742_MMDACR_MMD_FUNCTION_DATA ((uint16_t)0x4000U)
  197. #define LAN8742_MMDACR_MMD_DEV_ADDR ((uint16_t)0x001FU)
  198. /**
  199. * @}
  200. */
  201. /** @defgroup LAN8742_ENCTR_Bit_Definition LAN8742 ENCTR Bit Definition
  202. * @{
  203. */
  204. #define LAN8742_ENCTR_TX_ENABLE ((uint16_t)0x8000U)
  205. #define LAN8742_ENCTR_TX_TIMER ((uint16_t)0x6000U)
  206. #define LAN8742_ENCTR_TX_TIMER_1S ((uint16_t)0x0000U)
  207. #define LAN8742_ENCTR_TX_TIMER_768MS ((uint16_t)0x2000U)
  208. #define LAN8742_ENCTR_TX_TIMER_512MS ((uint16_t)0x4000U)
  209. #define LAN8742_ENCTR_TX_TIMER_265MS ((uint16_t)0x6000U)
  210. #define LAN8742_ENCTR_RX_ENABLE ((uint16_t)0x1000U)
  211. #define LAN8742_ENCTR_RX_MAX_INTERVAL ((uint16_t)0x0C00U)
  212. #define LAN8742_ENCTR_RX_MAX_INTERVAL_64MS ((uint16_t)0x0000U)
  213. #define LAN8742_ENCTR_RX_MAX_INTERVAL_256MS ((uint16_t)0x0400U)
  214. #define LAN8742_ENCTR_RX_MAX_INTERVAL_512MS ((uint16_t)0x0800U)
  215. #define LAN8742_ENCTR_RX_MAX_INTERVAL_1S ((uint16_t)0x0C00U)
  216. #define LAN8742_ENCTR_EX_CROSS_OVER ((uint16_t)0x0002U)
  217. #define LAN8742_ENCTR_EX_MANUAL_CROSS_OVER ((uint16_t)0x0001U)
  218. /**
  219. * @}
  220. */
  221. /** @defgroup LAN8742_MCSR_Bit_Definition LAN8742 MCSR Bit Definition
  222. * @{
  223. */
  224. #define LAN8742_MCSR_EDPWRDOWN ((uint16_t)0x2000U)
  225. #define LAN8742_MCSR_FARLOOPBACK ((uint16_t)0x0200U)
  226. #define LAN8742_MCSR_ALTINT ((uint16_t)0x0040U)
  227. #define LAN8742_MCSR_ENERGYON ((uint16_t)0x0002U)
  228. /**
  229. * @}
  230. */
  231. /** @defgroup LAN8742_SMR_Bit_Definition LAN8742 SMR Bit Definition
  232. * @{
  233. */
  234. #define LAN8742_SMR_MODE ((uint16_t)0x00E0U)
  235. #define LAN8742_SMR_PHY_ADDR ((uint16_t)0x001FU)
  236. /**
  237. * @}
  238. */
  239. /** @defgroup LAN8742_TPDCR_Bit_Definition LAN8742 TPDCR Bit Definition
  240. * @{
  241. */
  242. #define LAN8742_TPDCR_DELAY_IN ((uint16_t)0x8000U)
  243. #define LAN8742_TPDCR_LINE_BREAK_COUNTER ((uint16_t)0x7000U)
  244. #define LAN8742_TPDCR_PATTERN_HIGH ((uint16_t)0x0FC0U)
  245. #define LAN8742_TPDCR_PATTERN_LOW ((uint16_t)0x003FU)
  246. /**
  247. * @}
  248. */
  249. /** @defgroup LAN8742_TCSR_Bit_Definition LAN8742 TCSR Bit Definition
  250. * @{
  251. */
  252. #define LAN8742_TCSR_TDR_ENABLE ((uint16_t)0x8000U)
  253. #define LAN8742_TCSR_TDR_AD_FILTER_ENABLE ((uint16_t)0x4000U)
  254. #define LAN8742_TCSR_TDR_CH_CABLE_TYPE ((uint16_t)0x0600U)
  255. #define LAN8742_TCSR_TDR_CH_CABLE_DEFAULT ((uint16_t)0x0000U)
  256. #define LAN8742_TCSR_TDR_CH_CABLE_SHORTED ((uint16_t)0x0200U)
  257. #define LAN8742_TCSR_TDR_CH_CABLE_OPEN ((uint16_t)0x0400U)
  258. #define LAN8742_TCSR_TDR_CH_CABLE_MATCH ((uint16_t)0x0600U)
  259. #define LAN8742_TCSR_TDR_CH_STATUS ((uint16_t)0x0100U)
  260. #define LAN8742_TCSR_TDR_CH_LENGTH ((uint16_t)0x00FFU)
  261. /**
  262. * @}
  263. */
  264. /** @defgroup LAN8742_SCSIR_Bit_Definition LAN8742 SCSIR Bit Definition
  265. * @{
  266. */
  267. #define LAN8742_SCSIR_AUTO_MDIX_ENABLE ((uint16_t)0x8000U)
  268. #define LAN8742_SCSIR_CHANNEL_SELECT ((uint16_t)0x2000U)
  269. #define LAN8742_SCSIR_SQE_DISABLE ((uint16_t)0x0800U)
  270. #define LAN8742_SCSIR_XPOLALITY ((uint16_t)0x0010U)
  271. /**
  272. * @}
  273. */
  274. /** @defgroup LAN8742_CLR_Bit_Definition LAN8742 CLR Bit Definition
  275. * @{
  276. */
  277. #define LAN8742_CLR_CABLE_LENGTH ((uint16_t)0xF000U)
  278. /**
  279. * @}
  280. */
  281. /** @defgroup LAN8742_IMR_ISFR_Bit_Definition LAN8742 IMR ISFR Bit Definition
  282. * @{
  283. */
  284. #define LAN8742_INT_8 ((uint16_t)0x0100U)
  285. #define LAN8742_INT_7 ((uint16_t)0x0080U)
  286. #define LAN8742_INT_6 ((uint16_t)0x0040U)
  287. #define LAN8742_INT_5 ((uint16_t)0x0020U)
  288. #define LAN8742_INT_4 ((uint16_t)0x0010U)
  289. #define LAN8742_INT_3 ((uint16_t)0x0008U)
  290. #define LAN8742_INT_2 ((uint16_t)0x0004U)
  291. #define LAN8742_INT_1 ((uint16_t)0x0002U)
  292. /**
  293. * @}
  294. */
  295. /** @defgroup LAN8742_PHYSCSR_Bit_Definition LAN8742 PHYSCSR Bit Definition
  296. * @{
  297. */
  298. #define LAN8742_PHYSCSR_AUTONEGO_DONE ((uint16_t)0x1000U)
  299. #define LAN8742_PHYSCSR_HCDSPEEDMASK ((uint16_t)0x001CU)
  300. #define LAN8742_PHYSCSR_10BT_HD ((uint16_t)0x0004U)
  301. #define LAN8742_PHYSCSR_10BT_FD ((uint16_t)0x0014U)
  302. #define LAN8742_PHYSCSR_100BTX_HD ((uint16_t)0x0008U)
  303. #define LAN8742_PHYSCSR_100BTX_FD ((uint16_t)0x0018U)
  304. /**
  305. * @}
  306. */
  307. /** @defgroup LAN8742_Status LAN8742 Status
  308. * @{
  309. */
  310. #define LAN8742_STATUS_READ_ERROR ((int32_t)-5)
  311. #define LAN8742_STATUS_WRITE_ERROR ((int32_t)-4)
  312. #define LAN8742_STATUS_ADDRESS_ERROR ((int32_t)-3)
  313. #define LAN8742_STATUS_RESET_TIMEOUT ((int32_t)-2)
  314. #define LAN8742_STATUS_ERROR ((int32_t)-1)
  315. #define LAN8742_STATUS_OK ((int32_t) 0)
  316. #define LAN8742_STATUS_LINK_DOWN ((int32_t) 1)
  317. #define LAN8742_STATUS_100MBITS_FULLDUPLEX ((int32_t) 2)
  318. #define LAN8742_STATUS_100MBITS_HALFDUPLEX ((int32_t) 3)
  319. #define LAN8742_STATUS_10MBITS_FULLDUPLEX ((int32_t) 4)
  320. #define LAN8742_STATUS_10MBITS_HALFDUPLEX ((int32_t) 5)
  321. #define LAN8742_STATUS_AUTONEGO_NOTDONE ((int32_t) 6)
  322. /**
  323. * @}
  324. */
  325. /** @defgroup LAN8742_IT_Flags LAN8742 IT Flags
  326. * @{
  327. */
  328. #define LAN8742_WOL_IT LAN8742_INT_8
  329. #define LAN8742_ENERGYON_IT LAN8742_INT_7
  330. #define LAN8742_AUTONEGO_COMPLETE_IT LAN8742_INT_6
  331. #define LAN8742_REMOTE_FAULT_IT LAN8742_INT_5
  332. #define LAN8742_LINK_DOWN_IT LAN8742_INT_4
  333. #define LAN8742_AUTONEGO_LP_ACK_IT LAN8742_INT_3
  334. #define LAN8742_PARALLEL_DETECTION_FAULT_IT LAN8742_INT_2
  335. #define LAN8742_AUTONEGO_PAGE_RECEIVED_IT LAN8742_INT_1
  336. /**
  337. * @}
  338. */
  339. /**
  340. * @}
  341. */
  342. /* Exported types ------------------------------------------------------------*/
  343. /** @defgroup LAN8742_Exported_Types LAN8742 Exported Types
  344. * @{
  345. */
  346. typedef int32_t (*lan8742_Init_Func) (void);
  347. typedef int32_t (*lan8742_DeInit_Func) (void);
  348. typedef int32_t (*lan8742_ReadReg_Func) (uint32_t, uint32_t, uint32_t *);
  349. typedef int32_t (*lan8742_WriteReg_Func) (uint32_t, uint32_t, uint32_t);
  350. typedef int32_t (*lan8742_GetTick_Func) (void);
  351. typedef struct
  352. {
  353. lan8742_Init_Func Init;
  354. lan8742_DeInit_Func DeInit;
  355. lan8742_WriteReg_Func WriteReg;
  356. lan8742_ReadReg_Func ReadReg;
  357. lan8742_GetTick_Func GetTick;
  358. } lan8742_IOCtx_t;
  359. typedef struct
  360. {
  361. uint32_t DevAddr;
  362. uint32_t Is_Initialized;
  363. lan8742_IOCtx_t IO;
  364. void *pData;
  365. }lan8742_Object_t;
  366. /**
  367. * @}
  368. */
  369. /* Exported macro ------------------------------------------------------------*/
  370. /* Exported functions --------------------------------------------------------*/
  371. /** @defgroup LAN8742_Exported_Functions LAN8742 Exported Functions
  372. * @{
  373. */
  374. int32_t LAN8742_RegisterBusIO(lan8742_Object_t *pObj, lan8742_IOCtx_t *ioctx);
  375. int32_t LAN8742_Init(lan8742_Object_t *pObj);
  376. int32_t LAN8742_DeInit(lan8742_Object_t *pObj);
  377. int32_t LAN8742_DisablePowerDownMode(lan8742_Object_t *pObj);
  378. int32_t LAN8742_EnablePowerDownMode(lan8742_Object_t *pObj);
  379. int32_t LAN8742_StartAutoNego(lan8742_Object_t *pObj);
  380. int32_t LAN8742_GetLinkState(lan8742_Object_t *pObj);
  381. int32_t LAN8742_SetLinkState(lan8742_Object_t *pObj, uint32_t LinkState);
  382. int32_t LAN8742_EnableLoopbackMode(lan8742_Object_t *pObj);
  383. int32_t LAN8742_DisableLoopbackMode(lan8742_Object_t *pObj);
  384. int32_t LAN8742_EnableIT(lan8742_Object_t *pObj, uint32_t Interrupt);
  385. int32_t LAN8742_DisableIT(lan8742_Object_t *pObj, uint32_t Interrupt);
  386. int32_t LAN8742_ClearIT(lan8742_Object_t *pObj, uint32_t Interrupt);
  387. int32_t LAN8742_GetITStatus(lan8742_Object_t *pObj, uint32_t Interrupt);
  388. /**
  389. * @}
  390. */
  391. #ifdef __cplusplus
  392. }
  393. #endif
  394. #endif /* LAN8742_H */
  395. /**
  396. * @}
  397. */
  398. /**
  399. * @}
  400. */
  401. /**
  402. * @}
  403. */
  404. /**
  405. * @}
  406. */
  407. /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/