<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.dissonant.dev/index.php?action=history&amp;feed=atom&amp;title=Mainline%3ABroadcom_Kona%2FBCM590xx%2FRegulators</id>
	<title>Mainline:Broadcom Kona/BCM590xx/Regulators - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.dissonant.dev/index.php?action=history&amp;feed=atom&amp;title=Mainline%3ABroadcom_Kona%2FBCM590xx%2FRegulators"/>
	<link rel="alternate" type="text/html" href="https://wiki.dissonant.dev/index.php?title=Mainline:Broadcom_Kona/BCM590xx/Regulators&amp;action=history"/>
	<updated>2026-04-15T02:39:19Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://wiki.dissonant.dev/index.php?title=Mainline:Broadcom_Kona/BCM590xx/Regulators&amp;diff=143&amp;oldid=prev</id>
		<title>Knuxify: Created page with &quot;{{hatnote|Relevant downstream drivers: {{downstream|baffinlite|drivers/regulator/bcmpmu59xxx-regulator.c}}; {{downstream|baffinlite|bcmpmu-regulator.c}}; {{downstream|baffinlite|drivers/regulator/bcm590xx-regulator.c}} and {{downstream|baffinlite|drivers/regulator/bcm59055_regulator.c}} for BCM59055.}}  The BCM590xx PMUs have configurable voltage regulators.  == Regulator types ==  There are two types of regulators: &#039;&#039;&#039;LDO&#039;&#039;&#039; (low dropout) and &#039;&#039;&#039;SR&#039;&#039;&#039; (switcher). Regula...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.dissonant.dev/index.php?title=Mainline:Broadcom_Kona/BCM590xx/Regulators&amp;diff=143&amp;oldid=prev"/>
		<updated>2025-09-15T19:46:20Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{hatnote|Relevant downstream drivers: {{downstream|baffinlite|drivers/regulator/bcmpmu59xxx-regulator.c}}; {{downstream|baffinlite|bcmpmu-regulator.c}}; {{downstream|baffinlite|drivers/regulator/bcm590xx-regulator.c}} and {{downstream|baffinlite|drivers/regulator/bcm59055_regulator.c}} for BCM59055.}}  The BCM590xx PMUs have configurable voltage regulators.  == Regulator types ==  There are two types of regulators: &amp;#039;&amp;#039;&amp;#039;LDO&amp;#039;&amp;#039;&amp;#039; (low dropout) and &amp;#039;&amp;#039;&amp;#039;SR&amp;#039;&amp;#039;&amp;#039; (switcher). Regula...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{hatnote|Relevant downstream drivers: {{downstream|baffinlite|drivers/regulator/bcmpmu59xxx-regulator.c}}; {{downstream|baffinlite|bcmpmu-regulator.c}}; {{downstream|baffinlite|drivers/regulator/bcm590xx-regulator.c}} and {{downstream|baffinlite|drivers/regulator/bcm59055_regulator.c}} for BCM59055.}}&lt;br /&gt;
&lt;br /&gt;
The BCM590xx PMUs have configurable voltage regulators.&lt;br /&gt;
&lt;br /&gt;
== Regulator types ==&lt;br /&gt;
&lt;br /&gt;
There are two types of regulators: &amp;#039;&amp;#039;&amp;#039;LDO&amp;#039;&amp;#039;&amp;#039; (low dropout) and &amp;#039;&amp;#039;&amp;#039;SR&amp;#039;&amp;#039;&amp;#039; (switcher). Regulator names are suffixed with these shortcuts to indicate their type (e.g. &amp;#039;&amp;#039;LVLDO1&amp;#039;&amp;#039; is an LDO, &amp;#039;&amp;#039;CSR&amp;#039;&amp;#039; is an SR).&lt;br /&gt;
&lt;br /&gt;
== Operating modes ==&lt;br /&gt;
&lt;br /&gt;
The operating modes for each regulator are stored in &amp;lt;code&amp;gt;PMMODE&amp;lt;/code&amp;gt; registers. These registers are used to store operating modes for various &amp;#039;&amp;#039;&amp;#039;PC&amp;#039;&amp;#039;&amp;#039; (pin control) configurations. The mode that ends up being used is determined based on the state of PC1 and PC2 pins (and  optionally the GPIO1 pin, if it&amp;#039;s configured to the PC3 function in GPIOCTRL).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LDOs&amp;#039;&amp;#039;&amp;#039; have &amp;#039;&amp;#039;&amp;#039;2-bit modes&amp;#039;&amp;#039;&amp;#039;. The available modes are &amp;lt;code&amp;gt;ON&amp;lt;/code&amp;gt; (0), &amp;lt;code&amp;gt;LPM&amp;lt;/code&amp;gt; (low power mode; 1) and &amp;lt;code&amp;gt;OFF&amp;lt;/code&amp;gt; (2). {{speculation|Mode 3 is presumably invalid, but hasn&amp;#039;t been tested.}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;SRs&amp;#039;&amp;#039;&amp;#039; have &amp;#039;&amp;#039;&amp;#039;3-bit modes&amp;#039;&amp;#039;&amp;#039;. The exact function of each mode is unknown; the vendor kernel does not bother with the distinction and applies the LDO modes described above.&lt;br /&gt;
&lt;br /&gt;
LDOs get 2 PMMODE registers each; SRs get 4 PMMODE registers. This is to accomodate the different mode sizes.&lt;br /&gt;
&lt;br /&gt;
There is no known way to query the state of PC pins from the BCM590xx itself; instead, the SoC&amp;#039;s pinmux interface could be used.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[User:Knuxify/Old BCM590xx regulator notes|Old BCM590xx regulator notes]], very messy.&lt;/div&gt;</summary>
		<author><name>Knuxify</name></author>
	</entry>
</feed>