Home
last modified time | relevance | path

Searched +full:pmic +full:- +full:specific (Results 1 – 25 of 82) sorted by relevance

1234

/linux/arch/x86/include/asm/
H A Diosf_mbi.h1 /* SPDX-License-Identifier: GPL-2.0 */
63 * iosf_mbi_read() - MailBox Interface read command
65 * @opcode: port specific read or write opcode
69 * Locking is handled by spinlock - cannot sleep.
75 * iosf_mbi_write() - MailBox unmasked write command
77 * @opcode: port specific read or write opcode
81 * Locking is handled by spinlock - cannot sleep.
87 * iosf_mbi_modify() - MailBox masked write command
89 * @opcode: port specific read or write opcode
94 * Locking is handled by spinlock - cannot sleep.
[all …]
/linux/drivers/mfd/
H A Dda9055-i2c.c1 // SPDX-License-Identifier: GPL-2.0-or-later
22 da9055 = devm_kzalloc(&i2c->dev, sizeof(struct da9055), GFP_KERNEL); in da9055_i2c_probe()
24 return -ENOMEM; in da9055_i2c_probe()
26 da9055->regmap = devm_regmap_init_i2c(i2c, &da9055_regmap_config); in da9055_i2c_probe()
27 if (IS_ERR(da9055->regmap)) { in da9055_i2c_probe()
28 ret = PTR_ERR(da9055->regmap); in da9055_i2c_probe()
29 dev_err(&i2c->dev, "Failed to allocate register map: %d\n", in da9055_i2c_probe()
34 da9055->dev = &i2c->dev; in da9055_i2c_probe()
35 da9055->chip_irq = i2c->irq; in da9055_i2c_probe()
50 * DO NOT change the device Ids. The naming is intentionally specific as both
[all …]
H A Dmax14577.c1 // SPDX-License-Identifier: GPL-2.0+
3 // max14577.c - mfd core driver for the Maxim 14577/77836
18 #include <linux/mfd/max14577-private.h>
42 * maxim_charger_calc_reg_current - Calculate register value for current
54 * - is always between <limits.min, limits.max>;
55 * - is always less or equal to max_ua;
56 * - is the highest possible value;
57 * - may be lower than min_ua.
59 * On success returns 0. On error returns -EINVAL (requested min/max current
68 return -EINVAL; in maxim_charger_calc_reg_current()
[all …]
H A Drohm-bd96801.c1 // SPDX-License-Identifier: GPL-2.0-or-later
5 * ROHM BD96801 PMIC driver
7 * This version of the "BD86801 scalable PMIC"'s driver supports only very
8 * basic set of the PMIC features.
10 * be done when the PMIC is in STBY mode.
13 * regulator safety limits (like limits for the over/under -voltages, over
15 * synchronized with entity causing the PMIC state transitions. Eg, one
16 * should be able to ensure the PMIC is in STBY state when the
17 * configurations are applied to the hardware. How and when the PMIC state
18 * transitions are to be done is likely to be very system specific, as will
[all …]
/linux/arch/arm/mach-omap2/
H A Dvoltage.h1 /* SPDX-License-Identifier: GPL-2.0-only */
16 #include <linux/platform_data/voltage-omap.h>
25 * passed from board or PMIC file
32 * struct omap_vfsm_instance - per-voltage manager FSM register/bitfield
47 * struct voltagedomain - omap voltage domain global structure.
55 * @read: read-modify-write a VC/VP register
69 struct omap_voltdm_pmic *pmic; member
73 /* VC/VP register access functions: SoC specific */
109 * struct omap_voltdm_pmic - PMIC specific data required by voltage driver.
110 * @slew_rate: PMIC slew rate (in uv/us)
[all …]
H A Dvc.c1 // SPDX-License-Identifier: GPL-2.0-only
19 #include "prm-regbits-34xx.h"
20 #include "prm-regbits-44xx.h"
52 * struct omap_vc_channel_cfg - describe the cfg_channel bitfield
101 * omap_vc_config_channel - configure VC channel to PMIC mappings
104 * Configures the VC channel to PMIC mappings for the following
105 * PMIC settings
106 * - i2c slave address (SA)
107 * - voltage configuration address (RAV)
108 * - command configuration address (RAC) and enable bit (RACEN)
[all …]
H A Dpmic-cpcap.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * pmic-cpcap.c - CPCAP-specific functions for the OPP code
21 * omap_cpcap_vsel_to_uv - convert CPCAP VSEL value to microvolts DC
24 * Returns: the microvolts DC that the CPCAP PMIC should generate when
35 * omap_cpcap_uv_to_vsel - convert microvolts DC to CPCAP VSEL value
38 * Returns: the VSEL value necessary for the CPCAP PMIC to
47 return DIV_ROUND_UP(uv - 600000, 12500); in omap_cpcap_uv_to_vsel()
85 * omap_max8952_vsel_to_uv - convert MAX8952 VSEL value to microvolts DC
99 * omap_max8952_uv_to_vsel - convert microvolts DC to MAX8952 VSEL value
111 return DIV_ROUND_UP(uv - 770000, 10000); in omap_max8952_uv_to_vsel()
[all …]
/linux/Documentation/devicetree/bindings/mfd/
H A Dhi6421.txt1 * HI6421 Multi-Functional Device (MFD), by HiSilicon Ltd.
4 - compatible : One of the following chip-specific strings:
5 "hisilicon,hi6421-pmic";
6 "hisilicon,hi6421v530-pmic";
7 - reg : register range space of hi6421;
9 Supported Hi6421 sub-devices include:
12 ------ --------- ------------ -----------
20 compatible = "hisilicon,hi6421-pmic";
26 regulator-name = "VOUT0";
27 regulator-min-microvolt = <2850000>;
[all …]
H A Dmax77620.txt4 -------------------
5 - compatible: Must be one of
9 - reg: I2C device address.
12 -------------------
13 - interrupts: The interrupt on the parent the controller is
15 - interrupt-controller: Marks the device node as an interrupt controller.
16 - #interrupt-cells: is <2> and their usage is compliant to the 2 cells
17 variant of <../interrupt-controller/interrupts.txt>
19 are defined at dt-bindings/mfd/max77620.h.
21 - system-power-controller: Indicates that this PMIC is controlling the
[all …]
/linux/drivers/acpi/pmic/
H A Dintel_pmic.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * intel_pmic.c - Intel PMIC operation region driver
47 return -ENOENT; in pmic_get_reg_bit()
55 struct regmap *regmap = opregion->regmap; in intel_pmic_power_handler()
56 const struct intel_pmic_opregion_data *d = opregion->data; in intel_pmic_power_handler()
65 result = pmic_get_reg_bit(address, d->power_table, in intel_pmic_power_handler()
66 d->power_table_count, &reg, &bit); in intel_pmic_power_handler()
67 if (result == -ENOENT) in intel_pmic_power_handler()
70 mutex_lock(&opregion->lock); in intel_pmic_power_handler()
73 d->get_power(regmap, reg, bit, value64) : in intel_pmic_power_handler()
[all …]
/linux/drivers/iio/adc/
H A Dmt6359-auxadc.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * MediaTek MT6359 PMIC AUXADC IIO driver
25 #include <dt-bindings/iio/adc/mediatek,mt6357-auxadc.h>
26 #include <dt-bindings/iio/adc/mediatek,mt6358-auxadc.h>
27 #include <dt-bindings/iio/adc/mediatek,mt6359-auxadc.h>
28 #include <dt-bindings/iio/adc/mediatek,mt6363-auxadc.h>
36 /* For PMIC_RG_RESET_VAL and MT6358_IMP0_CLEAR, the bits specific purpose is unknown. */
103 * struct mt6359_auxadc - Main driver structure
105 * @regmap: Regmap from SoC PMIC Wrapper
106 * @chip_info: PMIC specific chip info
[all …]
/linux/drivers/thermal/
H A Dmax77620_thermal.c1 // SPDX-License-Identifier: GPL-2.0-only
34 * max77620_thermal_read_temp: Read PMIC die temperatue.
35 * @data: Device specific data.
38 * The actual temperature of PMIC die is not available from PMIC.
39 * PMIC only tells the status if it has crossed or not the threshold level
42 * else 120degC or 140deG based on the PMIC die temp threshold status.
53 ret = regmap_read(mtherm->rmap, MAX77620_REG_STATLBT, &val); in max77620_thermal_read_temp()
75 if (irq == mtherm->irq_tjalarm1) in max77620_thermal_irq()
76 dev_warn(mtherm->dev, "Junction Temp Alarm1(120C) occurred\n"); in max77620_thermal_irq()
77 else if (irq == mtherm->irq_tjalarm2) in max77620_thermal_irq()
[all …]
/linux/include/linux/power/
H A Dsmartreflex.h1 /* SPDX-License-Identifier: GPL-2.0 */
23 #include <linux/platform_data/voltage-omap.h>
129 * 3430 specific values. Maybe these should be passed from board file or
130 * pmic structures.
177 * test_cond_timeout - busy-loop, testing a condition
198 * struct omap_sr_pmic_data - Strucutre to be populated by pmic code to pass
199 * pmic specific info to smartreflex driver
201 * @sr_pmic_init: API to initialize smartreflex on the PMIC side.
208 * struct omap_smartreflex_dev_attr - Smartreflex Device attribute.
227 * struct omap_sr_class_data - Smartreflex class driver info
[all …]
/linux/include/dt-bindings/regulator/
H A Dactive-semi,8865-regulator.h1 /* SPDX-License-Identifier: GPL-2.0 */
3 * Device Tree binding constants for the ACT8865 PMIC regulators
12 * ACT8865_REGULATOR_MODE_FIXED: It is specific to DCDC regulators and it
13 * specifies the usage of fixed-frequency
16 * ACT8865_REGULATOR_MODE_NORMAL: It is specific to LDO regulators and it
20 * the usage of proprietary power-saving
H A Dactive-semi,8945a-regulator.h1 /* SPDX-License-Identifier: GPL-2.0 */
5 * Device Tree binding constants for the ACT8945A PMIC regulators
14 * ACT8945A_REGULATOR_MODE_FIXED: It is specific to DCDC regulators and it
15 * specifies the usage of fixed-frequency
18 * ACT8945A_REGULATOR_MODE_NORMAL: It is specific to LDO regulators and it
22 * the usage of proprietary power-saving
/linux/drivers/regulator/
H A Dmax77620-regulator.c1 // 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
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
119 struct max77620_regulator_info *rinfo = pmic->rinfo[id]; in max77620_regulator_set_fps_src()
[all …]
H A Dmcp16502.c1 // SPDX-License-Identifier: GPL-2.0
3 // MCP16502 PMIC driver
9 // Inspired from tps65086-regulator.c
29 * The PMIC has four sets of registers corresponding to four power modes:
30 * Performance, Active, Low-power, Hibernate.
34 * for a specific regulator and mode BASE_* and OFFSET_* need to be added.
37 * In order for the PMIC to transition to operating modes it has to be
41 * a low-power state while the PMIC is in Active mode. They are supposed to be
42 * configured at startup and then simply transition to/from a global low-power
45 * This driver keeps the PMIC in Active mode, Low-power state is set for the
[all …]
H A Dtps65219-regulator.c1 // SPDX-License-Identifier: GPL-2.0
3 // TPS65214/TPS65215/TPS65219 PMIC Regulator Driver
5 // Copyright (C) 2022 BayLibre Incorporated - https://www.baylibre.com/
6 // Copyright (C) 2024 Texas Instruments Incorporated - https://www.ti.com/
9 // "J Keerthy <j-keerthy@ti.com>"
169 return regmap_set_bits(tps->regmap, TPS65219_REG_STBY_1_CONFIG, in tps65219_set_mode()
170 dev->desc->enable_mask); in tps65219_set_mode()
173 return regmap_clear_bits(tps->regmap, in tps65219_set_mode()
175 dev->desc->enable_mask); in tps65219_set_mode()
177 return -EINVAL; in tps65219_set_mode()
[all …]
H A Dtps65910-regulator.c1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * tps65910.c -- TI tps65910
34 /* VSEL tables for TPS65910 specific LDOs and dcdc's */
351 return -EINVAL; in tps65910_get_ctrl_register()
385 return -EINVAL; in tps65911_get_ctrl_register()
391 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65910_set_mode() local
395 reg = pmic->get_ctrl_reg(id); in tps65910_set_mode()
411 return -EINVAL; in tps65910_set_mode()
416 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65910_get_mode() local
420 reg = pmic->get_ctrl_reg(id); in tps65910_get_mode()
[all …]
H A Dbd718x7-regulator.c1 // SPDX-License-Identifier: GPL-2.0
3 // bd71837-regulator.c ROHM BD71837MWV/BD71847MWV regulator driver
10 #include <linux/mfd/rohm-bd718x7.h>
51 * controlled by software - or by PMIC internal HW state machine. Whether
52 * regulator should be under SW or HW control can be defined from device-tree.
98 * We assume PMIC is in RUN state because SW running and able to query the
103 * Note for next hacker - these PMICs have a register where the HW state can be
104 * read. If assuming RUN appears to be false in your use-case - you can
123 ret = regmap_read(rdev->regmap, rdev->desc->enable_reg, &val); in bd71837_get_buck34_enable_hwctrl()
142 * might be less - and we could probably use DT to give in voltage_change_done()
[all …]
/linux/Documentation/devicetree/bindings/iio/adc/
H A Dqcom,pm8018-adc.yaml1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/iio/adc/qcom,pm8018-adc.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Linus Walleij <linus.walleij@linaro.org>
19 - qcom,pm8018-adc
20 - qcom,pm8038-adc
21 - qcom,pm8058-adc
22 - qcom,pm8921-adc
27 ADC base address in the PMIC, typically 0x197.
[all …]
/linux/Documentation/devicetree/bindings/soc/ti/
H A Dwkup-m3-ipc.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/soc/ti/wkup-m3-ipc.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Dave Gerlach <d-gerlach@ti.com>
11 - Drew Fustini <dfustini@baylibre.com>
14 The TI AM33xx and AM43xx family of devices use a small Cortex M3 co-processor
17 C-states for CPU Idle. Once the wkup_m3_ipc driver uses the wkup_m3_rproc driver
20 API to allow the SoC PM code to execute specific PM tasks.
29 On some boards like the AM335x EVM-SK and the AM437x GP EVM, a GPIO pin is
[all …]
/linux/Documentation/devicetree/bindings/pinctrl/
H A Dpinctrl-palmas.txt7 - compatible: It must be one of following:
8 - "ti,palmas-pinctrl" for Palma series of the pincontrol.
9 - "ti,tps65913-pinctrl" for Palma series device TPS65913.
10 - "ti,tps80036-pinctrl" for Palma series device TPS80036.
12 Please refer to pinctrl-bindings.txt in this directory for details of the
19 those pin(s), and various pin configuration parameters, such as pull-up,
32 - ti,palmas-enable-dvfs1: Enable DVFS1. Configure pins for DVFS1 mode.
35 - ti,palmas-enable-dvfs2: Enable DVFS2. Configure pins for DVFS2 mode.
38 - ti,palmas-override-powerhold: This is applicable for PMICs for which
40 over DEV_ON bit and keeps the PMIC supplies on even after the DEV_ON
[all …]
/linux/Documentation/devicetree/bindings/spmi/
H A Dspmi.yaml1 # SPDX-License-Identifier: GPL-2.0
3 ---
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Stephen Boyd <sboyd@kernel.org>
13 The System Power Management (SPMI) controller is a 2-wire bus defined
17 bindings defined here, plus any bus controller specific properties, if
27 "#address-cells":
30 "#size-cells":
34 "@[0-9a-f]$":
35 description: up to 16 child PMIC nodes
[all …]
/linux/Documentation/driver-api/
H A Dregulator.rst1 .. Copyright 2007-2008 Wolfson Microelectronics
30 --------
52 Power Management Integrated Circuit (PMIC)
55 subsystems. In an embedded system the primary PMIC is often equivalent
62 drivers use `get <#API-regulator-get>`__ and
63 `put <#API-regulator-put>`__ operations to acquire and release
64 regulators. Functions are provided to `enable <#API-regulator-enable>`__
65 and `disable <#API-regulator-disable>`__ the regulator and to get and
76 ----------------------
90 -------------
[all …]

1234