coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
reg_access.h File Reference
#include <fsp/util.h>
#include <reg_script.h>
#include <soc/IntelQNCConfig.h>
#include <soc/QuarkNcSocId.h>
#include <soc/reg_access.h>
Include dependency graph for reg_access.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define GEN1_GPIO_EXP_INPUT0   0x00
 
#define GEN1_GPIO_EXP_INPUT1   0x01
 
#define GEN1_GPIO_EXP_INPUT2   0x02
 
#define GEN1_GPIO_EXP_INPUT3   0x03
 
#define GEN1_GPIO_EXP_INPUT4   0x04
 
#define GEN1_GPIO_EXP_INPUT5   0x05
 
#define GEN1_GPIO_EXP_OUTPUT0   0x08
 
#define GEN1_GPIO_EXP_OUTPUT1   0x09
 
#define GEN1_GPIO_EXP_OUTPUT2   0x0a
 
#define GEN1_GPIO_EXP_OUTPUT3   0x0b
 
#define GEN1_GPIO_EXP_OUTPUT4   0x0c
 
#define GEN1_GPIO_EXP_OUTPUT5   0x0d
 
#define GEN1_GPIO_EXP_PORT_SELECT   0x18
 
#define GEN1_GPIO_EXP_PORT_DIR   0x1c
 
#define GEN2_GPIO_EXP_INPUT0   0x00
 
#define GEN2_GPIO_EXP_INPUT1   0x01
 
#define GEN2_GPIO_EXP_OUTPUT0   0x02
 
#define GEN2_GPIO_EXP_OUTPUT1   0x03
 
#define GEN2_GPIO_EXP_POLARITY0   0x04
 
#define GEN2_GPIO_EXP_POLARITY1   0x05
 
#define GEN2_GPIO_EXP_CONFIG0   0x06
 
#define GEN2_GPIO_EXP_CONFIG1   0x07
 
#define GEN2_GPIO_EXP_INPUT_LATCH0   0x44
 
#define GEN2_GPIO_EXP_INPUT_LATCH1   0x45
 
#define GEN2_GPIO_EXP_PULL_UP_DOWN_EN0   0x46
 
#define GEN2_GPIO_EXP_PULL_UP_DOWN_EN1   0x47
 
#define GEN2_GPIO_EXP_PULL_UP_DOWN_SEL0   0x46
 
#define GEN2_GPIO_EXP_PULL_UP_DOWN_SEL1   0x47
 
#define MAINBOARD_ACCESS(cmd_, reg_, size_, mask_, value_, timeout_, reg_set_)
 
#define REG_I2C_ACCESS(cmd_, reg_, mask_, value_, timeout_, slave_addr_)
 
#define REG_I2C_READ(slave_addr_, reg_)    REG_I2C_ACCESS(READ, reg_, 0, 0, 0, slave_addr_)
 
#define REG_I2C_WRITE(slave_addr_, reg_, value_)    REG_I2C_ACCESS(WRITE, reg_, 0, value_, 0, slave_addr_)
 
#define REG_I2C_AND(slave_addr_, reg_, value_)    REG_I2C_RMW(slave_addr_, reg_, value_, 0)
 
#define REG_I2C_RMW(slave_addr_, reg_, mask_, value_)    REG_I2C_ACCESS(RMW, reg_, mask_, value_, 0, slave_addr_)
 
#define REG_I2C_RXW(slave_addr_, reg_, mask_, value_)    REG_I2C_ACCESS(RXW, reg_, mask_, value_, 0, slave_addr_)
 
#define REG_I2C_OR(slave_addr_, reg_, value_)    REG_I2C_RMW(slave_addr_, reg_, 0xff, value_)
 
#define REG_I2C_POLL(slave_addr_, reg_, mask_, value_, timeout_)    REG_I2C_ACCESS(POLL, reg_, mask_, value_, timeout_, slave_addr_)
 
#define REG_I2C_XOR(slave_addr_, reg_, value_)    REG_I2C_RXW(slave_addr_, reg_, 0xff, value_)
 

Enumerations

enum  { MAINBOARD_TYPE = REG_SCRIPT_TYPE_MAINBOARD_BASE }
 
enum  {
  GEN1_I2C_GPIO_EXP_0x20 = 0x20 , GEN1_I2C_GPIO_EXP_0x21 = 0x21 , GEN2_I2C_GPIO_EXP0 = 0x25 , GEN2_I2C_GPIO_EXP1 = 0x26 ,
  GEN2_I2C_GPIO_EXP2 = 0x27 , GEN2_I2C_LED_PWM = 0x47
}
 

Macro Definition Documentation

◆ GEN1_GPIO_EXP_INPUT0

#define GEN1_GPIO_EXP_INPUT0   0x00

Definition at line 28 of file reg_access.h.

◆ GEN1_GPIO_EXP_INPUT1

#define GEN1_GPIO_EXP_INPUT1   0x01

Definition at line 29 of file reg_access.h.

◆ GEN1_GPIO_EXP_INPUT2

#define GEN1_GPIO_EXP_INPUT2   0x02

Definition at line 30 of file reg_access.h.

◆ GEN1_GPIO_EXP_INPUT3

#define GEN1_GPIO_EXP_INPUT3   0x03

Definition at line 31 of file reg_access.h.

◆ GEN1_GPIO_EXP_INPUT4

#define GEN1_GPIO_EXP_INPUT4   0x04

Definition at line 32 of file reg_access.h.

◆ GEN1_GPIO_EXP_INPUT5

#define GEN1_GPIO_EXP_INPUT5   0x05

Definition at line 33 of file reg_access.h.

◆ GEN1_GPIO_EXP_OUTPUT0

#define GEN1_GPIO_EXP_OUTPUT0   0x08

Definition at line 34 of file reg_access.h.

◆ GEN1_GPIO_EXP_OUTPUT1

#define GEN1_GPIO_EXP_OUTPUT1   0x09

Definition at line 35 of file reg_access.h.

◆ GEN1_GPIO_EXP_OUTPUT2

#define GEN1_GPIO_EXP_OUTPUT2   0x0a

Definition at line 36 of file reg_access.h.

◆ GEN1_GPIO_EXP_OUTPUT3

#define GEN1_GPIO_EXP_OUTPUT3   0x0b

Definition at line 37 of file reg_access.h.

◆ GEN1_GPIO_EXP_OUTPUT4

#define GEN1_GPIO_EXP_OUTPUT4   0x0c

Definition at line 38 of file reg_access.h.

◆ GEN1_GPIO_EXP_OUTPUT5

#define GEN1_GPIO_EXP_OUTPUT5   0x0d

Definition at line 39 of file reg_access.h.

◆ GEN1_GPIO_EXP_PORT_DIR

#define GEN1_GPIO_EXP_PORT_DIR   0x1c

Definition at line 41 of file reg_access.h.

◆ GEN1_GPIO_EXP_PORT_SELECT

#define GEN1_GPIO_EXP_PORT_SELECT   0x18

Definition at line 40 of file reg_access.h.

◆ GEN2_GPIO_EXP_CONFIG0

#define GEN2_GPIO_EXP_CONFIG0   0x06

Definition at line 50 of file reg_access.h.

◆ GEN2_GPIO_EXP_CONFIG1

#define GEN2_GPIO_EXP_CONFIG1   0x07

Definition at line 51 of file reg_access.h.

◆ GEN2_GPIO_EXP_INPUT0

#define GEN2_GPIO_EXP_INPUT0   0x00

Definition at line 44 of file reg_access.h.

◆ GEN2_GPIO_EXP_INPUT1

#define GEN2_GPIO_EXP_INPUT1   0x01

Definition at line 45 of file reg_access.h.

◆ GEN2_GPIO_EXP_INPUT_LATCH0

#define GEN2_GPIO_EXP_INPUT_LATCH0   0x44

Definition at line 52 of file reg_access.h.

◆ GEN2_GPIO_EXP_INPUT_LATCH1

#define GEN2_GPIO_EXP_INPUT_LATCH1   0x45

Definition at line 53 of file reg_access.h.

◆ GEN2_GPIO_EXP_OUTPUT0

#define GEN2_GPIO_EXP_OUTPUT0   0x02

Definition at line 46 of file reg_access.h.

◆ GEN2_GPIO_EXP_OUTPUT1

#define GEN2_GPIO_EXP_OUTPUT1   0x03

Definition at line 47 of file reg_access.h.

◆ GEN2_GPIO_EXP_POLARITY0

#define GEN2_GPIO_EXP_POLARITY0   0x04

Definition at line 48 of file reg_access.h.

◆ GEN2_GPIO_EXP_POLARITY1

#define GEN2_GPIO_EXP_POLARITY1   0x05

Definition at line 49 of file reg_access.h.

◆ GEN2_GPIO_EXP_PULL_UP_DOWN_EN0

#define GEN2_GPIO_EXP_PULL_UP_DOWN_EN0   0x46

Definition at line 54 of file reg_access.h.

◆ GEN2_GPIO_EXP_PULL_UP_DOWN_EN1

#define GEN2_GPIO_EXP_PULL_UP_DOWN_EN1   0x47

Definition at line 55 of file reg_access.h.

◆ GEN2_GPIO_EXP_PULL_UP_DOWN_SEL0

#define GEN2_GPIO_EXP_PULL_UP_DOWN_SEL0   0x46

Definition at line 56 of file reg_access.h.

◆ GEN2_GPIO_EXP_PULL_UP_DOWN_SEL1

#define GEN2_GPIO_EXP_PULL_UP_DOWN_SEL1   0x47

Definition at line 57 of file reg_access.h.

◆ MAINBOARD_ACCESS

#define MAINBOARD_ACCESS (   cmd_,
  reg_,
  size_,
  mask_,
  value_,
  timeout_,
  reg_set_ 
)
Value:
_REG_SCRIPT_ENCODE_RAW(REG_SCRIPT_COMMAND_##cmd_, MAINBOARD_TYPE, \
size_, reg_, mask_, value_, timeout_, reg_set_)
@ MAINBOARD_TYPE
Definition: reg_access.h:13
#define _REG_SCRIPT_ENCODE_RAW(cmd_, type_, size_, reg_, mask_, value_, timeout_, id_)
Definition: reg_script.h:111

Definition at line 59 of file reg_access.h.

◆ REG_I2C_ACCESS

#define REG_I2C_ACCESS (   cmd_,
  reg_,
  mask_,
  value_,
  timeout_,
  slave_addr_ 
)
Value:
MAINBOARD_ACCESS(cmd_, reg_, REG_SCRIPT_SIZE_8, mask_, value_, \
timeout_, slave_addr_)
#define MAINBOARD_ACCESS(cmd_, reg_, size_, mask_, value_, timeout_, reg_set_)
Definition: reg_access.h:59
@ REG_SCRIPT_SIZE_8
Definition: reg_script.h:58

Definition at line 64 of file reg_access.h.

◆ REG_I2C_AND

#define REG_I2C_AND (   slave_addr_,
  reg_,
  value_ 
)     REG_I2C_RMW(slave_addr_, reg_, value_, 0)

Definition at line 71 of file reg_access.h.

◆ REG_I2C_OR

#define REG_I2C_OR (   slave_addr_,
  reg_,
  value_ 
)     REG_I2C_RMW(slave_addr_, reg_, 0xff, value_)

Definition at line 77 of file reg_access.h.

◆ REG_I2C_POLL

#define REG_I2C_POLL (   slave_addr_,
  reg_,
  mask_,
  value_,
  timeout_ 
)     REG_I2C_ACCESS(POLL, reg_, mask_, value_, timeout_, slave_addr_)

Definition at line 79 of file reg_access.h.

◆ REG_I2C_READ

#define REG_I2C_READ (   slave_addr_,
  reg_ 
)     REG_I2C_ACCESS(READ, reg_, 0, 0, 0, slave_addr_)

Definition at line 67 of file reg_access.h.

◆ REG_I2C_RMW

#define REG_I2C_RMW (   slave_addr_,
  reg_,
  mask_,
  value_ 
)     REG_I2C_ACCESS(RMW, reg_, mask_, value_, 0, slave_addr_)

Definition at line 73 of file reg_access.h.

◆ REG_I2C_RXW

#define REG_I2C_RXW (   slave_addr_,
  reg_,
  mask_,
  value_ 
)     REG_I2C_ACCESS(RXW, reg_, mask_, value_, 0, slave_addr_)

Definition at line 75 of file reg_access.h.

◆ REG_I2C_WRITE

#define REG_I2C_WRITE (   slave_addr_,
  reg_,
  value_ 
)     REG_I2C_ACCESS(WRITE, reg_, 0, value_, 0, slave_addr_)

Definition at line 69 of file reg_access.h.

◆ REG_I2C_XOR

#define REG_I2C_XOR (   slave_addr_,
  reg_,
  value_ 
)     REG_I2C_RXW(slave_addr_, reg_, 0xff, value_)

Definition at line 81 of file reg_access.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
MAINBOARD_TYPE 

Definition at line 12 of file reg_access.h.

◆ anonymous enum

anonymous enum
Enumerator
GEN1_I2C_GPIO_EXP_0x20 
GEN1_I2C_GPIO_EXP_0x21 
GEN2_I2C_GPIO_EXP0 
GEN2_I2C_GPIO_EXP1 
GEN2_I2C_GPIO_EXP2 
GEN2_I2C_LED_PWM 

Definition at line 17 of file reg_access.h.