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

Files

file  infineon_mxcrypto.h
 Public API for MXCRYPTO MFD driver.

Functions

CRYPTO_Type * mfd_infineon_mxcrypto_get_base (const struct device *dev)
 Get the MXCRYPTO register base address.
int mfd_infineon_mxcrypto_lock (const struct device *dev, k_timeout_t timeout)
 Acquire the shared MXCRYPTO access mutex.
void mfd_infineon_mxcrypto_unlock (const struct device *dev)
 Release the shared MXCRYPTO access mutex.

Detailed Description

Function Documentation

◆ mfd_infineon_mxcrypto_get_base()

CRYPTO_Type * mfd_infineon_mxcrypto_get_base ( const struct device * dev)

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

Get the MXCRYPTO register base address.

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

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

◆ mfd_infineon_mxcrypto_lock()

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

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

Acquire the shared MXCRYPTO 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_mxcrypto_unlock()

void mfd_infineon_mxcrypto_unlock ( const struct device * dev)

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

Release the shared MXCRYPTO access mutex.

Parameters
[in]devPointer to the parent MFD device.