|
@@ -106,35 +106,23 @@ static const struct regmap_config max30102_regmap_config = {
|
|
|
|
|
|
static const unsigned long max30102_scan_masks[] = {0x3, 0};
|
|
|
|
|
|
+#define MAX30102_INTENSITY_CHANNEL(_si, _mod) { \
|
|
|
+ .type = IIO_INTENSITY, \
|
|
|
+ .channel2 = _mod, \
|
|
|
+ .modified = 1, \
|
|
|
+ .scan_index = _si, \
|
|
|
+ .scan_type = { \
|
|
|
+ .sign = 'u', \
|
|
|
+ .shift = 8, \
|
|
|
+ .realbits = 18, \
|
|
|
+ .storagebits = 32, \
|
|
|
+ .endianness = IIO_BE, \
|
|
|
+ }, \
|
|
|
+ }
|
|
|
+
|
|
|
static const struct iio_chan_spec max30102_channels[] = {
|
|
|
- {
|
|
|
- .type = IIO_INTENSITY,
|
|
|
- .channel2 = IIO_MOD_LIGHT_RED,
|
|
|
- .modified = 1,
|
|
|
-
|
|
|
- .scan_index = 0,
|
|
|
- .scan_type = {
|
|
|
- .sign = 'u',
|
|
|
- .shift = 8,
|
|
|
- .realbits = 18,
|
|
|
- .storagebits = 32,
|
|
|
- .endianness = IIO_BE,
|
|
|
- },
|
|
|
- },
|
|
|
- {
|
|
|
- .type = IIO_INTENSITY,
|
|
|
- .channel2 = IIO_MOD_LIGHT_IR,
|
|
|
- .modified = 1,
|
|
|
-
|
|
|
- .scan_index = 1,
|
|
|
- .scan_type = {
|
|
|
- .sign = 'u',
|
|
|
- .shift = 8,
|
|
|
- .realbits = 18,
|
|
|
- .storagebits = 32,
|
|
|
- .endianness = IIO_BE,
|
|
|
- },
|
|
|
- },
|
|
|
+ MAX30102_INTENSITY_CHANNEL(0, IIO_MOD_LIGHT_RED),
|
|
|
+ MAX30102_INTENSITY_CHANNEL(1, IIO_MOD_LIGHT_IR),
|
|
|
{
|
|
|
.type = IIO_TEMP,
|
|
|
.info_mask_separate =
|