| LPCOpen Platform v1.03 LPCOpen Platform for NXP LPC Microcontrollers

- Main Page
- Modules
- Data Structures
- Files
- Related Pages

- File List
- Globals

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
enet_18xx_43xx.h
Go to the documentation of this file.
1 /*
2 * @brief LPC18xx/43xx ethernet driver
3 *
4 * @note
5 * Copyright(C) NXP Semiconductors, 2012
6 * All rights reserved.
7 *
8 * @par
9 * Software that is described herein is for illustrative purposes only
10 * which provides customers with programming information regarding the
11 * LPC products. This software is supplied "AS IS" without any warranties of
12 * any kind, and NXP Semiconductors and its licensor disclaim any and
13 * all warranties, express or implied, including all implied warranties of
14 * merchantability, fitness for a particular purpose and non-infringement of
15 * intellectual property rights. NXP Semiconductors assumes no responsibility
16 * or liability for the use of the software, conveys no license or rights under any
17 * patent, copyright, mask work right, or any other intellectual property rights in
18 * or to any products. NXP Semiconductors reserves the right to make changes
19 * in the software without notification. NXP Semiconductors also makes no
20 * representation or warranty that such application will be suitable for the
21 * specified use without further testing or modification.
22 *
23 * @par
24 * Permission to use, copy, modify, and distribute this software and its
25 * documentation is hereby granted, under NXP Semiconductors' and its
26 * licensor's relevant copyrights in the software, without fee, provided that it
27 * is used in conjunction with NXP Semiconductors microcontrollers. This
28 * copyright, permission, and disclaimer notice must appear in all copies of
29 * this code.
30 */
31
32 #ifndef __ENET_18XX_43XX_H_
33 #define __ENET_18XX_43XX_H_
34
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38
65 STATIC INLINE void Chip_ENET_Reset(LPC_ENET_T *pENET)
66 {
67 IP_ENET_Reset(pENET);
68 }
69
76 STATIC INLINE void Chip_ENET_SetADDR(LPC_ENET_T *pENET, const uint8_t *macAddr)
77 {
78 IP_ENET_SetADDR(pENET, macAddr);
79 }
80
88 STATIC INLINE void Chip_ENET_SetupMII(LPC_ENET_T *pENET, uint32_t div, uint8_t addr)
89 {
90 IP_ENET_SetupMII(pENET, div, addr);
91 }
92
102 STATIC INLINE void Chip_ENET_StartMIIWrite(LPC_ENET_T *pENET, uint8_t reg, uint16_t data)
103 {
104 IP_ENET_StartMIIWrite(pENET, reg, data);
105 }
106
116 STATIC INLINE void Chip_ENET_StartMIIRead(LPC_ENET_T *pENET, uint8_t reg)
117 {
118 IP_ENET_StartMIIRead(pENET, reg);
119 }
120
126 STATIC INLINE bool Chip_ENET_IsMIIBusy(LPC_ENET_T *pENET)
127 {
128 return IP_ENET_IsMIIBusy(pENET);
129 }
130
136 STATIC INLINE uint16_t Chip_ENET_ReadMIIData(LPC_ENET_T *pENET)
137 {
138 return IP_ENET_ReadMIIData(pENET);
139 }
140
146 STATIC INLINE void Chip_ENET_TXEnable(LPC_ENET_T *pENET)
147 {
148 IP_ENET_TXEnable(pENET);
149 }
150
156 STATIC INLINE void Chip_ENET_TXDisable(LPC_ENET_T *pENET)
157 {
158 IP_ENET_TXDisable(pENET);
159 }
160
166 STATIC INLINE void Chip_ENET_RXEnable(LPC_ENET_T *pENET)
167 {
168 IP_ENET_RXEnable(pENET);
169 }
170
176 STATIC INLINE void Chip_ENET_RXDisable(LPC_ENET_T *pENET)
177 {
178 IP_ENET_RXDisable(pENET);
179 }
180
187 STATIC INLINE void Chip_ENET_SetDuplex(LPC_ENET_T *pENET, bool full)
188 {
189 IP_ENET_SetDuplex(pENET, full);
190 }
191
198 STATIC INLINE void Chip_ENET_SetSpeed(LPC_ENET_T *pENET, bool speed100)
199 {
200 IP_ENET_SetSpeed(pENET, speed100);
201 }
202
210 STATIC INLINE void Chip_ENET_InitDescriptors(LPC_ENET_T *pENET,
211 IP_ENET_001_ENHTXDESC_T *pTXDescs, IP_ENET_001_ENHRXDESC_T *pRXDescs)
212 {
213 IP_ENET_InitDescriptors(pENET, pTXDescs, pRXDescs);
214 }
215
221 STATIC INLINE void Chip_ENET_RXStart(LPC_ENET_T *pENET)
222 {
223 IP_ENET_RXStart(pENET);
224 }
225
231 STATIC INLINE void Chip_ENET_TXStart(LPC_ENET_T *pENET)
232 {
233 IP_ENET_TXStart(pENET);
234 }
235
244 void Chip_ENET_Init(LPC_ENET_T *pENET);
245
251 void Chip_ENET_DeInit(LPC_ENET_T *pENET);
252
257 #ifdef __cplusplus
258 }
259 #endif
260
261 #endif /* __ENET_18XX_43XX_H_ */