TT Zephyr Platforms 18.11.99
Tenstorrent Firmware
Loading...
Searching...
No Matches
avs.c File Reference

Data Structures

struct  APB2AVSBUS_AVS_CFG_1_reg_t
union  APB2AVSBUS_AVS_CFG_1_reg_u

Macros

#define APB2AVSBUS_AVS_INTERRUPT_MASK_REG_ADDR   0x80100034
#define APB2AVSBUS_AVS_CFG_1_REG_ADDR   0x80100054
#define APB2AVSBUS_AVS_FIFOS_STATUS_REG_ADDR   0x80100028
#define APB2AVSBUS_AVS_CFG_0_REG_ADDR   0x80100050
#define APB2AVSBUS_AVS_READBACK_REG_ADDR   0x80100004
#define APB2AVSBUS_AVS_CMD_REG_ADDR   0x80100000
#define APB2AVSBUS_AVS_CMD_CMD_GRP_MASK   0x8000000
#define APB2AVSBUS_AVS_CMD_CMD_CODE_MASK   0x7800000
#define APB2AVSBUS_AVS_CMD_RAIL_SEL_MASK   0x780000
#define APB2AVSBUS_AVS_READBACK_CMD_DATA_MASK   0xFFFF00
#define APB2AVSBUS_AVS_FIFOS_STATUS_CMD_FIFO_VACANT_SLOTS_MASK   0xF00
#define APB2AVSBUS_AVS_FIFOS_STATUS_READBACK_FIFO_OCCUPIED_SLOTS_MASK   0xF0000
#define APB2AVSBUS_AVS_CMD_CMD_DATA_SHIFT   3
#define APB2AVSBUS_AVS_READBACK_CMD_DATA_SHIFT   8
#define APB2AVSBUS_AVS_CMD_RAIL_SEL_SHIFT   19
#define APB2AVSBUS_AVS_CMD_CMD_CODE_SHIFT   23
#define APB2AVSBUS_AVS_CMD_CMD_GRP_SHIFT   27
#define APB2AVSBUS_AVS_CMD_R_OR_W_SHIFT   28
#define APB2AVSBUS_AVS_READBACK_SLAVE_ACK_SHIFT   30
#define NULL   ((void *)0)
#define GET_AVS_FIELD_SHIFT(REG_NAME, FIELD)
#define GET_AVS_FIELD_MASK(REG_NAME, FIELD)
#define AVS_RD_CMD_DATA   0xffff
#define AVS_FORCE_RESET_DATA   0x0
#define AVS_RAIL_SEL_BROADCAST   0xf
#define AVS_ERR_RB_DATA   0xffff
#define AVSCLK_FREQ_MHZ   20
#define AVS_CMD_VOLTAGE   0x0, 0
#define AVS_CMD_VOUT_TRANS_RATE   0x1, 0
#define AVS_CMD_CURRENT_READ   0x2, 0
#define AVS_CMD_TEMP_READ   0x3, 0
#define AVS_CMD_FORCE_RESET   0x4, 0
#define AVS_CMD_POWER_MODE   0x5, 0
#define AVS_CMD_STATUS   0xe, 0
#define AVS_CMD_VERSION_READ   0xf, 0
#define AVS_CMD_SYS_INPUT_CURRENT_READ   0x0, 1
#define APB2AVSBUS_AVS_CFG_1_REG_DEFAULT   (0x800A0000)

Enumerations

enum  AVSReadWriteType {
  AVSCommitWrite = 0 ,
  AVSHoldWrite = 1 ,
  AVSRead = 3
}

Functions

static void WaitCmdFifoNotFull (void)
static void WaitRxFifoNotEmpty (void)
static AVSStatus ReadRxFifo (uint16_t *response)
static void SendCmd (uint16_t cmd_data, uint8_t rail_sel, uint8_t cmd_code, uint8_t cmd_grp, AVSReadWriteType r_or_w)
void AVSInit (void)
AVSStatus AVSReadVoltage (uint8_t rail_sel, uint16_t *voltage_in_mV)
AVSStatus AVSWriteVoltage (uint16_t voltage_in_mV, uint8_t rail_sel)
AVSStatus AVSReadVoutTransRate (uint8_t rail_sel, uint8_t *rise_rate, uint8_t *fall_rate)
AVSStatus AVSWriteVoutTransRate (uint8_t rise_rate, uint8_t fall_rate, uint8_t rail_sel)
AVSStatus AVSReadCurrent (uint8_t rail_sel, float *current_in_A)
AVSStatus AVSReadTemp (uint8_t rail_sel, float *temp_in_C)
AVSStatus AVSForceVoltageReset (uint8_t rail_sel)
AVSStatus AVSReadPowerMode (uint8_t rail_sel, AVSPwrMode *power_mode)
AVSStatus AVSWritePowerMode (AVSPwrMode power_mode, uint8_t rail_sel)
AVSStatus AVSReadStatus (uint8_t rail_sel, uint16_t *status)
AVSStatus AVSWriteStatus (uint16_t status, uint8_t rail_sel)
AVSStatus AVSReadVersion (uint16_t *version)
AVSStatus AVSReadSystemInputCurrent (uint16_t *response)
static int avs_init (void)
 SYS_INIT_APP (avs_init)

Variables

static const struct device *const pll_dev_1 = DEVICE_DT_GET_OR_NULL(DT_NODELABEL(pll1))

Macro Definition Documentation

◆ APB2AVSBUS_AVS_CFG_0_REG_ADDR

#define APB2AVSBUS_AVS_CFG_0_REG_ADDR   0x80100050

◆ APB2AVSBUS_AVS_CFG_1_REG_ADDR

#define APB2AVSBUS_AVS_CFG_1_REG_ADDR   0x80100054

◆ APB2AVSBUS_AVS_CFG_1_REG_DEFAULT

#define APB2AVSBUS_AVS_CFG_1_REG_DEFAULT   (0x800A0000)

◆ APB2AVSBUS_AVS_CMD_CMD_CODE_MASK

#define APB2AVSBUS_AVS_CMD_CMD_CODE_MASK   0x7800000

◆ APB2AVSBUS_AVS_CMD_CMD_CODE_SHIFT

#define APB2AVSBUS_AVS_CMD_CMD_CODE_SHIFT   23

◆ APB2AVSBUS_AVS_CMD_CMD_DATA_SHIFT

#define APB2AVSBUS_AVS_CMD_CMD_DATA_SHIFT   3

◆ APB2AVSBUS_AVS_CMD_CMD_GRP_MASK

#define APB2AVSBUS_AVS_CMD_CMD_GRP_MASK   0x8000000

◆ APB2AVSBUS_AVS_CMD_CMD_GRP_SHIFT

#define APB2AVSBUS_AVS_CMD_CMD_GRP_SHIFT   27

◆ APB2AVSBUS_AVS_CMD_R_OR_W_SHIFT

#define APB2AVSBUS_AVS_CMD_R_OR_W_SHIFT   28

◆ APB2AVSBUS_AVS_CMD_RAIL_SEL_MASK

#define APB2AVSBUS_AVS_CMD_RAIL_SEL_MASK   0x780000

◆ APB2AVSBUS_AVS_CMD_RAIL_SEL_SHIFT

#define APB2AVSBUS_AVS_CMD_RAIL_SEL_SHIFT   19

◆ APB2AVSBUS_AVS_CMD_REG_ADDR

#define APB2AVSBUS_AVS_CMD_REG_ADDR   0x80100000

◆ APB2AVSBUS_AVS_FIFOS_STATUS_CMD_FIFO_VACANT_SLOTS_MASK

#define APB2AVSBUS_AVS_FIFOS_STATUS_CMD_FIFO_VACANT_SLOTS_MASK   0xF00

◆ APB2AVSBUS_AVS_FIFOS_STATUS_READBACK_FIFO_OCCUPIED_SLOTS_MASK

#define APB2AVSBUS_AVS_FIFOS_STATUS_READBACK_FIFO_OCCUPIED_SLOTS_MASK   0xF0000

◆ APB2AVSBUS_AVS_FIFOS_STATUS_REG_ADDR

#define APB2AVSBUS_AVS_FIFOS_STATUS_REG_ADDR   0x80100028

◆ APB2AVSBUS_AVS_INTERRUPT_MASK_REG_ADDR

#define APB2AVSBUS_AVS_INTERRUPT_MASK_REG_ADDR   0x80100034

◆ APB2AVSBUS_AVS_READBACK_CMD_DATA_MASK

#define APB2AVSBUS_AVS_READBACK_CMD_DATA_MASK   0xFFFF00

◆ APB2AVSBUS_AVS_READBACK_CMD_DATA_SHIFT

#define APB2AVSBUS_AVS_READBACK_CMD_DATA_SHIFT   8

◆ APB2AVSBUS_AVS_READBACK_REG_ADDR

#define APB2AVSBUS_AVS_READBACK_REG_ADDR   0x80100004

◆ APB2AVSBUS_AVS_READBACK_SLAVE_ACK_SHIFT

#define APB2AVSBUS_AVS_READBACK_SLAVE_ACK_SHIFT   30

◆ AVS_CMD_CURRENT_READ

#define AVS_CMD_CURRENT_READ   0x2, 0

◆ AVS_CMD_FORCE_RESET

#define AVS_CMD_FORCE_RESET   0x4, 0

◆ AVS_CMD_POWER_MODE

#define AVS_CMD_POWER_MODE   0x5, 0

◆ AVS_CMD_STATUS

#define AVS_CMD_STATUS   0xe, 0

◆ AVS_CMD_SYS_INPUT_CURRENT_READ

#define AVS_CMD_SYS_INPUT_CURRENT_READ   0x0, 1

◆ AVS_CMD_TEMP_READ

#define AVS_CMD_TEMP_READ   0x3, 0

◆ AVS_CMD_VERSION_READ

#define AVS_CMD_VERSION_READ   0xf, 0

◆ AVS_CMD_VOLTAGE

#define AVS_CMD_VOLTAGE   0x0, 0

◆ AVS_CMD_VOUT_TRANS_RATE

#define AVS_CMD_VOUT_TRANS_RATE   0x1, 0

◆ AVS_ERR_RB_DATA

#define AVS_ERR_RB_DATA   0xffff

◆ AVS_FORCE_RESET_DATA

#define AVS_FORCE_RESET_DATA   0x0

◆ AVS_RAIL_SEL_BROADCAST

#define AVS_RAIL_SEL_BROADCAST   0xf

◆ AVS_RD_CMD_DATA

#define AVS_RD_CMD_DATA   0xffff

◆ AVSCLK_FREQ_MHZ

#define AVSCLK_FREQ_MHZ   20

◆ GET_AVS_FIELD_MASK

#define GET_AVS_FIELD_MASK ( REG_NAME,
FIELD )
Value:
APB2AVSBUS_AVS_##REG_NAME##_##FIELD##_MASK

◆ GET_AVS_FIELD_SHIFT

#define GET_AVS_FIELD_SHIFT ( REG_NAME,
FIELD )
Value:
APB2AVSBUS_AVS_##REG_NAME##_##FIELD##_SHIFT

◆ NULL

#define NULL   ((void *)0)

Enumeration Type Documentation

◆ AVSReadWriteType

Enumerator
AVSCommitWrite 
AVSHoldWrite 
AVSRead 

Function Documentation

◆ avs_init()

int avs_init ( void )
static

◆ AVSForceVoltageReset()

AVSStatus AVSForceVoltageReset ( uint8_t rail_sel)

◆ AVSInit()

void AVSInit ( void )

◆ AVSReadCurrent()

AVSStatus AVSReadCurrent ( uint8_t rail_sel,
float * current_in_A )

◆ AVSReadPowerMode()

AVSStatus AVSReadPowerMode ( uint8_t rail_sel,
AVSPwrMode * power_mode )

◆ AVSReadStatus()

AVSStatus AVSReadStatus ( uint8_t rail_sel,
uint16_t * status )

◆ AVSReadSystemInputCurrent()

AVSStatus AVSReadSystemInputCurrent ( uint16_t * response)

◆ AVSReadTemp()

AVSStatus AVSReadTemp ( uint8_t rail_sel,
float * temp_in_C )

◆ AVSReadVersion()

AVSStatus AVSReadVersion ( uint16_t * version)

◆ AVSReadVoltage()

AVSStatus AVSReadVoltage ( uint8_t rail_sel,
uint16_t * voltage_in_mV )

◆ AVSReadVoutTransRate()

AVSStatus AVSReadVoutTransRate ( uint8_t rail_sel,
uint8_t * rise_rate,
uint8_t * fall_rate )

◆ AVSWritePowerMode()

AVSStatus AVSWritePowerMode ( AVSPwrMode power_mode,
uint8_t rail_sel )

◆ AVSWriteStatus()

AVSStatus AVSWriteStatus ( uint16_t status,
uint8_t rail_sel )

◆ AVSWriteVoltage()

AVSStatus AVSWriteVoltage ( uint16_t voltage_in_mV,
uint8_t rail_sel )

◆ AVSWriteVoutTransRate()

AVSStatus AVSWriteVoutTransRate ( uint8_t rise_rate,
uint8_t fall_rate,
uint8_t rail_sel )

◆ ReadRxFifo()

AVSStatus ReadRxFifo ( uint16_t * response)
static

◆ SendCmd()

void SendCmd ( uint16_t cmd_data,
uint8_t rail_sel,
uint8_t cmd_code,
uint8_t cmd_grp,
AVSReadWriteType r_or_w )
static

◆ SYS_INIT_APP()

SYS_INIT_APP ( avs_init )

◆ WaitCmdFifoNotFull()

void WaitCmdFifoNotFull ( void )
static

◆ WaitRxFifoNotEmpty()

void WaitRxFifoNotEmpty ( void )
static

Variable Documentation

◆ pll_dev_1

const struct device* const pll_dev_1 = DEVICE_DT_GET_OR_NULL(DT_NODELABEL(pll1))
static