13bce5377STim Harvey /* SPDX-License-Identifier: GPL-2.0 */ 23bce5377STim Harvey #ifndef _GSC_HWMON_H 33bce5377STim Harvey #define _GSC_HWMON_H 43bce5377STim Harvey 53bce5377STim Harvey enum gsc_hwmon_mode { 63bce5377STim Harvey mode_temperature, 7a4872f7aSTim Harvey mode_voltage_24bit, 83bce5377STim Harvey mode_voltage_raw, 9a4872f7aSTim Harvey mode_voltage_16bit, 107497d4a6STim Harvey mode_fan, 113bce5377STim Harvey mode_max, 123bce5377STim Harvey }; 133bce5377STim Harvey 143bce5377STim Harvey /** 153bce5377STim Harvey * struct gsc_hwmon_channel - configuration parameters 163bce5377STim Harvey * @reg: I2C register offset 173bce5377STim Harvey * @mode: channel mode 183bce5377STim Harvey * @name: channel name 193bce5377STim Harvey * @mvoffset: voltage offset 203bce5377STim Harvey * @vdiv: voltage divider array (2 resistor values in milli-ohms) 213bce5377STim Harvey */ 223bce5377STim Harvey struct gsc_hwmon_channel { 233bce5377STim Harvey unsigned int reg; 243bce5377STim Harvey unsigned int mode; 253bce5377STim Harvey const char *name; 263bce5377STim Harvey unsigned int mvoffset; 273bce5377STim Harvey unsigned int vdiv[2]; 283bce5377STim Harvey }; 293bce5377STim Harvey 303bce5377STim Harvey /** 313bce5377STim Harvey * struct gsc_hwmon_platform_data - platform data for gsc_hwmon driver 323bce5377STim Harvey * @nchannels: number of elements in @channels array 333bce5377STim Harvey * @vreference: voltage reference (mV) 343bce5377STim Harvey * @resolution: ADC bit resolution 353bce5377STim Harvey * @fan_base: register base for FAN controller 3659882c7fSChristophe JAILLET * @channels: array of gsc_hwmon_channel structures describing channels 373bce5377STim Harvey */ 383bce5377STim Harvey struct gsc_hwmon_platform_data { 393bce5377STim Harvey int nchannels; 403bce5377STim Harvey unsigned int resolution; 413bce5377STim Harvey unsigned int vreference; 423bce5377STim Harvey unsigned int fan_base; 43*4a530cb9SKees Cook struct gsc_hwmon_channel channels[] __counted_by(nchannels); 443bce5377STim Harvey }; 453bce5377STim Harvey #endif 46