Access Restricted
This page contains internal documentation that is not publicly available.
DHWCtrl.EthActivate
Initialize MAC + PHY for PeripheralIndex: apply the
pin routing described by PinMap, program the source
MacAddress, enable RX/TX. Returns once init completes;
PHY autonegotiation runs asynchronously - call
EthWaitLinkState to block until the link is up.
Properties
- Command code: 0xE100
- Command timeout: 100 ms
- Possible status codes: General status codes, DHWCtrl.ErrInvalidIndex, DHWCtrl.ErrAlreadyActive, DHWCtrl.ErrInvalidParam, DHWCtrl.ErrHardware
Parameters (request frame)
| Name | Type/Size | Description | ||
|---|---|---|---|---|
| Length of PinMap | Integer (8 bits) |
Number of elements in the PinMap array |
||
| PinMap | Array | Logical-to-physical pin assignments for this port. Must contain exactly the functions this instance requires (RMII data/control plus MDIO management); unknown, surplus, or duplicate names are rejected with ErrInvalidParam. | ||
| Entry.Name | Enumeration (8 bits) |
Logical peripheral function this pin carries.
Logical pin-function identifier, prefixed by electrical bus/signal family (not by DHWCtrl peripheral category). A signal shared by 2 roles on the same bus reuses a single keyword - e.g. UsbDp / UsbDm serve both a USB host and a (future) USB device role. It is used as the logical side of a DHWCtrlPinMapEntry; a given Activate accepts only the names of the one or more buses its category uses. Values (24):
|
||
| Entry.Pin.Port | Enumeration (8 bits) |
GPIO bank letter (A..Z).
SoC-native GPIO bank identifier. The keyword letters mirror the bank designators on STM32-style parts; not every part implements the full A..Z range. The firmware rejects banks it doesn't support with ErrInvalidParam. Values (26):
|
||
| Entry.Pin.Number | Integer (8 bits) | Pin number within the bank. Practical range is SoC-specific (typically 0..15 on STM32). Named Number rather than Index to avoid a NameChecker collision with the peripheral-instance Index in ListPeripherals's Pins array (struct parents don't currently participate in field-name namespacing). | ||
| PeripheralIndex | Integer (8 bits) | Zero-based instance index within this peripheral category; defaults to 0 (the first instance). The valid range is firmware/hardware-variant specific; discoverable via ListPeripherals. | ||
| MacAddress | Raw data (length 6 Bytes) | Source MAC address (6 bytes) to program into the MAC engine. | ||
Returned values (response frame)
None