Zephyr API Documentation
4.2.0-rc3
A Scalable Open Source RTOS
4.2.0-rc3
Toggle main menu visibility
Main Page
Related Pages
Topics
Data Structures
Data Structures
Data Structure Index
Data Fields
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
Enumerator
Files
File List
Globals
All
$
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
$
a
b
c
d
f
g
h
i
k
l
m
n
o
p
r
s
t
u
x
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
z
Macros
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Zephyr API Documentation
Introduction
Deprecated List
Topics
Data Structures
Files
File List
doc
kernel
lib
modules
subsys
zephyr
acpi
app_memory
arch
audio
bluetooth
canbus
console
crypto
data
debug
devicetree
dfu
display
drivers
dsp
dt-bindings
fs
input
internal
ipc
kernel
linker
llext
logging
lorawan
math
mem_mgmt
mgmt
misc
modbus
modem
multi_heap
net
conn_mgr
hdlc_rcp_if
http
prometheus
canbus.h
capture.h
coap.h
coap_client.h
coap_link_format.h
coap_mgmt.h
coap_service.h
conn_mgr_connectivity.h
conn_mgr_connectivity_impl.h
conn_mgr_monitor.h
dhcpv4.h
dhcpv4_server.h
dhcpv6.h
dns_resolve.h
dns_sd.h
dsa.h
dsa_core.h
dummy.h
ethernet.h
ethernet_bridge.h
ethernet_mgmt.h
ethernet_vlan.h
gptp.h
hostname.h
icmp.h
ieee802154.h
ieee802154_ie.h
ieee802154_mgmt.h
ieee802154_pkt.h
ieee802154_radio.h
ieee802154_radio_openthread.h
igmp.h
ipv4_autoconf.h
lldp.h
loopback.h
lwm2m.h
lwm2m_path.h
mdio.h
mdns_responder.h
mii.h
mld.h
mqtt.h
mqtt_sn.h
net_config.h
net_context.h
net_core.h
net_event.h
net_if.h
net_ip.h
net_l2.h
net_linkaddr.h
net_mgmt.h
net_offload.h
net_pkt.h
net_pkt_filter.h
net_stats.h
net_time.h
net_timeout.h
offloaded_netdev.h
openthread.h
phy.h
ppp.h
promiscuous.h
ptp.h
ptp_time.h
sntp.h
socket.h
socket_net_mgmt.h
socket_offload.h
socket_poll.h
socket_select.h
socket_service.h
socket_types.h
socketcan.h
socketcan_utils.h
socketutils.h
tftp.h
tls_credentials.h
trickle.h
udp.h
virtual.h
virtual_mgmt.h
websocket.h
wifi.h
wifi_credentials.h
wifi_mgmt.h
wifi_nm.h
wifi_utils.h
zperf.h
platform
pm
pmci
portability
posix
psa
random
retention
rtio
sd
sensing
settings
shell
sip_svc
stats
storage
sys
task_wdt
timing
toolchain
tracing
usb
usb_c
xen
zbus
zvfs
bindesc.h
cache.h
device.h
devicetree.h
fatal.h
fatal_types.h
init.h
irq.h
irq_multilevel.h
irq_nextlevel.h
irq_offload.h
kernel.h
kernel_includes.h
kernel_structs.h
kernel_version.h
net_buf.h
service.h
shared_irq.h
smf.h
spinlock.h
sw_isr_table.h
sys_clock.h
syscall.h
toolchain.h
types.h
Globals
•
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Modules
Pages
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
11
12
#ifndef ZEPHYR_INCLUDE_NET_MII_H_
13
#define ZEPHYR_INCLUDE_NET_MII_H_
14
15
#include <
zephyr/sys/util_macro.h
>
16
25
26
/* MII management registers */
28
#define MII_BMCR 0x0
30
#define MII_BMSR 0x1
32
#define MII_PHYID1R 0x2
34
#define MII_PHYID2R 0x3
36
#define MII_ANAR 0x4
38
#define MII_ANLPAR 0x5
40
#define MII_ANER 0x6
42
#define MII_ANNPTR 0x7
44
#define MII_ANLPRNPR 0x8
46
#define MII_1KTCR 0x9
48
#define MII_1KSTSR 0xa
50
#define MII_MMD_ACR 0xd
52
#define MII_MMD_AADR 0xe
54
#define MII_ESTAT 0xf
55
56
/* Basic Mode Control Register (BMCR) bit definitions */
57
#define MII_BMCR_RESET_BIT 15
58
#define MII_BMCR_LOOPBACK_BIT 14
59
#define MII_BMCR_SPEED_LSB_BIT 13
60
#define MII_BMCR_AUTONEG_ENABLE_BIT 12
61
#define MII_BMCR_POWER_DOWN_BIT 11
62
#define MII_BMCR_ISOLATE_BIT 10
63
#define MII_BMCR_AUTONEG_RESTART_BIT 9
64
#define MII_BMCR_DUPLEX_MODE_BIT 8
65
#define MII_BMCR_SPEED_MSB_BIT 6
67
#define MII_BMCR_RESET BIT(MII_BMCR_RESET_BIT)
69
#define MII_BMCR_LOOPBACK BIT(MII_BMCR_LOOPBACK_BIT)
71
#define MII_BMCR_SPEED_LSB BIT(MII_BMCR_SPEED_LSB_BIT)
73
#define MII_BMCR_AUTONEG_ENABLE BIT(MII_BMCR_AUTONEG_ENABLE_BIT)
75
#define MII_BMCR_POWER_DOWN BIT(MII_BMCR_POWER_DOWN_BIT)
77
#define MII_BMCR_ISOLATE BIT(MII_BMCR_ISOLATE_BIT)
79
#define MII_BMCR_AUTONEG_RESTART BIT(MII_BMCR_AUTONEG_RESTART_BIT)
81
#define MII_BMCR_DUPLEX_MODE BIT(MII_BMCR_DUPLEX_MODE_BIT)
83
#define MII_BMCR_SPEED_MSB BIT(MII_BMCR_SPEED_MSB_BIT)
85
#define MII_BMCR_SPEED_MASK (MII_BMCR_SPEED_MSB | MII_BMCR_SPEED_LSB)
87
#define MII_BMCR_SPEED_10 0
89
#define MII_BMCR_SPEED_100 BIT(MII_BMCR_SPEED_LSB_BIT)
91
#define MII_BMCR_SPEED_1000 BIT(MII_BMCR_SPEED_MSB_BIT)
92
93
/* Basic Mode Status Register (BMSR) bit definitions */
95
#define MII_BMSR_100BASE_T4 BIT(15)
97
#define MII_BMSR_100BASE_X_FULL BIT(14)
99
#define MII_BMSR_100BASE_X_HALF BIT(13)
101
#define MII_BMSR_10_FULL BIT(12)
103
#define MII_BMSR_10_HALF BIT(11)
105
#define MII_BMSR_100BASE_T2_FULL BIT(10)
107
#define MII_BMSR_100BASE_T2_HALF BIT(9)
109
#define MII_BMSR_EXTEND_STATUS BIT(8)
111
#define MII_BMSR_MF_PREAMB_SUPPR BIT(6)
113
#define MII_BMSR_AUTONEG_COMPLETE BIT(5)
115
#define MII_BMSR_REMOTE_FAULT BIT(4)
117
#define MII_BMSR_AUTONEG_ABILITY BIT(3)
119
#define MII_BMSR_LINK_STATUS BIT(2)
121
#define MII_BMSR_JABBER_DETECT BIT(1)
123
#define MII_BMSR_EXTEND_CAPAB BIT(0)
124
125
/* Auto-negotiation Advertisement Register (ANAR) bit definitions */
126
/* Auto-negotiation Link Partner Ability Register (ANLPAR) bit definitions */
127
#define MII_ADVERTISE_NEXT_PAGE_BIT 15
128
#define MII_ADVERTISE_LPACK_BIT 14
129
#define MII_ADVERTISE_REMOTE_FAULT_BIT 13
130
#define MII_ADVERTISE_ASYM_PAUSE_BIT 11
131
#define MII_ADVERTISE_PAUSE_BIT 10
132
#define MII_ADVERTISE_100BASE_T4_BIT 9
133
#define MII_ADVERTISE_100_FULL_BIT 8
134
#define MII_ADVERTISE_100_HALF_BIT 7
135
#define MII_ADVERTISE_10_FULL_BIT 6
136
#define MII_ADVERTISE_10_HALF_BIT 5
138
#define MII_ADVERTISE_NEXT_PAGE BIT(MII_ADVERTISE_NEXT_PAGE_BIT)
140
#define MII_ADVERTISE_LPACK BIT(MII_ADVERTISE_LPACK_BIT)
142
#define MII_ADVERTISE_REMOTE_FAULT BIT(MII_ADVERTISE_REMOTE_FAULT_BIT)
144
#define MII_ADVERTISE_ASYM_PAUSE BIT(MII_ADVERTISE_ASYM_PAUSE_BIT)
146
#define MII_ADVERTISE_PAUSE BIT(MII_ADVERTISE_PAUSE_BIT)
148
#define MII_ADVERTISE_100BASE_T4 BIT(MII_ADVERTISE_100BASE_T4_BIT)
150
#define MII_ADVERTISE_100_FULL BIT(MII_ADVERTISE_100_FULL_BIT)
152
#define MII_ADVERTISE_100_HALF BIT(MII_ADVERTISE_100_HALF_BIT)
154
#define MII_ADVERTISE_10_FULL BIT(MII_ADVERTISE_10_FULL_BIT)
156
#define MII_ADVERTISE_10_HALF BIT(MII_ADVERTISE_10_HALF_BIT)
158
#define MII_ADVERTISE_SEL_MASK (0x1F << 0)
160
#define MII_ADVERTISE_SEL_IEEE_802_3 0x01
161
162
/* 1000BASE-T Control Register bit definitions */
163
#define MII_ADVERTISE_1000_FULL_BIT 9
164
#define MII_ADVERTISE_1000_HALF_BIT 8
166
#define MII_ADVERTISE_1000_FULL BIT(MII_ADVERTISE_1000_FULL_BIT)
168
#define MII_ADVERTISE_1000_HALF BIT(MII_ADVERTISE_1000_HALF_BIT)
169
171
#define MII_ADVERTISE_ALL (MII_ADVERTISE_10_HALF | MII_ADVERTISE_10_FULL |\
172
MII_ADVERTISE_100_HALF | MII_ADVERTISE_100_FULL |\
173
MII_ADVERTISE_SEL_IEEE_802_3)
171
#define MII_ADVERTISE_ALL (MII_ADVERTISE_10_HALF | MII_ADVERTISE_10_FULL |\
…
174
175
/* Extended Status Register bit definitions */
177
#define MII_ESTAT_1000BASE_X_FULL BIT(15)
179
#define MII_ESTAT_1000BASE_X_HALF BIT(14)
181
#define MII_ESTAT_1000BASE_T_FULL BIT(13)
183
#define MII_ESTAT_1000BASE_T_HALF BIT(12)
184
185
/* MMD Access Control Register (MII_MMD_ACR) Register bit definitions */
187
#define MII_MMD_ACR_DEVAD_MASK (0x1F << 0)
189
#define MII_MMD_ACR_ADDR (0x00 << 14)
190
#define MII_MMD_ACR_DATA_NO_POS_INC (0x01 << 14)
191
#define MII_MMD_ACR_DATA_RW_POS_INC (0x10 << 14)
192
#define MII_MMD_ACR_DATA_W_POS_INC (0x11 << 14)
193
197
198
#endif
/* ZEPHYR_INCLUDE_NET_MII_H_ */
util_macro.h
Macro utilities.
zephyr
net
mii.h
Generated on
for Zephyr API Documentation by
1.14.0