Home
last modified time | relevance | path

Searched full:pmic (Results 1 – 25 of 1337) sorted by relevance

12345678910>>...54

/linux/drivers/regulator/
H A Dmax77620-regulator.c99 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()
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()
134 ret = regmap_read(pmic->rmap, rinfo->fps_addr, &val); in max77620_regulator_set_fps_src()
136 dev_err(pmic->dev, "Reg 0x%02x read failed %d\n", in max77620_regulator_set_fps_src()
141 pmic->active_fps_src[id] = ret; in max77620_regulator_set_fps_src()
145 dev_err(pmic->dev, "Invalid FPS %d for regulator %d\n", in max77620_regulator_set_fps_src()
[all …]
H A Dtps65910-regulator.c391 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65910_set_mode() local
395 reg = pmic->get_ctrl_reg(id); 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()
514 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65910_get_voltage_sel() local
518 reg = pmic->get_ctrl_reg(id); in tps65910_get_voltage_sel()
557 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65911_get_voltage_sel() local
562 reg = pmic->get_ctrl_reg(id); in tps65911_get_voltage_sel()
634 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65910_set_voltage_sel() local
638 reg = pmic->get_ctrl_reg(id); in tps65910_set_voltage_sel()
[all …]
H A DKconfig146 signal AB8500 PMIC
175 tristate "AS3711 PMIC"
179 AS3711 PMIC
182 tristate "AMS AS3722 PMIC Regulators"
186 AS3722 PMIC. This will enable support for all the software
190 tristate "Actions Semi ATC260x PMIC Regulators"
206 tristate "X-POWERS AXP20X PMIC Regulators"
210 AXP20X PMIC.
225 This driver supports voltage regulators on ROHM BD71815 PMIC.
237 This driver supports voltage regulators on ROHM BD71828 PMIC.
[all …]
H A Dpalmas-regulator.c3 * Driver for Regulator part of Palmas PMIC Chips
441 struct palmas_pmic *pmic = rdev_get_drvdata(dev); in palmas_set_mode_smps() local
442 struct palmas_pmic_driver_data *ddata = pmic->palmas->pmic_ddata; in palmas_set_mode_smps()
447 ret = palmas_smps_read(pmic->palmas, rinfo->ctrl_addr, &reg); in palmas_set_mode_smps()
470 pmic->current_reg_mode[id] = reg & PALMAS_SMPS12_CTRL_MODE_ACTIVE_MASK; in palmas_set_mode_smps()
472 palmas_smps_write(pmic->palmas, rinfo->ctrl_addr, reg); in palmas_set_mode_smps()
475 pmic->desc[id].enable_val = pmic->current_reg_mode[id]; in palmas_set_mode_smps()
482 struct palmas_pmic *pmic = rdev_get_drvdata(dev); in palmas_get_mode_smps() local
486 reg = pmic->current_reg_mode[id] & PALMAS_SMPS12_CTRL_MODE_ACTIVE_MASK; in palmas_get_mode_smps()
504 struct palmas_pmic *pmic = rdev_get_drvdata(rdev); in palmas_smps_set_ramp_delay() local
[all …]
H A Dmax8907-regulator.c279 struct max8907_regulator *pmic; in max8907_regulator_probe() local
290 pmic = devm_kzalloc(&pdev->dev, sizeof(*pmic), GFP_KERNEL); in max8907_regulator_probe()
291 if (!pmic) in max8907_regulator_probe()
294 platform_set_drvdata(pdev, pmic); in max8907_regulator_probe()
296 memcpy(pmic->desc, max8907_regulators, sizeof(pmic->desc)); in max8907_regulator_probe()
305 pmic->desc[MAX8907_SD1].min_uV = 637500; in max8907_regulator_probe()
306 pmic->desc[MAX8907_SD1].uV_step = 12500; in max8907_regulator_probe()
307 pmic->desc[MAX8907_SD1].n_voltages = in max8907_regulator_probe()
320 config.driver_data = pmic; in max8907_regulator_probe()
324 switch (pmic->desc[i].id) { in max8907_regulator_probe()
[all …]
/linux/drivers/mfd/
H A Dhi655x-pmic.c3 * Device driver for MFD hi655x PMIC
16 #include <linux/mfd/hi655x-pmic.h>
35 .name = "hi655x-pmic",
94 struct hi655x_pmic *pmic; in hi655x_pmic_probe() local
98 pmic = devm_kzalloc(dev, sizeof(*pmic), GFP_KERNEL); in hi655x_pmic_probe()
99 if (!pmic) in hi655x_pmic_probe()
101 pmic->dev = dev; in hi655x_pmic_probe()
107 pmic->regmap = devm_regmap_init_mmio_clk(dev, NULL, base, in hi655x_pmic_probe()
109 if (IS_ERR(pmic->regmap)) in hi655x_pmic_probe()
110 return PTR_ERR(pmic->regmap); in hi655x_pmic_probe()
[all …]
H A Dintel_soc_pmic_bxtwc.c3 * MFD core driver for Intel Broxton Whiskey Cove PMIC
31 /* PMIC device registers */
69 /* Whiskey Cove PMIC share same ACPI ID between different platforms */
309 struct intel_soc_pmic *pmic = context; in regmap_ipc_byte_reg_read() local
311 if (!pmic) in regmap_ipc_byte_reg_read()
323 ret = intel_scu_ipc_dev_command(pmic->scu, PMC_PMIC_ACCESS, in regmap_ipc_byte_reg_read()
339 struct intel_soc_pmic *pmic = context; in regmap_ipc_byte_reg_write() local
341 if (!pmic) in regmap_ipc_byte_reg_write()
354 return intel_scu_ipc_dev_command(pmic->scu, PMC_PMIC_ACCESS, in regmap_ipc_byte_reg_write()
359 /* sysfs interfaces to r/w PMIC registers, required by initial script */
[all …]
H A Dqcom-spmi-pmic.c17 #include <soc/qcom/qcom-spmi-pmic.h>
32 struct qcom_spmi_pmic pmic; member
70 { .compatible = "qcom,spmi-pmic", .data = N_USIDS(1) },
75 * A PMIC can be represented by multiple SPMI devices, but
76 * only the base PMIC device will contain a reference to
79 * This function takes a pointer to a pmic device and
80 * returns a pointer to the base PMIC device.
104 * number of USIDs in the PMIC array, e.g. for a PMIC with 2 USIDs in qcom_pmic_get_base_usid()
121 * If the base USID for this PMIC hasn't been in qcom_pmic_get_base_usid()
155 memcpy(&ctx->pmic, &base_ctx->pmic, sizeof(ctx->pmic)); in pmic_spmi_get_base_revid()
[all …]
H A Dintel_soc_pmic_chtdc_ti.c3 * Device access for Dollar Cove TI PMIC
110 struct intel_soc_pmic *pmic; in chtdc_ti_probe() local
113 pmic = devm_kzalloc(dev, sizeof(*pmic), GFP_KERNEL); in chtdc_ti_probe()
114 if (!pmic) in chtdc_ti_probe()
117 i2c_set_clientdata(i2c, pmic); in chtdc_ti_probe()
119 pmic->regmap = devm_regmap_init_i2c(i2c, &chtdc_ti_regmap_config); in chtdc_ti_probe()
120 if (IS_ERR(pmic->regmap)) in chtdc_ti_probe()
121 return PTR_ERR(pmic->regmap); in chtdc_ti_probe()
122 pmic->irq = i2c->irq; in chtdc_ti_probe()
124 ret = devm_regmap_add_irq_chip(dev, pmic->regmap, pmic->irq, in chtdc_ti_probe()
[all …]
H A Dintel_soc_pmic_chtwc.c3 * MFD core driver for Intel Cherrytrail Whiskey Cove PMIC
7 * Based on various non upstream patches to support the CHT Whiskey Cove PMIC:
22 /* PMIC device registers */
30 /* Whiskey Cove PMIC share same ACPI ID between different platforms */
191 struct intel_soc_pmic *pmic; in cht_wc_probe() local
198 return dev_err_probe(dev, -ENODEV, "Failed to get PMIC hardware revision\n"); in cht_wc_probe()
200 return dev_err_probe(dev, -ENODEV, "Invalid PMIC hardware revision: %llu\n", hrv); in cht_wc_probe()
205 pmic = devm_kzalloc(dev, sizeof(*pmic), GFP_KERNEL); in cht_wc_probe()
206 if (!pmic) in cht_wc_probe()
211 pmic->cht_wc_model = (long)id->driver_data; in cht_wc_probe()
[all …]
H A Dintel_soc_pmic_mrfld.c3 * Device access for Basin Cove PMIC
22 * Firmware on the systems with Basin Cove PMIC services Level 1 IRQs
76 struct intel_soc_pmic *pmic = context; in bcove_ipc_byte_reg_read() local
80 ret = intel_scu_ipc_dev_ioread8(pmic->scu, reg, &ipc_out); in bcove_ipc_byte_reg_read()
91 struct intel_soc_pmic *pmic = context; in bcove_ipc_byte_reg_write() local
94 return intel_scu_ipc_dev_iowrite8(pmic->scu, reg, ipc_in); in bcove_ipc_byte_reg_write()
108 struct intel_soc_pmic *pmic; in bcove_probe() local
112 pmic = devm_kzalloc(dev, sizeof(*pmic), GFP_KERNEL); in bcove_probe()
113 if (!pmic) in bcove_probe()
116 pmic->scu = devm_intel_scu_ipc_dev_get(dev); in bcove_probe()
[all …]
H A Dintel_soc_pmic_crc.c3 * Device access for Crystal Cove PMIC
173 struct intel_soc_pmic *pmic; in crystal_cove_i2c_probe() local
181 pmic = devm_kzalloc(dev, sizeof(*pmic), GFP_KERNEL); in crystal_cove_i2c_probe()
182 if (!pmic) in crystal_cove_i2c_probe()
185 i2c_set_clientdata(i2c, pmic); in crystal_cove_i2c_probe()
187 pmic->regmap = devm_regmap_init_i2c(i2c, config->regmap_config); in crystal_cove_i2c_probe()
188 if (IS_ERR(pmic->regmap)) in crystal_cove_i2c_probe()
189 return PTR_ERR(pmic->regmap); in crystal_cove_i2c_probe()
191 pmic->irq = i2c->irq; in crystal_cove_i2c_probe()
193 ret = devm_regmap_add_irq_chip(dev, pmic->regmap, pmic->irq, in crystal_cove_i2c_probe()
[all …]
H A Dhi6421-pmic-core.c3 * Device driver for Hi6421 PMIC
16 #include <linux/mfd/hi6421-pmic.h>
40 .compatible = "hisilicon,hi6421-pmic",
44 .compatible = "hisilicon,hi6421v530-pmic",
53 struct hi6421_pmic *pmic; in hi6421_pmic_probe() local
61 pmic = devm_kzalloc(&pdev->dev, sizeof(*pmic), GFP_KERNEL); in hi6421_pmic_probe()
62 if (!pmic) in hi6421_pmic_probe()
69 pmic->regmap = devm_regmap_init_mmio_clk(&pdev->dev, NULL, base, in hi6421_pmic_probe()
71 if (IS_ERR(pmic->regmap)) { in hi6421_pmic_probe()
73 PTR_ERR(pmic->regmap)); in hi6421_pmic_probe()
[all …]
H A Dmt6397-core.c133 .name = "mtk-pmic-keys",
150 .name = "mtk-pmic-keys",
172 .name = "mtk-pmic-keys",
193 .name = "mtk-pmic-keys",
237 .name = "mtk-pmic-keys",
263 .name = "mtk-pmic-keys",
338 struct mt6397_chip *pmic; in mt6397_probe() local
341 pmic = devm_kzalloc(&pdev->dev, sizeof(*pmic), GFP_KERNEL); in mt6397_probe()
342 if (!pmic) in mt6397_probe()
345 pmic->dev = &pdev->dev; in mt6397_probe()
[all …]
/linux/Documentation/devicetree/bindings/regulator/
H A Dmaxim,max8997.yaml22 const: maxim,max8997-pmic
33 max8997,pmic-buck1-dvs-voltage:
40 If none of max8997,pmic-buck[1/2/5]-uses-gpio-dvs optional property is
41 specified, the max8997,pmic-buck[1/2/5]-dvs-voltage property should
45 max8997,pmic-buck2-dvs-voltage:
52 If none of max8997,pmic-buck[1/2/5]-uses-gpio-dvs optional property is
53 specified, the max8997,pmic-buck[1/2/5]-dvs-voltage property should
57 max8997,pmic-buck5-dvs-voltage:
64 If none of max8997,pmic-buck[1/2/5]-uses-gpio-dvs optional property is
65 specified, the max8997,pmic-buck[1/2/5]-dvs-voltage property should
[all …]
H A Dpalmas-pmic.txt12 ti,twl6035-pmic
13 ti,twl6036-pmic
14 ti,twl6037-pmic
15 ti,tps65913-pmic
16 ti,tps65914-pmic
17 ti,tps65917-pmic
18 ti,tps659038-pmic
20 ti,palmas-pmic
35 For ti,palmas-pmic - smps12, smps123, smps3 depending on OTP,
48 ti,mode-sleep - mode to adopt in pmic sleep 0 - off, 1 - auto,
[all …]
/linux/Documentation/devicetree/bindings/soc/qcom/
H A Dqcom,pmic-glink.yaml4 $id: http://devicetree.org/schemas/soc/qcom/qcom,pmic-glink.yaml#
7 title: Qualcomm PMIC GLINK firmware interface for battery management, USB
14 The PMIC GLINK service, running on a coprocessor on some modern Qualcomm
26 - qcom,qcm6490-pmic-glink
27 - qcom,sc8180x-pmic-glink
28 - qcom,sc8280xp-pmic-glink
29 - qcom,sm8350-pmic-glink
30 - qcom,sm8450-pmic-glink
31 - qcom,sm8550-pmic-glink
32 - const: qcom,pmic-glink
[all …]
/linux/drivers/acpi/pmic/
H A DKconfig4 bool "PMIC (Power Management Integrated Circuit) operation region support"
7 region of the PMIC chip. The operation region can be used
9 PMIC chip.
14 bool "ACPI operation region support for Bay Trail Crystal Cove PMIC"
18 version of the Crystal Cove PMIC.
21 bool "ACPI operation region support for Cherry Trail Crystal Cove PMIC"
25 version of the Crystal Cove PMIC.
28 bool "ACPI operation region support for XPower AXP288 PMIC"
31 This config adds ACPI operation region support for XPower AXP288 PMIC.
34 bool "ACPI operation region support for BXT WhiskeyCove PMIC"
[all …]
/linux/Documentation/devicetree/bindings/mfd/
H A Dhisilicon,hi655x.txt1 Hisilicon Hi655x Power Management Integrated Circuit (PMIC)
3 The hardware layout for access PMIC Hi655x from AP SoC Hi6220.
4 Between PMIC Hi655x and Hi6220, the physical signal channel is SSI.
15 - compatible: Should be "hisilicon,hi655x-pmic".
16 - reg: Base address of PMIC on Hi6220 SoC.
18 - pmic-gpios: The GPIO used by PMIC IRQ.
26 pmic: pmic@f8000000 {
27 compatible = "hisilicon,hi655x-pmic";
31 pmic-gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
H A Dsamsung,s2mps11.yaml14 Management IC (PMIC).
23 - samsung,s2mps11-pmic
24 - samsung,s2mps13-pmic
25 - samsung,s2mps14-pmic
26 - samsung,s2mps15-pmic
27 - samsung,s2mpu02-pmic
47 Indicates that ACOKB pin of S2MPS11 PMIC is connected to the ground so
48 the PMIC must manually set PWRHOLD bit in CTRL1 register to turn off the
55 Indicates that WRSTBI pin of PMIC is pulled down. When the system is
74 const: samsung,s2mps11-pmic
[all …]
H A Dmaxim,max8998.yaml34 max8998,pmic-buck1-dvs-gpios:
39 max8998,pmic-buck2-dvs-gpio:
44 max8998,pmic-buck1-default-dvs-idx:
52 max8998,pmic-buck2-default-dvs-idx:
60 max8998,pmic-buck-voltage-lock:
65 max8998,pmic-buck1-dvs-voltage:
72 max8998,pmic-buck2-dvs-voltage:
133 max8998,pmic-buck1-dvs-gpios: [ "max8998,pmic-buck1-dvs-voltage" ]
134 max8998,pmic-buck2-dvs-gpio: [ "max8998,pmic-buck2-dvs-voltage" ]
152 pmic@66 {
[all …]
/linux/drivers/watchdog/
H A Dstpmic1_wdt.c31 struct stpmic1 *pmic; member
39 return regmap_update_bits(wdt->pmic->regmap, in pmic_wdt_start()
47 return regmap_update_bits(wdt->pmic->regmap, in pmic_wdt_stop()
55 return regmap_update_bits(wdt->pmic->regmap, in pmic_wdt_ping()
66 return regmap_write(wdt->pmic->regmap, WCHDG_TIMER_CR, timeout - 1); in pmic_wdt_set_timeout()
71 .identity = "STPMIC1 PMIC Watchdog",
86 struct stpmic1 *pmic; in pmic_wdt_probe() local
92 pmic = dev_get_drvdata(dev->parent); in pmic_wdt_probe()
93 if (!pmic) in pmic_wdt_probe()
100 wdt->pmic = pmic; in pmic_wdt_probe()
[all …]
/linux/arch/arm64/boot/dts/qcom/
H A Dx1e80100-pmics.dtsi197 pmk8550: pmic@0 {
198 compatible = "qcom,pm8550", "qcom,spmi-pmic";
263 pm8550: pmic@1 {
264 compatible = "qcom,pm8550", "qcom,spmi-pmic";
301 pm8550ve_2: pmic@2 {
302 compatible = "qcom,pm8550", "qcom,spmi-pmic";
326 pmc8380_3: pmic@3 {
327 compatible = "qcom,pmc8380", "qcom,spmi-pmic";
350 pmc8380_4: pmic@4 {
351 compatible = "qcom,pmc8380", "qcom,spmi-pmic";
[all …]
/linux/arch/x86/include/asm/
H A Diosf_mbi.h102 * One some systems the P-Unit accesses the PMIC to change various voltages
106 * the PMIC bus while another driver is also accessing the PMIC bus various bad
110 * access the PMIC, be it through iosf_mbi* functions or through other means.
111 * This function will block all kernel access to the PMIC I2C bus, so that the
112 * P-Unit can safely access the PMIC over the shared I2C bus.
115 * P-Unit for exclusive access to the PMIC bus when i2c drivers are accessing
129 * iosf_mbi_block_punit_i2c_access() - Block P-Unit accesses to the PMIC bus
131 * Call this function to block P-Unit access to the PMIC I2C bus, so that the
132 * kernel can safely access the PMIC over the shared I2C bus.
147 * iosf_mbi_unblock_punit_i2c_access() - Release PMIC I2C bus block
[all …]
/linux/arch/arm/mach-omap2/
H A Dvc.c101 * omap_vc_config_channel - configure VC channel to PMIC mappings
104 * Configures the VC channel to PMIC mappings for the following
105 * PMIC settings
142 /* Check if sufficient pmic info is available for this vdd */ in omap_vc_pre_scale()
143 if (!voltdm->pmic) { in omap_vc_pre_scale()
144 pr_err("%s: Insufficient pmic info to scale the vdd_%s\n", in omap_vc_pre_scale()
149 if (!voltdm->pmic->uv_to_vsel) { in omap_vc_pre_scale()
150 …pr_err("%s: PMIC function to convert voltage in uV to vsel not registered. Hence unable to scale v… in omap_vc_pre_scale()
161 *target_vsel = voltdm->pmic->uv_to_vsel(target_volt); in omap_vc_pre_scale()
162 *current_vsel = voltdm->pmic->uv_to_vsel(voltdm->nominal_volt); in omap_vc_pre_scale()
[all …]

12345678910>>...54