no-OS
Loading...
Searching...
No Matches
linux_spi.c File Reference

Implementation of Linux platform SPI Driver. More...

#include "no_os_error.h"
#include "no_os_spi.h"
#include "no_os_alloc.h"
#include "linux_spi.h"
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/ioctl.h>
#include <unistd.h>
#include <linux/spi/spidev.h>
Include dependency graph for linux_spi.c:

Classes

struct  linux_spi_desc
 Linux platform specific SPI descriptor. More...
 

Functions

int32_t linux_spi_init (struct no_os_spi_desc **desc, const struct no_os_spi_init_param *param)
 Initialize the SPI communication peripheral.
 
int32_t linux_spi_write_and_read (struct no_os_spi_desc *desc, uint8_t *data, uint16_t bytes_number)
 Write and read data to/from SPI.
 
int32_t linux_spi_remove (struct no_os_spi_desc *desc)
 Free the resources allocated by linux_spi_init().
 

Variables

const struct no_os_spi_platform_ops linux_spi_ops
 Linux platform specific SPI platform ops structure.
 

Detailed Description

Implementation of Linux platform SPI Driver.

Author
Dragos Bogdan (drago.nosp@m.s.bo.nosp@m.gdan@.nosp@m.anal.nosp@m.og.co.nosp@m.m)

Copyright 2020(c) Analog Devices, Inc.

SPDX-License-Identifier: BSD-3-Clause

Function Documentation

◆ linux_spi_init()

int32_t linux_spi_init ( struct no_os_spi_desc ** desc,
const struct no_os_spi_init_param * param )

Initialize the SPI communication peripheral.

Parameters
desc- The SPI descriptor.
param- The structure that contains the SPI parameters.
Returns
0 in case of success, -1 otherwise.

◆ linux_spi_remove()

int32_t linux_spi_remove ( struct no_os_spi_desc * desc)

Free the resources allocated by linux_spi_init().

Parameters
desc- The SPI descriptor.
Returns
0 in case of success, -1 otherwise.

◆ linux_spi_write_and_read()

int32_t linux_spi_write_and_read ( struct no_os_spi_desc * desc,
uint8_t * data,
uint16_t bytes_number )

Write and read data to/from SPI.

Parameters
desc- The SPI descriptor.
data- The buffer with the transmitted/received data.
bytes_number- Number of bytes to write/read.
Returns
0 in case of success, -1 otherwise.

Variable Documentation

◆ linux_spi_ops

const struct no_os_spi_platform_ops linux_spi_ops
Initial value:
= {
.init = &linux_spi_init,
.write_and_read = &linux_spi_write_and_read,
.remove = &linux_spi_remove,
.transfer = &linux_spi_transfer
}
int32_t linux_spi_remove(struct no_os_spi_desc *desc)
Free the resources allocated by linux_spi_init().
Definition linux_spi.c:136
int32_t linux_spi_init(struct no_os_spi_desc **desc, const struct no_os_spi_init_param *param)
Initialize the SPI communication peripheral.
Definition linux_spi.c:40
int32_t linux_spi_write_and_read(struct no_os_spi_desc *desc, uint8_t *data, uint16_t bytes_number)
Write and read data to/from SPI.
Definition linux_spi.c:108

Linux platform specific SPI platform ops structure.

Linux specific SPI platform ops structure.