forked from gregkh/linux
-
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-v5.11' of git://git.kernel.org/pub/scm/linux/ker…
…nel/git/broonie/regulator Pull regulator updates from Mark Brown: "This has been a quiet release for the regulator API, a few new drivers and the usual fixes and cleanup traffic but not much else going on: - Optimisations for the handling of voltage enumeration, especially with sparse selector sets, from Claudiu Beznea. - Support for several ARM SCMI regulators, Dialog DA9121, NXP PF8x00, Qualcomm PMX55, PM8350 and PM8350c The addition of the SCMI regulator driver (which controls regulators via system firmware) means that we've pulled in the support for the underlying firmware operations from the firmware tree" * tag 'regulator-v5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (53 commits) regulator: mc13892-regulator: convert comma to semicolon regulator: pfuze100: Convert the driver to DT-only regulator: max14577: Add proper module aliases strings regulator: da9121: Potential Oops in da9121_assign_chip_model() regulator: da9121: Fix index used for DT property regulator: da9121: Remove uninitialised string variable regulator: axp20x: Fix DLDO2 voltage control register mask for AXP22x regulator: qcom-rpmh: Add support for PM8350/PM8350c regulator: dt-bindings: Add PM8350x compatibles regulator: da9121: include linux/gpio/consumer.h regulator: da9121: Mark some symbols with static keyword regulator: da9121: Request IRQ directly and free in release function to avoid masking race regulator: da9121: add interrupt support regulator: da9121: add mode support regulator: da9121: add current support regulator: da9121: Update registration to support multiple buck variants regulator: da9121: Add support for device variants via devicetree regulator: da9121: Add device variant descriptors regulator: da9121: Add device variant regmaps regulator: da9121: Add device variants ...
- Loading branch information
Showing
37 changed files
with
3,876 additions
and
84 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
189 changes: 189 additions & 0 deletions
189
Documentation/devicetree/bindings/regulator/dlg,da9121.yaml
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,189 @@ | ||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/regulator/dlg,da9121.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: Dialog Semiconductor DA9121 voltage regulator | ||
|
||
maintainers: | ||
- Adam Ward <[email protected]> | ||
|
||
description: | | ||
Dialog Semiconductor DA9121 Single-channel 10A double-phase buck converter | ||
Dialog Semiconductor DA9122 Double-channel 5A single-phase buck converter | ||
Dialog Semiconductor DA9220 Double-channel 3A single-phase buck converter | ||
Dialog Semiconductor DA9217 Single-channel 6A double-phase buck converter | ||
Dialog Semiconductor DA9130 Single-channel 10A double-phase buck converter | ||
Dialog Semiconductor DA9131 Double-channel 5A single-phase buck converter | ||
Dialog Semiconductor DA9132 Double-channel 3A single-phase buck converter | ||
Current limits | ||
This is PER PHASE, and the current limit setting in the devices reflect | ||
that with a maximum 10A limit. Allowing for transients at/near double | ||
the rated current, this translates across the device range to per | ||
channel figures as so... | ||
| DA9121 DA9122 DA9220 DA9217 DA9140 | ||
| /DA9130 /DA9131 /DA9132 | ||
----------------------------------------------------------------------------- | ||
Output current / channel | 10000000 5000000 3000000 6000000 40000000 | ||
Output current / phase | 5000000 5000000 3000000 3000000 9500000 | ||
----------------------------------------------------------------------------- | ||
Min regulator-min-microvolt| 300000 300000 300000 300000 500000 | ||
Max regulator-max-microvolt| 1900000 1900000 1900000 1900000 1000000 | ||
Device hardware default | 1000000 1000000 1000000 1000000 1000000 | ||
----------------------------------------------------------------------------- | ||
Min regulator-min-microamp | 7000000 3500000 3500000 7000000 26000000 | ||
Max regulator-max-microamp | 20000000 10000000 6000000 12000000 78000000 | ||
Device hardware default | 15000000 7500000 5500000 11000000 58000000 | ||
properties: | ||
$nodename: | ||
pattern: "pmic@[0-9a-f]{1,2}" | ||
compatible: | ||
enum: | ||
- dlg,da9121 | ||
- dlg,da9122 | ||
- dlg,da9220 | ||
- dlg,da9217 | ||
- dlg,da9130 | ||
- dlg,da9131 | ||
- dlg,da9132 | ||
- dlg,da9140 | ||
|
||
reg: | ||
maxItems: 1 | ||
description: Specifies the I2C slave address. | ||
|
||
interrupts: | ||
maxItems: 1 | ||
description: IRQ line information. | ||
|
||
dlg,irq-polling-delay-passive-ms: | ||
$ref: "/schemas/types.yaml#/definitions/uint32" | ||
minimum: 1000 | ||
maximum: 10000 | ||
description: | | ||
Specify the polling period, measured in milliseconds, between interrupt status | ||
update checks. Range 1000-10000 ms. | ||
regulators: | ||
type: object | ||
$ref: regulator.yaml# | ||
description: | | ||
This node defines the settings for the BUCK. The content of the | ||
sub-node is defined by the standard binding for regulators; see regulator.yaml. | ||
The DA9121 regulator is bound using their names listed below | ||
buck1 - BUCK1 | ||
buck2 - BUCK2 //DA9122, DA9220, DA9131, DA9132 only | ||
patternProperties: | ||
"^buck([1-2])$": | ||
type: object | ||
$ref: regulator.yaml# | ||
|
||
properties: | ||
regulator-mode: | ||
maxItems: 1 | ||
description: Defined in include/dt-bindings/regulator/dlg,da9121-regulator.h | ||
|
||
regulator-initial-mode: | ||
maxItems: 1 | ||
description: Defined in include/dt-bindings/regulator/dlg,da9121-regulator.h | ||
|
||
enable-gpios: | ||
maxItems: 1 | ||
description: Specify a valid GPIO for platform control of the regulator | ||
|
||
dlg,ripple-cancel: | ||
$ref: "/schemas/types.yaml#/definitions/uint32" | ||
description: | | ||
Defined in include/dt-bindings/regulator/dlg,da9121-regulator.h | ||
Only present on multi-channel devices (DA9122, DA9220, DA9131, DA9132) | ||
unevaluatedProperties: false | ||
|
||
required: | ||
- compatible | ||
- reg | ||
- regulators | ||
|
||
additionalProperties: false | ||
|
||
examples: | ||
- | | ||
#include <dt-bindings/gpio/gpio.h> | ||
#include <dt-bindings/interrupt-controller/irq.h> | ||
#include <dt-bindings/regulator/dlg,da9121-regulator.h> | ||
i2c { | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
pmic@68 { | ||
compatible = "dlg,da9121"; | ||
reg = <0x68>; | ||
interrupt-parent = <&gpio6>; | ||
interrupts = <11 IRQ_TYPE_LEVEL_LOW>; | ||
dlg,irq-polling-delay-passive-ms = <2000>; | ||
regulators { | ||
DA9121_BUCK1: buck1 { | ||
regulator-name = "BUCK1"; | ||
regulator-min-microvolt = <300000>; | ||
regulator-max-microvolt = <1900000>; | ||
regulator-min-microamp = <7000000>; | ||
regulator-max-microamp = <20000000>; | ||
regulator-boot-on; | ||
regulator-initial-mode = <DA9121_BUCK_MODE_AUTO>; | ||
enable-gpios = <&gpio 1 GPIO_ACTIVE_HIGH>; | ||
}; | ||
}; | ||
}; | ||
}; | ||
- | | ||
#include <dt-bindings/gpio/gpio.h> | ||
#include <dt-bindings/interrupt-controller/irq.h> | ||
#include <dt-bindings/regulator/dlg,da9121-regulator.h> | ||
i2c { | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
pmic@68 { | ||
compatible = "dlg,da9122"; | ||
reg = <0x68>; | ||
interrupt-parent = <&gpio6>; | ||
interrupts = <11 IRQ_TYPE_LEVEL_LOW>; | ||
dlg,irq-polling-delay-passive-ms = <2000>; | ||
regulators { | ||
DA9122_BUCK1: buck1 { | ||
regulator-name = "BUCK1"; | ||
regulator-min-microvolt = <300000>; | ||
regulator-max-microvolt = <1900000>; | ||
regulator-min-microamp = <3500000>; | ||
regulator-max-microamp = <10000000>; | ||
regulator-boot-on; | ||
regulator-initial-mode = <DA9121_BUCK_MODE_AUTO>; | ||
enable-gpios = <&gpio6 1 GPIO_ACTIVE_HIGH>; | ||
dlg,ripple-cancel = <DA9121_BUCK_RIPPLE_CANCEL_NONE>; | ||
}; | ||
DA9122_BUCK2: buck2 { | ||
regulator-name = "BUCK2"; | ||
regulator-min-microvolt = <300000>; | ||
regulator-max-microvolt = <1900000>; | ||
regulator-min-microamp = <3500000>; | ||
regulator-max-microamp = <10000000>; | ||
regulator-boot-on; | ||
regulator-initial-mode = <DA9121_BUCK_MODE_AUTO>; | ||
enable-gpios = <&gpio6 2 GPIO_ACTIVE_HIGH>; | ||
dlg,ripple-cancel = <DA9121_BUCK_RIPPLE_CANCEL_NONE>; | ||
}; | ||
}; | ||
}; | ||
}; | ||
... |
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.