Zephyr API Documentation  2.7.0-rc2
A Scalable Open Source RTOS
bbram.h File Reference
#include <device.h>
#include <syscalls/bbram.h>

Go to the source code of this file.

Data Structures

struct  bbram_driver_api
 

Typedefs

typedef int(* bbram_api_check_invalid) (const struct device *dev)
 
typedef int(* bbram_api_check_standby_power) (const struct device *dev)
 
typedef int(* bbram_api_check_power) (const struct device *dev)
 
typedef int(* bbram_api_get_size) (const struct device *dev, size_t *size)
 
typedef int(* bbram_api_read) (const struct device *dev, size_t offset, size_t size, uint8_t *data)
 
typedef int(* bbram_api_write) (const struct device *dev, size_t offset, size_t size, const uint8_t *data)
 

Functions

int bbram_check_invalid (const struct device *dev)
 Check if BBRAM is invalid. More...
 
int bbram_check_standby_power (const struct device *dev)
 Check for standby (Volt SBY) power failure. More...
 
int bbram_check_power (const struct device *dev)
 Check for V CC1 power failure. More...
 
int bbram_get_size (const struct device *dev, size_t *size)
 
int bbram_read (const struct device *dev, size_t offset, size_t size, uint8_t *data)
 
int bbram_write (const struct device *dev, size_t offset, size_t size, const uint8_t *data)
 
int bbram_emul_set_invalid (const struct device *dev, bool is_invalid)
 
int bbram_emul_set_standby_power_state (const struct device *dev, bool failure)
 
int bbram_emul_set_power_state (const struct device *dev, bool failure)
 

Typedef Documentation

◆ bbram_api_check_invalid

typedef int(* bbram_api_check_invalid) (const struct device *dev)

API template to check if the BBRAM is invalid.

See also
bbram_check_invlaid

◆ bbram_api_check_power

typedef int(* bbram_api_check_power) (const struct device *dev)

API template to check for V CC1 power failure.

See also
bbram_check_power

◆ bbram_api_check_standby_power

typedef int(* bbram_api_check_standby_power) (const struct device *dev)

API template to check for standby power failure.

See also
bbram_check_standby_power

◆ bbram_api_get_size

typedef int(* bbram_api_get_size) (const struct device *dev, size_t *size)

API template to check the size of the BBRAM

See also
bbram_get_size

◆ bbram_api_read

typedef int(* bbram_api_read) (const struct device *dev, size_t offset, size_t size, uint8_t *data)

API template to read from BBRAM.

See also
bbram_read

◆ bbram_api_write

typedef int(* bbram_api_write) (const struct device *dev, size_t offset, size_t size, const uint8_t *data)

API template to write to BBRAM.

See also
bbram_write

Function Documentation

◆ bbram_check_invalid()

int bbram_check_invalid ( const struct device dev)

Check if BBRAM is invalid.

Check if "Invalid Battery-Backed RAM" status is set then reset the status bit. This may occur as a result to low voltage at the VBAT pin.

Parameters
devBBRAM device pointer.
Returns
0 if the Battery-Backed RAM data is valid, -EFAULT otherwise.

◆ bbram_check_power()

int bbram_check_power ( const struct device dev)

Check for V CC1 power failure.

This will return an error if the V CC1 power domain is turned on after it was off and reset the status bit.

Parameters
devBBRAM device pointer.
Returns
0 if the V CC1 power domain is in normal operation, -EFAULT otherwise.

◆ bbram_check_standby_power()

int bbram_check_standby_power ( const struct device dev)

Check for standby (Volt SBY) power failure.

Check if the V standby power domain is turned on after it was off then reset the status bit.

Parameters
devBBRAM device pointer.
Returns
0 if V SBY power domain is in normal operation.

◆ bbram_emul_set_invalid()

int bbram_emul_set_invalid ( const struct device dev,
bool  is_invalid 
)
Parameters
dev
is_invalid
Returns

◆ bbram_emul_set_power_state()

int bbram_emul_set_power_state ( const struct device dev,
bool  failure 
)

◆ bbram_emul_set_standby_power_state()

int bbram_emul_set_standby_power_state ( const struct device dev,
bool  failure 
)

◆ bbram_get_size()

int bbram_get_size ( const struct device dev,
size_t *  size 
)

Get the size of the BBRAM (in bytes).

Parameters
devBBRAM device pointer.
sizePointer to write the size to.
Returns
0 for success, -EFAULT otherwise.

◆ bbram_read()

int bbram_read ( const struct device dev,
size_t  offset,
size_t  size,
uint8_t data 
)

Read bytes from BBRAM.

Parameters
devThe BBRAM device pointer to read from.
offsetThe offset into the RAM address to start reading from.
sizeThe number of bytes to read.
dataThe buffer to load the data into.
Returns
0 on success, -EFAULT if the address range is out of bounds.

◆ bbram_write()

int bbram_write ( const struct device dev,
size_t  offset,
size_t  size,
const uint8_t data 
)

Write bytes to BBRAM.

Parameters
devThe BBRAM device pointer to write to.
offsetThe offset into the RAM address to start writing to.
sizeThe number of bytes to write.
dataPointer to the start of data to write.
Returns
0 on success, -EFAULT if the address range is out of bounds.