Page MenuHomeFreeBSD

[mips/broadcom] Implement early boot hardware probing and generic platform_reset() support.
ClosedPublic

Authored by landonf on Aug 16 2016, 10:13 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Mar 29, 2:12 AM
Unknown Object (File)
Feb 29 2024, 2:08 AM
Unknown Object (File)
Feb 23 2024, 7:57 PM
Unknown Object (File)
Feb 23 2024, 7:57 PM
Unknown Object (File)
Feb 23 2024, 7:56 PM
Unknown Object (File)
Feb 23 2024, 7:50 PM
Unknown Object (File)
Feb 23 2024, 2:12 PM
Unknown Object (File)
Jan 23 2024, 5:49 AM
Subscribers

Details

Summary

This adds support for performing platform_reset() on all supported
devices, using early boot enumeration of chipc capabilities and
available cores.

Changes:

  • Extended platform_reset() to support PMU, PMU+AOB, and non-PMU devices.
  • Added a bcm_platform structure for tracking chipc/pmu/cfe platform data.
  • Extended the BCMA EROM API to support early boot lookup of core info (including port/region mappings).
  • Added Broadcom-specific MIPS CP0 register definitions used by BCM4785-specific reset handling.

Depends on D7498

Test Plan
  • Verified no regressions in reset handling on Asus RT-N16 and Netgear WGT634U.
  • Confirmed no regressions in bcma(4) bus enumeration on all supported SoC and WiFi chipsets.
  • Verified that reset now works correctly on Asus RT-N53, resolving the issue described in D6988.

Diff Detail

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

Event Timeline

landonf retitled this revision from to [mips/broadcom] Implement early boot hardware probing and generic platform_reset() support..
landonf updated this object.
landonf edited the test plan for this revision. (Show Details)
landonf added reviewers: adrian, mizhka.
mizhka edited edge metadata.
This revision is now accepted and ready to land.Aug 22 2016, 9:39 AM
adrian edited edge metadata.
This revision was automatically updated to reflect the committed changes.

If you both think it's fine, then I'm totally all for it going in :)