Crates.io | ieee802_3_miim |
lib.rs | ieee802_3_miim |
version | 0.8.0 |
source | src |
created_at | 2022-07-15 13:58:46.10808 |
updated_at | 2023-01-29 11:31:34.559464 |
description | A crate provides abstractions for the IEEE 802.3 Media Indepedent Interface, providing access to registers defined in the standard, and with optional implementations of this abstraction for commonly used PHYs |
homepage | https://github.com/datdenkikniet/ieee802_3_miim |
repository | |
max_upload_size | |
id | 626220 |
size | 52,063 |
A crate traits for accessing the Media Independent Interface Management on IEEE 802.3 PHYs.
MIIM (Media Independent Interface Management) is a standard interface that is part of the IEEE 802.3 standard.
It is used to communicate with IEEE 802.3 PHYs. In it's most cut-down form, it provides basic configuration and status access. Extended features include autonegotiation configuration, custom on-chip register access through MMD, and extended status information.
Several standard implementations are provided with the enabled-by-default phy
, lan8742a
, lan8720a
, and ksz8081r
features.
phy
exposes a type named BarePhy
. This implementation assumes nothing about the PHY that is being communicated with, and determines almost all values at runtime. It should be possible to configure any IEEE 802.3 conformant PHY through this struct.lan8742a
provides an implementation for the SMSC LAN8742a PHY.lan8720a
provides an implementation for the SMSC LAN8720a PHY. Note that Interrupt::WoL
is not supported by this PHY, but it will be present if the lan8742a
feature is also enabled.ksz8081r
provides an implementation for the MicroChip KSZ8081R PHYThe goals of this project include:
Non-goals of this project include:
This project is licensed under the MIT license.
See LICENSE
for more information.