#ifndef _DEV_I2C_ADM1026REG_H_
#define _DEV_I2C_ADM1026REG_H_
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: adm1026reg.h,v 1.6 2026/02/10 12:07:01 jdc Exp $");
#define ADM1026_ADDR1 0x2c
#define ADM1026_CONF1 0x00
#define ADM1026_CONF2 0x01
#define ADM1026_FAN_DIV1 0x02
#define ADM1026_FAN_DIV2 0x03
#define ADM1026_DAC_CTRL 0x04
#define ADM1026_PWM_CTRL 0x05
#define ADM1026_EEPROM 0x06
#define ADM1026_TVG_CONF 0x07
#define ADM1026_GPIO_CONF1 0x08
#define ADM1026_GPIO_CONF2 0x09
#define ADM1026_GPIO_CONF3 0x0a
#define ADM1026_GPIO_CONF4 0x0b
#define ADM1026_EEPROM2 0x0c
#define ADM1026_INT_THERM_HIGH 0x0d
#define ADM1026_TDM1_THERM_HIGH 0x0e
#define ADM1026_TDM2_THERM_HIGH 0x0f
#define ADM1026_INT_FAN_MIN 0x10
#define ADM1026_TDM1_FAN_MIN 0x11
#define ADM1026_TDM2_FAN_MIN 0x12
#define ADM1026_EEPROM3 0x13
#define ADM1026_TEST1 0x14
#define ADM1026_TEST2 0x15
#define ADM1026_ID 0x16
#define ADM1026_REV 0x17
#define ADM1026_MASK1 0x18
#define ADM1026_MASK2 0x19
#define ADM1026_MASK3 0x1a
#define ADM1026_MASK4 0x1b
#define ADM1026_MASK5 0x1c
#define ADM1026_MASK6 0x1d
#define ADM1026_INT_TEMP_OFF 0x1e
#define ADM1026_INT_TEMP_VAL 0x1f
#define ADM1026_STAT1 0x20
#define ADM1026_STAT2 0x21
#define ADM1026_STAT3 0x22
#define ADM1026_STAT4 0x23
#define ADM1026_STAT5 0x24
#define ADM1026_STAT6 0x25
#define ADM1026_VBAT_VAL 0x26
#define ADM1026_AIN8_VAL 0x27
#define ADM1026_TDM1_VAL 0x28
#define ADM1026_TDM2_AIN9_VAL 0x29
#define ADM1026_33VSTBY_VAL 0x2a
#define ADM1026_33VMAIN_VAL 0x2b
#define ADM1026_50V_VAL 0x2c
#define ADM1026_VCCP_VAL 0x2d
#define ADM1026_12V_VAL 0x2e
#define ADM1026_N12V_VAL 0x2f
#define ADM1026_AIN_VAL(x) (0x30 + x)
#define ADM1026_FAN_VAL(x) (0x38 + x)
#define ADM1026_TDM1_HIGH 0x40
#define ADM1026_TDM2_AIN9_HIGH 0x41
#define ADM1026_33V_STBY_HIGH 0x42
#define ADM1026_33V_MAIN_HIGH 0x43
#define ADM1026_50V_HIGH 0x44
#define ADM1026_VCCP_HIGH 0x45
#define ADM1026_12V_HIGH 0x46
#define ADM1026_N12V_HIGH 0x47
#define ADM1026_TDM1_LOW 0x48
#define ADM1026_TDM2_AIN9_LOW 0x49
#define ADM1026_33V_STBY_LOW 0x4a
#define ADM1026_33V_MAIN_LOW 0x4b
#define ADM1026_50V_LOW 0x4c
#define ADM1026_VCCP_LOW 0x4d
#define ADM1026_12V_LOW 0x4e
#define ADM1026_N12V_LOW 0x4f
#define ADM1026_AIN_HIGH(x) (0x50 + x)
#define ADM1026_AIN_LOW(x) (0x58 + x)
#define ADM1026_FAN_HIGH(x) (0x60 + x)
#define ADM1026_INT_TEMP_HIGH 0x68
#define ADM1026_INT_TEMP_LOW 0x69
#define ADM1026_VBATT_HIGH 0x6a
#define ADM1026_VBATT_LOW 0x6b
#define ADM1026_AIN8_HIGH 0x6c
#define ADM1026_AIN8_LOW 0x6d
#define ADM1026_TDM1_OFF 0x6e
#define ADM1026_TDM2_OFF 0x6f
#define ADM1026_CONF1_MONITOR 0x01
#define ADM1026_PIN_IS_TDM2(val) ((val & 0x08) == 0)
#define ADM1026_PIN_IS_FAN(val, x) ((val & (1 << x)) == 0)
#define ADM1026_FAN0_DIV(x) (x & 0x03)
#define ADM1026_FAN1_DIV(x) ((x >> 2) & 0x03)
#define ADM1026_FAN2_DIV(x) ((x >> 4) & 0x03)
#define ADM1026_FAN3_DIV(x) ((x >> 6) & 0x03)
#define ADM1026_FAN4_DIV(x) ADM1026_FAN0_DIV(x)
#define ADM1026_FAN5_DIV(x) ADM1026_FAN1_DIV(x)
#define ADM1026_FAN6_DIV(x) ADM1026_FAN2_DIV(x)
#define ADM1026_FAN7_DIV(x) ADM1026_FAN3_DIV(x)
#define ADM1026_MANF_ID 0x41
#define ADM1026_REVISION(x) ((x & 0xf0) >> 4)
#define ADM1026_MANF_REV 0x04
#define ADM1026_STEPPING(x) (x & 0x0f)
#endif