| /* 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 |