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

Implementation of gpio driver. More...

#include <stdio.h>
#include <errno.h>
#include <stdlib.h>
#include "no_os_gpio.h"
#include "no_os_irq.h"
#include "no_os_util.h"
#include "no_os_alloc.h"
#include "gpio.h"
#include "gpio_regs.h"
#include "maxim_gpio.h"
#include "maxim_irq.h"
#include "max78000.h"
#include "mxc_errors.h"
Include dependency graph for maxim_gpio.c:

Functions

int32_t max_gpio_get (struct no_os_gpio_desc **desc, const struct no_os_gpio_init_param *param)
 Obtain the GPIO decriptor.
 
int32_t max_gpio_get_optional (struct no_os_gpio_desc **desc, const struct no_os_gpio_init_param *param)
 Get the value of an optional GPIO.
 
int32_t max_gpio_remove (struct no_os_gpio_desc *desc)
 Free the resources allocated by no_os_gpio_get().
 
int32_t max_gpio_direction_input (struct no_os_gpio_desc *desc)
 Enable the input direction of the specified GPIO.
 
int32_t max_gpio_direction_output (struct no_os_gpio_desc *desc, uint8_t value)
 Enable the output direction of the specified GPIO.
 
int32_t max_gpio_get_direction (struct no_os_gpio_desc *desc, uint8_t *direction)
 Get the direction of the specified GPIO.
 
int32_t max_gpio_set_value (struct no_os_gpio_desc *desc, uint8_t value)
 Set the value of the specified GPIO.
 
int32_t max_gpio_get_value (struct no_os_gpio_desc *desc, uint8_t *value)
 Get the value of the specified GPIO.
 

Variables

const struct no_os_gpio_platform_ops max_gpio_ops
 maxim platform specific GPIO platform ops structure
 

Detailed Description

Implementation of gpio driver.

Author
Ciprian Regus (cipri.nosp@m.an.r.nosp@m.egus@.nosp@m.anal.nosp@m.og.co.nosp@m.m)

Copyright 2022(c) Analog Devices, Inc.

SPDX-License-Identifier: BSD-3-Clause

Function Documentation

◆ max_gpio_direction_input()

int32_t max_gpio_direction_input ( struct no_os_gpio_desc * desc)

Enable the input direction of the specified GPIO.

Parameters
desc- The GPIO descriptor.
Returns
0 in case of success, errno error codes otherwise.

◆ max_gpio_direction_output()

int32_t max_gpio_direction_output ( struct no_os_gpio_desc * desc,
uint8_t value )

Enable the output direction of the specified GPIO.

Parameters
desc- The GPIO descriptor.
value- The value. Example: NO_OS_GPIO_HIGH NO_OS_GPIO_LOW
Returns
0 in case of success, errno error codes otherwise.

◆ max_gpio_get()

int32_t max_gpio_get ( struct no_os_gpio_desc ** desc,
const struct no_os_gpio_init_param * param )

Obtain the GPIO decriptor.

Parameters
desc- The GPIO descriptor.
param- GPIO initialization parameters
Returns
0 in case of success, errno error codes otherwise.

◆ max_gpio_get_direction()

int32_t max_gpio_get_direction ( struct no_os_gpio_desc * desc,
uint8_t * direction )

Get the direction of the specified GPIO.

Parameters
desc- The GPIO descriptor.
direction- The direction. Example: NO_OS_GPIO_OUT NO_OS_GPIO_IN
Returns
0 in case of success, errno error codes otherwise.

◆ max_gpio_get_optional()

int32_t max_gpio_get_optional ( struct no_os_gpio_desc ** desc,
const struct no_os_gpio_init_param * param )

Get the value of an optional GPIO.

Parameters
desc- The GPIO descriptor.
param- GPIO initialization parameters
Returns
0 in case of success, errno error codes otherwise.

◆ max_gpio_get_value()

int32_t max_gpio_get_value ( struct no_os_gpio_desc * desc,
uint8_t * value )

Get the value of the specified GPIO.

Parameters
desc- The GPIO descriptor.
value- The value. Example: NO_OS_GPIO_HIGH NO_OS_GPIO_LOW
Returns
0 in case of success, errno error codes otherwise.

◆ max_gpio_remove()

int32_t max_gpio_remove ( struct no_os_gpio_desc * desc)

Free the resources allocated by no_os_gpio_get().

Parameters
desc- The GPIO descriptor.
Returns
0 in case of success, errno error codes otherwise.

◆ max_gpio_set_value()

int32_t max_gpio_set_value ( struct no_os_gpio_desc * desc,
uint8_t value )

Set the value of the specified GPIO.

Parameters
desc- The GPIO descriptor.
value- The value. Example: NO_OS_GPIO_HIGH NO_OS_GPIO_LOW
Returns
0 in case of success, errno error codes otherwise.

Variable Documentation

◆ max_gpio_ops

const struct no_os_gpio_platform_ops max_gpio_ops
Initial value:
= {
.gpio_ops_get = &max_gpio_get,
.gpio_ops_get_optional = &max_gpio_get_optional,
.gpio_ops_remove = &max_gpio_remove,
.gpio_ops_direction_input = &max_gpio_direction_input,
.gpio_ops_direction_output = &max_gpio_direction_output,
.gpio_ops_get_direction = &max_gpio_get_direction,
.gpio_ops_set_value = &max_gpio_set_value,
.gpio_ops_get_value = &max_gpio_get_value
}
int32_t max_gpio_get(struct no_os_gpio_desc **desc, const struct no_os_gpio_init_param *param)
Obtain the GPIO decriptor.
Definition maxim_gpio.c:39
int32_t max_gpio_get_direction(struct no_os_gpio_desc *desc, uint8_t *direction)
Get the direction of the specified GPIO.
Definition maxim_gpio.c:207
int32_t max_gpio_remove(struct no_os_gpio_desc *desc)
Free the resources allocated by no_os_gpio_get().
Definition maxim_gpio.c:135
int32_t max_gpio_direction_output(struct no_os_gpio_desc *desc, uint8_t value)
Enable the output direction of the specified GPIO.
Definition maxim_gpio.c:173
int32_t max_gpio_direction_input(struct no_os_gpio_desc *desc)
Enable the input direction of the specified GPIO.
Definition maxim_gpio.c:151
int32_t max_gpio_set_value(struct no_os_gpio_desc *desc, uint8_t value)
Set the value of the specified GPIO.
Definition maxim_gpio.c:233
int32_t max_gpio_get_optional(struct no_os_gpio_desc **desc, const struct no_os_gpio_init_param *param)
Get the value of an optional GPIO.
Definition maxim_gpio.c:119
int32_t max_gpio_get_value(struct no_os_gpio_desc *desc, uint8_t *value)
Get the value of the specified GPIO.
Definition maxim_gpio.c:270

maxim platform specific GPIO platform ops structure

maxim platform specific gpio platform ops structure