openMMC
Open Source Modular MMC for AMCs
Loading...
Searching...
No Matches
hotswap.h File Reference

Hotswap sensors definitions. More...

#include "sdr.h"
Include dependency graph for hotswap.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define DEBOUNCE_TIME   250
 
#define HOTSWAP_STATE_HANDLE_CLOSED   0x00
 
#define HOTSWAP_STATE_HANDLE_OPENED   0x01
 
#define HOTSWAP_STATE_QUIESCED   0x02
 
#define HOTSWAP_STATE_BP_FAIL   0x03
 
#define HOTSWAP_STATE_BP_SDOWN   0x04
 
#define HOTSWAP_STATE_URTM_PRSENT   0x05
 
#define HOTSWAP_STATE_URTM_ABSENT   0x06
 
#define HOTSWAP_STATE_URTM_COMPATIBLE   0x07
 
#define HOTSWAP_STATE_URTM_INCOMPATIBLE   0x08
 
#define HOTSWAP_MODULE_HANDLE_CLOSED_MASK   0x01
 
#define HOTSWAP_MODULE_HANDLE_OPEN_MASK   0x02
 
#define HOTSWAP_QUIESCED_MASK   0x04
 
#define HOTSWAP_BACKEND_PWR_FAILURE_MASK   0x08
 
#define HOTSWAP_BACKEND_PWR_SHUTDOWN_MASK   0x10
 
#define HOTSWAP_URTM_PRESENT_MASK   0x20
 
#define HOTSWAP_URTM_ABSENT_MASK   0x40
 
#define HOTSWAP_URTM_COMPATIBLE_MASK   0x80
 

Enumerations

enum  { HOTSWAP_AMC , HOTSWAP_RTM }
 

Functions

void vTaskHotSwap (void *Parameters)
 Periodically reads the Hotswap sensor state and checks if its state has changed.
 
void hotswap_init (void)
 Initializes hotswap sensor informatiosn on SDR and creates vTaskHotSwap.
 
ipmb_error hotswap_send_event (sensor_t *sensor, uint8_t evt)
 Send a hotswap event via IPMB.
 
void hotswap_set_mask_bit (uint8_t fru, uint8_t mask)
 Sets the corresponding status bit in the Hotswap SDR readout value.
 
void hotswap_clear_mask_bit (uint8_t fru, uint8_t mask)
 Clears the corresponding status bit in the Hotswap SDR readout value.
 

Variables

TaskHandle_t vTaskHotSwap_Handle
 Hotswap Task handle.
 

Detailed Description

Hotswap sensors definitions.

Author
Henrique Silva henri.nosp@m.que..nosp@m.silva.nosp@m.@lnl.nosp@m.s.br, LNLS

Macro Definition Documentation

◆ DEBOUNCE_TIME

#define DEBOUNCE_TIME   250

◆ HOTSWAP_BACKEND_PWR_FAILURE_MASK

#define HOTSWAP_BACKEND_PWR_FAILURE_MASK   0x08

◆ HOTSWAP_BACKEND_PWR_SHUTDOWN_MASK

#define HOTSWAP_BACKEND_PWR_SHUTDOWN_MASK   0x10

◆ HOTSWAP_MODULE_HANDLE_CLOSED_MASK

#define HOTSWAP_MODULE_HANDLE_CLOSED_MASK   0x01

◆ HOTSWAP_MODULE_HANDLE_OPEN_MASK

#define HOTSWAP_MODULE_HANDLE_OPEN_MASK   0x02

◆ HOTSWAP_QUIESCED_MASK

#define HOTSWAP_QUIESCED_MASK   0x04

◆ HOTSWAP_STATE_BP_FAIL

#define HOTSWAP_STATE_BP_FAIL   0x03

◆ HOTSWAP_STATE_BP_SDOWN

#define HOTSWAP_STATE_BP_SDOWN   0x04

◆ HOTSWAP_STATE_HANDLE_CLOSED

#define HOTSWAP_STATE_HANDLE_CLOSED   0x00

◆ HOTSWAP_STATE_HANDLE_OPENED

#define HOTSWAP_STATE_HANDLE_OPENED   0x01

◆ HOTSWAP_STATE_QUIESCED

#define HOTSWAP_STATE_QUIESCED   0x02

◆ HOTSWAP_STATE_URTM_ABSENT

#define HOTSWAP_STATE_URTM_ABSENT   0x06

◆ HOTSWAP_STATE_URTM_COMPATIBLE

#define HOTSWAP_STATE_URTM_COMPATIBLE   0x07

◆ HOTSWAP_STATE_URTM_INCOMPATIBLE

#define HOTSWAP_STATE_URTM_INCOMPATIBLE   0x08

◆ HOTSWAP_STATE_URTM_PRSENT

#define HOTSWAP_STATE_URTM_PRSENT   0x05

◆ HOTSWAP_URTM_ABSENT_MASK

#define HOTSWAP_URTM_ABSENT_MASK   0x40

◆ HOTSWAP_URTM_COMPATIBLE_MASK

#define HOTSWAP_URTM_COMPATIBLE_MASK   0x80

◆ HOTSWAP_URTM_PRESENT_MASK

#define HOTSWAP_URTM_PRESENT_MASK   0x20

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
HOTSWAP_AMC 
HOTSWAP_RTM 

Function Documentation

◆ hotswap_clear_mask_bit()

void hotswap_clear_mask_bit ( uint8_t fru,
uint8_t mask )

Clears the corresponding status bit in the Hotswap SDR readout value.

Parameters
fruFRU ID that identifies the owner of the sensor
maskBit position to clear
Returns
None

◆ hotswap_init()

void hotswap_init ( void )

Initializes hotswap sensor informatiosn on SDR and creates vTaskHotSwap.

Returns
None

◆ hotswap_send_event()

ipmb_error hotswap_send_event ( sensor_t * sensor,
uint8_t evt )

Send a hotswap event via IPMB.

Parameters
sensorPointer to current Hotswap sensor structure
evtEvent to be sent
Returns
IPMB layer error
See also
ipmb.c

◆ hotswap_set_mask_bit()

void hotswap_set_mask_bit ( uint8_t fru,
uint8_t mask )

Sets the corresponding status bit in the Hotswap SDR readout value.

Parameters
fruFRU ID that identifies the owner of the sensor
maskBit position to set
Returns
None

◆ vTaskHotSwap()

void vTaskHotSwap ( void * Parameters)

Periodically reads the Hotswap sensor state and checks if its state has changed.

Parameters
ParametersPointer to parameter list passed to task upon initialization (not used here)

Variable Documentation

◆ vTaskHotSwap_Handle

TaskHandle_t vTaskHotSwap_Handle
extern

Hotswap Task handle.