Implementation of Linux platform I2C Driver.
More...
#include "no_os_error.h"
#include "no_os_i2c.h"
#include "no_os_alloc.h"
#include "linux_i2c.h"
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <linux/i2c.h>
#include <linux/i2c-dev.h>
|
| int | linux_i2c_add_msg (struct no_os_i2c_desc *desc, uint8_t *data, uint8_t bytes_number, uint8_t read) |
| | Add I2C messages for a combined I2C R/W transaction.
|
| |
| int | linux_i2c_send_msg (struct no_os_i2c_desc *desc) |
| | Send a combined I2C R/W transaction with only one stop bit.
|
| |
| int | linux_i2c_init (struct no_os_i2c_desc **desc, const struct no_os_i2c_init_param *param) |
| | Initialize the I2C communication peripheral.
|
| |
| int | linux_i2c_remove (struct no_os_i2c_desc *desc) |
| | Free the resources allocated by no_os_i2c_init().
|
| |
| int | linux_i2c_write (struct no_os_i2c_desc *desc, uint8_t *data, uint8_t bytes_number, uint8_t stop_bit) |
| | Write data to a slave device.
|
| |
| int | linux_i2c_read (struct no_os_i2c_desc *desc, uint8_t *data, uint8_t bytes_number, uint8_t stop_bit) |
| | Read data from a slave device.
|
| |
Implementation of Linux platform I2C Driver.
- Author
- Dragos Bogdan (drago.nosp@m.s.bo.nosp@m.gdan@.nosp@m.anal.nosp@m.og.co.nosp@m.m)
-
Rene Arthur Necesito (Renea.nosp@m.rthu.nosp@m.r.Nec.nosp@m.esit.nosp@m.o@ana.nosp@m.log..nosp@m.com)
Copyright 2020, 2025(c) Analog Devices, Inc.
SPDX-License-Identifier: BSD-3-Clause
◆ linux_i2c_add_msg()
| int linux_i2c_add_msg |
( |
struct no_os_i2c_desc * | desc, |
|
|
uint8_t * | data, |
|
|
uint8_t | bytes_number, |
|
|
uint8_t | read ) |
Add I2C messages for a combined I2C R/W transaction.
- Parameters
-
| desc | - The I2C descriptor. |
| data | - Buffer that stores the received/transmission data. |
| bytes_number | - Number of bytes to read/write. |
| read | - 0 to write, otherwise read. |
- Returns
- 0 in case of success.
◆ linux_i2c_init()
Initialize the I2C communication peripheral.
- Parameters
-
| desc | - The I2C descriptor. |
| param | - The structure that contains the I2C parameters. |
- Returns
- 0 in case of success, -1 otherwise.
◆ linux_i2c_read()
| int linux_i2c_read |
( |
struct no_os_i2c_desc * | desc, |
|
|
uint8_t * | data, |
|
|
uint8_t | bytes_number, |
|
|
uint8_t | stop_bit ) |
Read data from a slave device.
- Parameters
-
| desc | - The I2C descriptor. |
| data | - Buffer that will store the received data. |
| bytes_number | - Number of bytes to read. |
| stop_bit | - Stop condition control. Example: 0 - A stop condition will not be generated; 1 - A stop condition will be generated. |
- Returns
- 0 in case of success, -1 otherwise.
◆ linux_i2c_remove()
Free the resources allocated by no_os_i2c_init().
- Parameters
-
| desc | - The I2C descriptor. |
- Returns
- 0 in case of success, -1 otherwise.
◆ linux_i2c_send_msg()
Send a combined I2C R/W transaction with only one stop bit.
- Parameters
-
| desc | - The I2C descriptor. |
- Returns
- 0 in case of success, -1 otherwise.
◆ linux_i2c_write()
| int linux_i2c_write |
( |
struct no_os_i2c_desc * | desc, |
|
|
uint8_t * | data, |
|
|
uint8_t | bytes_number, |
|
|
uint8_t | stop_bit ) |
Write data to a slave device.
- Parameters
-
| desc | - The I2C descriptor. |
| data | - Buffer that stores the transmission data. |
| bytes_number | - Number of bytes to write. |
| stop_bit | - Stop condition control. Example: 0 - A stop condition will not be generated; 1 - A stop condition will be generated. |
- Returns
- 0 in case of success, -1 otherwise.
◆ linux_i2c_ops
Initial value:= {
}
int linux_i2c_read(struct no_os_i2c_desc *desc, uint8_t *data, uint8_t bytes_number, uint8_t stop_bit)
Read data from a slave device.
Definition linux_i2c.c:229
int linux_i2c_remove(struct no_os_i2c_desc *desc)
Free the resources allocated by no_os_i2c_init().
Definition linux_i2c.c:166
int linux_i2c_write(struct no_os_i2c_desc *desc, uint8_t *data, uint8_t bytes_number, uint8_t stop_bit)
Write data to a slave device.
Definition linux_i2c.c:195
int linux_i2c_init(struct no_os_i2c_desc **desc, const struct no_os_i2c_init_param *param)
Initialize the I2C communication peripheral.
Definition linux_i2c.c:119
Linux platform specific I2C platform ops structure.
Linux specific I2C platform ops structure.