Lines Matching refs:max8660

3  * max8660.c  --  Voltage regulation for the Maxim 8660/8661
33 #include <linux/regulator/max8660.h>
68 struct max8660 {
73 static int max8660_write(struct max8660 *max8660, u8 reg, u8 mask, u8 val)
80 u8 reg_val = (max8660->shadow_regs[reg] & mask) | val;
82 dev_vdbg(&max8660->client->dev, "Writing reg %02x with %02x\n",
85 ret = i2c_smbus_write_byte_data(max8660->client,
88 max8660->shadow_regs[reg] = reg_val;
100 struct max8660 *max8660 = rdev_get_drvdata(rdev);
101 u8 val = max8660->shadow_regs[MAX8660_OVER1];
109 struct max8660 *max8660 = rdev_get_drvdata(rdev);
112 return max8660_write(max8660, MAX8660_OVER1, 0xff, bit);
117 struct max8660 *max8660 = rdev_get_drvdata(rdev);
120 return max8660_write(max8660, MAX8660_OVER1, mask, 0);
125 struct max8660 *max8660 = rdev_get_drvdata(rdev);
127 u8 selector = max8660->shadow_regs[reg];
135 struct max8660 *max8660 = rdev_get_drvdata(rdev);
140 ret = max8660_write(max8660, reg, 0, selector);
146 return max8660_write(max8660, MAX8660_VCC1, 0xff, bits);
164 struct max8660 *max8660 = rdev_get_drvdata(rdev);
166 u8 selector = max8660->shadow_regs[MAX8660_MDTV2];
173 struct max8660 *max8660 = rdev_get_drvdata(rdev);
176 ret = max8660_write(max8660, MAX8660_MDTV2, 0, selector);
181 return max8660_write(max8660, MAX8660_VCC1, 0xff, 0xc0);
198 struct max8660 *max8660 = rdev_get_drvdata(rdev);
199 u8 val = max8660->shadow_regs[MAX8660_OVER2];
207 struct max8660 *max8660 = rdev_get_drvdata(rdev);
210 return max8660_write(max8660, MAX8660_OVER2, 0xff, bit);
215 struct max8660 *max8660 = rdev_get_drvdata(rdev);
218 return max8660_write(max8660, MAX8660_OVER2, mask, 0);
223 struct max8660 *max8660 = rdev_get_drvdata(rdev);
225 u8 selector = (max8660->shadow_regs[MAX8660_L12VCR] >> shift) & 0xf;
233 struct max8660 *max8660 = rdev_get_drvdata(rdev);
236 return max8660_write(max8660, MAX8660_L12VCR, 0xf0, selector);
238 return max8660_write(max8660, MAX8660_L12VCR, 0x0f,
312 { .compatible = "maxim,max8660", .data = (void *) MAX8660 },
376 struct max8660 *max8660;
404 max8660 = devm_kzalloc(dev, sizeof(struct max8660), GFP_KERNEL);
405 if (!max8660)
408 max8660->client = client;
412 max8660->shadow_regs[MAX8660_OVER1] = 5;
424 max8660->shadow_regs[MAX8660_ADTV1] =
425 max8660->shadow_regs[MAX8660_ADTV2] =
426 max8660->shadow_regs[MAX8660_SDTV1] =
427 max8660->shadow_regs[MAX8660_SDTV2] = 0x1b;
428 max8660->shadow_regs[MAX8660_MDTV1] =
429 max8660->shadow_regs[MAX8660_MDTV2] = 0x04;
441 max8660->shadow_regs[MAX8660_OVER1] |= 1;
446 max8660->shadow_regs[MAX8660_OVER1] |= 4;
454 max8660->shadow_regs[MAX8660_OVER2] |= 2;
464 max8660->shadow_regs[MAX8660_OVER2] |= 4;
483 config.driver_data = max8660;
494 i2c_set_clientdata(client, max8660);
499 { .name = "max8660", .driver_data = MAX8660 },
508 .name = "max8660",