Lines Matching +full:- +full:40000
1 // SPDX-License-Identifier: GPL-2.0
5 // Copyright (c) <2011-2014> HiSilicon Technologies Co., Ltd.
7 // Copyright (c) <2013-2014> Linaro Ltd.
22 #include <linux/mfd/hi6421-pmic.h>
25 * struct hi6421_regulator_pdata - Hi6421 regulator data of platform device
33 * struct hi6421_regulator_info - hi6421 regulator information
118 * _id - LDO id name string
119 * _match - of match name string
120 * v_table - voltage table
121 * vreg - voltage select register
122 * vmask - voltage select mask
123 * ereg - enable register
124 * emask - enable mask
125 * odelay - off/on delay time in uS
126 * ecomask - eco mode mask
127 * ecoamp - eco mode load uppler limit in uA
155 * _id - LDO id name string
156 * _match - of match name string
157 * _min_uV - minimum voltage supported in uV
158 * n_volt - number of votages available
159 * vstep - voltage increase in each linear step in uV
160 * vreg - voltage select register
161 * vmask - voltage select mask
162 * ereg - enable register
163 * emask - enable mask
164 * odelay - off/on delay time in uS
165 * ecomask - eco mode mask
166 * ecoamp - eco mode load uppler limit in uA
193 /* HI6421 LDOAUDIO is a linear voltage regulator with two 4-step ranges
195 * _id - LDO id name string
196 * _match - of match name string
197 * n_volt - number of votages available
198 * volt_ranges - array of linear_range
199 * vstep - voltage increase in each linear step in uV
200 * vreg - voltage select register
201 * vmask - voltage select mask
202 * ereg - enable register
203 * emask - enable mask
204 * odelay - off/on delay time in uS
205 * ecomask - eco mode mask
206 * ecoamp - eco mode load uppler limit in uA
235 * _id - BUCK0/1/2 id name string
236 * _match - of match name string
237 * vreg - voltage select register
238 * vmask - voltage select mask
239 * ereg - enable register
240 * emask - enable mask
241 * sleepmask - mask of sleep mode
242 * etime - enable time
243 * odelay - off/on delay time in uS
272 * _id - LDO id name string
273 * _match - of match name string
274 * v_table - voltage table
275 * vreg - voltage select register
276 * vmask - voltage select mask
277 * ereg - enable register
278 * emask - enable mask
279 * odelay - off/on delay time in uS
280 * sleepmask - mask of sleep mode
327 40000, 0x20, 8000),
329 40000, 0x20, 8000),
331 40000, 0x20, 8000),
333 40000, 0x20, 8000),
335 40000, 0x20, 8000),
337 40000, 0x20, 8000),
339 40000, 0x20, 8000),
341 40000, 0x20, 8000),
343 40000, 0x20, 8000),
345 40000, 0x20, 8000),
347 40000, 0x20, 8000),
349 40000, 0x20, 8000),
352 40000, 0x02, 5000),
372 * - Because when BUCK, LDO switching from off to on, it will have in hi6421_regulator_enable()
376 mutex_lock(&pdata->lock); in hi6421_regulator_enable()
381 mutex_unlock(&pdata->lock); in hi6421_regulator_enable()
390 info = container_of(rdev->desc, struct hi6421_regulator_info, desc); in hi6421_regulator_ldo_get_mode()
391 regmap_read(rdev->regmap, rdev->desc->enable_reg, ®_val); in hi6421_regulator_ldo_get_mode()
392 if (reg_val & info->mode_mask) in hi6421_regulator_ldo_get_mode()
403 info = container_of(rdev->desc, struct hi6421_regulator_info, desc); in hi6421_regulator_buck_get_mode()
404 regmap_read(rdev->regmap, rdev->desc->enable_reg, ®_val); in hi6421_regulator_buck_get_mode()
405 if (reg_val & info->mode_mask) in hi6421_regulator_buck_get_mode()
417 info = container_of(rdev->desc, struct hi6421_regulator_info, desc); in hi6421_regulator_ldo_set_mode()
423 new_mode = info->mode_mask; in hi6421_regulator_ldo_set_mode()
426 return -EINVAL; in hi6421_regulator_ldo_set_mode()
430 regmap_update_bits(rdev->regmap, rdev->desc->enable_reg, in hi6421_regulator_ldo_set_mode()
431 info->mode_mask, new_mode); in hi6421_regulator_ldo_set_mode()
442 info = container_of(rdev->desc, struct hi6421_regulator_info, desc); in hi6421_regulator_buck_set_mode()
448 new_mode = info->mode_mask; in hi6421_regulator_buck_set_mode()
451 return -EINVAL; in hi6421_regulator_buck_set_mode()
455 regmap_update_bits(rdev->regmap, rdev->desc->enable_reg, in hi6421_regulator_buck_set_mode()
456 info->mode_mask, new_mode); in hi6421_regulator_buck_set_mode()
467 info = container_of(rdev->desc, struct hi6421_regulator_info, desc); in hi6421_regulator_ldo_get_optimum_mode()
469 if (load_uA > info->eco_microamp) in hi6421_regulator_ldo_get_optimum_mode()
540 struct hi6421_pmic *pmic = dev_get_drvdata(pdev->dev.parent); in hi6421_regulator_probe()
547 pdata = devm_kzalloc(&pdev->dev, sizeof(*pdata), GFP_KERNEL); in hi6421_regulator_probe()
549 return -ENOMEM; in hi6421_regulator_probe()
550 mutex_init(&pdata->lock); in hi6421_regulator_probe()
553 /* assign per-regulator data */ in hi6421_regulator_probe()
556 config.dev = pdev->dev.parent; in hi6421_regulator_probe()
558 config.regmap = pmic->regmap; in hi6421_regulator_probe()
560 rdev = devm_regulator_register(&pdev->dev, &info->desc, in hi6421_regulator_probe()
563 dev_err(&pdev->dev, "failed to register regulator %s\n", in hi6421_regulator_probe()
564 info->desc.name); in hi6421_regulator_probe()
573 { .name = "hi6421-regulator" },
581 .name = "hi6421-regulator",