summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2026-08-19 09:36:58 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2026-08-19 09:36:58 -0700
commitb3438e5ca785565a65ef231bc03cd5a05c3be5c7 (patch)
treeaf71b6874f05d24c45e0104c0c0cfa87ecc38807 /include
parent259c4f8e775cf25069c30e806b037b154147720d (diff)
parente739acbe05b06de78ef7089470f122432f651faa (diff)
downloadlinux-b3438e5ca785565a65ef231bc03cd5a05c3be5c7.tar.gz
linux-b3438e5ca785565a65ef231bc03cd5a05c3be5c7.zip
Merge tag 'regulator-v7.3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator
Pull regulator updates from Mark Brown: "This is a relatively quiet release for the regulator API, we've had no major core work and not really that much driver work either. There's a bunch of activity, including several new devices, but nothing hugely remarkable here. - Reworking of the mode handling in the max14577 driver to fix issues with collisions with enables - Support for onsemi FAN53555BUC23X, Qualcomm IPQ9650, PM4125 VBUS and PM8150B and Unisoc SC2730" * tag 'regulator-v7.3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (36 commits) regulator: fan53555: Add support for FAN53555BUC23X type regulator: qcom-rpmh: Fix coding style issues regulator: qcom-rpmh: readback voltage/bypass/mode set during bootup regulator: qcom-rpmh: Fix PMIC5 BOB bypass mode handling soc: qcom: rpmh: Add support to read back resource settings regulator: dt-bindings: ti,pbias-omap: Convert to DT schema regulator: ab8500: Remove stale expand_register kernel-doc entry regulator: dt-bindings: Correct white-space style regulator: pfuze100: add set_suspend_disable for LDO ops regulator: core: use system_freezable_wq for init complete work regulator: rt6245: Restore state on enable failure regulator: tps65185: handle gpiod_get_value_cansleep() error returns regulator: fan53555: Add support for mode operations on Silergy devices regulator: dt-bindings: Add fan53555 allowed modes regulator: wm831x-isink: remove conditional return with no effect regulator: dt-bindings: Convert ltc3589.txt to yaml format regulator: dt-bindings: tps51632: Convert to DT schema regulator: mcp16502: Convert to dev_err_probe() in mcp16502_probe() regulator: adp5055: Fix error code in adp5055_of_parse_cb() regulator: qcom_usb_vbus: add support for qcom,pm4125-vbus-reg ...
Diffstat (limited to 'include')
-rw-r--r--include/dt-bindings/regulator/fcs,fan53555-regulator.h20
-rw-r--r--include/linux/mfd/max14577-private.h3
-rw-r--r--include/soc/qcom/rpmh.h5
-rw-r--r--include/soc/qcom/tcs.h2
4 files changed, 30 insertions, 0 deletions
diff --git a/include/dt-bindings/regulator/fcs,fan53555-regulator.h b/include/dt-bindings/regulator/fcs,fan53555-regulator.h
new file mode 100644
index 000000000000..ce3d6c63a0f1
--- /dev/null
+++ b/include/dt-bindings/regulator/fcs,fan53555-regulator.h
@@ -0,0 +1,20 @@
+/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
+/*
+ * Copyright (c) 2026 Arturia - All rights reserved.
+ *
+ * Device Tree binding constants for the FAN53555 PMIC regulator
+ */
+
+#ifndef _DT_BINDINGS_REGULATOR_FAN53555_H
+#define _DT_BINDINGS_REGULATOR_FAN53555_H
+
+/*
+ * Constants to specify regulator modes in device tree for SYR82X regulators
+ * FAN53555_REGULATOR_MODE_FORCE_PWM: Force fixed PWM mode
+ * FAN53555_REGULATOR_MODE_AUTO: Allow auto-PFM mode during light load
+ */
+
+#define FAN53555_REGULATOR_MODE_FORCE_PWM 1
+#define FAN53555_REGULATOR_MODE_AUTO 2
+
+#endif
diff --git a/include/linux/mfd/max14577-private.h b/include/linux/mfd/max14577-private.h
index dd51a37fa37f..5957e15b568e 100644
--- a/include/linux/mfd/max14577-private.h
+++ b/include/linux/mfd/max14577-private.h
@@ -350,6 +350,9 @@ enum max77836_pmic_reg {
#define MAX77836_CNFG1_LDO_PWRMD_SHIFT 6
#define MAX77836_CNFG1_LDO_TV_SHIFT 0
#define MAX77836_CNFG1_LDO_PWRMD_MASK (0x3 << MAX77836_CNFG1_LDO_PWRMD_SHIFT)
+#define MAX77836_CNFG1_LDO_PWRMD_OFF (0x0 << MAX77836_CNFG1_LDO_PWRMD_SHIFT)
+#define MAX77836_CNFG1_LDO_PWRMD_LPM (0x1 << MAX77836_CNFG1_LDO_PWRMD_SHIFT)
+#define MAX77836_CNFG1_LDO_PWRMD_NORMAL (0x3 << MAX77836_CNFG1_LDO_PWRMD_SHIFT)
#define MAX77836_CNFG1_LDO_TV_MASK (0x3f << MAX77836_CNFG1_LDO_TV_SHIFT)
/* LDO1/LDO2 CONFIG2 register */
diff --git a/include/soc/qcom/rpmh.h b/include/soc/qcom/rpmh.h
index bdbee1a97d36..14ecbf242b6b 100644
--- a/include/soc/qcom/rpmh.h
+++ b/include/soc/qcom/rpmh.h
@@ -11,6 +11,8 @@
#if IS_ENABLED(CONFIG_QCOM_RPMH)
+int rpmh_read(const struct device *dev, struct tcs_cmd *cmd);
+
int rpmh_write(const struct device *dev, enum rpmh_state state,
const struct tcs_cmd *cmd, u32 n);
@@ -24,6 +26,9 @@ void rpmh_invalidate(const struct device *dev);
#else
+static inline int rpmh_read(const struct device *dev, struct tcs_cmd *cmd)
+{ return -ENODEV; }
+
static inline int rpmh_write(const struct device *dev, enum rpmh_state state,
const struct tcs_cmd *cmd, u32 n)
{ return -ENODEV; }
diff --git a/include/soc/qcom/tcs.h b/include/soc/qcom/tcs.h
index cff67ce25488..45b8513be2f9 100644
--- a/include/soc/qcom/tcs.h
+++ b/include/soc/qcom/tcs.h
@@ -51,6 +51,7 @@ struct tcs_cmd {
* struct tcs_request: A set of tcs_cmds sent together in a TCS
*
* @state: state for the request.
+ * @is_read: set for read only requests
* @wait_for_compl: wait until we get a response from the h/w accelerator
* (same as setting cmd->wait for all commands in the request)
* @num_cmds: the number of @cmds in this request
@@ -58,6 +59,7 @@ struct tcs_cmd {
*/
struct tcs_request {
enum rpmh_state state;
+ bool is_read;
u32 wait_for_compl;
u32 num_cmds;
struct tcs_cmd *cmds;