Lines Matching +full:6 +full:- +full:axis
1 // SPDX-License-Identifier: GPL-2.0-only
3 * IIO driver for the 3-axis accelerometer Domintech ARD10.
32 /* INTC[6:5]=b'00 */
48 * a value of + or -128 corresponds to + or - 1G
54 #define DMARD10_CHANNEL(reg, axis) { \ argument
58 .channel2 = IIO_MOD_##axis, \
95 ret = i2c_master_send(client, buffer, 6); in dmard10_reset()
112 buffer[6] = 0x07; /* INTD=1 push-pull, INTA=1 active high, AUTOT=1 */ in dmard10_reset()
152 ret = i2c_smbus_read_i2c_block_data(data->client, in dmard10_read_raw()
157 ret = le16_to_cpu(buf[chan->address]); in dmard10_read_raw()
165 return -EINVAL; in dmard10_read_raw()
183 return (ret < 0) ? ret : -ENODEV; in dmard10_probe()
187 return (ret < 0) ? ret : -ENODEV; in dmard10_probe()
189 indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*data)); in dmard10_probe()
191 dev_err(&client->dev, "iio allocation failed!\n"); in dmard10_probe()
192 return -ENOMEM; in dmard10_probe()
196 data->client = client; in dmard10_probe()
199 indio_dev->info = &dmard10_info; in dmard10_probe()
200 indio_dev->name = "dmard10"; in dmard10_probe()
201 indio_dev->modes = INDIO_DIRECT_MODE; in dmard10_probe()
202 indio_dev->channels = dmard10_channels; in dmard10_probe()
203 indio_dev->num_channels = ARRAY_SIZE(dmard10_channels); in dmard10_probe()
211 dev_err(&client->dev, "device_register failed\n"); in dmard10_probe()
260 MODULE_DESCRIPTION("Domintech ARD10 3-Axis Accelerometer driver");