71 lines
1.7 KiB
C
71 lines
1.7 KiB
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* Copyright (c) 2021 The Linux Foundation. All rights reserved.
|
|
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
|
*/
|
|
|
|
#ifndef __QBG_IIO_H__
|
|
#define __QBG_IIO_H__
|
|
|
|
struct qbg_iio_channels {
|
|
const char *datasheet_name;
|
|
int channel_num;
|
|
enum iio_chan_type type;
|
|
long info_mask;
|
|
};
|
|
|
|
#define QBG_IIO_CHAN(_name, _num, _type, _mask) \
|
|
{ \
|
|
.datasheet_name = _name, \
|
|
.channel_num = _num, \
|
|
.type = _type, \
|
|
.info_mask = _mask, \
|
|
},
|
|
|
|
#define QBG_CHAN_ENERGY(_name, _num) \
|
|
QBG_IIO_CHAN(_name, _num, IIO_ENERGY, \
|
|
BIT(IIO_CHAN_INFO_PROCESSED))
|
|
|
|
#define QBG_CHAN_TEMP(_name, _num) \
|
|
QBG_IIO_CHAN(_name, _num, IIO_TEMP, \
|
|
BIT(IIO_CHAN_INFO_PROCESSED))
|
|
|
|
#define QBG_CHAN_VOLT(_name, _num) \
|
|
QBG_IIO_CHAN(_name, _num, IIO_VOLTAGE, \
|
|
BIT(IIO_CHAN_INFO_PROCESSED))
|
|
|
|
#define QBG_CHAN_TSTAMP(_name, _num) \
|
|
QBG_IIO_CHAN(_name, _num, IIO_TIMESTAMP, \
|
|
BIT(IIO_CHAN_INFO_PROCESSED))
|
|
|
|
#define QBG_CHAN_RES(_name, _num) \
|
|
QBG_IIO_CHAN(_name, _num, IIO_RESISTANCE, \
|
|
BIT(IIO_CHAN_INFO_PROCESSED))
|
|
|
|
#define QBG_CHAN_INDEX(_name, _num) \
|
|
QBG_IIO_CHAN(_name, _num, IIO_INDEX, \
|
|
BIT(IIO_CHAN_INFO_PROCESSED))
|
|
|
|
#define QBG_CHAN_CUR(_name, _num) \
|
|
QBG_IIO_CHAN(_name, _num, IIO_CURRENT, \
|
|
BIT(IIO_CHAN_INFO_PROCESSED))
|
|
|
|
#define QBG_CHAN_COUNT(_name, _num) \
|
|
QBG_IIO_CHAN(_name, _num, IIO_COUNT, \
|
|
BIT(IIO_CHAN_INFO_PROCESSED))
|
|
|
|
enum qbg_ext_iio_channels {
|
|
RECHARGE_SOC,
|
|
FORCE_RECHARGE,
|
|
CHARGE_DONE,
|
|
SYS_SOC,
|
|
};
|
|
|
|
static const char * const qbg_ext_iio_chan_name[] = {
|
|
[RECHARGE_SOC] = "recharge_soc",
|
|
[FORCE_RECHARGE] = "force_recharge",
|
|
[CHARGE_DONE] = "charge_done",
|
|
[SYS_SOC] = "sys_soc",
|
|
};
|
|
|
|
#endif /* __QBG_IIO_H__ */
|