HomeFreeBSD

bhnd(4): Implement NVRAM support required for PMU bring-up.

Description

bhnd(4): Implement NVRAM support required for PMU bring-up.

  • Added a generic bhnd_nvram_parser API, with support for the TLV format used on WGT634U devices, the standard BCM NVRAM format used on most modern devices, and the "board text file" format used on some hardware to supply external NVRAM data at runtime (e.g. via an EFI variable).
  • Extended the bhnd_bus_if and bhnd_nvram_if interfaces to support both string-based and primitive data type variable access, required for common behavior across both SPROM and NVRAM data sources.
  • Extended the existing SPROM implementation to support the new string-based NVRAM APIs.
  • Added an abstract bhnd_nvram driver, implementing the bhnd_nvram_if atop the bhnd_nvram_parser API.
  • Added a CFE-based bhnd_nvram driver to provide read-only access to NVRAM data on MIPS SoCs, pending implementation of a flash-aware bhnd_nvram driver.

Approved by: adrian (mentor)
Differential Revision: https://reviews.freebsd.org/D7489

Details

Provenance
landonfAuthored on
Differential Revision
D7489: [bhnd] Initial NVRAM support
Parents
rS304242: bhndb(4): Drop MIPS-incompatible __builtin_ctz dependency.
Branches
Unknown
Tags
Unknown