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