Zephyr API Documentation 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
MFD Infineon MXCRYPTOLITE interface

Files

file  infineon_mxcryptolite.h
 Public API for MXCRYPTOLITE MFD driver.

Functions

CRYPTOLITE_Type * mfd_infineon_mxcryptolite_get_base (const struct device *dev)
 Get the MXCRYPTOLITE register base address.
int mfd_infineon_mxcryptolite_lock (const struct device *dev, k_timeout_t timeout)
 Acquire the shared MXCRYPTOLITE access mutex.
void mfd_infineon_mxcryptolite_unlock (const struct device *dev)
 Release the shared MXCRYPTOLITE access mutex.

Detailed Description

Function Documentation

◆ mfd_infineon_mxcryptolite_get_base()

CRYPTOLITE_Type * mfd_infineon_mxcryptolite_get_base ( const struct device * dev)

#include <zephyr/drivers/mfd/infineon_mxcryptolite.h>

Get the MXCRYPTOLITE register base address.

The base address is shared by the TRNG and crypto (AES / SHA-256) child functions of the MXCRYPTOLITE block.

Parameters
[in]devPointer to the parent MFD device.
Returns
Pointer to the CRYPTOLITE register block.

◆ mfd_infineon_mxcryptolite_lock()

int mfd_infineon_mxcryptolite_lock ( const struct device * dev,
k_timeout_t timeout )

#include <zephyr/drivers/mfd/infineon_mxcryptolite.h>

Acquire the shared MXCRYPTOLITE access mutex.

The TRNG and crypto child functions share a single hardware block, so a child must hold this lock for the duration of any multi-step hardware operation that must not be interleaved with the sibling function.

Parameters
[in]devPointer to the parent MFD device.
[in]timeoutLock acquisition timeout.
Return values
0on success.
-EAGAINif the lock could not be acquired within timeout.

◆ mfd_infineon_mxcryptolite_unlock()

void mfd_infineon_mxcryptolite_unlock ( const struct device * dev)

#include <zephyr/drivers/mfd/infineon_mxcryptolite.h>

Release the shared MXCRYPTOLITE access mutex.

Parameters
[in]devPointer to the parent MFD device.