HPM SDK
HPMicro Software Development Kit
hpm_lan8720.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2024 HPMicro
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  *
6  */
7 
8 #ifndef HPM_LAN8720_H
9 #define HPM_LAN8720_H
10 
11 /*---------------------------------------------------------------------
12  * Includes
13  *---------------------------------------------------------------------
14  */
15 #include "hpm_enet_phy.h"
16 #include "hpm_common.h"
17 #include "hpm_enet_regs.h"
18 /*---------------------------------------------------------------------
19  * Macro Const Definitions
20  *---------------------------------------------------------------------
21  */
22 #ifndef LAN8720_ADDR
23 #define LAN8720_ADDR (0U)
24 #endif
25 
26 #define LAN8720_ID1 (0x0007U)
27 #define LAN8720_ID2 (0x30U)
28 
29 /*---------------------------------------------------------------------
30  * Typedef Struct Declarations
31  *---------------------------------------------------------------------
32  */
33 typedef struct {
34  bool loopback;
35  uint8_t speed;
37  uint8_t duplex;
39 
40 #if defined(__cplusplus)
41 extern "C" {
42 #endif /* __cplusplus */
43 /*---------------------------------------------------------------------
44  * Exported Functions
45  *---------------------------------------------------------------------
46  */
47 void lan8720_reset(ENET_Type *ptr);
51 
52 #if defined(__cplusplus)
53 }
54 #endif /* __cplusplus */
55 #endif /* HPM_LAN8720_H */
void lan8720_basic_mode_default_config(ENET_Type *ptr, lan8720_config_t *config)
Definition: hpm_lan8720.c:51
bool lan8720_basic_mode_init(ENET_Type *ptr, lan8720_config_t *config)
Definition: hpm_lan8720.c:63
void lan8720_reset(ENET_Type *ptr)
Definition: hpm_lan8720.c:38
void lan8720_get_phy_status(ENET_Type *ptr, enet_phy_status_t *status)
Definition: hpm_lan8720.c:89
Definition: hpm_enet_regs.h:12
Definition: hpm_enet_phy.h:34
Definition: hpm_lan8720.h:33
uint8_t speed
Definition: hpm_lan8720.h:35
bool loopback
Definition: hpm_lan8720.h:34
uint8_t duplex
Definition: hpm_lan8720.h:37
bool auto_negotiation
Definition: hpm_lan8720.h:36