47 lines
1.1 KiB
C
47 lines
1.1 KiB
C
|
/* SPDX-License-Identifier: GPL-2.0 */
|
||
|
#ifndef _GSC_HWMON_H
|
||
|
#define _GSC_HWMON_H
|
||
|
|
||
|
enum gsc_hwmon_mode {
|
||
|
mode_temperature,
|
||
|
mode_voltage_24bit,
|
||
|
mode_voltage_raw,
|
||
|
mode_voltage_16bit,
|
||
|
mode_fan,
|
||
|
mode_max,
|
||
|
};
|
||
|
|
||
|
/**
|
||
|
* struct gsc_hwmon_channel - configuration parameters
|
||
|
* @reg: I2C register offset
|
||
|
* @mode: channel mode
|
||
|
* @name: channel name
|
||
|
* @mvoffset: voltage offset
|
||
|
* @vdiv: voltage divider array (2 resistor values in milli-ohms)
|
||
|
*/
|
||
|
struct gsc_hwmon_channel {
|
||
|
unsigned int reg;
|
||
|
unsigned int mode;
|
||
|
const char *name;
|
||
|
unsigned int mvoffset;
|
||
|
unsigned int vdiv[2];
|
||
|
};
|
||
|
|
||
|
/**
|
||
|
* struct gsc_hwmon_platform_data - platform data for gsc_hwmon driver
|
||
|
* @channels: pointer to array of gsc_hwmon_channel structures
|
||
|
* describing channels
|
||
|
* @nchannels: number of elements in @channels array
|
||
|
* @vreference: voltage reference (mV)
|
||
|
* @resolution: ADC bit resolution
|
||
|
* @fan_base: register base for FAN controller
|
||
|
*/
|
||
|
struct gsc_hwmon_platform_data {
|
||
|
const struct gsc_hwmon_channel *channels;
|
||
|
int nchannels;
|
||
|
unsigned int resolution;
|
||
|
unsigned int vreference;
|
||
|
unsigned int fan_base;
|
||
|
};
|
||
|
#endif
|