Zephyr API Documentation 4.2.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches

Interfaces for Error Detection and Correction (EDAC) controllers. More...

Files

file  edac.h
 Main header file for EDAC (Error Detection and Correction) driver API.

Enumerations

enum  edac_error_type { EDAC_ERROR_TYPE_DRAM_COR = BIT(0) , EDAC_ERROR_TYPE_DRAM_UC = BIT(1) }
 EDAC error type. More...

Optional interfaces

EDAC Optional Interfaces

static int edac_inject_set_param1 (const struct device *dev, uint64_t value)
 Set injection parameter param1.
static int edac_inject_get_param1 (const struct device *dev, uint64_t *value)
 Get injection parameter param1.
static int edac_inject_set_param2 (const struct device *dev, uint64_t value)
 Set injection parameter param2.
static int edac_inject_get_param2 (const struct device *dev, uint64_t *value)
 Get injection parameter param2.
static int edac_inject_set_error_type (const struct device *dev, uint32_t error_type)
 Set error type value.
static int edac_inject_get_error_type (const struct device *dev, uint32_t *error_type)
 Get error type value.
static int edac_inject_error_trigger (const struct device *dev)
 Set injection control.

Mandatory interfaces

EDAC Mandatory Interfaces

static int edac_ecc_error_log_get (const struct device *dev, uint64_t *value)
 Get ECC Error Log.
static int edac_ecc_error_log_clear (const struct device *dev)
 Clear ECC Error Log.
static int edac_parity_error_log_get (const struct device *dev, uint64_t *value)
 Get Parity Error Log.
static int edac_parity_error_log_clear (const struct device *dev)
 Clear Parity Error Log.
static int edac_errors_cor_get (const struct device *dev)
 Get number of correctable errors.
static int edac_errors_uc_get (const struct device *dev)
 Get number of uncorrectable errors.
static int edac_notify_callback_set (const struct device *dev, edac_notify_callback_f cb)
 Register callback function for memory error exception.

Detailed Description

Interfaces for Error Detection and Correction (EDAC) controllers.

Since
2.5
Version
0.8.0

Enumeration Type Documentation

◆ edac_error_type

#include <zephyr/drivers/edac.h>

EDAC error type.

Enumerator
EDAC_ERROR_TYPE_DRAM_COR 

Correctable error type.

EDAC_ERROR_TYPE_DRAM_UC 

Uncorrectable error type.

Function Documentation

◆ edac_ecc_error_log_clear()

int edac_ecc_error_log_clear ( const struct device * dev)
inlinestatic

#include <zephyr/drivers/edac.h>

Clear ECC Error Log.

Clear value of ECC Error Log.

Parameters
devPointer to the device structure
Return values
0on success, error code otherwise
-ENOSYSif the mandatory interface is not implemented

◆ edac_ecc_error_log_get()

int edac_ecc_error_log_get ( const struct device * dev,
uint64_t * value )
inlinestatic

#include <zephyr/drivers/edac.h>

Get ECC Error Log.

Read value of ECC Error Log.

Parameters
devPointer to the device structure
valuePointer to the ECC Error Log value
Return values
0on success, error code otherwise
-ENOSYSif the mandatory interface is not implemented

◆ edac_errors_cor_get()

int edac_errors_cor_get ( const struct device * dev)
inlinestatic

#include <zephyr/drivers/edac.h>

Get number of correctable errors.

Parameters
devPointer to the device structure
Return values
numNumber of correctable errors
-ENOSYSif the mandatory interface is not implemented

◆ edac_errors_uc_get()

int edac_errors_uc_get ( const struct device * dev)
inlinestatic

#include <zephyr/drivers/edac.h>

Get number of uncorrectable errors.

Parameters
devPointer to the device structure
Return values
numNumber of uncorrectable errors
-ENOSYSif the mandatory interface is not implemented

◆ edac_inject_error_trigger()

int edac_inject_error_trigger ( const struct device * dev)
inlinestatic

#include <zephyr/drivers/edac.h>

Set injection control.

Trigger error injection.

Parameters
devPointer to the device structure
Return values
-ENOSYSif the optional interface is not implemented
0on success, error code otherwise

◆ edac_inject_get_error_type()

int edac_inject_get_error_type ( const struct device * dev,
uint32_t * error_type )
inlinestatic

#include <zephyr/drivers/edac.h>

Get error type value.

Get the value of error type to be injected

Parameters
devPointer to the device structure
error_typePointer to error type value
Return values
-ENOSYSif the optional interface is not implemented
0on success, error code otherwise

◆ edac_inject_get_param1()

int edac_inject_get_param1 ( const struct device * dev,
uint64_t * value )
inlinestatic

#include <zephyr/drivers/edac.h>

Get injection parameter param1.

Get first error injection parameter value.

Parameters
devPointer to the device structure
valuePointer to the first injection parameter
Return values
-ENOSYSif the optional interface is not implemented
0on success, error code otherwise

◆ edac_inject_get_param2()

int edac_inject_get_param2 ( const struct device * dev,
uint64_t * value )
inlinestatic

#include <zephyr/drivers/edac.h>

Get injection parameter param2.

Parameters
devPointer to the device structure
valuePointer to the second injection parameter
Return values
-ENOSYSif the optional interface is not implemented
0on success, error code otherwise

◆ edac_inject_set_error_type()

int edac_inject_set_error_type ( const struct device * dev,
uint32_t error_type )
inlinestatic

#include <zephyr/drivers/edac.h>

Set error type value.

Set the value of error type to be injected

Parameters
devPointer to the device structure
error_typeError type value
Return values
-ENOSYSif the optional interface is not implemented
0on success, error code otherwise

◆ edac_inject_set_param1()

int edac_inject_set_param1 ( const struct device * dev,
uint64_t value )
inlinestatic

#include <zephyr/drivers/edac.h>

Set injection parameter param1.

Set first error injection parameter value.

Parameters
devPointer to the device structure
valueFirst injection parameter
Return values
-ENOSYSif the optional interface is not implemented
0on success, other error code otherwise

◆ edac_inject_set_param2()

int edac_inject_set_param2 ( const struct device * dev,
uint64_t value )
inlinestatic

#include <zephyr/drivers/edac.h>

Set injection parameter param2.

Set second error injection parameter value.

Parameters
devPointer to the device structure
valueSecond injection parameter
Return values
-ENOSYSif the optional interface is not implemented
0on success, error code otherwise

◆ edac_notify_callback_set()

int edac_notify_callback_set ( const struct device * dev,
edac_notify_callback_f cb )
inlinestatic

#include <zephyr/drivers/edac.h>

Register callback function for memory error exception.

This callback runs in interrupt context

Parameters
devEDAC driver device to install callback
cbCallback function pointer
Return values
0on success, error code otherwise
-ENOSYSif the mandatory interface is not implemented

◆ edac_parity_error_log_clear()

int edac_parity_error_log_clear ( const struct device * dev)
inlinestatic

#include <zephyr/drivers/edac.h>

Clear Parity Error Log.

Clear value of Parity Error Log.

Parameters
devPointer to the device structure
Return values
0on success, error code otherwise
-ENOSYSif the mandatory interface is not implemented

◆ edac_parity_error_log_get()

int edac_parity_error_log_get ( const struct device * dev,
uint64_t * value )
inlinestatic

#include <zephyr/drivers/edac.h>

Get Parity Error Log.

Read value of Parity Error Log.

Parameters
devPointer to the device structure
valuePointer to the parity Error Log value
Return values
0on success, error code otherwise
-ENOSYSif the mandatory interface is not implemented