Zephyr API Documentation
4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
mii.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2016 Piotr Mienkowski
3
* Copyright 2022 NXP
4
*
5
* SPDX-License-Identifier: Apache-2.0
6
*/
7
13
14
#ifndef ZEPHYR_INCLUDE_NET_MII_H_
15
#define ZEPHYR_INCLUDE_NET_MII_H_
16
17
#include <
zephyr/sys/util_macro.h
>
18
27
33
#define MII_BMCR 0x0
35
#define MII_BMSR 0x1
37
#define MII_PHYID1R 0x2
39
#define MII_PHYID2R 0x3
41
#define MII_ANAR 0x4
43
#define MII_ANLPAR 0x5
45
#define MII_ANER 0x6
47
#define MII_ANNPTR 0x7
49
#define MII_ANLPRNPR 0x8
51
#define MII_1KTCR 0x9
53
#define MII_1KSTSR 0xa
55
#define MII_MMD_ACR 0xd
57
#define MII_MMD_AADR 0xe
59
#define MII_ESTAT 0xf
61
67
#define MII_BMCR_RESET_BIT 15
69
#define MII_BMCR_LOOPBACK_BIT 14
71
#define MII_BMCR_SPEED_LSB_BIT 13
73
#define MII_BMCR_AUTONEG_ENABLE_BIT 12
75
#define MII_BMCR_POWER_DOWN_BIT 11
77
#define MII_BMCR_ISOLATE_BIT 10
79
#define MII_BMCR_AUTONEG_RESTART_BIT 9
81
#define MII_BMCR_DUPLEX_MODE_BIT 8
83
#define MII_BMCR_SPEED_MSB_BIT 6
85
#define MII_BMCR_RESET BIT(MII_BMCR_RESET_BIT)
87
#define MII_BMCR_LOOPBACK BIT(MII_BMCR_LOOPBACK_BIT)
89
#define MII_BMCR_SPEED_LSB BIT(MII_BMCR_SPEED_LSB_BIT)
91
#define MII_BMCR_AUTONEG_ENABLE BIT(MII_BMCR_AUTONEG_ENABLE_BIT)
93
#define MII_BMCR_POWER_DOWN BIT(MII_BMCR_POWER_DOWN_BIT)
95
#define MII_BMCR_ISOLATE BIT(MII_BMCR_ISOLATE_BIT)
97
#define MII_BMCR_AUTONEG_RESTART BIT(MII_BMCR_AUTONEG_RESTART_BIT)
99
#define MII_BMCR_DUPLEX_MODE BIT(MII_BMCR_DUPLEX_MODE_BIT)
101
#define MII_BMCR_SPEED_MSB BIT(MII_BMCR_SPEED_MSB_BIT)
103
#define MII_BMCR_SPEED_MASK (MII_BMCR_SPEED_MSB | MII_BMCR_SPEED_LSB)
105
#define MII_BMCR_SPEED_10 0
107
#define MII_BMCR_SPEED_100 BIT(MII_BMCR_SPEED_LSB_BIT)
109
#define MII_BMCR_SPEED_1000 BIT(MII_BMCR_SPEED_MSB_BIT)
111
117
#define MII_BMSR_100BASE_T4_BIT 15
119
#define MII_BMSR_100BASE_X_FULL_BIT 14
121
#define MII_BMSR_100BASE_X_HALF_BIT 13
123
#define MII_BMSR_10_FULL_BIT 12
125
#define MII_BMSR_10_HALF_BIT 11
127
#define MII_BMSR_100BASE_T2_FULL_BIT 10
129
#define MII_BMSR_100BASE_T2_HALF_BIT 9
131
#define MII_BMSR_EXTEND_STATUS_BIT 8
133
#define MII_BMSR_MF_PREAMB_SUPPR_BIT 6
135
#define MII_BMSR_AUTONEG_COMPLETE_BIT 5
137
#define MII_BMSR_REMOTE_FAULT_BIT 4
139
#define MII_BMSR_AUTONEG_ABILITY_BIT 3
141
#define MII_BMSR_LINK_STATUS_BIT 2
143
#define MII_BMSR_JABBER_DETECT_BIT 1
145
#define MII_BMSR_EXTEND_CAPAB_BIT 0
147
#define MII_BMSR_100BASE_T4 BIT(MII_BMSR_100BASE_T4_BIT)
149
#define MII_BMSR_100BASE_X_FULL BIT(MII_BMSR_100BASE_X_FULL_BIT)
151
#define MII_BMSR_100BASE_X_HALF BIT(MII_BMSR_100BASE_X_HALF_BIT)
153
#define MII_BMSR_10_FULL BIT(MII_BMSR_10_FULL_BIT)
155
#define MII_BMSR_10_HALF BIT(MII_BMSR_10_HALF_BIT)
157
#define MII_BMSR_100BASE_T2_FULL BIT(MII_BMSR_100BASE_T2_FULL_BIT)
159
#define MII_BMSR_100BASE_T2_HALF BIT(MII_BMSR_100BASE_T2_HALF_BIT)
161
#define MII_BMSR_EXTEND_STATUS BIT(MII_BMSR_EXTEND_STATUS_BIT)
163
#define MII_BMSR_MF_PREAMB_SUPPR BIT(MII_BMSR_MF_PREAMB_SUPPR_BIT)
165
#define MII_BMSR_AUTONEG_COMPLETE BIT(MII_BMSR_AUTONEG_COMPLETE_BIT)
167
#define MII_BMSR_REMOTE_FAULT BIT(MII_BMSR_REMOTE_FAULT_BIT)
169
#define MII_BMSR_AUTONEG_ABILITY BIT(MII_BMSR_AUTONEG_ABILITY_BIT)
171
#define MII_BMSR_LINK_STATUS BIT(MII_BMSR_LINK_STATUS_BIT)
173
#define MII_BMSR_JABBER_DETECT BIT(MII_BMSR_JABBER_DETECT_BIT)
175
#define MII_BMSR_EXTEND_CAPAB BIT(MII_BMSR_EXTEND_CAPAB_BIT)
177
184
#define MII_ADVERTISE_NEXT_PAGE_BIT 15
186
#define MII_ADVERTISE_LPACK_BIT 14
188
#define MII_ADVERTISE_REMOTE_FAULT_BIT 13
190
#define MII_ADVERTISE_ASYM_PAUSE_BIT 11
192
#define MII_ADVERTISE_PAUSE_BIT 10
194
#define MII_ADVERTISE_100BASE_T4_BIT 9
196
#define MII_ADVERTISE_100_FULL_BIT 8
198
#define MII_ADVERTISE_100_HALF_BIT 7
200
#define MII_ADVERTISE_10_FULL_BIT 6
202
#define MII_ADVERTISE_10_HALF_BIT 5
204
#define MII_ADVERTISE_NEXT_PAGE BIT(MII_ADVERTISE_NEXT_PAGE_BIT)
206
#define MII_ADVERTISE_LPACK BIT(MII_ADVERTISE_LPACK_BIT)
208
#define MII_ADVERTISE_REMOTE_FAULT BIT(MII_ADVERTISE_REMOTE_FAULT_BIT)
210
#define MII_ADVERTISE_ASYM_PAUSE BIT(MII_ADVERTISE_ASYM_PAUSE_BIT)
212
#define MII_ADVERTISE_PAUSE BIT(MII_ADVERTISE_PAUSE_BIT)
214
#define MII_ADVERTISE_100BASE_T4 BIT(MII_ADVERTISE_100BASE_T4_BIT)
216
#define MII_ADVERTISE_100_FULL BIT(MII_ADVERTISE_100_FULL_BIT)
218
#define MII_ADVERTISE_100_HALF BIT(MII_ADVERTISE_100_HALF_BIT)
220
#define MII_ADVERTISE_10_FULL BIT(MII_ADVERTISE_10_FULL_BIT)
222
#define MII_ADVERTISE_10_HALF BIT(MII_ADVERTISE_10_HALF_BIT)
224
#define MII_ADVERTISE_SEL_MASK (0x1F << 0)
226
#define MII_ADVERTISE_SEL_IEEE_802_3 0x01
228
234
#define MII_ADVERTISE_1000_FULL_BIT 9
236
#define MII_ADVERTISE_1000_HALF_BIT 8
238
#define MII_ADVERTISE_1000_FULL BIT(MII_ADVERTISE_1000_FULL_BIT)
240
#define MII_ADVERTISE_1000_HALF BIT(MII_ADVERTISE_1000_HALF_BIT)
242
244
#define MII_ADVERTISE_ALL (MII_ADVERTISE_10_HALF | MII_ADVERTISE_10_FULL |\
245
MII_ADVERTISE_100_HALF | MII_ADVERTISE_100_FULL |\
246
MII_ADVERTISE_SEL_IEEE_802_3)
247
253
#define MII_ESTAT_1000BASE_X_FULL BIT(15)
255
#define MII_ESTAT_1000BASE_X_HALF BIT(14)
257
#define MII_ESTAT_1000BASE_T_FULL BIT(13)
259
#define MII_ESTAT_1000BASE_T_HALF BIT(12)
261
267
#define MII_MMD_ACR_DEVAD_MASK (0x1F << 0)
269
#define MII_MMD_ACR_ADDR (0x00 << 14)
271
#define MII_MMD_ACR_DATA_NO_POS_INC (0x01 << 14)
273
#define MII_MMD_ACR_DATA_RW_POS_INC (0x10 << 14)
275
#define MII_MMD_ACR_DATA_W_POS_INC (0x11 << 14)
277
281
282
#endif
/* ZEPHYR_INCLUDE_NET_MII_H_ */
util_macro.h
Macro utilities.
zephyr
net
mii.h
Generated on
for Zephyr API Documentation by
1.16.1