Zephyr API Documentation  3.5.0
A Scalable Open Source RTOS
3.5.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
eth_adin2111.h File Reference
#include <stdint.h>
#include <zephyr/kernel.h>
#include <zephyr/device.h>

Go to the source code of this file.

Functions

int eth_adin2111_lock (const struct device *dev, k_timeout_t timeout)
 Locks device access.
 
int eth_adin2111_unlock (const struct device *dev)
 Unlocks device access.
 
int eth_adin2111_reg_write (const struct device *dev, const uint16_t reg, uint32_t val)
 Writes host MAC interface register over SPI.
 
int eth_adin2111_reg_read (const struct device *dev, const uint16_t reg, uint32_t *val)
 Reads host MAC interface register over SPI.
 

Function Documentation

◆ eth_adin2111_lock()

int eth_adin2111_lock ( const struct device dev,
k_timeout_t  timeout 
)

Locks device access.

Parameters
[in]devADIN2111 device.
timeoutWaiting period to lock the device, or one of the special values K_NO_WAIT and K_FOREVER.
Return values
0Device locked.
-EBUSYReturned without waiting.
-EAGAINWaiting period timed out.

◆ eth_adin2111_reg_read()

int eth_adin2111_reg_read ( const struct device dev,
const uint16_t  reg,
uint32_t val 
)

Reads host MAC interface register over SPI.

Note
The caller is responsible for device lock. Shall not be called from ISR.
Parameters
[in]devADIN2111 device.
regRegister address.
[out]valRead value output.
Return values
0Successful write.
<0Error, a negative errno code.

◆ eth_adin2111_reg_write()

int eth_adin2111_reg_write ( const struct device dev,
const uint16_t  reg,
uint32_t  val 
)

Writes host MAC interface register over SPI.

Note
The caller is responsible for device lock. Shall not be called from ISR.
Parameters
[in]devADIN2111 device.
regRegister address.
valValue to write.
Return values
0Successful write.
<0Error, a negative errno code.

◆ eth_adin2111_unlock()

int eth_adin2111_unlock ( const struct device dev)

Unlocks device access.

Parameters
[in]devADIN2111 device.
Return values
0Device unlocked.
-EPERMThe current thread does not own the device lock.
-EINVALThe device is not locked.