/kernel/linux/linux-5.10/drivers/staging/hikey9xx/ |
D | hi6421-spmi-pmic.c | 67 int hi6421_spmi_pmic_read(struct hi6421_spmi_pmic *pmic, int reg) in hi6421_spmi_pmic_read() argument 73 pdev = to_spmi_device(pmic->dev); in hi6421_spmi_pmic_read() 88 int hi6421_spmi_pmic_write(struct hi6421_spmi_pmic *pmic, int reg, u32 val) in hi6421_spmi_pmic_write() argument 93 pdev = to_spmi_device(pmic->dev); in hi6421_spmi_pmic_write() 107 int hi6421_spmi_pmic_rmw(struct hi6421_spmi_pmic *pmic, int reg, in hi6421_spmi_pmic_rmw() argument 114 spin_lock_irqsave(&pmic->lock, flags); in hi6421_spmi_pmic_rmw() 115 data = hi6421_spmi_pmic_read(pmic, reg) & ~mask; in hi6421_spmi_pmic_rmw() 117 ret = hi6421_spmi_pmic_write(pmic, reg, data); in hi6421_spmi_pmic_rmw() 118 spin_unlock_irqrestore(&pmic->lock, flags); in hi6421_spmi_pmic_rmw() 126 struct hi6421_spmi_pmic *pmic = (struct hi6421_spmi_pmic *)data; in hi6421_spmi_irq_handler() local [all …]
|
D | hi6421v600-regulator.c | 45 struct hi6421_spmi_pmic *pmic; member 59 struct hi6421_spmi_pmic *pmic = sreg->pmic; in hi6421_spmi_regulator_is_enabled() local 62 reg_val = hi6421_spmi_pmic_read(pmic, rdev->desc->enable_reg); in hi6421_spmi_regulator_is_enabled() 75 struct hi6421_spmi_pmic *pmic = sreg->pmic; in hi6421_spmi_regulator_enable() local 88 hi6421_spmi_pmic_rmw(pmic, rdev->desc->enable_reg, in hi6421_spmi_regulator_enable() 100 struct hi6421_spmi_pmic *pmic = sreg->pmic; in hi6421_spmi_regulator_disable() local 106 hi6421_spmi_pmic_rmw(pmic, rdev->desc->enable_reg, in hi6421_spmi_regulator_disable() 115 struct hi6421_spmi_pmic *pmic = sreg->pmic; in hi6421_spmi_regulator_get_voltage_sel() local 119 reg_val = hi6421_spmi_pmic_read(pmic, rdev->desc->vsel_reg); in hi6421_spmi_regulator_get_voltage_sel() 135 struct hi6421_spmi_pmic *pmic = sreg->pmic; in hi6421_spmi_regulator_set_voltage_sel() local [all …]
|
/kernel/linux/linux-5.10/drivers/regulator/ |
D | max77620-regulator.c | 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() 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 …]
|
D | isl6271a-regulator.c | 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() 62 dev_err(&pmic->client->dev, "Error setting voltage\n"); in isl6271a_set_voltage_sel() 64 mutex_unlock(&pmic->mtx); in isl6271a_set_voltage_sel() [all …]
|
D | tps65910-regulator.c | 392 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65910_set_mode() local 396 reg = pmic->get_ctrl_reg(id); in tps65910_set_mode() 417 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65910_get_mode() local 421 reg = pmic->get_ctrl_reg(id); in tps65910_get_mode() 515 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65910_get_voltage_sel() local 519 reg = pmic->get_ctrl_reg(id); in tps65910_get_voltage_sel() 558 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65911_get_voltage_sel() local 563 reg = pmic->get_ctrl_reg(id); in tps65911_get_voltage_sel() 635 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65910_set_voltage_sel() local 639 reg = pmic->get_ctrl_reg(id); in tps65910_set_voltage_sel() [all …]
|
D | palmas-regulator.c | 442 struct palmas_pmic *pmic = rdev_get_drvdata(dev); in palmas_set_mode_smps() local 443 struct palmas_pmic_driver_data *ddata = pmic->palmas->pmic_ddata; in palmas_set_mode_smps() 448 ret = palmas_smps_read(pmic->palmas, rinfo->ctrl_addr, ®); in palmas_set_mode_smps() 471 pmic->current_reg_mode[id] = reg & PALMAS_SMPS12_CTRL_MODE_ACTIVE_MASK; in palmas_set_mode_smps() 473 palmas_smps_write(pmic->palmas, rinfo->ctrl_addr, reg); in palmas_set_mode_smps() 476 pmic->desc[id].enable_val = pmic->current_reg_mode[id]; in palmas_set_mode_smps() 483 struct palmas_pmic *pmic = rdev_get_drvdata(dev); in palmas_get_mode_smps() local 487 reg = pmic->current_reg_mode[id] & PALMAS_SMPS12_CTRL_MODE_ACTIVE_MASK; in palmas_get_mode_smps() 505 struct palmas_pmic *pmic = rdev_get_drvdata(rdev); in palmas_smps_set_ramp_delay() local 506 struct palmas_pmic_driver_data *ddata = pmic->palmas->pmic_ddata; in palmas_smps_set_ramp_delay() [all …]
|
D | max8907-regulator.c | 279 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 …]
|
D | wm8350-regulator.c | 101 switch (wm8350->pmic.isink_A_dcdc) { in wm8350_isink_enable() 109 1 << (wm8350->pmic.isink_A_dcdc - 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() 145 switch (wm8350->pmic.isink_A_dcdc) { in wm8350_isink_disable() 149 1 << (wm8350->pmic.isink_A_dcdc - in wm8350_isink_disable() 159 switch (wm8350->pmic.isink_B_dcdc) { in wm8350_isink_disable() 163 1 << (wm8350->pmic.isink_B_dcdc - in wm8350_isink_disable() 311 val | wm8350->pmic.dcdc1_hib_mode); in wm8350_dcdc_set_suspend_enable() 317 val | wm8350->pmic.dcdc3_hib_mode); in wm8350_dcdc_set_suspend_enable() [all …]
|
/kernel/linux/linux-5.10/drivers/mfd/ |
D | hi655x-pmic.c | 95 struct hi655x_pmic *pmic; in hi655x_pmic_probe() local 100 pmic = devm_kzalloc(dev, sizeof(*pmic), GFP_KERNEL); in hi655x_pmic_probe() 101 if (!pmic) in hi655x_pmic_probe() 103 pmic->dev = dev; in hi655x_pmic_probe() 105 pmic->res = platform_get_resource(pdev, IORESOURCE_MEM, 0); in hi655x_pmic_probe() 106 base = devm_ioremap_resource(dev, pmic->res); in hi655x_pmic_probe() 110 pmic->regmap = devm_regmap_init_mmio_clk(dev, NULL, base, in hi655x_pmic_probe() 112 if (IS_ERR(pmic->regmap)) in hi655x_pmic_probe() 113 return PTR_ERR(pmic->regmap); in hi655x_pmic_probe() 115 regmap_read(pmic->regmap, HI655X_BUS_ADDR(HI655X_VER_REG), &pmic->ver); in hi655x_pmic_probe() [all …]
|
D | intel_soc_pmic_core.c | 36 struct intel_soc_pmic *pmic; in intel_soc_pmic_i2c_probe() local 63 pmic = devm_kzalloc(dev, sizeof(*pmic), GFP_KERNEL); in intel_soc_pmic_i2c_probe() 64 if (!pmic) in intel_soc_pmic_i2c_probe() 67 dev_set_drvdata(dev, pmic); in intel_soc_pmic_i2c_probe() 69 pmic->regmap = devm_regmap_init_i2c(i2c, config->regmap_config); in intel_soc_pmic_i2c_probe() 70 if (IS_ERR(pmic->regmap)) in intel_soc_pmic_i2c_probe() 71 return PTR_ERR(pmic->regmap); in intel_soc_pmic_i2c_probe() 73 pmic->irq = i2c->irq; in intel_soc_pmic_i2c_probe() 75 ret = regmap_add_irq_chip(pmic->regmap, pmic->irq, in intel_soc_pmic_i2c_probe() 78 &pmic->irq_chip_data); in intel_soc_pmic_i2c_probe() [all …]
|
D | intel_soc_pmic_bxtwc.c | 281 struct intel_soc_pmic *pmic = context; in regmap_ipc_byte_reg_read() local 283 if (!pmic) in regmap_ipc_byte_reg_read() 295 ret = intel_scu_ipc_dev_command(pmic->scu, PMC_PMIC_ACCESS, in regmap_ipc_byte_reg_read() 311 struct intel_soc_pmic *pmic = context; in regmap_ipc_byte_reg_write() local 313 if (!pmic) in regmap_ipc_byte_reg_write() 326 return intel_scu_ipc_dev_command(pmic->scu, PMC_PMIC_ACCESS, in regmap_ipc_byte_reg_write() 354 struct intel_soc_pmic *pmic = dev_get_drvdata(dev); in bxtwc_val_show() local 356 ret = regmap_read(pmic->regmap, bxtwc_reg_addr, &val); in bxtwc_val_show() 370 struct intel_soc_pmic *pmic = dev_get_drvdata(dev); in bxtwc_val_store() local 376 ret = regmap_write(pmic->regmap, bxtwc_reg_addr, val); in bxtwc_val_store() [all …]
|
D | intel_soc_pmic_chtdc_ti.c | 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() 127 &pmic->irq_chip_data); in chtdc_ti_probe() [all …]
|
D | intel_soc_pmic_mrfld.c | 77 struct intel_soc_pmic *pmic = context; in bcove_ipc_byte_reg_read() local 81 ret = intel_scu_ipc_dev_ioread8(pmic->scu, reg, &ipc_out); in bcove_ipc_byte_reg_read() 92 struct intel_soc_pmic *pmic = context; in bcove_ipc_byte_reg_write() local 95 return intel_scu_ipc_dev_iowrite8(pmic->scu, reg, ipc_in); in bcove_ipc_byte_reg_write() 109 struct intel_soc_pmic *pmic; in bcove_probe() local 113 pmic = devm_kzalloc(dev, sizeof(*pmic), GFP_KERNEL); in bcove_probe() 114 if (!pmic) in bcove_probe() 117 pmic->scu = devm_intel_scu_ipc_dev_get(dev); in bcove_probe() 118 if (!pmic->scu) in bcove_probe() 121 platform_set_drvdata(pdev, pmic); in bcove_probe() [all …]
|
D | intel_soc_pmic_chtwc.c | 140 struct intel_soc_pmic *pmic; in cht_wc_probe() local 159 pmic = devm_kzalloc(dev, sizeof(*pmic), GFP_KERNEL); in cht_wc_probe() 160 if (!pmic) in cht_wc_probe() 163 pmic->irq = client->irq; in cht_wc_probe() 164 pmic->dev = dev; in cht_wc_probe() 165 i2c_set_clientdata(client, pmic); in cht_wc_probe() 167 pmic->regmap = devm_regmap_init(dev, NULL, client, &cht_wc_regmap_cfg); in cht_wc_probe() 168 if (IS_ERR(pmic->regmap)) in cht_wc_probe() 169 return PTR_ERR(pmic->regmap); in cht_wc_probe() 171 ret = devm_regmap_add_irq_chip(dev, pmic->regmap, pmic->irq, in cht_wc_probe() [all …]
|
D | mt6397-core.c | 164 struct mt6397_chip *pmic; in mt6397_probe() local 167 pmic = devm_kzalloc(&pdev->dev, sizeof(*pmic), GFP_KERNEL); in mt6397_probe() 168 if (!pmic) in mt6397_probe() 171 pmic->dev = &pdev->dev; in mt6397_probe() 177 pmic->regmap = dev_get_regmap(pdev->dev.parent, NULL); in mt6397_probe() 178 if (!pmic->regmap) in mt6397_probe() 185 ret = regmap_read(pmic->regmap, pmic_core->cid_addr, &id); in mt6397_probe() 191 pmic->chip_id = (id >> pmic_core->cid_shift) & 0xff; in mt6397_probe() 193 platform_set_drvdata(pdev, pmic); in mt6397_probe() 195 pmic->irq = platform_get_irq(pdev, 0); in mt6397_probe() [all …]
|
D | hi6421-pmic-core.c | 52 struct hi6421_pmic *pmic; in hi6421_pmic_probe() local 65 pmic = devm_kzalloc(&pdev->dev, sizeof(*pmic), GFP_KERNEL); in hi6421_pmic_probe() 66 if (!pmic) in hi6421_pmic_probe() 74 pmic->regmap = devm_regmap_init_mmio_clk(&pdev->dev, NULL, base, in hi6421_pmic_probe() 76 if (IS_ERR(pmic->regmap)) { in hi6421_pmic_probe() 78 PTR_ERR(pmic->regmap)); in hi6421_pmic_probe() 79 return PTR_ERR(pmic->regmap); in hi6421_pmic_probe() 82 platform_set_drvdata(pdev, pmic); in hi6421_pmic_probe() 87 regmap_update_bits(pmic->regmap, HI6421_OCP_DEB_CTRL_REG, in hi6421_pmic_probe()
|
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/regulator/ |
D | max8997-regulator.txt | 7 describes the bindings for 'pmic' sub-block of max8997. 10 - compatible: Should be "maxim,max8997-pmic". 11 - reg: Specifies the i2c slave address of the pmic block. It should be 0x66. 13 - max8997,pmic-buck1-dvs-voltage: A set of 8 voltage values in micro-volt (uV) 17 - max8997,pmic-buck2-dvs-voltage: A set of 8 voltage values in micro-volt (uV) 21 - max8997,pmic-buck5-dvs-voltage: A set of 8 voltage values in micro-volt (uV) 25 [1] If none of the 'max8997,pmic-buck[1/2/5]-uses-gpio-dvs' optional 26 property is specified, the 'max8997,pmic-buck[1/2/5]-dvs-voltage' 30 If either of the 'max8997,pmic-buck[1/2/5]-uses-gpio-dvs' optional 32 'max8997,pmic-buck[1/2/5]-dvs-voltage' should be specified. [all …]
|
D | samsung,s5m8767.txt | 16 - s5m8767,pmic-buck-ds-gpios: GPIO specifiers for three host gpio's used 19 [1] If either of the 's5m8767,pmic-buck[2/3/4]-uses-gpio-dvs' optional 21 's5m8767,pmic-buck[2/3/4]-dvs-voltage' should be specified. 24 - s5m8767,pmic-buck2-dvs-voltage: A set of 8 voltage values in micro-volt (uV) 28 - s5m8767,pmic-buck3-dvs-voltage: A set of 8 voltage values in micro-volt (uV) 32 - s5m8767,pmic-buck4-dvs-voltage: A set of 8 voltage values in micro-volt (uV) 36 - s5m8767,pmic-buck2-uses-gpio-dvs: 'buck2' can be controlled by gpio dvs. 37 - s5m8767,pmic-buck3-uses-gpio-dvs: 'buck3' can be controlled by gpio dvs. 38 - s5m8767,pmic-buck4-uses-gpio-dvs: 'buck4' can be controlled by gpio dvs. 42 - s5m8767,pmic-buck-default-dvs-idx: Default voltage setting selected from [all …]
|
D | palmas-pmic.txt | 12 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 …]
|
/kernel/linux/linux-5.10/drivers/watchdog/ |
D | stpmic1_wdt.c | 31 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() 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() 118 dev_dbg(wdt->pmic->dev, "PMIC Watchdog driver probed\n"); in pmic_wdt_probe()
|
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/mfd/ |
D | max8998.txt | 20 - reg: Specifies the i2c slave address of the pmic block. It should be 0x66. 26 - max8998,pmic-buck1-dvs-gpios: GPIO specifiers for two host gpios used 29 - max8998,pmic-buck2-dvs-gpio: GPIO specifier for host gpio used 32 - max8998,pmic-buck1-default-dvs-idx: Default voltage setting selected from 36 - max8998,pmic-buck2-default-dvs-idx: Default voltage setting selected from 40 - max8998,pmic-buck-voltage-lock: If present, disallows changing of 43 Additional properties required if max8998,pmic-buck1-dvs-gpios is defined: 44 - max8998,pmic-buck1-dvs-voltage: An array of 4 voltage values in microvolts 47 Additional properties required if max8998,pmic-buck2-dvs-gpio is defined: 48 - max8998,pmic-buck2-dvs-voltage: An array of 2 voltage values in microvolts [all …]
|
D | hisilicon,hi655x.txt | 15 - compatible: Should be "hisilicon,hi655x-pmic". 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>;
|
D | samsung,sec-core.txt | 24 - "samsung,s2mpa01-pmic", 25 - "samsung,s2mps11-pmic", 26 - "samsung,s2mps13-pmic", 27 - "samsung,s2mps14-pmic", 28 - "samsung,s2mps15-pmic", 29 - "samsung,s2mpu02-pmic", 30 - "samsung,s5m8767-pmic". 31 - reg: Specifies the I2C slave address of the pmic block. It should be 0x66. 46 compatible = "samsung,s2mps11-pmic";
|
/kernel/linux/linux-5.10/arch/arm/mach-omap2/ |
D | vp.c | 19 vsel = voltdm->pmic->uv_to_vsel(volt); in _vp_set_init_voltage() 45 if (!voltdm->pmic || !voltdm->pmic->uv_to_vsel) { in omap_vp_init() 61 timeout = (sys_clk_rate * voltdm->pmic->vp_timeout_us) / 1000; in omap_vp_init() 62 vddmin = max(voltdm->vp_param->vddmin, voltdm->pmic->vddmin); in omap_vp_init() 63 vddmax = min(voltdm->vp_param->vddmax, voltdm->pmic->vddmax); in omap_vp_init() 64 vddmin = voltdm->pmic->uv_to_vsel(vddmin); in omap_vp_init() 65 vddmax = voltdm->pmic->uv_to_vsel(vddmax); in omap_vp_init() 67 waittime = DIV_ROUND_UP(voltdm->pmic->step_size * sys_clk_rate, in omap_vp_init() 68 1000 * voltdm->pmic->slew_rate); in omap_vp_init() 69 vstepmin = voltdm->pmic->vp_vstepmin; in omap_vp_init() [all …]
|
D | vc.c | 146 if (!voltdm->pmic) { in omap_vc_pre_scale() 152 if (!voltdm->pmic->uv_to_vsel) { in omap_vc_pre_scale() 164 *target_vsel = voltdm->pmic->uv_to_vsel(target_volt); in omap_vc_pre_scale() 165 *current_vsel = voltdm->pmic->uv_to_vsel(voltdm->nominal_volt); in omap_vc_pre_scale() 188 smps_delay = ((smps_steps * voltdm->pmic->step_size) / in omap_vc_post_scale() 189 voltdm->pmic->slew_rate) + 2; in omap_vc_post_scale() 380 val = (voltdm->vc_param->on - idle) / voltdm->pmic->slew_rate; in omap3_init_voltsetup1() 481 time = voltage_diff / voltdm->pmic->slew_rate; in omap4_calc_volt_ramp() 672 if (!voltdm->pmic->i2c_high_speed) { in omap4_vc_i2c_timing_init() 684 capacitance += voltdm->pmic->i2c_pad_load; in omap4_vc_i2c_timing_init() [all …]
|