Lines Matching defs:nct6775_data
1069 struct nct6775_data { struct
1070 int addr; /* IO base of hw monitor block */
1071 int sioreg; /* SIO register address */
1072 enum kinds kind;
1073 const char *name;
1075 const struct attribute_group *groups[6];
1077 u16 reg_temp[5][NUM_TEMP]; /* 0=temp, 1=temp_over, 2=temp_hyst,
1080 u8 temp_src[NUM_TEMP];
1081 u16 reg_temp_config[NUM_TEMP];
1082 const char * const *temp_label;
1083 u32 temp_mask;
1084 u32 virt_temp_mask;
1086 u16 REG_CONFIG;
1087 u16 REG_VBAT;
1088 u16 REG_DIODE;
1089 u8 DIODE_MASK;
1091 const s8 *ALARM_BITS;
1092 const s8 *BEEP_BITS;
1094 const u16 *REG_VIN;
1095 const u16 *REG_IN_MINMAX[2];
1097 const u16 *REG_TARGET;
1098 const u16 *REG_FAN;
1099 const u16 *REG_FAN_MODE;
1100 const u16 *REG_FAN_MIN;
1101 const u16 *REG_FAN_PULSES;
1102 const u16 *FAN_PULSE_SHIFT;
1103 const u16 *REG_FAN_TIME[3];
1105 const u16 *REG_TOLERANCE_H;
1107 const u8 *REG_PWM_MODE;
1108 const u8 *PWM_MODE_MASK;
1110 const u16 *REG_PWM[7]; /* [0]=pwm, [1]=pwm_start, [2]=pwm_floor,
1114 const u16 *REG_PWM_READ;
1116 const u16 *REG_CRITICAL_PWM_ENABLE;
1117 u8 CRITICAL_PWM_ENABLE_MASK;
1118 const u16 *REG_CRITICAL_PWM;
1120 const u16 *REG_AUTO_TEMP;
1121 const u16 *REG_AUTO_PWM;
1123 const u16 *REG_CRITICAL_TEMP;
1124 const u16 *REG_CRITICAL_TEMP_TOLERANCE;
1126 const u16 *REG_TEMP_SOURCE; /* temp register sources */
1127 const u16 *REG_TEMP_SEL;
1128 const u16 *REG_WEIGHT_TEMP_SEL;
1129 const u16 *REG_WEIGHT_TEMP[3]; /* 0=base, 1=tolerance, 2=step */
1131 const u16 *REG_TEMP_OFFSET;
1133 const u16 *REG_ALARM;
1134 const u16 *REG_BEEP;
1136 unsigned int (*fan_from_reg)(u16 reg, unsigned int divreg);
1137 unsigned int (*fan_from_reg_min)(u16 reg, unsigned int divreg);
1139 struct mutex update_lock;
1140 bool valid; /* true if following fields are valid */
1141 unsigned long last_updated; /* In jiffies */
1144 u8 bank; /* current register bank */
1145 u8 in_num; /* number of in inputs we have */
1146 u8 in[15][3]; /* [0]=in, [1]=in_max, [2]=in_min */
1147 unsigned int rpm[NUM_FAN];
1148 u16 fan_min[NUM_FAN];
1149 u8 fan_pulses[NUM_FAN];
1150 u8 fan_div[NUM_FAN];
1151 u8 has_pwm;
1152 u8 has_fan; /* some fan inputs can be disabled */
1153 u8 has_fan_min; /* some fans don't have min register */
1154 bool has_fan_div;
1156 u8 num_temp_alarms; /* 2, 3, or 6 */
1157 u8 num_temp_beeps; /* 2, 3, or 6 */
1158 u8 temp_fixed_num; /* 3 or 6 */
1159 u8 temp_type[NUM_TEMP_FIXED];
1160 s8 temp_offset[NUM_TEMP_FIXED];
1161 s16 temp[5][NUM_TEMP]; /* 0=temp, 1=temp_over, 2=temp_hyst,
1163 u64 alarms;
1164 u64 beeps;
1166 u8 pwm_num; /* number of pwm */
1167 u8 pwm_mode[NUM_FAN]; /* 0->DC variable voltage,
1170 enum pwm_enable pwm_enable[NUM_FAN];
1178 u8 pwm[7][NUM_FAN]; /* [0]=pwm, [1]=pwm_start, [2]=pwm_floor,
1183 u8 target_temp[NUM_FAN];
1184 u8 target_temp_mask;
1185 u32 target_speed[NUM_FAN];
1186 u32 target_speed_tolerance[NUM_FAN];
1187 u8 speed_tolerance_limit;
1189 u8 temp_tolerance[2][NUM_FAN];
1190 u8 tolerance_mask;
1192 u8 fan_time[3][NUM_FAN]; /* 0 = stop_time, 1 = step_up, 2 = step_down */
1195 int auto_pwm_num;
1196 u8 auto_pwm[NUM_FAN][7];
1197 u8 auto_temp[NUM_FAN][7];
1198 u8 pwm_temp_sel[NUM_FAN];
1199 u8 pwm_weight_temp_sel[NUM_FAN];
1200 u8 weight_temp[3][NUM_FAN]; /* 0->temp_step, 1->temp_step_tol,
1204 u8 vid;
1205 u8 vrm;
1207 bool have_vid;
1209 u16 have_temp;
1210 u16 have_temp_fixed;
1211 u16 have_in;
1214 u8 vbat;
1215 u8 fandiv1;
1216 u8 fandiv2;
1217 u8 sio_reg_enable;