-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'regulator-v4.21' of git://git.kernel.org/pub/scm/linux/ker…
…nel/git/broonie/regulator Pull regulator updates from Mark Brown: "This has been a very busy release for the core, some fixes, one large new feature and a big bit of refactoring to update the GPIO API: - Support for coupled regulators from Dmitry Osipenko based on a prior attempt by Maciej Purski, allowing us to handle situations where the voltages on two regulators can't be too far apart from each other. - Conversion of the GPIO support in both drivers and the core to use GPIO descriptors rather than numbers, part of the overall project to remove GPIO numbers. - Support for standby mode suspend states from Andrei Stefanescu. - New drivers for Allwinner AXP209, Cirrus Logic Lochnagar and Microchip MPC16502" * tag 'regulator-v4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (90 commits) regulator: tps65910: fix a missing check of return value regulator: mcp16502: Select REGMAP_I2C to fix build error regulator: convert to DEFINE_SHOW_ATTRIBUTE regulator: mcp16502: Fix missing n_voltages setting regulator: mcp16502: Use #ifdef CONFIG_PM_SLEEP around mcp16502_suspend/resume_noirq regulator: mcp16502: code cleanup regulator: act8945a-regulator: make symbol act8945a_pm static drivers/regulator: fix a missing check of return value regulator: act8945a-regulator: fix 'defined but not used' compiler warning regulator: axp20x: fix set_ramp_delay for AXP209/dcdc2 regulator: mcp16502: add support for suspend mfd: axp20x: use explicit bit defines mfd: axp20x: Clean up included headers regulator: dts: enable soft-start and ramp delay for the OLinuXino Lime2 dt-bindings: mfd: axp20x: Add software based soft_start for AXP209 LDO3 regulator: axp20x: add software based soft_start for AXP209 LDO3 dt-bindings: mfd: axp20x: add support for regulator-ramp-delay for AXP209 regulator: axp20x: add support for set_ramp_delay for AXP209 mfd: axp20x: name voltage ramping define properly regulator: mcp16502: add regulator driver for MCP16502 ...
- Loading branch information
Showing
59 changed files
with
3,141 additions
and
635 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
82 changes: 82 additions & 0 deletions
82
Documentation/devicetree/bindings/regulator/cirrus,lochnagar.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
Cirrus Logic Lochnagar Audio Development Board | ||
|
||
Lochnagar is an evaluation and development board for Cirrus Logic | ||
Smart CODEC and Amp devices. It allows the connection of most Cirrus | ||
Logic devices on mini-cards, as well as allowing connection of | ||
various application processor systems to provide a full evaluation | ||
platform. Audio system topology, clocking and power can all be | ||
controlled through the Lochnagar, allowing the device under test | ||
to be used in a variety of possible use cases. | ||
|
||
This binding document describes the binding for the regulator portion | ||
of the driver. | ||
|
||
Also see these documents for generic binding information: | ||
[1] Regulator: ../regulator/regulator.txt | ||
|
||
This binding must be part of the Lochnagar MFD binding: | ||
[2] ../mfd/cirrus,lochnagar.txt | ||
|
||
Optional sub-nodes: | ||
|
||
- VDDCORE : Initialisation data for the VDDCORE regulator, which | ||
supplies the CODECs digital core if it has no build regulator for that | ||
purpose. | ||
Required Properties: | ||
- compatible : One of the following strings: | ||
"cirrus,lochnagar2-vddcore" | ||
- SYSVDD-supply: Primary power supply for the Lochnagar. | ||
|
||
- MICVDD : Initialisation data for the MICVDD regulator, which | ||
supplies the CODECs MICVDD. | ||
Required Properties: | ||
- compatible : One of the following strings: | ||
"cirrus,lochnagar2-micvdd" | ||
- SYSVDD-supply: Primary power supply for the Lochnagar. | ||
|
||
- MIC1VDD, MIC2VDD : Initialisation data for the MICxVDD supplies. | ||
Required Properties: | ||
- compatible : One of the following strings: | ||
"cirrus,lochnagar2-mic1vdd", "cirrus,lochnagar2-mic2vdd" | ||
Optional Properties: | ||
- cirrus,micbias-input : A property selecting which of the CODEC | ||
minicard micbias outputs should be used, valid values are 1 - 4. | ||
- MICBIAS1-supply, MICBIAS2-supply: Regulator supplies for the | ||
MICxVDD outputs, supplying the digital microphones, normally | ||
supplied from the attached CODEC. | ||
|
||
- VDD1V8 : Recommended fixed regulator for the VDD1V8 regulator, which supplies the | ||
CODECs analog and 1.8V digital supplies. | ||
Required Properties: | ||
- compatible : Should be set to "regulator-fixed" | ||
- regulator-min-microvolt : Should be set to 1.8V | ||
- regulator-max-microvolt : Should be set to 1.8V | ||
- regulator-boot-on | ||
- regulator-always-on | ||
- vin-supply : Should be set to same supply as SYSVDD | ||
|
||
Example: | ||
|
||
lochnagar { | ||
lochnagar-micvdd: MICVDD { | ||
compatible = "cirrus,lochnagar2-micvdd"; | ||
|
||
SYSVDD-supply = <&wallvdd>; | ||
|
||
regulator-min-microvolt = <3300000>; | ||
regulator-max-microvolt = <3300000>; | ||
}; | ||
|
||
lochnagar-vdd1v8: VDD1V8 { | ||
compatible = "regulator-fixed"; | ||
|
||
regulator-name = "VDD1V8"; | ||
regulator-min-microvolt = <1800000>; | ||
regulator-max-microvolt = <1800000>; | ||
regulator-boot-on; | ||
regulator-always-on; | ||
|
||
vin-supply = <&wallvdd>; | ||
}; | ||
}; | ||
|
143 changes: 143 additions & 0 deletions
143
Documentation/devicetree/bindings/regulator/mcp16502-regulator.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,143 @@ | ||
MCP16502 PMIC | ||
|
||
Required properties: | ||
- compatible: "microchip,mcp16502" | ||
- reg: I2C slave address | ||
- lpm-gpios: GPIO for LPM pin. Note that this GPIO *must* remain high during | ||
suspend-to-ram, keeping the PMIC into HIBERNATE mode. | ||
- regulators: A node that houses a sub-node for each regulator within | ||
the device. Each sub-node is identified using the node's | ||
name. The content of each sub-node is defined by the | ||
standard binding for regulators; see regulator.txt. | ||
|
||
Regualtors of MCP16502 PMIC: | ||
1) VDD_IO - Buck (1.2 - 3.7 V) | ||
2) VDD_DDR - Buck (0.6 - 1.85 V) | ||
3) VDD_CORE - Buck (0.6 - 1.85 V) | ||
4) VDD_OTHER - BUCK (0.6 - 1.85 V) | ||
5) LDO1 - LDO (1.2 - 3.7 V) | ||
6) LDO2 - LDO (1.2 - 3.7 V) | ||
|
||
Regulator modes: | ||
2 - FPWM: higher precision, higher consumption | ||
4 - AutoPFM: lower precision, lower consumption | ||
|
||
Each regulator is defined using the standard binding for regulators. | ||
|
||
Example: | ||
|
||
mcp16502@5b { | ||
compatible = "microchip,mcp16502"; | ||
reg = <0x5b>; | ||
status = "okay"; | ||
lpm-gpios = <&pioBU 7 GPIO_ACTIVE_HIGH>; | ||
|
||
regulators { | ||
VDD_IO { | ||
regulator-name = "VDD_IO"; | ||
regulator-min-microvolt = <1200000>; | ||
regulator-max-microvolt = <3700000>; | ||
regulator-initial-mode = <2>; | ||
regulator-allowed-modes = <2>, <4>; | ||
regulator-always-on; | ||
|
||
regulator-state-standby { | ||
regulator-on-in-suspend; | ||
regulator-mode = <4>; | ||
}; | ||
|
||
regulator-state-mem { | ||
regulator-off-in-suspend; | ||
regulator-mode = <4>; | ||
}; | ||
}; | ||
|
||
VDD_DDR { | ||
regulator-name = "VDD_DDR"; | ||
regulator-min-microvolt = <600000>; | ||
regulator-max-microvolt = <1850000>; | ||
regulator-initial-mode = <2>; | ||
regulator-allowed-modes = <2>, <4>; | ||
regulator-always-on; | ||
|
||
regulator-state-standby { | ||
regulator-on-in-suspend; | ||
regulator-mode = <4>; | ||
}; | ||
|
||
regulator-state-mem { | ||
regulator-on-in-suspend; | ||
regulator-mode = <4>; | ||
}; | ||
}; | ||
|
||
VDD_CORE { | ||
regulator-name = "VDD_CORE"; | ||
regulator-min-microvolt = <600000>; | ||
regulator-max-microvolt = <1850000>; | ||
regulator-initial-mode = <2>; | ||
regulator-allowed-modes = <2>, <4>; | ||
regulator-always-on; | ||
|
||
regulator-state-standby { | ||
regulator-on-in-suspend; | ||
regulator-mode = <4>; | ||
}; | ||
|
||
regulator-state-mem { | ||
regulator-off-in-suspend; | ||
regulator-mode = <4>; | ||
}; | ||
}; | ||
|
||
VDD_OTHER { | ||
regulator-name = "VDD_OTHER"; | ||
regulator-min-microvolt = <600000>; | ||
regulator-max-microvolt = <1850000>; | ||
regulator-initial-mode = <2>; | ||
regulator-allowed-modes = <2>, <4>; | ||
regulator-always-on; | ||
|
||
regulator-state-standby { | ||
regulator-on-in-suspend; | ||
regulator-mode = <4>; | ||
}; | ||
|
||
regulator-state-mem { | ||
regulator-off-in-suspend; | ||
regulator-mode = <4>; | ||
}; | ||
}; | ||
|
||
LDO1 { | ||
regulator-name = "LDO1"; | ||
regulator-min-microvolt = <1200000>; | ||
regulator-max-microvolt = <3700000>; | ||
regulator-always-on; | ||
|
||
regulator-state-standby { | ||
regulator-on-in-suspend; | ||
}; | ||
|
||
regulator-state-mem { | ||
regulator-off-in-suspend; | ||
}; | ||
}; | ||
|
||
LDO2 { | ||
regulator-name = "LDO2"; | ||
regulator-min-microvolt = <1200000>; | ||
regulator-max-microvolt = <3700000>; | ||
regulator-always-on; | ||
|
||
regulator-state-standby { | ||
regulator-on-in-suspend; | ||
}; | ||
|
||
regulator-state-mem { | ||
regulator-off-in-suspend; | ||
}; | ||
}; | ||
|
||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.