no-OS
max149x6-base.h
Go to the documentation of this file.
1 /***************************************************************************/
40 #ifndef _MAX149X6_H
41 #define _MAX149X6_H
42 
43 #include <stdint.h>
44 #include <stdbool.h>
45 #include "no_os_gpio.h"
46 #include "no_os_spi.h"
47 #include "no_os_util.h"
48 
49 /* Common Frame Size */
50 #define MAX149X6_FRAME_SIZE 2
51 
52 /* Common Registers */
53 #define MAX149X6_CHIP_ADDR_MASK NO_OS_GENMASK(7, 6)
54 #define MAX149X6_ADDR_MASK NO_OS_GENMASK(4, 1)
55 #define MAX149X6_RW_MASK NO_OS_BIT(0)
56 
61  uint32_t chip_address;
67  bool crc_en;
68 };
69 
73 struct max149x6_desc {
74  uint32_t chip_address;
80  uint8_t buff[MAX149X6_FRAME_SIZE + 1];
81  bool crc_en;
82 };
83 
85 int max149x6_reg_write(struct max149x6_desc *, uint32_t, uint32_t);
86 
88 int max149x6_reg_read(struct max149x6_desc *, uint32_t, uint32_t *);
89 
91 int max149x6_reg_update(struct max149x6_desc *, uint32_t, uint32_t, uint32_t);
92 
93 #endif
max149x6_desc::ready_gpio
struct no_os_gpio_desc * ready_gpio
Definition: max149x6-base.h:78
no_os_alloc.h
no_os_gpio_init_param
Structure holding the parameters for GPIO initialization.
Definition: no_os_gpio.h:85
max149x6_reg_read
int max149x6_reg_read(struct max149x6_desc *desc, uint32_t addr, uint32_t *val)
Read the value of a device register.
Definition: max149x6-base.c:132
max149x6_desc::chip_address
uint32_t chip_address
Definition: max149x6-base.h:74
max149x6_reg_write
int max149x6_reg_write(struct max149x6_desc *, uint32_t, uint32_t)
Write the value of a device register.
Definition: max149x6-base.c:104
max149x6_reg_read
int max149x6_reg_read(struct max149x6_desc *, uint32_t, uint32_t *)
Read the value of a device register.
Definition: max149x6-base.c:132
max149x6-base.h
Header file of MAX149X6 Base Driver.
max149x6_desc
Device descriptor for MAX149X6.
Definition: max149x6-base.h:73
no_os_spi.h
Header file of SPI Interface.
MAX149X6_FRAME_SIZE
#define MAX149X6_FRAME_SIZE
Definition: max149x6-base.h:50
no_os_spi_msg
Definition: no_os_spi.h:91
max149x6_init_param::fault_gpio_param
struct no_os_gpio_init_param * fault_gpio_param
Definition: max149x6-base.h:64
max149x6_init_param::crc_en
bool crc_en
Definition: max149x6-base.h:67
max149x6_reg_update
int max149x6_reg_update(struct max149x6_desc *desc, uint32_t addr, uint32_t mask, uint32_t val)
Update the value of a device register (read/write sequence).
Definition: max149x6-base.c:178
max149x6_desc::crc_en
bool crc_en
Definition: max149x6-base.h:81
max149x6_desc::synch_gpio
struct no_os_gpio_desc * synch_gpio
Definition: max149x6-base.h:79
no_os_spi_msg::tx_buff
uint8_t * tx_buff
Definition: no_os_spi.h:93
max149x6_init_param::comm_param
struct no_os_spi_init_param * comm_param
Definition: max149x6-base.h:62
max149x6_desc::en_gpio
struct no_os_gpio_desc * en_gpio
Definition: max149x6-base.h:76
no_os_field_prep
uint32_t no_os_field_prep(uint32_t mask, uint32_t val)
max149x6_reg_write
int max149x6_reg_write(struct max149x6_desc *desc, uint32_t addr, uint32_t val)
Write the value of a device register.
Definition: max149x6-base.c:104
MAX149X6_RW_MASK
#define MAX149X6_RW_MASK
Definition: max149x6-base.h:55
max149x6_init_param::synch_gpio_param
struct no_os_gpio_init_param * synch_gpio_param
Definition: max149x6-base.h:66
no_os_spi_desc
Structure holding SPI descriptor.
Definition: no_os_spi.h:177
max149x6_init_param::ready_gpio_param
struct no_os_gpio_init_param * ready_gpio_param
Definition: max149x6-base.h:65
no_os_gpio_desc
Structure holding the GPIO descriptor.
Definition: no_os_gpio.h:102
max149x6_init_param::en_gpio_param
struct no_os_gpio_init_param * en_gpio_param
Definition: max149x6-base.h:63
no_os_spi_transfer
int32_t no_os_spi_transfer(struct no_os_spi_desc *desc, struct no_os_spi_msg *msgs, uint32_t len)
Iterate over head list and send all spi messages.
Definition: no_os_spi.c:191
no_os_spi_msg::bytes_number
uint32_t bytes_number
Definition: no_os_spi.h:97
max149x6_reg_update
int max149x6_reg_update(struct max149x6_desc *, uint32_t, uint32_t, uint32_t)
Update the value of a device register (read/write sequence).
Definition: max149x6-base.c:178
max149x6_desc::buff
uint8_t buff[MAX149X6_FRAME_SIZE+1]
Definition: max149x6-base.h:80
MAX149X6_CHIP_ADDR_MASK
#define MAX149X6_CHIP_ADDR_MASK
Definition: max149x6-base.h:53
max149x6_init_param::chip_address
uint32_t chip_address
Definition: max149x6-base.h:61
MAX149X6_ADDR_MASK
#define MAX149X6_ADDR_MASK
Definition: max149x6-base.h:54
max149x6_desc::fault_gpio
struct no_os_gpio_desc * fault_gpio
Definition: max149x6-base.h:77
max149x6_desc::comm_desc
struct no_os_spi_desc * comm_desc
Definition: max149x6-base.h:75
no_os_gpio.h
Header file of GPIO Interface.
max149x6_init_param
Initialization parameter for the MAX149X6 device.
Definition: max149x6-base.h:60
no_os_util.h
Header file of utility functions.
errno.h
Error macro definition for ARM Compiler.
no_os_spi_init_param
Structure holding the parameters for SPI initialization.
Definition: no_os_spi.h:131