-
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.19' of git://git.kernel.org/pub/scm/linux/ker…
…nel/git/broonie/regulator Pull regulator updates from Mark Brown: "The biggest set of changes in here is the addition of the Qualcomm RPMH driver. As well as the regualtor driver itself being quite large due to the usual involved Qualcomm regulator stuff there's also some code shared with the arm-soc tree, a bus driver required to communicate with the hardware that actually winds up being much larger than the regulator driver itself and a LLCC driver that was part of the same signed tag used with the arm-soc tree. Other than that it's a fairly standard and quiet release, highlights include: - Addition of device links from regulator consumers to their regulators, helping the core avoid dependency issues during suspend. - Support for the entertainingly innovative suspend implementation in the BD9571MWV. - Support for switch regulators on the PFUZE100, this required two goes due to backwards compatibility issues with old DTs that were discovered. - Support for Freescale PFUZE3001 and SocioNext UniPhier. - The aforementioned Qualcomm RPMH driver together with the driver changes required to support it" * tag 'regulator-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (52 commits) regulator: add QCOM RPMh regulator driver regulator: dt-bindings: add QCOM RPMh regulator bindings regulator: samsung: Add SPDX license identifiers regulator: maxim: Add SPDX license identifiers regulator: bd71837: adobt MFD changes to regulator driver regulator: tps65217: Fix NULL pointer dereference on probe regulator: Add support for CPCAP regulators on Motorola Xoom devices. regulator: Add sw2_sw4 voltage table to cpcap regulator. regulator: bd9571mwv: Make symbol 'dev_attr_backup_mode' static regulator: pfuze100: add support to en-/disable switch regulators regulator: pfuze100: add optional disable switch-regulators binding soc: qcom: rmtfs-mem: fix memleak in probe error paths soc: qcom: llc-slice: Add missing MODULE_LICENSE() drivers: qcom: rpmh: fix unwanted error check for get_tcs_of_type() drivers: qcom: rpmh-rsc: fix the loop index check in get_req_from_tcs firmware: qcom: scm: add a dummy qcom_scm_assign_mem() drivers: qcom: rpmh-rsc: Check cmd_db_ready() to help children drivers: qcom: rpmh-rsc: allow active requests from wake TCS drivers: qcom: rpmh: add support for batch RPMH request drivers: qcom: rpmh: allow requests to be sent asynchronously ...
- Loading branch information
Showing
50 changed files
with
4,187 additions
and
272 deletions.
There are no files selected for viewing
27 changes: 27 additions & 0 deletions
27
Documentation/ABI/testing/sysfs-driver-bd9571mwv-regulator
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,27 @@ | ||
What: /sys/bus/i2c/devices/.../bd9571mwv-regulator.*.auto/backup_mode | ||
Date: Jul 2018 | ||
KernelVersion: 4.19 | ||
Contact: Geert Uytterhoeven <geert+renesas@glider.be> | ||
Description: Read/write the current state of DDR Backup Mode, which controls | ||
if DDR power rails will be kept powered during system suspend. | ||
("on"/"1" = enabled, "off"/"0" = disabled). | ||
Two types of power switches (or control signals) can be used: | ||
A. With a momentary power switch (or pulse signal), DDR | ||
Backup Mode is enabled by default when available, as the | ||
PMIC will be configured only during system suspend. | ||
B. With a toggle power switch (or level signal), the | ||
following steps must be followed exactly: | ||
1. Configure PMIC for backup mode, to change the role of | ||
the accessory power switch from a power switch to a | ||
wake-up switch, | ||
2. Switch accessory power switch off, to prepare for | ||
system suspend, which is a manual step not controlled | ||
by software, | ||
3. Suspend system, | ||
4. Switch accessory power switch on, to resume the | ||
system. | ||
DDR Backup Mode must be explicitly enabled by the user, | ||
to invoke step 1. | ||
See also Documentation/devicetree/bindings/mfd/bd9571mwv.txt. | ||
Users: User space applications for embedded boards equipped with a | ||
BD9571MWV PMIC. |
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,26 @@ | ||
== Introduction== | ||
|
||
LLCC (Last Level Cache Controller) provides last level of cache memory in SOC, | ||
that can be shared by multiple clients. Clients here are different cores in the | ||
SOC, the idea is to minimize the local caches at the clients and migrate to | ||
common pool of memory. Cache memory is divided into partitions called slices | ||
which are assigned to clients. Clients can query the slice details, activate | ||
and deactivate them. | ||
|
||
Properties: | ||
- compatible: | ||
Usage: required | ||
Value type: <string> | ||
Definition: must be "qcom,sdm845-llcc" | ||
|
||
- reg: | ||
Usage: required | ||
Value Type: <prop-encoded-array> | ||
Definition: Start address and the the size of the register region. | ||
|
||
Example: | ||
|
||
cache-controller@1100000 { | ||
compatible = "qcom,sdm845-llcc"; | ||
reg = <0x1100000 0x250000>; | ||
}; |
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
160 changes: 160 additions & 0 deletions
160
Documentation/devicetree/bindings/regulator/qcom,rpmh-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,160 @@ | ||
Qualcomm Technologies, Inc. RPMh Regulators | ||
|
||
rpmh-regulator devices support PMIC regulator management via the Voltage | ||
Regulator Manager (VRM) and Oscillator Buffer (XOB) RPMh accelerators. The APPS | ||
processor communicates with these hardware blocks via a Resource State | ||
Coordinator (RSC) using command packets. The VRM allows changing three | ||
parameters for a given regulator: enable state, output voltage, and operating | ||
mode. The XOB allows changing only a single parameter for a given regulator: | ||
its enable state. Despite its name, the XOB is capable of controlling the | ||
enable state of any PMIC peripheral. It is used for clock buffers, low-voltage | ||
switches, and LDO/SMPS regulators which have a fixed voltage and mode. | ||
|
||
======================= | ||
Required Node Structure | ||
======================= | ||
|
||
RPMh regulators must be described in two levels of device nodes. The first | ||
level describes the PMIC containing the regulators and must reside within an | ||
RPMh device node. The second level describes each regulator within the PMIC | ||
which is to be used on the board. Each of these regulators maps to a single | ||
RPMh resource. | ||
|
||
The names used for regulator nodes must match those supported by a given PMIC. | ||
Supported regulator node names: | ||
PM8998: smps1 - smps13, ldo1 - ldo28, lvs1 - lvs2 | ||
PMI8998: bob | ||
PM8005: smps1 - smps4 | ||
|
||
======================== | ||
First Level Nodes - PMIC | ||
======================== | ||
|
||
- compatible | ||
Usage: required | ||
Value type: <string> | ||
Definition: Must be one of: "qcom,pm8998-rpmh-regulators", | ||
"qcom,pmi8998-rpmh-regulators" or | ||
"qcom,pm8005-rpmh-regulators". | ||
|
||
- qcom,pmic-id | ||
Usage: required | ||
Value type: <string> | ||
Definition: RPMh resource name suffix used for the regulators found on | ||
this PMIC. Typical values: "a", "b", "c", "d", "e", "f". | ||
|
||
- vdd-s1-supply | ||
- vdd-s2-supply | ||
- vdd-s3-supply | ||
- vdd-s4-supply | ||
Usage: optional (PM8998 and PM8005 only) | ||
Value type: <phandle> | ||
Definition: phandle of the parent supply regulator of one or more of the | ||
regulators for this PMIC. | ||
|
||
- vdd-s5-supply | ||
- vdd-s6-supply | ||
- vdd-s7-supply | ||
- vdd-s8-supply | ||
- vdd-s9-supply | ||
- vdd-s10-supply | ||
- vdd-s11-supply | ||
- vdd-s12-supply | ||
- vdd-s13-supply | ||
- vdd-l1-l27-supply | ||
- vdd-l2-l8-l17-supply | ||
- vdd-l3-l11-supply | ||
- vdd-l4-l5-supply | ||
- vdd-l6-supply | ||
- vdd-l7-l12-l14-l15-supply | ||
- vdd-l9-supply | ||
- vdd-l10-l23-l25-supply | ||
- vdd-l13-l19-l21-supply | ||
- vdd-l16-l28-supply | ||
- vdd-l18-l22-supply | ||
- vdd-l20-l24-supply | ||
- vdd-l26-supply | ||
- vin-lvs-1-2-supply | ||
Usage: optional (PM8998 only) | ||
Value type: <phandle> | ||
Definition: phandle of the parent supply regulator of one or more of the | ||
regulators for this PMIC. | ||
|
||
- vdd-bob-supply | ||
Usage: optional (PMI8998 only) | ||
Value type: <phandle> | ||
Definition: BOB regulator parent supply phandle | ||
|
||
=============================== | ||
Second Level Nodes - Regulators | ||
=============================== | ||
|
||
- qcom,always-wait-for-ack | ||
Usage: optional | ||
Value type: <empty> | ||
Definition: Boolean flag which indicates that the application processor | ||
must wait for an ACK or a NACK from RPMh for every request | ||
sent for this regulator including those which are for a | ||
strictly lower power state. | ||
|
||
Other properties defined in Documentation/devicetree/bindings/regulator.txt | ||
may also be used. regulator-initial-mode and regulator-allowed-modes may be | ||
specified for VRM regulators using mode values from | ||
include/dt-bindings/regulator/qcom,rpmh-regulator.h. regulator-allow-bypass | ||
may be specified for BOB type regulators managed via VRM. | ||
regulator-allow-set-load may be specified for LDO type regulators managed via | ||
VRM. | ||
|
||
======== | ||
Examples | ||
======== | ||
|
||
#include <dt-bindings/regulator/qcom,rpmh-regulator.h> | ||
|
||
&apps_rsc { | ||
pm8998-rpmh-regulators { | ||
compatible = "qcom,pm8998-rpmh-regulators"; | ||
qcom,pmic-id = "a"; | ||
|
||
vdd-l7-l12-l14-l15-supply = <&pm8998_s5>; | ||
|
||
smps2 { | ||
regulator-min-microvolt = <1100000>; | ||
regulator-max-microvolt = <1100000>; | ||
}; | ||
|
||
pm8998_s5: smps5 { | ||
regulator-min-microvolt = <1904000>; | ||
regulator-max-microvolt = <2040000>; | ||
}; | ||
|
||
ldo7 { | ||
regulator-min-microvolt = <1800000>; | ||
regulator-max-microvolt = <1800000>; | ||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | ||
regulator-allowed-modes = | ||
<RPMH_REGULATOR_MODE_LPM | ||
RPMH_REGULATOR_MODE_HPM>; | ||
regulator-allow-set-load; | ||
}; | ||
|
||
lvs1 { | ||
regulator-min-microvolt = <1800000>; | ||
regulator-max-microvolt = <1800000>; | ||
}; | ||
}; | ||
|
||
pmi8998-rpmh-regulators { | ||
compatible = "qcom,pmi8998-rpmh-regulators"; | ||
qcom,pmic-id = "b"; | ||
|
||
bob { | ||
regulator-min-microvolt = <3312000>; | ||
regulator-max-microvolt = <3600000>; | ||
regulator-allowed-modes = | ||
<RPMH_REGULATOR_MODE_AUTO | ||
RPMH_REGULATOR_MODE_HPM>; | ||
regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>; | ||
}; | ||
}; | ||
}; |
8 changes: 0 additions & 8 deletions
8
Documentation/devicetree/bindings/regulator/rohm,bd71837-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
Oops, something went wrong.