/*OPTICAL_CHANNELS( IIO_PROXIMITY, 0, IIO_MOD_X, 16, REGS_PS1_DATA0 ), OPTICAL_CHANNELS( IIO_LIGHT, 1, IIO_MOD_X, 16, REGS_ALS_VIS_DATA0 ),*/ IIO_CHAN(IIO_PROXIMITY, 1, 0, 0, NULL, 0, IIO_MOD_X, (1 << IIO_CHAN_INFO_SCALE_SEPARATE), REGS_PS1_DATA0,L1PH03_SCAN_PROX_X, IIO_ST('s', 16, 16, 0), 0), IIO_CHAN(IIO_LIGHT, 1, 0, 0, NULL, 0, IIO_MOD_X, (1 << IIO_CHAN_INFO_SCALE_SEPARATE), REGS_ALS_VIS_DATA0, L1PH03_SCAN_LIGHT_X , IIO_ST('s', 16, 16, 0), 0), IIO_CHAN_SOFT_TIMESTAMP(2) }; static const struct optical_sensors_list optical_sensors[] = //co 1 sensor su dung lam heartRate { { .wai = { 0x43 }, .sensors_supported = { [0] = OPTICAL_DEV_NAME,
/* Applies to max1363 */ static const enum max1363_modes max1363_mode_list[] = { _s0, _s1, _s2, _s3, s0to1, s0to2, s0to3, d0m1, d2m3, d1m0, d3m2, d0m1to2m3, d1m0to3m2, }; #define MAX1363_EV_M \ (IIO_EV_BIT(IIO_EV_TYPE_THRESH, IIO_EV_DIR_RISING) \ | IIO_EV_BIT(IIO_EV_TYPE_THRESH, IIO_EV_DIR_FALLING)) #define MAX1363_INFO_MASK (1 << IIO_CHAN_INFO_SCALE_SHARED) static struct iio_chan_spec max1363_channels[] = { IIO_CHAN(IIO_IN, 0, 1, 0, NULL, 0, 0, MAX1363_INFO_MASK, _s0, 0, IIO_ST('u', 12, 16, 0), MAX1363_EV_M), IIO_CHAN(IIO_IN, 0, 1, 0, NULL, 1, 0, MAX1363_INFO_MASK, _s1, 1, IIO_ST('u', 12, 16, 0), MAX1363_EV_M), IIO_CHAN(IIO_IN, 0, 1, 0, NULL, 2, 0, MAX1363_INFO_MASK, _s2, 2, IIO_ST('u', 12, 16, 0), MAX1363_EV_M), IIO_CHAN(IIO_IN, 0, 1, 0, NULL, 3, 0, MAX1363_INFO_MASK, _s3, 3, IIO_ST('u', 12, 16, 0), MAX1363_EV_M), IIO_CHAN(IIO_IN_DIFF, 0, 1, 0, NULL, 0, 1, MAX1363_INFO_MASK, d0m1, 4, IIO_ST('s', 12, 16, 0), MAX1363_EV_M), IIO_CHAN(IIO_IN_DIFF, 0, 1, 0, NULL, 2, 3, MAX1363_INFO_MASK, d2m3, 5, IIO_ST('s', 12, 16, 0), MAX1363_EV_M), IIO_CHAN(IIO_IN_DIFF, 0, 1, 0, NULL, 1, 0, MAX1363_INFO_MASK, d1m0, 6, IIO_ST('s', 12, 16, 0), MAX1363_EV_M), IIO_CHAN(IIO_IN_DIFF, 0, 1, 0, NULL, 3, 2, MAX1363_INFO_MASK, d3m2, 7, IIO_ST('s', 12, 16, 0), MAX1363_EV_M), IIO_CHAN_SOFT_TIMESTAMP(8)
#include <linux/sysfs.h> #include <linux/spi/spi.h> #include <linux/regulator/consumer.h> #include <linux/err.h> #include <linux/delay.h> #include "../iio.h" #include "../sysfs.h" #include "../ring_generic.h" #include "adc.h" #include "ad7298.h" static struct iio_chan_spec ad7298_channels[] = { IIO_CHAN(IIO_TEMP, 0, 1, 0, NULL, 0, 0, (1 << IIO_CHAN_INFO_SCALE_SEPARATE), 9, AD7298_CH_TEMP, IIO_ST('s', 32, 32, 0), 0), IIO_CHAN(IIO_IN, 0, 1, 0, NULL, 0, 0, (1 << IIO_CHAN_INFO_SCALE_SHARED), 0, 0, IIO_ST('u', 12, 16, 0), 0), IIO_CHAN(IIO_IN, 0, 1, 0, NULL, 1, 0, (1 << IIO_CHAN_INFO_SCALE_SHARED), 1, 1, IIO_ST('u', 12, 16, 0), 0), IIO_CHAN(IIO_IN, 0, 1, 0, NULL, 2, 0, (1 << IIO_CHAN_INFO_SCALE_SHARED), 2, 2, IIO_ST('u', 12, 16, 0), 0), IIO_CHAN(IIO_IN, 0, 1, 0, NULL, 3, 0, (1 << IIO_CHAN_INFO_SCALE_SHARED), 3, 3, IIO_ST('u', 12, 16, 0), 0), IIO_CHAN(IIO_IN, 0, 1, 0, NULL, 4, 0, (1 << IIO_CHAN_INFO_SCALE_SHARED),