drivers/iio/magnetometer/yamaha-yas530.c
1020
ret = regmap_write(yas5xx->map, YAS537_MTC + i,
drivers/iio/magnetometer/yamaha-yas530.c
1026
ret = regmap_write(yas5xx->map, YAS537_OFFSET_X + i,
drivers/iio/magnetometer/yamaha-yas530.c
1030
yas5xx->hard_offsets[i] = data[i + 12];
drivers/iio/magnetometer/yamaha-yas530.c
1047
ret = regmap_write(yas5xx->map, YAS537_MTC + 3,
drivers/iio/magnetometer/yamaha-yas530.c
1053
ret = regmap_write(yas5xx->map, YAS537_HCK,
drivers/iio/magnetometer/yamaha-yas530.c
1058
ret = regmap_write(yas5xx->map, YAS537_LCK,
drivers/iio/magnetometer/yamaha-yas530.c
1063
ret = regmap_write(yas5xx->map, YAS537_OC,
drivers/iio/magnetometer/yamaha-yas530.c
1114
dev_err(yas5xx->dev, "unknown version of YAS537\n");
drivers/iio/magnetometer/yamaha-yas530.c
1122
static void yas530_dump_calibration(struct yas5xx *yas5xx)
drivers/iio/magnetometer/yamaha-yas530.c
1124
struct yas5xx_calibration *c = &yas5xx->calibration;
drivers/iio/magnetometer/yamaha-yas530.c
1126
dev_dbg(yas5xx->dev, "f[] = [%d, %d, %d]\n",
drivers/iio/magnetometer/yamaha-yas530.c
1128
dev_dbg(yas5xx->dev, "r[] = [%d, %d, %d]\n",
drivers/iio/magnetometer/yamaha-yas530.c
1130
dev_dbg(yas5xx->dev, "Cx = %d\n", c->Cx);
drivers/iio/magnetometer/yamaha-yas530.c
1131
dev_dbg(yas5xx->dev, "Cy1 = %d\n", c->Cy1);
drivers/iio/magnetometer/yamaha-yas530.c
1132
dev_dbg(yas5xx->dev, "Cy2 = %d\n", c->Cy2);
drivers/iio/magnetometer/yamaha-yas530.c
1133
dev_dbg(yas5xx->dev, "a2 = %d\n", c->a2);
drivers/iio/magnetometer/yamaha-yas530.c
1134
dev_dbg(yas5xx->dev, "a3 = %d\n", c->a3);
drivers/iio/magnetometer/yamaha-yas530.c
1135
dev_dbg(yas5xx->dev, "a4 = %d\n", c->a4);
drivers/iio/magnetometer/yamaha-yas530.c
1136
dev_dbg(yas5xx->dev, "a5 = %d\n", c->a5);
drivers/iio/magnetometer/yamaha-yas530.c
1137
dev_dbg(yas5xx->dev, "a6 = %d\n", c->a6);
drivers/iio/magnetometer/yamaha-yas530.c
1138
dev_dbg(yas5xx->dev, "a7 = %d\n", c->a7);
drivers/iio/magnetometer/yamaha-yas530.c
1139
dev_dbg(yas5xx->dev, "a8 = %d\n", c->a8);
drivers/iio/magnetometer/yamaha-yas530.c
1140
dev_dbg(yas5xx->dev, "a9 = %d\n", c->a9);
drivers/iio/magnetometer/yamaha-yas530.c
1141
dev_dbg(yas5xx->dev, "k = %d\n", c->k);
drivers/iio/magnetometer/yamaha-yas530.c
1142
dev_dbg(yas5xx->dev, "dck = %d\n", c->dck);
drivers/iio/magnetometer/yamaha-yas530.c
1145
static void yas537_dump_calibration(struct yas5xx *yas5xx)
drivers/iio/magnetometer/yamaha-yas530.c
1147
struct yas5xx_calibration *c = &yas5xx->calibration;
drivers/iio/magnetometer/yamaha-yas530.c
1149
if (yas5xx->version == YAS537_VERSION_1) {
drivers/iio/magnetometer/yamaha-yas530.c
1150
dev_dbg(yas5xx->dev, "Cx = %d\n", c->Cx);
drivers/iio/magnetometer/yamaha-yas530.c
1151
dev_dbg(yas5xx->dev, "Cy1 = %d\n", c->Cy1);
drivers/iio/magnetometer/yamaha-yas530.c
1152
dev_dbg(yas5xx->dev, "Cy2 = %d\n", c->Cy2);
drivers/iio/magnetometer/yamaha-yas530.c
1153
dev_dbg(yas5xx->dev, "a2 = %d\n", c->a2);
drivers/iio/magnetometer/yamaha-yas530.c
1154
dev_dbg(yas5xx->dev, "a3 = %d\n", c->a3);
drivers/iio/magnetometer/yamaha-yas530.c
1155
dev_dbg(yas5xx->dev, "a4 = %d\n", c->a4);
drivers/iio/magnetometer/yamaha-yas530.c
1156
dev_dbg(yas5xx->dev, "a5 = %d\n", c->a5);
drivers/iio/magnetometer/yamaha-yas530.c
1157
dev_dbg(yas5xx->dev, "a6 = %d\n", c->a6);
drivers/iio/magnetometer/yamaha-yas530.c
1158
dev_dbg(yas5xx->dev, "a7 = %d\n", c->a7);
drivers/iio/magnetometer/yamaha-yas530.c
1159
dev_dbg(yas5xx->dev, "a8 = %d\n", c->a8);
drivers/iio/magnetometer/yamaha-yas530.c
1160
dev_dbg(yas5xx->dev, "a9 = %d\n", c->a9);
drivers/iio/magnetometer/yamaha-yas530.c
1161
dev_dbg(yas5xx->dev, "k = %d\n", c->k);
drivers/iio/magnetometer/yamaha-yas530.c
1166
static int yas530_set_offsets(struct yas5xx *yas5xx, s8 ox, s8 oy1, s8 oy2)
drivers/iio/magnetometer/yamaha-yas530.c
1170
ret = regmap_write(yas5xx->map, YAS530_OFFSET_X, ox);
drivers/iio/magnetometer/yamaha-yas530.c
1173
ret = regmap_write(yas5xx->map, YAS530_OFFSET_Y1, oy1);
drivers/iio/magnetometer/yamaha-yas530.c
1176
return regmap_write(yas5xx->map, YAS530_OFFSET_Y2, oy2);
drivers/iio/magnetometer/yamaha-yas530.c
1190
static int yas530_measure_offsets(struct yas5xx *yas5xx)
drivers/iio/magnetometer/yamaha-yas530.c
1192
const struct yas5xx_chip_info *ci = yas5xx->chip_info;
drivers/iio/magnetometer/yamaha-yas530.c
1200
ret = regmap_write(yas5xx->map, YAS530_ACTUATE_INIT_COIL, 0);
drivers/iio/magnetometer/yamaha-yas530.c
1213
dev_err(yas5xx->dev, "unknown device type\n");
drivers/iio/magnetometer/yamaha-yas530.c
1234
ret = yas530_set_offsets(yas5xx, ox, oy1, oy2);
drivers/iio/magnetometer/yamaha-yas530.c
1238
ret = yas530_measure(yas5xx, &t, &x, &y1, &y2);
drivers/iio/magnetometer/yamaha-yas530.c
1241
dev_dbg(yas5xx->dev, "measurement %d: x=%d, y1=%d, y2=%d\n",
drivers/iio/magnetometer/yamaha-yas530.c
1250
yas5xx->hard_offsets[0] = ox;
drivers/iio/magnetometer/yamaha-yas530.c
1251
yas5xx->hard_offsets[1] = oy1;
drivers/iio/magnetometer/yamaha-yas530.c
1252
yas5xx->hard_offsets[2] = oy2;
drivers/iio/magnetometer/yamaha-yas530.c
1253
ret = yas530_set_offsets(yas5xx, ox, oy1, oy2);
drivers/iio/magnetometer/yamaha-yas530.c
1257
dev_info(yas5xx->dev, "discovered hard offsets: x=%d, y1=%d, y2=%d\n",
drivers/iio/magnetometer/yamaha-yas530.c
1263
static int yas530_power_on(struct yas5xx *yas5xx)
drivers/iio/magnetometer/yamaha-yas530.c
1269
ret = regmap_write(yas5xx->map, YAS530_TEST1, 0);
drivers/iio/magnetometer/yamaha-yas530.c
1272
ret = regmap_write(yas5xx->map, YAS530_TEST2, 0);
drivers/iio/magnetometer/yamaha-yas530.c
1277
val = FIELD_PREP(YAS5XX_CONFIG_CCK_MASK, yas5xx->calibration.dck);
drivers/iio/magnetometer/yamaha-yas530.c
1278
ret = regmap_write(yas5xx->map, YAS530_CONFIG, val);
drivers/iio/magnetometer/yamaha-yas530.c
1283
return regmap_write(yas5xx->map, YAS530_MEASURE_INTERVAL, 0);
drivers/iio/magnetometer/yamaha-yas530.c
1286
static int yas537_power_on(struct yas5xx *yas5xx)
drivers/iio/magnetometer/yamaha-yas530.c
1294
ret = regmap_bulk_write(yas5xx->map, YAS537_ADCCAL, &buf, sizeof(buf));
drivers/iio/magnetometer/yamaha-yas530.c
1297
ret = regmap_write(yas5xx->map, YAS537_TRM, GENMASK(7, 0));
drivers/iio/magnetometer/yamaha-yas530.c
1304
ret = regmap_write(yas5xx->map, YAS537_MEASURE_INTERVAL, intrvl);
drivers/iio/magnetometer/yamaha-yas530.c
1309
ret = regmap_write(yas5xx->map, YAS537_AVR, YAS537_MAG_AVERAGE_32_MASK);
drivers/iio/magnetometer/yamaha-yas530.c
1314
ret = regmap_write(yas5xx->map, YAS537_CONFIG, BIT(3));
drivers/iio/magnetometer/yamaha-yas530.c
1395
struct yas5xx *yas5xx;
drivers/iio/magnetometer/yamaha-yas530.c
1400
indio_dev = devm_iio_device_alloc(dev, sizeof(*yas5xx));
drivers/iio/magnetometer/yamaha-yas530.c
1404
yas5xx = iio_priv(indio_dev);
drivers/iio/magnetometer/yamaha-yas530.c
1406
yas5xx->dev = dev;
drivers/iio/magnetometer/yamaha-yas530.c
1408
ret = devm_mutex_init(dev, &yas5xx->lock);
drivers/iio/magnetometer/yamaha-yas530.c
1412
ret = iio_read_mount_matrix(dev, &yas5xx->orientation);
drivers/iio/magnetometer/yamaha-yas530.c
1416
yas5xx->regs[0].supply = "vdd";
drivers/iio/magnetometer/yamaha-yas530.c
1417
yas5xx->regs[1].supply = "iovdd";
drivers/iio/magnetometer/yamaha-yas530.c
1418
ret = devm_regulator_bulk_get(dev, ARRAY_SIZE(yas5xx->regs),
drivers/iio/magnetometer/yamaha-yas530.c
1419
yas5xx->regs);
drivers/iio/magnetometer/yamaha-yas530.c
1423
ret = regulator_bulk_enable(ARRAY_SIZE(yas5xx->regs), yas5xx->regs);
drivers/iio/magnetometer/yamaha-yas530.c
1431
yas5xx->reset = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_LOW);
drivers/iio/magnetometer/yamaha-yas530.c
1432
if (IS_ERR(yas5xx->reset)) {
drivers/iio/magnetometer/yamaha-yas530.c
1433
ret = dev_err_probe(dev, PTR_ERR(yas5xx->reset), "failed to get reset line\n");
drivers/iio/magnetometer/yamaha-yas530.c
1437
yas5xx->map = devm_regmap_init_i2c(i2c, &yas5xx_regmap_config);
drivers/iio/magnetometer/yamaha-yas530.c
1438
if (IS_ERR(yas5xx->map)) {
drivers/iio/magnetometer/yamaha-yas530.c
1439
ret = dev_err_probe(dev, PTR_ERR(yas5xx->map), "failed to allocate register map\n");
drivers/iio/magnetometer/yamaha-yas530.c
1444
yas5xx->chip_info = ci;
drivers/iio/magnetometer/yamaha-yas530.c
1446
ret = regmap_read(yas5xx->map, YAS5XX_DEVICE_ID, &id_check);
drivers/iio/magnetometer/yamaha-yas530.c
1457
ret = ci->get_calibration_data(yas5xx);
drivers/iio/magnetometer/yamaha-yas530.c
1462
ci->version_names[yas5xx->version]);
drivers/iio/magnetometer/yamaha-yas530.c
1464
ci->dump_calibration(yas5xx);
drivers/iio/magnetometer/yamaha-yas530.c
1466
ret = ci->power_on(yas5xx);
drivers/iio/magnetometer/yamaha-yas530.c
1471
ret = ci->measure_offsets(yas5xx);
drivers/iio/magnetometer/yamaha-yas530.c
1511
gpiod_set_value_cansleep(yas5xx->reset, 1);
drivers/iio/magnetometer/yamaha-yas530.c
1513
regulator_bulk_disable(ARRAY_SIZE(yas5xx->regs), yas5xx->regs);
drivers/iio/magnetometer/yamaha-yas530.c
1521
struct yas5xx *yas5xx = iio_priv(indio_dev);
drivers/iio/magnetometer/yamaha-yas530.c
1534
gpiod_set_value_cansleep(yas5xx->reset, 1);
drivers/iio/magnetometer/yamaha-yas530.c
1535
regulator_bulk_disable(ARRAY_SIZE(yas5xx->regs), yas5xx->regs);
drivers/iio/magnetometer/yamaha-yas530.c
1541
struct yas5xx *yas5xx = iio_priv(indio_dev);
drivers/iio/magnetometer/yamaha-yas530.c
1543
gpiod_set_value_cansleep(yas5xx->reset, 1);
drivers/iio/magnetometer/yamaha-yas530.c
1544
regulator_bulk_disable(ARRAY_SIZE(yas5xx->regs), yas5xx->regs);
drivers/iio/magnetometer/yamaha-yas530.c
1552
struct yas5xx *yas5xx = iio_priv(indio_dev);
drivers/iio/magnetometer/yamaha-yas530.c
1553
const struct yas5xx_chip_info *ci = yas5xx->chip_info;
drivers/iio/magnetometer/yamaha-yas530.c
1556
ret = regulator_bulk_enable(ARRAY_SIZE(yas5xx->regs), yas5xx->regs);
drivers/iio/magnetometer/yamaha-yas530.c
1568
gpiod_set_value_cansleep(yas5xx->reset, 0);
drivers/iio/magnetometer/yamaha-yas530.c
1570
ret = ci->power_on(yas5xx);
drivers/iio/magnetometer/yamaha-yas530.c
1579
gpiod_set_value_cansleep(yas5xx->reset, 1);
drivers/iio/magnetometer/yamaha-yas530.c
1580
regulator_bulk_disable(ARRAY_SIZE(yas5xx->regs), yas5xx->regs);
drivers/iio/magnetometer/yamaha-yas530.c
165
struct yas5xx;
drivers/iio/magnetometer/yamaha-yas530.c
200
int (*get_measure)(struct yas5xx *yas5xx, s32 *to, s32 *xo, s32 *yo, s32 *zo);
drivers/iio/magnetometer/yamaha-yas530.c
201
int (*get_calibration_data)(struct yas5xx *yas5xx);
drivers/iio/magnetometer/yamaha-yas530.c
202
void (*dump_calibration)(struct yas5xx *yas5xx);
drivers/iio/magnetometer/yamaha-yas530.c
203
int (*measure_offsets)(struct yas5xx *yas5xx);
drivers/iio/magnetometer/yamaha-yas530.c
204
int (*power_on)(struct yas5xx *yas5xx);
drivers/iio/magnetometer/yamaha-yas530.c
285
static int yas530_measure(struct yas5xx *yas5xx, u16 *t, u16 *x, u16 *y1, u16 *y2)
drivers/iio/magnetometer/yamaha-yas530.c
287
const struct yas5xx_chip_info *ci = yas5xx->chip_info;
drivers/iio/magnetometer/yamaha-yas530.c
293
mutex_lock(&yas5xx->lock);
drivers/iio/magnetometer/yamaha-yas530.c
294
ret = regmap_write(yas5xx->map, YAS530_MEASURE, YAS5XX_MEASURE_START);
drivers/iio/magnetometer/yamaha-yas530.c
303
ret = regmap_read_poll_timeout(yas5xx->map, YAS5XX_MEASURE_DATA, busy,
drivers/iio/magnetometer/yamaha-yas530.c
307
dev_err(yas5xx->dev, "timeout waiting for measurement\n");
drivers/iio/magnetometer/yamaha-yas530.c
311
ret = regmap_bulk_read(yas5xx->map, YAS5XX_MEASURE_DATA,
drivers/iio/magnetometer/yamaha-yas530.c
316
mutex_unlock(&yas5xx->lock);
drivers/iio/magnetometer/yamaha-yas530.c
348
dev_err(yas5xx->dev, "unknown data format\n");
drivers/iio/magnetometer/yamaha-yas530.c
356
mutex_unlock(&yas5xx->lock);
drivers/iio/magnetometer/yamaha-yas530.c
369
static int yas537_measure(struct yas5xx *yas5xx, u16 *t, u16 *x, u16 *y1, u16 *y2)
drivers/iio/magnetometer/yamaha-yas530.c
371
struct yas5xx_calibration *c = &yas5xx->calibration;
drivers/iio/magnetometer/yamaha-yas530.c
379
mutex_lock(&yas5xx->lock);
drivers/iio/magnetometer/yamaha-yas530.c
382
ret = regmap_write(yas5xx->map, YAS537_MEASURE, YAS5XX_MEASURE_START |
drivers/iio/magnetometer/yamaha-yas530.c
388
ret = regmap_read_poll_timeout(yas5xx->map, YAS5XX_MEASURE_DATA + 2, busy,
drivers/iio/magnetometer/yamaha-yas530.c
392
dev_err(yas5xx->dev, "timeout waiting for measurement\n");
drivers/iio/magnetometer/yamaha-yas530.c
396
ret = regmap_bulk_read(yas5xx->map, YAS5XX_MEASURE_DATA,
drivers/iio/magnetometer/yamaha-yas530.c
401
mutex_unlock(&yas5xx->lock);
drivers/iio/magnetometer/yamaha-yas530.c
409
if (yas5xx->version == YAS537_VERSION_1) {
drivers/iio/magnetometer/yamaha-yas530.c
428
mutex_unlock(&yas5xx->lock);
drivers/iio/magnetometer/yamaha-yas530.c
433
static s32 yas530_linearize(struct yas5xx *yas5xx, u16 val, int axis)
drivers/iio/magnetometer/yamaha-yas530.c
435
const struct yas5xx_chip_info *ci = yas5xx->chip_info;
drivers/iio/magnetometer/yamaha-yas530.c
436
struct yas5xx_calibration *c = &yas5xx->calibration;
drivers/iio/magnetometer/yamaha-yas530.c
447
if (yas5xx->version == YAS530_VERSION_A)
drivers/iio/magnetometer/yamaha-yas530.c
453
if (yas5xx->version == YAS532_VERSION_AB)
drivers/iio/magnetometer/yamaha-yas530.c
460
dev_err(yas5xx->dev, "unknown device type\n");
drivers/iio/magnetometer/yamaha-yas530.c
472
(yas5xx->hard_offsets[axis] - c->r[axis]) * coef;
drivers/iio/magnetometer/yamaha-yas530.c
475
static s32 yas5xx_calc_temperature(struct yas5xx *yas5xx, u16 t)
drivers/iio/magnetometer/yamaha-yas530.c
477
const struct yas5xx_chip_info *ci = yas5xx->chip_info;
drivers/iio/magnetometer/yamaha-yas530.c
502
static int yas530_get_measure(struct yas5xx *yas5xx, s32 *to, s32 *xo, s32 *yo, s32 *zo)
drivers/iio/magnetometer/yamaha-yas530.c
504
const struct yas5xx_chip_info *ci = yas5xx->chip_info;
drivers/iio/magnetometer/yamaha-yas530.c
505
struct yas5xx_calibration *c = &yas5xx->calibration;
drivers/iio/magnetometer/yamaha-yas530.c
512
ret = yas530_measure(yas5xx, &t, &x, &y1, &y2);
drivers/iio/magnetometer/yamaha-yas530.c
517
sx = yas530_linearize(yas5xx, x, 0);
drivers/iio/magnetometer/yamaha-yas530.c
518
sy1 = yas530_linearize(yas5xx, y1, 1);
drivers/iio/magnetometer/yamaha-yas530.c
519
sy2 = yas530_linearize(yas5xx, y2, 2);
drivers/iio/magnetometer/yamaha-yas530.c
528
yas5xx->version == YAS532_VERSION_AC) {
drivers/iio/magnetometer/yamaha-yas530.c
553
*to = yas5xx_calc_temperature(yas5xx, t);
drivers/iio/magnetometer/yamaha-yas530.c
586
static int yas537_get_measure(struct yas5xx *yas5xx, s32 *to, s32 *xo, s32 *yo, s32 *zo)
drivers/iio/magnetometer/yamaha-yas530.c
592
ret = yas537_measure(yas5xx, &t, &x, &y1, &y2);
drivers/iio/magnetometer/yamaha-yas530.c
597
*to = yas5xx_calc_temperature(yas5xx, t);
drivers/iio/magnetometer/yamaha-yas530.c
617
struct yas5xx *yas5xx = iio_priv(indio_dev);
drivers/iio/magnetometer/yamaha-yas530.c
618
const struct yas5xx_chip_info *ci = yas5xx->chip_info;
drivers/iio/magnetometer/yamaha-yas530.c
625
pm_runtime_get_sync(yas5xx->dev);
drivers/iio/magnetometer/yamaha-yas530.c
626
ret = ci->get_measure(yas5xx, &t, &x, &y, &z);
drivers/iio/magnetometer/yamaha-yas530.c
627
pm_runtime_put_autosuspend(yas5xx->dev);
drivers/iio/magnetometer/yamaha-yas530.c
644
dev_err(yas5xx->dev, "unknown channel\n");
drivers/iio/magnetometer/yamaha-yas530.c
660
struct yas5xx *yas5xx = iio_priv(indio_dev);
drivers/iio/magnetometer/yamaha-yas530.c
661
const struct yas5xx_chip_info *ci = yas5xx->chip_info;
drivers/iio/magnetometer/yamaha-yas530.c
665
pm_runtime_get_sync(yas5xx->dev);
drivers/iio/magnetometer/yamaha-yas530.c
666
ret = ci->get_measure(yas5xx, &t, &x, &y, &z);
drivers/iio/magnetometer/yamaha-yas530.c
667
pm_runtime_put_autosuspend(yas5xx->dev);
drivers/iio/magnetometer/yamaha-yas530.c
669
dev_err(yas5xx->dev, "error refilling buffer\n");
drivers/iio/magnetometer/yamaha-yas530.c
672
yas5xx->scan.channels[0] = t;
drivers/iio/magnetometer/yamaha-yas530.c
673
yas5xx->scan.channels[1] = x;
drivers/iio/magnetometer/yamaha-yas530.c
674
yas5xx->scan.channels[2] = y;
drivers/iio/magnetometer/yamaha-yas530.c
675
yas5xx->scan.channels[3] = z;
drivers/iio/magnetometer/yamaha-yas530.c
676
iio_push_to_buffers_with_ts(indio_dev, &yas5xx->scan, sizeof(yas5xx->scan),
drivers/iio/magnetometer/yamaha-yas530.c
696
struct yas5xx *yas5xx = iio_priv(indio_dev);
drivers/iio/magnetometer/yamaha-yas530.c
698
return &yas5xx->orientation;
drivers/iio/magnetometer/yamaha-yas530.c
752
struct yas5xx *yas5xx = iio_priv(indio_dev);
drivers/iio/magnetometer/yamaha-yas530.c
753
const struct yas5xx_chip_info *ci = yas5xx->chip_info;
drivers/iio/magnetometer/yamaha-yas530.c
818
static int yas530_get_calibration_data(struct yas5xx *yas5xx)
drivers/iio/magnetometer/yamaha-yas530.c
820
struct yas5xx_calibration *c = &yas5xx->calibration;
drivers/iio/magnetometer/yamaha-yas530.c
826
ret = regmap_bulk_read(yas5xx->map, YAS530_CAL, data, sizeof(data));
drivers/iio/magnetometer/yamaha-yas530.c
831
ret = regmap_bulk_read(yas5xx->map, YAS530_CAL, data, sizeof(data));
drivers/iio/magnetometer/yamaha-yas530.c
834
dev_dbg(yas5xx->dev, "calibration data: %16ph\n", data);
drivers/iio/magnetometer/yamaha-yas530.c
840
yas5xx->version = data[15] & GENMASK(1, 0);
drivers/iio/magnetometer/yamaha-yas530.c
870
static int yas532_get_calibration_data(struct yas5xx *yas5xx)
drivers/iio/magnetometer/yamaha-yas530.c
872
struct yas5xx_calibration *c = &yas5xx->calibration;
drivers/iio/magnetometer/yamaha-yas530.c
878
ret = regmap_bulk_read(yas5xx->map, YAS530_CAL, data, sizeof(data));
drivers/iio/magnetometer/yamaha-yas530.c
882
ret = regmap_bulk_read(yas5xx->map, YAS530_CAL, data, sizeof(data));
drivers/iio/magnetometer/yamaha-yas530.c
885
dev_dbg(yas5xx->dev, "calibration data: %14ph\n", data);
drivers/iio/magnetometer/yamaha-yas530.c
889
dev_warn(yas5xx->dev, "calibration is blank!\n");
drivers/iio/magnetometer/yamaha-yas530.c
895
yas5xx->version = data[13] & BIT(0);
drivers/iio/magnetometer/yamaha-yas530.c
925
static int yas537_get_calibration_data(struct yas5xx *yas5xx)
drivers/iio/magnetometer/yamaha-yas530.c
927
struct yas5xx_calibration *c = &yas5xx->calibration;
drivers/iio/magnetometer/yamaha-yas530.c
933
ret = regmap_write(yas5xx->map, YAS537_SRST, BIT(1));
drivers/iio/magnetometer/yamaha-yas530.c
938
ret = regmap_bulk_read(yas5xx->map, YAS537_CAL, data, sizeof(data));
drivers/iio/magnetometer/yamaha-yas530.c
941
dev_dbg(yas5xx->dev, "calibration data: %17ph\n", data);
drivers/iio/magnetometer/yamaha-yas530.c
945
dev_warn(yas5xx->dev, "calibration is blank!\n");
drivers/iio/magnetometer/yamaha-yas530.c
951
yas5xx->version = FIELD_GET(GENMASK(7, 6), data[16]);
drivers/iio/magnetometer/yamaha-yas530.c
954
switch (yas5xx->version) {
drivers/iio/magnetometer/yamaha-yas530.c
980
ret = regmap_write(yas5xx->map, YAS537_MTC + i,
drivers/iio/magnetometer/yamaha-yas530.c
986
ret = regmap_write(yas5xx->map, YAS537_OFFSET_X + i,
drivers/iio/magnetometer/yamaha-yas530.c
990
yas5xx->hard_offsets[i] = data[i + 12];
drivers/iio/magnetometer/yamaha-yas530.c
993
ret = regmap_write(yas5xx->map, YAS537_HCK + i,