| /linux/arch/x86/include/asm/ |
| H A D | iosf_mbi.h | 1 /* 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 D | da9055-i2c.c | 1 // 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 D | max14577.c | 1 // 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 D | rohm-bd96801.c | 1 // 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 D | voltage.h | 1 /* 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 D | vc.c | 1 // 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 D | pmic-cpcap.c | 1 // 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 D | hi6421.txt | 1 * 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 D | max77620.txt | 4 ------------------- 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 D | intel_pmic.c | 1 // 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, ®, &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 D | mt6359-auxadc.c | 1 // 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 D | max77620_thermal.c | 1 // 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 D | smartreflex.h | 1 /* 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 D | active-semi,8865-regulator.h | 1 /* 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 D | active-semi,8945a-regulator.h | 1 /* 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 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 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 D | mcp16502.c | 1 // 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 D | tps65219-regulator.c | 1 // 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 D | tps65910-regulator.c | 1 // 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 D | bd718x7-regulator.c | 1 // 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 D | qcom,pm8018-adc.yaml | 1 # 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 D | wkup-m3-ipc.yaml | 1 # 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 D | pinctrl-palmas.txt | 7 - 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 D | spmi.yaml | 1 # 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 D | regulator.rst | 1 .. 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 …]
|