]> git.sur5r.net Git - freertos/blob - Demo/CORTEX_Kinetis_K60_Tower_IAR/Freescale_Code/drivers/enet/enet.h
Start to re-arrange files to include FreeRTOS+ in main download.
[freertos] / Demo / CORTEX_Kinetis_K60_Tower_IAR / Freescale_Code / drivers / enet / enet.h
1 /*\r
2  * File:    enet.h\r
3  * Purpose: Driver for the ENET controller\r
4  *\r
5  * Notes:       \r
6  */\r
7 \r
8 #ifndef _ENET_H_\r
9 #define _ENET_H_\r
10 \r
11 #include "nbuf.h"\r
12 \r
13 /********INTERFACE**********/\r
14 typedef enum {\r
15   mac_mii,\r
16   mac_rmii,\r
17 } ENET_INTERFACE;\r
18 /********AUTONEG**********/\r
19 typedef enum {\r
20   autoneg_on,\r
21   autoneg_off\r
22 } ENET_AUTONEG;\r
23 /********SPEED**********/\r
24 typedef enum {\r
25         MII_10BASET,\r
26         MII_100BASET\r
27 } ENET_SPEED;\r
28 /********DUPLEX**********/\r
29 /* MII Duplex Settings */\r
30 typedef enum {\r
31         MII_HDX,                /*!< half-duplex */\r
32         MII_FDX                 /*!< full-duplex */\r
33 } ENET_DUPLEX;\r
34 /********LOOPBACK**********/\r
35 typedef enum {\r
36         INTERNAL_LOOPBACK,\r
37         EXTERNAL_LOOPBACK,\r
38         NO_LOOPBACK\r
39 } ENET_LOOPBACK;\r
40 /********EXTERNAL**********/\r
41 typedef enum {\r
42         EXTERNAL_NONE,\r
43         EXTERNAL_YES\r
44 } ENET_EXTERNAL_CONN;\r
45 \r
46 /*\r
47  * FEC Configuration Parameters\r
48  */\r
49 typedef struct \r
50 {\r
51     uint8_t             ch;            /* FEC channel       */\r
52     ENET_INTERFACE      interface;     /* Transceiver mode  */\r
53     ENET_AUTONEG        neg;           /* FEC autoneg */\r
54     ENET_SPEED          speed;         /* Ethernet Speed           */\r
55     ENET_DUPLEX         duplex;        /* Ethernet Duplex          */\r
56     ENET_LOOPBACK       loopback;      /* Loopback Mode */\r
57     ENET_EXTERNAL_CONN  external;      /* outside test? */\r
58     uint8_t             prom;     /* Promiscuous Mode?        */\r
59     uint8_t             mac[6];   /* Ethernet Address         */\r
60 } ENET_CONFIG;\r
61 \r
62 void\r
63 enet_mib_init(int);\r
64 \r
65 void\r
66 enet_mib_dump(int);\r
67 \r
68 void\r
69 enet_reg_dump(int);\r
70 \r
71 void\r
72 enet_duplex (int, ENET_DUPLEX);\r
73 \r
74 uint8_t\r
75 enet_hash_address(const uint8_t*);\r
76 \r
77 void\r
78 enet_set_address (int, const uint8_t*);\r
79 \r
80 void\r
81 enet_reset (int);\r
82 \r
83 void\r
84 enet_init (ENET_CONFIG *config);\r
85 \r
86 void\r
87 enet_start (int ch);\r
88 \r
89 int \r
90 enet_wait_for_frame_receive(int,int);\r
91 \r
92 \r
93 /********************************************************************/\r
94 \r
95 #endif /* _ENET_H_ */\r