/Linux-v5.15/drivers/regulator/ |
D | max77620-regulator.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (c) 2016-2018, NVIDIA CORPORATION. All rights reserved. 21 #define max77620_rails(_name) "max77620-"#_name 99 static int max77620_regulator_get_fps_src(struct max77620_regulator *pmic, in max77620_regulator_get_fps_src() argument 100 int id) in max77620_regulator_get_fps_src() argument 102 struct max77620_regulator_info *rinfo = pmic->rinfo[id]; in max77620_regulator_get_fps_src() 106 ret = regmap_read(pmic->rmap, rinfo->fps_addr, &val); in max77620_regulator_get_fps_src() 108 dev_err(pmic->dev, "Reg 0x%02x read failed %d\n", in max77620_regulator_get_fps_src() 109 rinfo->fps_addr, ret); in max77620_regulator_get_fps_src() 116 static int max77620_regulator_set_fps_src(struct max77620_regulator *pmic, in max77620_regulator_set_fps_src() argument [all …]
|
D | palmas-regulator.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Driver for Regulator part of Palmas PMIC Chips 5 * Copyright 2011-2013 Texas Instruments Inc. 42 .sname = "smps1-in", 50 .sname = "smps1-in", 58 .sname = "smps3-in", 65 .sname = "smps4-in", 73 .sname = "smps4-in", 81 .sname = "smps6-in", 89 .sname = "smps7-in", [all …]
|
D | tps65910-regulator.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * tps65910.c -- TI tps65910 275 #define EXT_CONTROL_REG_BITS(id, regs_offs, bits) (((regs_offs) << 8) | (bits)) argument 320 static int tps65910_get_ctrl_register(int id) in tps65910_get_ctrl_register() argument 322 switch (id) { in tps65910_get_ctrl_register() 352 return -EINVAL; in tps65910_get_ctrl_register() 356 static int tps65911_get_ctrl_register(int id) in tps65911_get_ctrl_register() argument 358 switch (id) { in tps65911_get_ctrl_register() 386 return -EINVAL; in tps65911_get_ctrl_register() 392 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65910_set_mode() local [all …]
|
D | isl6271a-regulator.c | 2 * isl6271a-regulator.c 31 /* PMIC details */ 39 struct isl_pmic *pmic = rdev_get_drvdata(dev); in isl6271a_get_voltage_sel() local 42 mutex_lock(&pmic->mtx); in isl6271a_get_voltage_sel() 44 idx = i2c_smbus_read_byte(pmic->client); in isl6271a_get_voltage_sel() 46 dev_err(&pmic->client->dev, "Error getting voltage\n"); in isl6271a_get_voltage_sel() 48 mutex_unlock(&pmic->mtx); in isl6271a_get_voltage_sel() 55 struct isl_pmic *pmic = rdev_get_drvdata(dev); in isl6271a_set_voltage_sel() local 58 mutex_lock(&pmic->mtx); in isl6271a_set_voltage_sel() 60 err = i2c_smbus_write_byte(pmic->client, selector); in isl6271a_set_voltage_sel() [all …]
|
D | max8907-regulator.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * max8907-regulator.c -- support regulators in max8907 5 * Copyright (C) 2010 Gyungoh Yoo <jack.yoo@maxim-ic.com> 6 * Copyright (C) 2010-2012, NVIDIA CORPORATION. All rights reserved. 8 * Portions based on drivers/regulator/tps65910-regulator.c, 40 .id = MAX8907_MBATT, \ 50 .id = MAX8907_##ids, \ 51 .n_voltages = ((max) - (min)) / (step) + 1, \ 67 .id = MAX8907_##ids, \ 79 .id = MAX8907_##ids, \ [all …]
|
D | wm8350-regulator.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 // wm8350.c -- Voltage and current regulation for the Wolfson WM8350 PMIC 17 #include <linux/mfd/wm8350/pmic.h> 101 switch (wm8350->pmic.isink_A_dcdc) { in wm8350_isink_enable() 109 1 << (wm8350->pmic.isink_A_dcdc - in wm8350_isink_enable() 113 return -EINVAL; in wm8350_isink_enable() 117 switch (wm8350->pmic.isink_B_dcdc) { in wm8350_isink_enable() 125 1 << (wm8350->pmic.isink_B_dcdc - in wm8350_isink_enable() 129 return -EINVAL; in wm8350_isink_enable() 133 return -EINVAL; in wm8350_isink_enable() [all …]
|
D | s5m8767.c | 1 // SPDX-License-Identifier: GPL-2.0+ 170 *reg = S5M8767_REG_LDO1CTRL + (reg_id - S5M8767_LDO1); in s5m8767_get_register() 173 *reg = S5M8767_REG_LDO3CTRL + (reg_id - S5M8767_LDO3); in s5m8767_get_register() 179 *reg = S5M8767_REG_BUCK2CTRL + (reg_id - S5M8767_BUCK2) * 9; in s5m8767_get_register() 185 *reg = S5M8767_REG_BUCK6CTRL1 + (reg_id - S5M8767_BUCK6) * 2; in s5m8767_get_register() 188 return -EINVAL; in s5m8767_get_register() 191 for (i = 0; i < s5m8767->num_regulators; i++) { in s5m8767_get_register() 192 if (s5m8767->opmode[i].id == reg_id) { in s5m8767_get_register() 193 mode = s5m8767->opmode[i].mode; in s5m8767_get_register() 198 if (i >= s5m8767->num_regulators) in s5m8767_get_register() [all …]
|
D | mcp16502.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // MCP16502 PMIC driver 9 // Inspired from tps65086-regulator.c 30 * The PMIC has four sets of registers corresponding to four power modes: 31 * Performance, Active, Low-power, Hibernate. 38 * In order for the PMIC to transition to operating modes it has to be 42 * a low-power state while the PMIC is in Active mode. They are supposed to be 43 * configured at startup and then simply transition to/from a global low-power 46 * This driver keeps the PMIC in Active mode, Low-power state is set for the 49 * The PMIC's Low-power and Hibernate modes are used during standby/suspend. [all …]
|
D | hi6421v530-regulator.c | 1 // SPDX-License-Identifier: GPL-2.0 13 #include <linux/mfd/hi6421-pmic.h> 21 * struct hi6421v530_regulator_info - hi6421v530 regulator information 63 * _id - LDO id name string 64 * v_table - voltage table 65 * vreg - voltage select register 66 * vmask - voltage select mask 67 * ereg - enable register 68 * emask - enable mask 69 * odelay - off/on delay time in uS [all …]
|
/Linux-v5.15/drivers/mfd/ |
D | hi6421-pmic-core.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Device driver for Hi6421 PMIC 5 * Copyright (c) <2011-2014> HiSilicon Technologies Co., Ltd. 7 * Copyright (c) <2013-2017> Linaro Ltd. 16 #include <linux/mfd/hi6421-pmic.h> 23 { .name = "hi6421-regulator", }, 27 { .name = "hi6421v530-regulator", }, 39 .compatible = "hisilicon,hi6421-pmic", 43 .compatible = "hisilicon,hi6421v530-pmic", 52 struct hi6421_pmic *pmic; in hi6421_pmic_probe() local [all …]
|
D | mt6397-core.c | 1 // SPDX-License-Identifier: GPL-2.0-only 73 .name = "mt6323-rtc", 76 .of_compatible = "mediatek,mt6323-rtc", 78 .name = "mt6323-regulator", 79 .of_compatible = "mediatek,mt6323-regulator" 81 .name = "mt6323-led", 82 .of_compatible = "mediatek,mt6323-led" 84 .name = "mtk-pmic-keys", 87 .of_compatible = "mediatek,mt6323-keys" 89 .name = "mt6323-pwrc", [all …]
|
D | intel_soc_pmic_core.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Intel SoC PMIC MFD Driver 22 /* Crystal Cove PMIC shares same ACPI ID between different platforms */ 34 struct device *dev = &i2c->dev; in intel_soc_pmic_i2c_probe() 36 struct intel_soc_pmic *pmic; in intel_soc_pmic_i2c_probe() local 47 dev_err(dev, "Failed to get PMIC hardware revision\n"); in intel_soc_pmic_i2c_probe() 48 return -ENODEV; in intel_soc_pmic_i2c_probe() 63 pmic = devm_kzalloc(dev, sizeof(*pmic), GFP_KERNEL); in intel_soc_pmic_i2c_probe() 64 if (!pmic) in intel_soc_pmic_i2c_probe() 65 return -ENOMEM; in intel_soc_pmic_i2c_probe() [all …]
|
D | intel_soc_pmic_chtwc.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * MFD core driver for Intel Cherrytrail Whiskey Cove PMIC 7 * Based on various non upstream patches to support the CHT Whiskey Cove PMIC: 8 * Copyright (C) 2013-2015 Intel Corporation. All rights reserved. 21 /* PMIC device registers */ 29 /* Whiskey Cove PMIC share same ACPI ID between different platforms */ 75 int ret, orig_addr = client->addr; in cht_wc_byte_reg_read() 78 dev_err(&client->dev, "Error I2C address not specified\n"); in cht_wc_byte_reg_read() 79 return -EINVAL; in cht_wc_byte_reg_read() 82 client->addr = (reg & REG_ADDR_MASK) >> REG_ADDR_SHIFT; in cht_wc_byte_reg_read() [all …]
|
D | da9055-i2c.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 19 const struct i2c_device_id *id) in da9055_i2c_probe() argument 24 da9055 = devm_kzalloc(&i2c->dev, sizeof(struct da9055), GFP_KERNEL); in da9055_i2c_probe() 26 return -ENOMEM; in da9055_i2c_probe() 28 da9055->regmap = devm_regmap_init_i2c(i2c, &da9055_regmap_config); in da9055_i2c_probe() 29 if (IS_ERR(da9055->regmap)) { in da9055_i2c_probe() 30 ret = PTR_ERR(da9055->regmap); in da9055_i2c_probe() 31 dev_err(&i2c->dev, "Failed to allocate register map: %d\n", in da9055_i2c_probe() 36 da9055->dev = &i2c->dev; in da9055_i2c_probe() 37 da9055->chip_irq = i2c->irq; in da9055_i2c_probe() [all …]
|
/Linux-v5.15/Documentation/devicetree/bindings/regulator/ |
D | qcom,rpmh-regulator.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/regulator/qcom,rpmh-regulator.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - David Collins <collinsd@codeaurora.org> 13 rpmh-regulator devices support PMIC regulator management via the Voltage 20 the XOB is capable of controlling the enable state of any PMIC peripheral. 21 It is used for clock buffers, low-voltage switches, and LDO/SMPS regulators 29 level describes the PMIC containing the regulators and must reside within an 30 RPMh device node. The second level describes each regulator within the PMIC [all …]
|
D | rohm,bd71815-regulator.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/regulator/rohm,bd71815-regulator.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com> 14 see Documentation/devicetree/bindings/mfd/rohm,bd71815-pmic.yaml. 16 The regulator controller is represented as a sub-node of the PMIC node 32 regulator-name: 36 "^((ldo|buck)[1-5]|ldolpsr|ldodvref)$": 43 regulator-name: [all …]
|
/Linux-v5.15/Documentation/devicetree/bindings/spmi/ |
D | qcom,spmi-pmic-arb.txt | 1 Qualcomm SPMI Controller (PMIC Arbiter) 3 The SPMI PMIC Arbiter is found on Snapdragon chipsets. It is an SPMI 4 controller with wrapping arbitration logic to allow for multiple on-chip 7 The PMIC Arbiter can also act as an interrupt controller, providing interrupts 13 See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt for 17 - compatible : should be "qcom,spmi-pmic-arb". 18 - reg-names : must contain: 19 "core" - core registers 20 "intr" - interrupt controller registers 21 "cnfg" - configuration registers [all …]
|
D | hisilicon,hisi-spmi-controller.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/spmi/hisilicon,hisi-spmi-controller.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Mauro Carvalho Chehab <mchehab+huawei@kernel.org> 13 The HiSilicon SPMI BUS controller is found on some Kirin-based designs. 16 The PMIC part is provided by 17 ./Documentation/devicetree/bindings/mfd/hisilicon,hi6421-spmi-pmic.yaml. 20 - $ref: spmi.yaml# 25 pattern: "spmi@[0-9a-f]" [all …]
|
/Linux-v5.15/arch/arm/mach-omap2/ |
D | vp.c | 1 // SPDX-License-Identifier: GPL-2.0 9 #include "prm-regbits-34xx.h" 10 #include "prm-regbits-44xx.h" 15 struct omap_vp_instance *vp = voltdm->vp; in _vp_set_init_voltage() 19 vsel = voltdm->pmic->uv_to_vsel(volt); in _vp_set_init_voltage() 21 vpconfig = voltdm->read(vp->vpconfig); in _vp_set_init_voltage() 22 vpconfig &= ~(vp->common->vpconfig_initvoltage_mask | in _vp_set_init_voltage() 23 vp->common->vpconfig_forceupdate | in _vp_set_init_voltage() 24 vp->common->vpconfig_initvdd); in _vp_set_init_voltage() 25 vpconfig |= vsel << __ffs(vp->common->vpconfig_initvoltage_mask); in _vp_set_init_voltage() [all …]
|
/Linux-v5.15/drivers/extcon/ |
D | extcon-intel-mrfld.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * extcon driver for Basin Cove PMIC 9 #include <linux/extcon-provider.h> 18 #include "extcon-intel.h" 54 unsigned int id; member 70 return regmap_update_bits(data->regmap, reg, mask, 0x00); in mrfld_extcon_clear() 76 return regmap_update_bits(data->regmap, reg, mask, 0xff); in mrfld_extcon_set() 82 struct device *dev = data->dev; in mrfld_extcon_sw_control() 96 struct regmap *regmap = data->regmap; in mrfld_extcon_get_id() 97 unsigned int id; in mrfld_extcon_get_id() local [all …]
|
D | extcon-intel-cht-wc.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Extcon charger detection driver for Intel Cherrytrail Whiskey Cove PMIC 6 * Based on various non upstream patches to support the CHT Whiskey Cove PMIC: 7 * Copyright (C) 2013-2015 Intel Corporation. All rights reserved. 10 #include <linux/extcon-provider.h> 20 #include "extcon-intel.h" 63 /* 0 - open drain, 1 - regular push-pull output */ 65 /* 0 - pin is controlled by SW, 1 - by HW */ 135 ret = regmap_read(ext->regmap, CHT_WC_USBSRC, &usbsrc); in cht_wc_extcon_get_charger() 137 dev_err(ext->dev, "Error reading usbsrc: %d\n", ret); in cht_wc_extcon_get_charger() [all …]
|
/Linux-v5.15/Documentation/devicetree/bindings/iio/adc/ |
D | motorola,cpcap-adc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/iio/adc/motorola,cpcap-adc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Motorola CPCAP PMIC ADC binding 10 - Tony Lindgren <tony@atomide.com> 13 On Motorola phones like droid 4 there is a custom CPCAP PMIC. This PMIC 14 has ADCs that are used for battery charging and USB PHY VBUS and ID pin 20 - motorola,cpcap-adc 21 - motorola,mapphone-cpcap-adc [all …]
|
D | ti,palmas-gpadc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/iio/adc/ti,palmas-gpadc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Tony Lindgren <tony@atomide.com> 13 This ADC is often used to provide channels via the io-channels 27 11 DC-DC current probe (how does this work?) 30 14 USB ID pin voltage 35 const: ti,palmas-gpadc 41 "#io-channel-cells": [all …]
|
/Linux-v5.15/Documentation/devicetree/bindings/mfd/ |
D | hisilicon,hi6421-spmi-pmic.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/mfd/hisilicon,hi6421-spmi-pmic.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: HiSilicon 6421v600 SPMI PMIC 10 - Mauro Carvalho Chehab <mchehab+huawei@kernel.org> 16 The GPIO and interrupt settings are represented as part of the top-level PMIC 20 Documentation/devicetree/bindings/mfd/hisilicon,hi6421-spmi-pmic.yaml 24 pattern: "pmic@[0-9a-f]" 27 const: hisilicon,hi6421v600-spmi [all …]
|
D | qcom,spmi-pmic.txt | 1 Qualcomm SPMI PMICs multi-function device bindings 13 16-bit SPMI slave address space into 256 smaller fixed-size regions, 256 bytes 14 each. A function can consume one or more of these fixed-size register regions. 17 - compatible: Should contain one of: 41 or generalized "qcom,spmi-pmic". 42 - reg: Specifies the SPMI USID slave address for this device. 47 - compatible: Should contain "qcom,xxx", where "xxx" is a peripheral name. 50 - interrupts: Interrupts are specified as a 4-tuple. For more information 52 Documentation/devicetree/bindings/spmi/qcom,spmi-pmic-arb.txt 53 - interrupt-names: Corresponding interrupt name to the interrupts property [all …]
|