Lines Matching +full:vp3 +full:- +full:supply

1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
53 device_printf(sc->base_sc->dev, "%s: " format, __func__, arg) */
124 .supply_name = "vp3",
245 rv = RD1(sc->base_sc, sc->def->voltage_reg, sel); in act8846_read_sel()
248 *sel &= sc->def->voltage_mask; in act8846_read_sel()
249 *sel >>= ffs(sc->def->voltage_mask) - 1; in act8846_read_sel()
258 sel <<= ffs(sc->def->voltage_mask) - 1; in act8846_write_sel()
259 sel &= sc->def->voltage_mask; in act8846_write_sel()
261 rv = RM1(sc->base_sc, sc->def->voltage_reg, in act8846_write_sel()
262 sc->def->voltage_mask, sel); in act8846_write_sel()
284 sc->def->name); in act8846_regnode_enable()
285 rv = RM1(sc->base_sc, sc->def->enable_reg, in act8846_regnode_enable()
286 sc->def->enable_mask, enable ? sc->def->enable_mask: 0); in act8846_regnode_enable()
287 *udelay = sc->param->enable_delay; in act8846_regnode_enable()
302 if (sc->def->ranges == NULL) in act8846_regnode_set_voltage()
305 dprintf(sc, "Setting %s to %d<->%d uvolts\n", in act8846_regnode_set_voltage()
306 sc->def->name, in act8846_regnode_set_voltage()
309 rv = regulator_range_volt_to_sel8(sc->def->ranges, sc->def->nranges, in act8846_regnode_set_voltage()
313 *udelay = sc->param->ramp_delay; in act8846_regnode_set_voltage()
317 regulator_range_sel8_to_volt(sc->def->ranges, sc->def->nranges, in act8846_regnode_set_voltage()
319 dprintf(sc, "Regulator %s set to %d uvolt\n", sc->def->name, in act8846_regnode_set_voltage()
334 if (sc->def->ranges == NULL) { in act8846_regnode_get_voltage()
335 if (sc->def->id == ACT8846_REG_ID_REG13) { in act8846_regnode_get_voltage()
345 rv = regulator_range_sel8_to_volt(sc->def->ranges, sc->def->nranges, in act8846_regnode_get_voltage()
347 dprintf(sc, "Regulator %s is at %d uvolt\n", sc->def->name, in act8846_regnode_get_voltage()
372 rv = regulator_parse_ofw_stdparam(sc->dev, node, init_def); in act8846_fdt_parse()
374 /* Get parent supply. */ in act8846_fdt_parse()
375 if (def->supply_name == NULL) in act8846_fdt_parse()
378 snprintf(prop_name, sizeof(prop_name), "%s-supply", in act8846_fdt_parse()
379 def->supply_name); in act8846_fdt_parse()
385 rv = OF_getprop_alloc(supply_node, "regulator-name", in act8846_fdt_parse()
386 (void **)&init_def->parent_name); in act8846_fdt_parse()
388 init_def->parent_name = NULL; in act8846_fdt_parse()
402 device_printf(sc->dev, "cannot parse FDT data for regulator\n"); in act8846_attach()
405 initdef.id = def->id; in act8846_attach()
408 regnode = regnode_create(sc->dev, &act8846_regnode_class, &initdef); in act8846_attach()
410 device_printf(sc->dev, "cannot create regulator\n"); in act8846_attach()
415 reg_sc->base_sc = sc; in act8846_attach()
416 reg_sc->def = def; in act8846_attach()
417 reg_sc->xref = OF_xref_from_node(node); in act8846_attach()
418 reg_sc->param = regnode_get_stdparam(regnode); in act8846_attach()
427 device_printf(sc->dev, in act8846_attach()
431 device_printf(sc->dev, in act8846_attach()
435 device_printf(sc->dev, in act8846_attach()
455 device_printf(sc->dev, " Cannot find regulators subnode\n"); in act8846_regulator_attach()
460 sc->nregs = nitems(act8846_regdefs); in act8846_regulator_attach()
461 sc->regs = malloc(sizeof(struct act8846_reg_sc *) * sc->nregs, in act8846_regulator_attach()
466 for (i = 0; i < sc->nregs; i++) { in act8846_regulator_attach()
470 device_printf(sc->dev, in act8846_regulator_attach()
477 device_printf(sc->dev, "Cannot attach regulator: %s\n", in act8846_regulator_attach()
481 sc->regs[i] = reg; in act8846_regulator_attach()
494 for (i = 0; i < sc->nregs; i++) { in act8846_regulator_map()
495 if (sc->regs[i] == NULL) in act8846_regulator_map()
497 if (sc->regs[i]->xref == xref) { in act8846_regulator_map()
498 *num = sc->regs[i]->def->id; in act8846_regulator_map()