![]() |
coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
|
#include <types.h>
#include <console/console.h>
#include <device/device.h>
#include <device/i2c_bus.h>
Go to the source code of this file.
Macros | |
#define | BANK_SELECT 0x00 |
#define | MODE_SELECTION 0x22 |
#define | MODE_SELECTION_LTD_EN (1 << 6) |
#define | MODE_SELECTION_RTDx(x, val) ((val) << (x) * 2) |
#define | PECI_ENABLE 0x23 |
#define | PECI_ENABLE_AGENTx(x) (1 << (x)) |
#define | FAN_ENABLE 0x24 |
#define | FANx_ENABLE(fan) (1 << (fan)) |
#define | FAN_CTRL(fan) (0x60 + (fan)) |
#define | CLOSE_LOOP_FAN_RPM_CTRL 0x63 |
#define | CLOSE_LOOP_FANx_EN(fan) (1 << ((fan) + 5)) |
#define | CLOSE_LOOP_FANx_HIGH_RPM(fan) (1 << ((fan) + 2)) |
#define | CLOSE_LOOP_FAN_PECI_ERR_MASK (3 << 0) |
#define | CLOSE_LOOP_FAN_PECI_ERR_CURR (0 << 0) |
#define | CLOSE_LOOP_FAN_PECI_ERR_VALUE (1 << 0) |
#define | CLOSE_LOOP_FAN_PECI_ERR_MAX (2 << 0) |
#define | TEMP_SHIFT(temp) (((temp) % 2) * 4) |
#define | TEMP_TO_FAN_MAP(temp) (0x64 + (temp) / 2) |
#define | TEMPx_TO_FAN_MAP_MASK(temp) (7 << TEMP_SHIFT(temp)) |
#define | TEMPx_TO_FANy_MAP(temp, fan) (1 << (TEMP_SHIFT(temp) + (fan))) |
#define | FAN_CTRL_TEMP_SRC(temp) (0x68 + (temp) / 2) |
#define | FAN_CTRL_TEMPx_SRC_MASK(temp) (7 << TEMP_SHIFT(temp)) |
#define | FAN_CTRL_TEMPx_SRCy(temp, src) ((src) << TEMP_SHIFT(temp)) |
#define | FAN_DUTY_ON_PECI_ERROR 0x7a |
#define | TABLEx_TEMP_POINTy(fan, pt) (0x80 + (0x10 * (fan)) + (pt)) |
#define | TABLEx_TARGET_POINTy(fan, pt) (0x85 + (0x10 * (fan)) + (pt)) |
#define | PECI_CTRL_1 0x01 |
#define | PECI_CTRL_1_EN (1 << 7) |
#define | PECI_CTRL_1_MANUAL_EN (1 << 1) |
#define | PECI_CTRL_1_ROUTINE_EN (1 << 0) |
#define | PECI_CTRL_3 0x03 |
#define | PECI_CTRL_3_EN_AGENTx(x) (1 << ((x) + 4)) |
#define | PECI_CTRL_3_HAS_DOM1_AGENTx(x) (1 << (x)) |
#define | PECI_REPORT_TEMP_STYLE 0x04 |
#define | PECI_TEMP_STYLE_DOM0_AGENTx(x) (0 << ((x) + 1)) |
#define | PECI_TEMP_STYLE_DOM1_AGENTx(x) (1 << ((x) + 1)) |
#define | PECI_TEMP_STYLE_SINGLE (0 << 0) |
#define | PECI_TEMP_STYLE_HIGHEST (1 << 0) |
#define | PECI_BASE_TEMP_AGENT(x) (0x09 + (x)) |
#define | PECI_BASE_TEMP_MAX (0x7f << 0) |
Functions | |
static int | nct7802y_select_bank (struct device *const dev, const u8 bank) |
static int | nct7802y_write (struct device *const dev, const u8 reg, const u8 value) |
static int | nct7802y_update (struct device *const dev, const u8 reg, const u8 clear_mask, const u8 set_mask) |
void | nct7802y_init_fan (struct device *dev) |
void | nct7802y_init_peci (struct device *dev) |
#define BANK_SELECT 0x00 |
Definition at line 11 of file nct7802y.h.
#define CLOSE_LOOP_FAN_PECI_ERR_CURR (0 << 0) |
Definition at line 30 of file nct7802y.h.
#define CLOSE_LOOP_FAN_PECI_ERR_MASK (3 << 0) |
Definition at line 29 of file nct7802y.h.
#define CLOSE_LOOP_FAN_PECI_ERR_MAX (2 << 0) |
Definition at line 32 of file nct7802y.h.
#define CLOSE_LOOP_FAN_PECI_ERR_VALUE (1 << 0) |
Definition at line 31 of file nct7802y.h.
#define CLOSE_LOOP_FAN_RPM_CTRL 0x63 |
Definition at line 26 of file nct7802y.h.
#define CLOSE_LOOP_FANx_EN | ( | fan | ) | (1 << ((fan) + 5)) |
Definition at line 27 of file nct7802y.h.
#define CLOSE_LOOP_FANx_HIGH_RPM | ( | fan | ) | (1 << ((fan) + 2)) |
Definition at line 28 of file nct7802y.h.
#define FAN_CTRL | ( | fan | ) | (0x60 + (fan)) |
Definition at line 24 of file nct7802y.h.
#define FAN_CTRL_TEMP_SRC | ( | temp | ) | (0x68 + (temp) / 2) |
Definition at line 39 of file nct7802y.h.
#define FAN_CTRL_TEMPx_SRC_MASK | ( | temp | ) | (7 << TEMP_SHIFT(temp)) |
Definition at line 40 of file nct7802y.h.
#define FAN_CTRL_TEMPx_SRCy | ( | temp, | |
src | |||
) | ((src) << TEMP_SHIFT(temp)) |
Definition at line 41 of file nct7802y.h.
#define FAN_DUTY_ON_PECI_ERROR 0x7a |
Definition at line 43 of file nct7802y.h.
#define FAN_ENABLE 0x24 |
Definition at line 21 of file nct7802y.h.
#define FANx_ENABLE | ( | fan | ) | (1 << (fan)) |
Definition at line 22 of file nct7802y.h.
#define MODE_SELECTION 0x22 |
Definition at line 14 of file nct7802y.h.
#define MODE_SELECTION_LTD_EN (1 << 6) |
Definition at line 15 of file nct7802y.h.
Definition at line 65 of file nct7802y.h.
#define PECI_BASE_TEMP_MAX (0x7f << 0) |
Definition at line 66 of file nct7802y.h.
#define PECI_CTRL_1 0x01 |
Definition at line 50 of file nct7802y.h.
#define PECI_CTRL_1_EN (1 << 7) |
Definition at line 51 of file nct7802y.h.
#define PECI_CTRL_1_MANUAL_EN (1 << 1) |
Definition at line 52 of file nct7802y.h.
#define PECI_CTRL_1_ROUTINE_EN (1 << 0) |
Definition at line 53 of file nct7802y.h.
#define PECI_CTRL_3 0x03 |
Definition at line 55 of file nct7802y.h.
Definition at line 56 of file nct7802y.h.
Definition at line 57 of file nct7802y.h.
#define PECI_ENABLE 0x23 |
Definition at line 18 of file nct7802y.h.
Definition at line 19 of file nct7802y.h.
#define PECI_REPORT_TEMP_STYLE 0x04 |
Definition at line 59 of file nct7802y.h.
Definition at line 60 of file nct7802y.h.
Definition at line 61 of file nct7802y.h.
#define PECI_TEMP_STYLE_HIGHEST (1 << 0) |
Definition at line 63 of file nct7802y.h.
#define PECI_TEMP_STYLE_SINGLE (0 << 0) |
Definition at line 62 of file nct7802y.h.
#define TABLEx_TARGET_POINTy | ( | fan, | |
pt | |||
) | (0x85 + (0x10 * (fan)) + (pt)) |
Definition at line 46 of file nct7802y.h.
#define TABLEx_TEMP_POINTy | ( | fan, | |
pt | |||
) | (0x80 + (0x10 * (fan)) + (pt)) |
Definition at line 45 of file nct7802y.h.
#define TEMP_SHIFT | ( | temp | ) | (((temp) % 2) * 4) |
Definition at line 34 of file nct7802y.h.
#define TEMP_TO_FAN_MAP | ( | temp | ) | (0x64 + (temp) / 2) |
Definition at line 35 of file nct7802y.h.
#define TEMPx_TO_FAN_MAP_MASK | ( | temp | ) | (7 << TEMP_SHIFT(temp)) |
Definition at line 36 of file nct7802y.h.
#define TEMPx_TO_FANy_MAP | ( | temp, | |
fan | |||
) | (1 << (TEMP_SHIFT(temp) + (fan))) |
Definition at line 37 of file nct7802y.h.
Definition at line 67 of file nct7802y_fan.c.
References CB_SUCCESS, device::chip_info, CLOSE_LOOP_FAN_PECI_ERR_CURR, CLOSE_LOOP_FAN_PECI_ERR_MASK, CLOSE_LOOP_FAN_PECI_ERR_MAX, CLOSE_LOOP_FAN_PECI_ERR_VALUE, CLOSE_LOOP_FAN_RPM_CTRL, config, FAN_DUTY_ON_PECI_ERROR, FAN_IGNORE, init_fan(), NCT7802Y_FAN_CNT, nct7802y_select_bank(), nct7802y_update(), nct7802y_write(), PECI_ERROR_FULLSPEED, PECI_ERROR_KEEP, PECI_ERROR_VALUE, and value.
Referenced by nct7802y_init().
Definition at line 9 of file nct7802y_peci.c.
References CB_SUCCESS, device::chip_info, config, NCT7802Y_PECI_CNT, nct7802y_select_bank(), nct7802y_update(), nct7802y_write(), PECI_BASE_TEMP_AGENT, PECI_CTRL_1, PECI_CTRL_1_EN, PECI_CTRL_1_MANUAL_EN, PECI_CTRL_1_ROUTINE_EN, PECI_CTRL_3, PECI_CTRL_3_EN_AGENTx, PECI_CTRL_3_HAS_DOM1_AGENTx, PECI_DISABLED, PECI_DOMAIN_0, PECI_DOMAIN_1, PECI_ENABLE, PECI_ENABLE_AGENTx, PECI_HIGHEST, PECI_REPORT_TEMP_STYLE, PECI_TEMP_STYLE_DOM0_AGENTx, PECI_TEMP_STYLE_DOM1_AGENTx, PECI_TEMP_STYLE_HIGHEST, and PECI_TEMP_STYLE_SINGLE.
Referenced by nct7802y_init().
Definition at line 68 of file nct7802y.h.
References BANK_SELECT, BIOS_NOTICE, CB_SUCCESS, i2c_dev_writeb_at(), and printk.
Referenced by nct7802y_init_fan(), and nct7802y_init_peci().
|
inlinestatic |
Definition at line 82 of file nct7802y.h.
References i2c_dev_readb_at(), i2c_dev_writeb_at(), and val.
Referenced by init_fan(), nct7802y_init_fan(), and nct7802y_init_peci().
Definition at line 76 of file nct7802y.h.
References i2c_dev_writeb_at(), and value.
Referenced by init_fan(), nct7802y_init_fan(), nct7802y_init_peci(), and nct7802y_init_sensors().