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_fan, 11 mode_max, 12 }; 13 14 /** 15 * struct gsc_hwmon_channel - configuration parameters 16 * @reg: I2C register offset 17 * @mode: channel mode 18 * @name: channel name 19 * @mvoffset: voltage offset 20 * @vdiv: voltage divider array (2 resistor values in milli-ohms) 21 */ 22 struct gsc_hwmon_channel { 23 unsigned int reg; 24 unsigned int mode; 25 const char *name; 26 unsigned int mvoffset; 27 unsigned int vdiv[2]; 28 }; 29 30 /** 31 * struct gsc_hwmon_platform_data - platform data for gsc_hwmon driver 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 * @channels: array of gsc_hwmon_channel structures describing channels 37 */ 38 struct gsc_hwmon_platform_data { 39 int nchannels; 40 unsigned int resolution; 41 unsigned int vreference; 42 unsigned int fan_base; 43 struct gsc_hwmon_channel channels[] __counted_by(nchannels); 44 }; 45 #endif 46