Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info

Work in progress!

Allow systems Platforms have a set of voltage and current regulators to dynamically control regulator power output in order to save power and prolong battery life.

Voltage Regulators take an input supply and produce a target voltage.

Which devices need Regulators?

  • Audio

  • WiFi

  • BT

  • HDMI etc.

Why do we need to drive the regulator?

...

Power saving

...

Hardware Interfacing

Which Devices need a dynamic regulator?

...

SD Card

...

Requires two supplies.

1.8v and 3.3v

But no need to change dynamically voltage.

Types of Regulator

  • PMIC

  • GPIO Regulator

  • SoC built-in regulator

Image Removedor to match certain system operating points. E.g: LCD backlight driver would need to change the current limit to vary the backlight brightness.

Arm client platforms with DT make use of the regulator binding to describe regulator devices and consumer devices for regulators. Device drivers use the regulator framework to dynamically enable/disable voltage rails or configure the voltage or current limits.

ACPI bindings for Regulator

ACPI doesn’t have any bindings available for the regulator specifically and the regulator enable/disable etc. are typically handled by the ACPI device power methods.

Example - SDHCI (SD/MMC/eMMC)

SD card interface requires 1.8V or 3.3V signaling depending on the usage mode as shown below.

...

I.MX8MP Platform

I.MX8MP platform provides a control bit (VSELECT) on a memory-mapped register VEND_SPEC to select the required voltage.

The value of the output signal VSELECT from the controller can be configured by changing the value in the register and there must be a control circuit out of SDHC controller to change the voltage on pads.


References

https://docs.kernel.org/power/regulator/overview.html