freebsd-skq/sys/mips/broadcom
Landon J. Fuller 4e96bf3a37 bhnd(4): extend the PMU APIs to support bwn(4)
The bwn(4) driver requires a number of extensions to the bhnd(4) PMU
interface to support external configuration of PLLs, LDOs, and other
parameters that require chipset or PHY-specific workarounds.

These changes add support for:

- Writing raw voltage register values to PHY-specific LDO regulator
  registers (required by LP-PHY).
- Enabling/disabling PHY-specific LDOs (required by LP-PHY)
- Writing to arbitrary PMU chipctrl registers (required for common PHY PLL
  reset support).
- Requesting chipset/PLL-specific spurious signal avoidance modes.
- Querying clock frequency and latency.

Additionally, rather than updating legacy PWRCTL support to conform to the
new PMU interface:

- PWRCTL API is now provided by a bhnd_pwrctl_if.m interface.
- Since PWRCTL is only found in older SSB-based chipsets, translation from
  bhnd(4) bus APIs to corresponding PWRCTL operations is now handled
  entirely within the siba(4) driver.
- The PWRCTL-specific host bridge clock gating APIs in bhnd_bus_if.m have
  been lifted out into a standalone bhnd_pwrctl_hostb_if.m interface.

Approved by:	adrian (mentor, implicit)
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D12664
2017-11-22 20:27:46 +00:00
..
bcm_bmips_exts.h Split bcm_mipscore.c into bcm_bmips (BMIPS32/BMIPS3300) and bcm_mips74k 2016-09-18 21:28:09 +00:00
bcm_bmips.c bhnd(4): implement MIPS and PCI(e) interrupt support 2017-11-21 23:15:20 +00:00
bcm_bmipsreg.h Split bcm_mipscore.c into bcm_bmips (BMIPS32/BMIPS3300) and bcm_mips74k 2016-09-18 21:28:09 +00:00
bcm_machdep.c bhnd(4): implement MIPS and PCI(e) interrupt support 2017-11-21 23:15:20 +00:00
bcm_machdep.h bhnd(4): implement MIPS and PCI(e) interrupt support 2017-11-21 23:15:20 +00:00
bcm_mips74k.c bhnd(4): implement MIPS and PCI(e) interrupt support 2017-11-21 23:15:20 +00:00
bcm_mips74kreg.h bhnd(4): implement MIPS and PCI(e) interrupt support 2017-11-21 23:15:20 +00:00
bcm_mips.c bhnd(4): implement MIPS and PCI(e) interrupt support 2017-11-21 23:15:20 +00:00
bcm_mipsvar.h bhnd(4): implement MIPS and PCI(e) interrupt support 2017-11-21 23:15:20 +00:00
bcm_nvram_cfe.c bhnd: Implement bhnd(4) platform device registration. 2017-09-27 19:44:23 +00:00
bcm_nvram_cfevar.h [mips/broadcom]: Early boot NVRAM support 2017-03-23 19:29:12 +00:00
bcm_pmu.c [mips] [bhnd] Support of old PMU for BMIPS and siba SoC 2017-05-28 12:05:16 +00:00
bcma_nexus.c bhnd(4): implement MIPS and PCI(e) interrupt support 2017-11-21 23:15:20 +00:00
bhnd_nexus.c bhnd(4): Add support for querying DMA address translation parameters 2017-11-21 23:25:22 +00:00
bhnd_nexusvar.h [mips/broadcom] Move MIPS-specific bhnd(4) nexus drivers to 2017-02-13 19:58:55 +00:00
files.broadcom bhnd(4): implement MIPS and PCI(e) interrupt support 2017-11-21 23:15:20 +00:00
siba_nexus.c bhnd(4): extend the PMU APIs to support bwn(4) 2017-11-22 20:27:46 +00:00
std.broadcom Replace mips/sentry5 with mips/broadcom 2016-06-25 04:34:54 +00:00
uart_bus_chipc.c Allow setting access-width for UART registers. 2017-02-27 20:08:42 +00:00
uart_cpu_chipc.c [mips/broadcom]: Replace static frequency table with generic PMU clock 2016-08-27 00:06:20 +00:00