1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _GSC_HWMON_H
3 #define _GSC_HWMON_H
4 
5 enum gsc_hwmon_mode {
6 	mode_temperature,
7 	mode_voltage,
8 	mode_voltage_raw,
9 	mode_max,
10 };
11 
12 /**
13  * struct gsc_hwmon_channel - configuration parameters
14  * @reg:  I2C register offset
15  * @mode: channel mode
16  * @name: channel name
17  * @mvoffset: voltage offset
18  * @vdiv: voltage divider array (2 resistor values in milli-ohms)
19  */
20 struct gsc_hwmon_channel {
21 	unsigned int reg;
22 	unsigned int mode;
23 	const char *name;
24 	unsigned int mvoffset;
25 	unsigned int vdiv[2];
26 };
27 
28 /**
29  * struct gsc_hwmon_platform_data - platform data for gsc_hwmon driver
30  * @channels:	pointer to array of gsc_hwmon_channel structures
31  *		describing channels
32  * @nchannels:	number of elements in @channels array
33  * @vreference: voltage reference (mV)
34  * @resolution: ADC bit resolution
35  * @fan_base: register base for FAN controller
36  */
37 struct gsc_hwmon_platform_data {
38 	const struct gsc_hwmon_channel *channels;
39 	int nchannels;
40 	unsigned int resolution;
41 	unsigned int vreference;
42 	unsigned int fan_base;
43 };
44 #endif
45