Page MenuHomeFreeBSD

[BHND] Support IPX OTP NVRAM/SPROM data source
ClosedPublic

Authored by landonf on Jun 4 2016, 6:54 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Nov 22, 11:53 PM
Unknown Object (File)
Sep 11 2024, 5:10 PM
Unknown Object (File)
Sep 11 2024, 5:10 PM
Unknown Object (File)
Sep 1 2024, 3:35 AM
Unknown Object (File)
Aug 28 2024, 6:57 AM
Unknown Object (File)
Aug 17 2024, 4:05 PM
Unknown Object (File)
Aug 14 2024, 4:00 PM
Unknown Object (File)
Jul 28 2024, 11:01 AM
Subscribers

Details

Summary

Add support for fetching SPROM data from OTP on chipsets with an
IPX OTP controller (including the BCM43225).

This integrates the NVRAM data source into the chipc_caps capability
structure, and adds a sprom_offset field that can be used with OTP
to locate the SPROM image data (found within the general use
region, H/W subregion).

I also cleaned up a case of duplicate error messages reported by both
the bhnd_sprom driver and the underlying SPROM parsing API.

OTP support is currently integrated into the existing chipc SPROM driver;
if we add SPROM-specific NVRAM write support in the future, we can separate
this out into distinct SPROM and OTP drivers.

Depends on D6712

Test Plan

Tested OTP handling against BCM43225:

bwn_pci0: <Broadcom BCM43225 802.11n 2GHz Wireless> mem 0xc0004000-0xc0007fff irq 17 at device 4.0 on pci0
...
bwn0: <802.11 MAC/PHY/Radio> mem 0x18001000-0x18001fff,0x18101000-0x18101fff at core 1 on bhnd0
bwn0: activated 0x18001000-0x18001fff as direct resource
bwn0: got rid=0 res=0xfffff80003705ee0
bwn0: got macaddr 68:a3:c4:25:fa:5a

Tested for regressions in SPROM/flash handling against:

  • BCM4331
  • BCM4312
  • RT-N16
  • WGT634U

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

landonf retitled this revision from to [BHND] Support IPX OTP NVRAM/SPROM data source.
landonf updated this object.
landonf edited the test plan for this revision. (Show Details)
landonf added a reviewer: adrian.
adrian edited edge metadata.

yay!

This revision is now accepted and ready to land.Jun 4 2016, 7:11 PM
This revision was automatically updated to reflect the committed changes.