1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//! Hardware abstraction layer.
//!
//! This module provides higher-level abstractions over the raw registers for
//! clock/reset control and MDIO access.
//!
//! # Overview
//!
//! - [`clock`]: Clock configuration and control
//! - [`mdio`]: MDIO/SMI bus for PHY communication
//! - [`reset`]: Reset controller for the EMAC peripheral
//!
//! # Usage
//!
//! ```ignore
//! use ph_esp32_mac::hal::MdioController;
//!
//! let mut mdio = MdioController::new(&mut delay);
//! let phy_id = mdio.read(0, 2)?;
//! ```
//!
//! # Delay Integration
//!
//! All types that require delays use `embedded_hal::delay::DelayNs` directly.
//! Pass any delay implementation from your HAL (e.g., `esp_hal::delay::Delay`).
//!
//! # See Also
//!
//! - [`crate::phy`] - PHY drivers that consume the MDIO bus
// Re-export commonly used types
pub use ;
pub use ;
pub use ;