The patches add a new device configuration protocol and use it to configure a Marvell Yukon controller on the Juno platform with a valid MAC address.
The device configuration protocol will enable a driver to reconfigure device specific settings before driver is started. As an example, the Juno Marvell Yukon NIC MAC address which has to be configured before the driver bound to the controller. The device configuration protocol defined as generic and supports multiple controllers per driver and multiple types of configuration per controller. Depending on the driver's protocol implementation, the configuration can be defined as "read/write" or "read only" and set to or get from a driver based on specified controller and its supported configuration type.
Daniil Egranov (2): ArmPlatformPkg/ArmJunoDxe: Configure Marvell Yukon MAC address on Juno EmbeddedPkg: Added device configure protocol
.../ArmJunoPkg/Drivers/ArmJunoDxe/ArmJunoDxe.c | 100 +++++++++++++++- .../ArmJunoPkg/Drivers/ArmJunoDxe/ArmJunoDxe.inf | 1 + .../Drivers/ArmJunoDxe/ArmJunoDxeInternal.h | 3 + EmbeddedPkg/EmbeddedPkg.dec | 1 + .../Include/Protocol/EmbeddedDeviceConfig.h | 127 +++++++++++++++++++++ 5 files changed, 229 insertions(+), 3 deletions(-) create mode 100644 EmbeddedPkg/Include/Protocol/EmbeddedDeviceConfig.h