mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-02-26 00:42:02 +07:00

The Gateworks System Controller has a hwmon sub-component that exposes up to 16 ADC's, some of which are temperature sensors, others which are voltage inputs. The ADC configuration (register mapping and name) is configured via device-tree and varies board to board. Signed-off-by: Tim Harvey <tharvey@gateworks.com> Reviewed-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Lee Jones <lee.jones@linaro.org>
45 lines
1.0 KiB
C
45 lines
1.0 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _GSC_HWMON_H
|
|
#define _GSC_HWMON_H
|
|
|
|
enum gsc_hwmon_mode {
|
|
mode_temperature,
|
|
mode_voltage,
|
|
mode_voltage_raw,
|
|
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
|