• Home
  • Raw
  • Download

Lines Matching refs:pchip

58 static int lp8755_read(struct lp8755_chip *pchip, unsigned int reg,  in lp8755_read()  argument
61 return regmap_read(pchip->regmap, reg, val); in lp8755_read()
70 static int lp8755_write(struct lp8755_chip *pchip, unsigned int reg, in lp8755_write() argument
73 return regmap_write(pchip->regmap, reg, val); in lp8755_write()
83 static int lp8755_update_bits(struct lp8755_chip *pchip, unsigned int reg, in lp8755_update_bits() argument
86 return regmap_update_bits(pchip->regmap, reg, mask, val); in lp8755_update_bits()
94 struct lp8755_chip *pchip = rdev_get_drvdata(rdev); in lp8755_buck_enable_time() local
96 ret = lp8755_read(pchip, 0x12 + id, &regval); in lp8755_buck_enable_time()
98 dev_err(pchip->dev, "i2c access error %s\n", __func__); in lp8755_buck_enable_time()
109 struct lp8755_chip *pchip = rdev_get_drvdata(rdev); in lp8755_buck_set_mode() local
118 ret = lp8755_update_bits(pchip, 0x08 + id, 0x20, 0x00); in lp8755_buck_set_mode()
124 ret = lp8755_update_bits(pchip, 0x08 + id, 0x20, 0x20); in lp8755_buck_set_mode()
128 ret = lp8755_update_bits(pchip, 0x10, 0x01, 0x01); in lp8755_buck_set_mode()
133 dev_err(pchip->dev, "Not supported buck mode %s\n", __func__); in lp8755_buck_set_mode()
138 ret = lp8755_update_bits(pchip, 0x06, 0x01 << id, regbval); in lp8755_buck_set_mode()
143 dev_err(pchip->dev, "i2c access error %s\n", __func__); in lp8755_buck_set_mode()
152 struct lp8755_chip *pchip = rdev_get_drvdata(rdev); in lp8755_buck_get_mode() local
154 ret = lp8755_read(pchip, 0x06, &regval); in lp8755_buck_get_mode()
162 ret = lp8755_read(pchip, 0x08 + id, &regval); in lp8755_buck_get_mode()
174 dev_err(pchip->dev, "i2c access error %s\n", __func__); in lp8755_buck_get_mode()
183 struct lp8755_chip *pchip = rdev_get_drvdata(rdev); in lp8755_buck_set_ramp() local
212 dev_err(pchip->dev, in lp8755_buck_set_ramp()
217 ret = lp8755_update_bits(pchip, 0x07 + id, 0x07, regval); in lp8755_buck_set_ramp()
222 dev_err(pchip->dev, "i2c access error %s\n", __func__); in lp8755_buck_set_ramp()
274 static int lp8755_init_data(struct lp8755_chip *pchip) in lp8755_init_data() argument
278 struct lp8755_platform_data *pdata = pchip->pdata; in lp8755_init_data()
281 ret = lp8755_read(pchip, 0x3D, &regval); in lp8755_init_data()
284 pchip->mphase = regval & 0x0F; in lp8755_init_data()
287 for (icnt = 0; icnt < mphase_buck[pchip->mphase].nreg; icnt++) { in lp8755_init_data()
288 buck_num = mphase_buck[pchip->mphase].buck_num[icnt]; in lp8755_init_data()
294 dev_err(pchip->dev, "i2c access error %s\n", __func__); in lp8755_init_data()
323 static int lp8755_regulator_init(struct lp8755_chip *pchip) in lp8755_regulator_init() argument
326 struct lp8755_platform_data *pdata = pchip->pdata; in lp8755_regulator_init()
329 rconfig.regmap = pchip->regmap; in lp8755_regulator_init()
330 rconfig.dev = pchip->dev; in lp8755_regulator_init()
331 rconfig.driver_data = pchip; in lp8755_regulator_init()
333 for (icnt = 0; icnt < mphase_buck[pchip->mphase].nreg; icnt++) { in lp8755_regulator_init()
334 buck_num = mphase_buck[pchip->mphase].buck_num[icnt]; in lp8755_regulator_init()
336 rconfig.of_node = pchip->dev->of_node; in lp8755_regulator_init()
337 pchip->rdev[buck_num] = in lp8755_regulator_init()
338 devm_regulator_register(pchip->dev, in lp8755_regulator_init()
340 if (IS_ERR(pchip->rdev[buck_num])) { in lp8755_regulator_init()
341 ret = PTR_ERR(pchip->rdev[buck_num]); in lp8755_regulator_init()
342 pchip->rdev[buck_num] = NULL; in lp8755_regulator_init()
343 dev_err(pchip->dev, "regulator init failed: buck %d\n", in lp8755_regulator_init()
356 struct lp8755_chip *pchip = data; in lp8755_irq_handler() local
359 ret = lp8755_read(pchip, 0x0D, &flag0); in lp8755_irq_handler()
363 ret = lp8755_write(pchip, 0x0D, 0x00); in lp8755_irq_handler()
370 && (pchip->irqmask & (0x04 << icnt)) in lp8755_irq_handler()
371 && (pchip->rdev[icnt] != NULL)) { in lp8755_irq_handler()
372 regulator_lock(pchip->rdev[icnt]); in lp8755_irq_handler()
373 regulator_notifier_call_chain(pchip->rdev[icnt], in lp8755_irq_handler()
376 regulator_unlock(pchip->rdev[icnt]); in lp8755_irq_handler()
380 ret = lp8755_read(pchip, 0x0E, &flag1); in lp8755_irq_handler()
384 ret = lp8755_write(pchip, 0x0E, 0x00); in lp8755_irq_handler()
389 if ((flag1 & 0x01) && (pchip->irqmask & 0x01)) in lp8755_irq_handler()
391 if (pchip->rdev[icnt] != NULL) { in lp8755_irq_handler()
392 regulator_lock(pchip->rdev[icnt]); in lp8755_irq_handler()
393 regulator_notifier_call_chain(pchip->rdev[icnt], in lp8755_irq_handler()
396 regulator_unlock(pchip->rdev[icnt]); in lp8755_irq_handler()
400 if ((flag1 & 0x02) && (pchip->irqmask & 0x02)) in lp8755_irq_handler()
402 if (pchip->rdev[icnt] != NULL) { in lp8755_irq_handler()
403 regulator_lock(pchip->rdev[icnt]); in lp8755_irq_handler()
404 regulator_notifier_call_chain(pchip->rdev[icnt], in lp8755_irq_handler()
407 regulator_unlock(pchip->rdev[icnt]); in lp8755_irq_handler()
412 dev_err(pchip->dev, "i2c access error %s\n", __func__); in lp8755_irq_handler()
416 static int lp8755_int_config(struct lp8755_chip *pchip) in lp8755_int_config() argument
421 if (pchip->irq == 0) { in lp8755_int_config()
422 dev_warn(pchip->dev, "not use interrupt : %s\n", __func__); in lp8755_int_config()
426 ret = lp8755_read(pchip, 0x0F, &regval); in lp8755_int_config()
428 dev_err(pchip->dev, "i2c access error %s\n", __func__); in lp8755_int_config()
432 pchip->irqmask = regval; in lp8755_int_config()
433 return devm_request_threaded_irq(pchip->dev, pchip->irq, NULL, in lp8755_int_config()
436 "lp8755-irq", pchip); in lp8755_int_config()
449 struct lp8755_chip *pchip; in lp8755_probe() local
457 pchip = devm_kzalloc(&client->dev, in lp8755_probe()
459 if (!pchip) in lp8755_probe()
462 pchip->dev = &client->dev; in lp8755_probe()
463 pchip->regmap = devm_regmap_init_i2c(client, &lp8755_regmap); in lp8755_probe()
464 if (IS_ERR(pchip->regmap)) { in lp8755_probe()
465 ret = PTR_ERR(pchip->regmap); in lp8755_probe()
469 i2c_set_clientdata(client, pchip); in lp8755_probe()
472 pchip->pdata = pdata; in lp8755_probe()
473 pchip->mphase = pdata->mphase; in lp8755_probe()
475 pchip->pdata = devm_kzalloc(pchip->dev, in lp8755_probe()
478 if (!pchip->pdata) in lp8755_probe()
480 ret = lp8755_init_data(pchip); in lp8755_probe()
487 ret = lp8755_regulator_init(pchip); in lp8755_probe()
493 pchip->irq = client->irq; in lp8755_probe()
494 ret = lp8755_int_config(pchip); in lp8755_probe()
505 lp8755_write(pchip, icnt, 0x00); in lp8755_probe()
513 struct lp8755_chip *pchip = i2c_get_clientdata(client); in lp8755_remove() local
516 lp8755_write(pchip, icnt, 0x00); in lp8755_remove()