no-OS
axi_adc_core.h
Go to the documentation of this file.
1 /***************************************************************************/
39 #ifndef AXI_ADC_CORE_H_
40 #define AXI_ADC_CORE_H_
41 
42 /******************************************************************************/
43 /***************************** Include Files **********************************/
44 /******************************************************************************/
45 #include <stdint.h>
46 #include "no_os_util.h"
47 
48 /******************************************************************************/
49 /********************** Macros and Constants Definitions **********************/
50 /******************************************************************************/
51 #define AXI_ADC_REG_RSTN 0x0040
52 #define AXI_ADC_MMCM_RSTN NO_OS_BIT(1)
53 #define AXI_ADC_RSTN NO_OS_BIT(0)
54 
55 #define AXI_ADC_REG_CNTRL 0x0044
56 #define AXI_ADC_R1_MODE NO_OS_BIT(2)
57 #define AXI_ADC_DDR_EDGESEL NO_OS_BIT(1)
58 #define AXI_ADC_PIN_MODE NO_OS_BIT(0)
59 
60 #define AXI_ADC_REG_CNTRL_3 0x004C
61 #define AXI_ADC_CRC_EN NO_OS_BIT(8)
62 
63 #define AXI_ADC_REG_CLK_FREQ 0x0054
64 #define AXI_ADC_CLK_FREQ(x) (((x) & 0xFFFFFFFF) << 0)
65 #define AXI_ADC_TO_CLK_FREQ(x) (((x) >> 0) & 0xFFFFFFFF)
66 
67 #define AXI_ADC_REG_CLK_RATIO 0x0058
68 #define AXI_ADC_CLK_RATIO(x) (((x) & 0xFFFFFFFF) << 0)
69 #define AXI_ADC_TO_CLK_RATIO(x) (((x) >> 0) & 0xFFFFFFFF)
70 
71 #define AXI_ADC_REG_STATUS 0x005C
72 #define AXI_ADC_MUX_PN_ERR NO_OS_BIT(3)
73 #define AXI_ADC_MUX_PN_OOS NO_OS_BIT(2)
74 #define AXI_ADC_MUX_OVER_RANGE NO_OS_BIT(1)
75 #define AXI_ADC_STATUS NO_OS_BIT(0)
76 
77 #define AXI_ADC_REG_DELAY_CNTRL 0x0060
78 #define ADC_DELAY_SEL NO_OS_BIT(17)
79 #define ADC_DELAY_RWN NO_OS_BIT(16)
80 #define ADC_DELAY_ADDRESS(x) (((x) & 0xFF) << 8)
81 #define ADC_TO_DELAY_ADDRESS(x) (((x) >> 8) & 0xFF)
82 #define ADC_DELAY_WDATA(x) (((x) & 0x1F) << 0)
83 #define ADC_TO_DELAY_WDATA(x) (((x) >> 0) & 0x1F)
84 
85 #define AXI_ADC_REG_CHAN_CNTRL(c) (0x0400 + (c) * 0x40)
86 #define AXI_ADC_PN_SEL NO_OS_BIT(10)
87 #define AXI_ADC_IQCOR_ENB NO_OS_BIT(9)
88 #define AXI_ADC_DCFILT_ENB NO_OS_BIT(8)
89 #define AXI_ADC_FORMAT_SIGNEXT NO_OS_BIT(6)
90 #define AXI_ADC_FORMAT_TYPE NO_OS_BIT(5)
91 #define AXI_ADC_FORMAT_ENABLE NO_OS_BIT(4)
92 #define AXI_ADC_PN23_TYPE NO_OS_BIT(1)
93 #define AXI_ADC_ENABLE NO_OS_BIT(0)
94 
95 #define AXI_ADC_REG_CHAN_STATUS(c) (0x0404 + (c) * 0x40)
96 #define AXI_ADC_PN_ERR NO_OS_BIT(2)
97 #define AXI_ADC_PN_OOS NO_OS_BIT(1)
98 #define AXI_ADC_OVER_RANGE NO_OS_BIT(0)
99 
100 #define AXI_ADC_REG_CHAN_CNTRL_1(c) (0x0410 + (c) * 0x40)
101 #define AXI_ADC_DCFILT_OFFSET(x) (((x) & 0xFFFFL) << 16)
102 #define AXI_ADC_TO_DCFILT_OFFSET(x) (((x) >> 16) & 0xFFFF)
103 #define AXI_ADC_DCFILT_COEFF(x) (((x) & 0xFFFF) << 0)
104 #define AXI_ADC_TO_DCFILT_COEFF(x) (((x) >> 0) & 0xFFFF)
105 
106 #define AXI_ADC_REG_CHAN_CNTRL_2(c) (0x0414 + (c) * 0x40)
107 #define AXI_ADC_IQCOR_COEFF_1(x) (((x) & 0xFFFFL) << 16)
108 #define AXI_ADC_TO_IQCOR_COEFF_1(x) (((x) >> 16) & 0xFFFF)
109 #define AXI_ADC_IQCOR_COEFF_2(x) (((x) & 0xFFFF) << 0)
110 #define AXI_ADC_TO_IQCOR_COEFF_2(x) (((x) >> 0) & 0xFFFF)
111 
112 #define AXI_ADC_REG_CHAN_CNTRL_3(c) (0x0418 + (c) * 0x40)
113 #define AXI_ADC_ADC_PN_SEL(x) (((x) & 0xF) << 16)
114 #define AXI_ADC_TO_ADC_PN_SEL(x) (((x) >> 16) & 0xF)
115 #define AXI_ADC_ADC_DATA_SEL(x) (((x) & 0xF) << 0)
116 #define AXI_ADC_TO_ADC_DATA_SEL(x) (((x) >> 0) & 0xF)
117 
118 #define AXI_ADC_REG_DELAY(l) (0x0800 + (l) * 0x4)
119 
120 /******************************************************************************/
121 /*************************** Types Declarations *******************************/
122 /******************************************************************************/
123 
128 struct axi_adc {
130  const char *name;
132  uint32_t base;
134  uint32_t slave_base;
136  uint8_t num_channels;
140  uint64_t clock_hz;
142  uint32_t mask;
143 };
144 
149 struct axi_adc_init {
151  const char *name;
153  uint32_t base;
155  uint8_t num_channels;
157  uint32_t slave_base;
160 };
161 
173 };
174 
175 /******************************************************************************/
176 /************************ Functions Declarations ******************************/
177 /******************************************************************************/
179 int32_t axi_adc_init_begin(struct axi_adc **adc_core,
180  const struct axi_adc_init *init);
182 int32_t axi_adc_init_finish(struct axi_adc *adc);
184 int32_t axi_adc_init(struct axi_adc **adc_core,
185  const struct axi_adc_init *init);
187 int32_t axi_adc_remove(struct axi_adc *adc);
189 int32_t axi_adc_read(struct axi_adc *adc,
190  uint32_t reg_addr,
191  uint32_t *reg_data);
193 int32_t axi_adc_write(struct axi_adc *adc,
194  uint32_t reg_addr,
195  uint32_t reg_data);
197 int32_t axi_adc_set_pnsel(struct axi_adc *adc,
198  uint32_t chan,
199  enum axi_adc_pn_sel sel);
201 int32_t axi_adc_pn_mon(struct axi_adc *adc,
202  enum axi_adc_pn_sel sel,
203  uint32_t delay_ms);
205 int32_t axi_adc_get_sampling_freq(struct axi_adc *adc,
206  uint32_t chan,
207  uint64_t *sampling_freq);
209 void axi_adc_idelay_set(struct axi_adc *adc,
210  uint32_t lane,
211  uint32_t val);
213 int32_t axi_adc_delay_set(struct axi_adc *adc,
214  uint32_t no_of_lanes,
215  uint32_t delay);
217 int32_t axi_adc_delay_calibrate(struct axi_adc *core,
218  uint32_t no_of_lanes,
219  enum axi_adc_pn_sel sel);
221 int32_t axi_adc_set_calib_phase(struct axi_adc *adc,
222  uint32_t chan,
223  int32_t val,
224  int32_t val2);
226 int32_t axi_adc_get_calib_phase(struct axi_adc *adc,
227  uint32_t chan,
228  int32_t *val,
229  int32_t *val2);
231 int32_t axi_adc_set_calib_scale(struct axi_adc *adc,
232  uint32_t chan,
233  int32_t val,
234  int32_t val2);
236 int32_t axi_adc_get_calib_scale(struct axi_adc *adc,
237  uint32_t chan,
238  int32_t *val,
239  int32_t *val2);
241 int32_t axi_adc_set_calib_bias(struct axi_adc *adc,
242  uint32_t chan,
243  int32_t val,
244  int32_t val2);
246 int32_t axi_adc_get_calib_bias(struct axi_adc *adc,
247  uint32_t chan,
248  int32_t *val,
249  int32_t *val2);
251 int32_t axi_adc_update_active_channels(struct axi_adc *adc, uint32_t mask);
252 #endif
axi_adc_core.h
Driver for the Analog Devices AXI-ADC-CORE module.
no_os_gpio_platform_ops::gpio_ops_direction_input
int32_t(* gpio_ops_direction_input)(struct no_os_gpio_desc *)
Definition: no_os_gpio.h:143
no_os_dma_remove
int no_os_dma_remove(struct no_os_dma_desc *desc)
Remove resources allocated for the DMA controller.
Definition: no_os_dma.c:149
no_os_eeprom_init_param::platform_ops
const struct no_os_eeprom_platform_ops * platform_ops
Definition: no_os_eeprom.h:67
no_os_dma_xfer_desc::irq_priority
uint32_t irq_priority
Definition: no_os_dma.h:97
axi_adc_read
int32_t axi_adc_read(struct axi_adc *adc, uint32_t reg_addr, uint32_t *reg_data)
AXI ADC Data read.
Definition: axi_adc_core.c:61
AXI_ADC_PN_END
@ AXI_ADC_PN_END
Definition: axi_adc_core.h:172
no_os_pwm_desc::mutex
void * mutex
Definition: no_os_pwm.h:101
no_os_mdio_init
int no_os_mdio_init(struct no_os_mdio_desc **desc, struct no_os_mdio_init_param *param)
Initialize the MDIO interface.
Definition: no_os_mdio.c:48
no_os_pwm_set_duty_cycle
int32_t no_os_pwm_set_duty_cycle(struct no_os_pwm_desc *desc, uint32_t duty_cycle_ns)
Set the PWM duty cycle.
Definition: no_os_pwm.c:175
axi_adc_delay_calibrate
int32_t axi_adc_delay_calibrate(struct axi_adc *core, uint32_t no_of_lanes, enum axi_adc_pn_sel sel)
Calibrate Delay using specific PN sequence.
Definition: axi_adc_core.c:248
no_os_i2cbus_desc
Structure holding I2C bus descriptor.
Definition: no_os_i2c.h:87
axi_adc::num_slave_channels
uint8_t num_slave_channels
Definition: axi_adc_core.h:138
no_os_alloc.h
no_os_gpio_init_param
Structure holding the parameters for GPIO initialization.
Definition: no_os_gpio.h:85
no_os_uart_desc::platform_ops
const struct no_os_uart_platform_ops * platform_ops
Definition: no_os_uart.h:151
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_pwm_init_param
Structure containing the init parameters needed by the PWM generator.
Definition: no_os_pwm.h:72
no_os_pwm_disable
int32_t no_os_pwm_disable(struct no_os_pwm_desc *desc)
Disable PWM signal generation.
Definition: no_os_pwm.c:121
no_os_mdio_init_param
Parameters for an MDIO slave.
Definition: no_os_mdio.h:66
no_os_spibus_desc::mutex
void * mutex
Definition: no_os_spi.h:156
no_os_mdio_init_param::c45
bool c45
Definition: no_os_mdio.h:71
no_os_timer_init
int32_t no_os_timer_init(struct no_os_timer_desc **desc, const struct no_os_timer_init_param *param)
Initialize hardware timer and the handler structure associated with it.
Definition: no_os_timer.c:63
no_os_dma_desc::sg_handler
void(* sg_handler)(void *)
Definition: no_os_dma.h:170
no_os_pwm_init
int32_t no_os_pwm_init(struct no_os_pwm_desc **desc, const struct no_os_pwm_init_param *param)
Initialize the PWM peripheral.
Definition: no_os_pwm.c:57
no_os_mdio_ops::remove
int(* remove)(struct no_os_mdio_desc *)
Definition: no_os_mdio.h:104
no_os_gpio_platform_ops::gpio_ops_get_value
int32_t(* gpio_ops_get_value)(struct no_os_gpio_desc *, uint8_t *)
Definition: no_os_gpio.h:151
no_os_mdio_write
int no_os_mdio_write(struct no_os_mdio_desc *desc, uint32_t reg, uint16_t val)
Write a register using MDIO.
Definition: no_os_mdio.c:96
no_os_tdm_platform_ops::tdm_ops_write
int32_t(* tdm_ops_write)(struct no_os_tdm_desc *, void *, uint16_t)
Definition: no_os_tdm.h:121
no_os_dma_default_handler_data
IRQ parameter for the default inter transfer handler.
Definition: no_os_dma.h:65
no_os_irq_platform_ops::clear_pending
int32_t(* clear_pending)(struct no_os_irq_ctrl_desc *desc, uint32_t irq_id)
Definition: no_os_irq.h:194
no_os_pwm_platform_ops::pwm_ops_get_period
int32_t(* pwm_ops_get_period)(struct no_os_pwm_desc *, uint32_t *)
Definition: no_os_pwm.h:142
no_os_dma_xfer_abort
int no_os_dma_xfer_abort(struct no_os_dma_desc *desc, struct no_os_dma_ch *ch)
Abort the ongoing and any other future transfers scheduled for a channel.
Definition: no_os_dma.c:390
SPI_MAX_BUS_NUMBER
#define SPI_MAX_BUS_NUMBER
Definition: no_os_spi.h:55
no_os_i2cbus_remove
void no_os_i2cbus_remove(uint32_t bus_number)
Removes i2c bus instance.
Definition: no_os_i2c.c:137
no_os_eeprom_desc
Structure holding the EEPROM descriptor.
Definition: no_os_eeprom.h:76
no_os_mutex_init
void no_os_mutex_init(void **mutex)
Function for no-os mutex initialization and thread safety. This function is implemented based on diff...
Definition: freertos_mutex.c:50
no_os_irq_platform_ops::set_priority
int32_t(* set_priority)(struct no_os_irq_ctrl_desc *desc, uint32_t irq_id, uint32_t priority_level)
Definition: no_os_irq.h:189
no_os_i2c_platform_ops::i2c_ops_read
int32_t(* i2c_ops_read)(struct no_os_i2c_desc *, uint8_t *, uint8_t, uint8_t)
Definition: no_os_i2c.h:134
no_os_spi_init_param::bit_order
enum no_os_spi_bit_order bit_order
Definition: no_os_spi.h:141
axi_adc_update_active_channels
int32_t axi_adc_update_active_channels(struct axi_adc *adc, uint32_t mask)
Update active AXI ADC channels.
Definition: axi_adc_core.c:545
no_os_dma_ch::irq_ctx
struct no_os_dma_default_handler_data irq_ctx
Definition: no_os_dma.h:125
no_os_tdm_remove
int32_t no_os_tdm_remove(struct no_os_tdm_desc *desc)
Free the resources allocated by no_os_tdm_init().
Definition: no_os_tdm.c:70
axi_adc_set_pnsel
int32_t axi_adc_set_pnsel(struct axi_adc *adc, uint32_t chan, enum axi_adc_pn_sel sel)
Set AXI ADC PN sequence.
Definition: axi_adc_core.c:121
no_os_tdm_platform_ops::tdm_ops_pause
int32_t(* tdm_ops_pause)(struct no_os_tdm_desc *)
Definition: no_os_tdm.h:123
no_os_dma_platform_ops::dma_acquire_ch
int(* dma_acquire_ch)(struct no_os_dma_desc *, uint32_t *)
Definition: no_os_dma.h:253
no_os_uart_read_nonblocking
int32_t no_os_uart_read_nonblocking(struct no_os_uart_desc *desc, uint8_t *data, uint32_t bytes_number)
Read data from UART non-blocking.
Definition: no_os_uart.c:176
axi_adc_set_calib_phase
int32_t axi_adc_set_calib_phase(struct axi_adc *adc, uint32_t chan, int32_t val, int32_t val2)
Calibrate phase for specific AXI ADC channel.
Definition: axi_adc_core.c:439
sampling_freq
uint64_t sampling_freq
Definition: headless.c:79
no_os_dma_platform_ops::dma_xfer_start
int(* dma_xfer_start)(struct no_os_dma_desc *, struct no_os_dma_ch *)
Definition: no_os_dma.h:259
no_os_callback_desc
Structure describing a callback to be registered.
Definition: no_os_irq.h:148
no_os_list_get_size
int32_t no_os_list_get_size(struct no_os_list_desc *list_desc, uint32_t *out_size)
no_os_tdm_write
int32_t no_os_tdm_write(struct no_os_tdm_desc *desc, void *data, uint16_t nb_samples)
Write data using the TDM interface.
Definition: no_os_tdm.c:126
no_os_spi.h
Header file of SPI Interface.
no_os_timer_init_param::id
uint16_t id
Definition: no_os_timer.h:91
no_os_dma_init_param
Initialization parameter for the DMA controller.
Definition: no_os_dma.h:177
no_os_dma_ch::id
uint32_t id
Definition: no_os_dma.h:115
no_os_irq.h
Header file of IRQ interface.
no_os_irq_register_callback
int32_t no_os_irq_register_callback(struct no_os_irq_ctrl_desc *desc, uint32_t irq_id, struct no_os_callback_desc *callback_desc)
Register a callback to handle the irq events.
Definition: no_os_irq.c:98
no_os_timer_platform_ops::count_clk_set
int32_t(* count_clk_set)(struct no_os_timer_desc *, uint32_t freq_hz)
Definition: no_os_timer.h:122
no_os_mdio_ops::read
int(* read)(struct no_os_mdio_desc *, uint32_t, uint16_t *)
Definition: no_os_mdio.h:102
no_os_uart_init
int32_t no_os_uart_init(struct no_os_uart_desc **desc, struct no_os_uart_init_param *param)
Initialize the UART communication peripheral.
Definition: no_os_uart.c:58
no_os_uart_desc::mutex
void * mutex
Definition: no_os_uart.h:142
no_os_uart_platform_ops::remove
int32_t(* remove)(struct no_os_uart_desc *)
Definition: no_os_uart.h:174
axi_adc_init
AXI ADC Initialization Parameters structure.
Definition: axi_adc_core.h:149
no_os_pwm_desc::id
uint32_t id
Definition: no_os_pwm.h:103
no_os_dma_in_progress
bool no_os_dma_in_progress(struct no_os_dma_desc *desc, struct no_os_dma_ch *ch)
Whether or not there is a transfer in progress on a specific channel.
Definition: no_os_dma.c:440
no_os_mdio_init_param::ops
struct no_os_mdio_ops * ops
Definition: no_os_mdio.h:75
axi_adc_write
int32_t axi_adc_write(struct axi_adc *adc, uint32_t reg_addr, uint32_t reg_data)
AXI ADC Data Write.
Definition: axi_adc_core.c:77
no_os_spibus_desc::mode
enum no_os_spi_mode mode
Definition: no_os_spi.h:164
no_os_spibus_desc::bit_order
enum no_os_spi_bit_order bit_order
Definition: no_os_spi.h:166
AXI_ADC_RSTN
#define AXI_ADC_RSTN
Definition: axi_adc_core.h:53
no_os_pwm_platform_ops::pwm_ops_set_phase
int32_t(* pwm_ops_set_phase)(struct no_os_pwm_desc *, uint32_t)
Definition: no_os_pwm.h:148
no_os_i2c_platform_ops::i2c_ops_write
int32_t(* i2c_ops_write)(struct no_os_i2c_desc *, uint8_t *, uint8_t, uint8_t)
Definition: no_os_i2c.h:132
no_os_dma_acquire_channel
int no_os_dma_acquire_channel(struct no_os_dma_desc *desc, struct no_os_dma_ch **channel)
Get a free DMA channel.
Definition: no_os_dma.c:190
TIMER_MAX_TABLE
#define TIMER_MAX_TABLE
Definition: no_os_timer.h:53
no_os_pwm_platform_ops::pwm_ops_get_polarity
int32_t(* pwm_ops_get_polarity)(struct no_os_pwm_desc *, enum no_os_pwm_polarity *)
Definition: no_os_pwm.h:155
no_os_timer_desc::platform_ops
const struct no_os_timer_platform_ops * platform_ops
Definition: no_os_timer.h:73
no_os_spi_msg
Definition: no_os_spi.h:91
NO_OS_IS_ERR_VALUE
#define NO_OS_IS_ERR_VALUE(x)
Definition: no_os_error.h:56
no_os_dma_ch::irq_num
uint32_t irq_num
Definition: no_os_dma.h:121
no_os_delay.h
Header file of Delay functions.
no_os_i2c_write
int32_t no_os_i2c_write(struct no_os_i2c_desc *desc, uint8_t *data, uint8_t bytes_number, uint8_t stop_bit)
I2C Write data to slave device.
Definition: no_os_i2c.c:165
no_os_irq_unregister_callback
int32_t no_os_irq_unregister_callback(struct no_os_irq_ctrl_desc *desc, uint32_t irq_id, struct no_os_callback_desc *callback)
Unregisters a generic IRQ handling function.
Definition: no_os_irq.c:118
DEV_TO_MEM
@ DEV_TO_MEM
Definition: no_os_dma.h:58
no_os_i2c_init
int32_t no_os_i2c_init(struct no_os_i2c_desc **desc, const struct no_os_i2c_init_param *param)
Initialize the I2C communication peripheral.
Definition: no_os_i2c.c:58
no_os_eeprom.h
Header file for EEPROM APIs.
no_os_dma_init_param::platform_ops
struct no_os_dma_platform_ops * platform_ops
Definition: no_os_dma.h:183
axi_adc
AXI ADC Device Descriptor.
Definition: axi_adc_core.h:128
no_os_trng_platform_ops::init
int(* init)(struct no_os_trng_desc **, const struct no_os_trng_init_param *)
Definition: no_os_trng.h:92
no_os_uart_platform_ops::init
int32_t(* init)(struct no_os_uart_desc **, struct no_os_uart_init_param *)
Definition: no_os_uart.h:163
no_os_timer_platform_ops::get_elapsed_time_nsec
int32_t(* get_elapsed_time_nsec)(struct no_os_timer_desc *, uint64_t *elapsed_time)
Definition: no_os_timer.h:124
no_os_dma_init
int no_os_dma_init(struct no_os_dma_desc **desc, struct no_os_dma_init_param *param)
Initialize the DMA controller.
Definition: no_os_dma.c:96
no_os_eeprom_platform_ops::write
int32_t(* write)(struct no_os_eeprom_desc *, uint32_t, uint8_t *, uint16_t)
Definition: no_os_eeprom.h:94
no_os_list_get_first
int32_t no_os_list_get_first(struct no_os_list_desc *list_desc, void **data)
no_os_spi_init_param::mode
enum no_os_spi_mode mode
Definition: no_os_spi.h:139
no_os_tdm_init_param::platform_ops
const struct no_os_tdm_platform_ops * platform_ops
Definition: no_os_tdm.h:89
no_os_spibus_desc::slave_number
uint8_t slave_number
Definition: no_os_spi.h:158
no_os_gpio_get_optional
int32_t no_os_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: no_os_gpio.c:81
axi_adc_init_begin
int32_t axi_adc_init_begin(struct axi_adc **adc_core, const struct axi_adc_init *init)
Begin AXI ADC Initialization.
Definition: axi_adc_core.c:593
AXI_ADC_REG_STATUS
#define AXI_ADC_REG_STATUS
Definition: axi_adc_core.h:71
no_os_irq_enable
int32_t no_os_irq_enable(struct no_os_irq_ctrl_desc *desc, uint32_t irq_id)
Enable specific interrupt.
Definition: no_os_irq.c:187
AXI_ADC_PN_RAMP_16
@ AXI_ADC_PN_RAMP_16
Definition: axi_adc_core.h:171
no_os_mdio_init_param::id
int id
Definition: no_os_mdio.h:68
axi_adc_init::num_slave_channels
uint8_t num_slave_channels
Definition: axi_adc_core.h:159
no_os_gpio_init_param::number
int32_t number
Definition: no_os_gpio.h:89
no_os_trng_platform_ops::remove
int(* remove)(struct no_os_trng_desc *)
Definition: no_os_trng.h:97
axi_adc::name
const char * name
Definition: axi_adc_core.h:130
AXI_ADC_ENABLE
#define AXI_ADC_ENABLE
Definition: axi_adc_core.h:93
no_os_irq_platform_ops::init
int32_t(* init)(struct no_os_irq_ctrl_desc **desc, const struct no_os_irq_init_param *param)
Definition: no_os_irq.h:168
no_os_dma_platform_ops::dma_remove
int(* dma_remove)(struct no_os_dma_desc *desc)
Definition: no_os_dma.h:251
no_os_tdm_platform_ops::tdm_ops_read
int32_t(* tdm_ops_read)(struct no_os_tdm_desc *, void *, uint16_t)
Definition: no_os_tdm.h:119
no_os_tdm_platform_ops::tdm_ops_stop
int32_t(* tdm_ops_stop)(struct no_os_tdm_desc *)
Definition: no_os_tdm.h:127
no_os_pwm_init_param::id
uint32_t id
Definition: no_os_pwm.h:74
AXI_ADC_TO_IQCOR_COEFF_1
#define AXI_ADC_TO_IQCOR_COEFF_1(x)
Definition: axi_adc_core.h:108
no_os_spibus_desc::device_id
uint32_t device_id
Definition: no_os_spi.h:160
no_os_timer.h
Timer control module header.
no_os_spibus_desc::platform_ops
const struct no_os_spi_platform_ops * platform_ops
Definition: no_os_spi.h:168
no_os_axi_io.h
Header file of AXI IO.
no_os_calloc
void * no_os_calloc(size_t nitems, size_t size)
Allocate memory and return a pointer to it, set memory to 0.
Definition: chibios_alloc.c:60
NO_OS_ARRAY_SIZE
#define NO_OS_ARRAY_SIZE(x)
Definition: no_os_util.h:53
no_os_uart_platform_ops::get_errors
uint32_t(* get_errors)(struct no_os_uart_desc *)
Definition: no_os_uart.h:176
no_os_pwm_polarity
no_os_pwm_polarity
Possible polarities of the PWM signal.
Definition: no_os_pwm.h:61
AXI_ADC_REG_CLK_RATIO
#define AXI_ADC_REG_CLK_RATIO
Definition: axi_adc_core.h:67
axi_adc_get_calib_phase_scale
int32_t axi_adc_get_calib_phase_scale(struct axi_adc *adc, uint32_t phase, uint32_t chan, int32_t *val, int32_t *val2)
Get the phase calibration values for AXI ADC channel.
Definition: axi_adc_core.c:391
axi_adc_init::base
uint32_t base
Definition: axi_adc_core.h:153
no_os_spi_transfer_dma_async
int32_t no_os_spi_transfer_dma_async(struct no_os_spi_desc *desc, struct no_os_spi_msg *msgs, uint32_t len, void(*callback)(void *), void *ctx)
Transfer a list of messages using DMA. The function will return after the first transfer is started....
Definition: no_os_spi.c:254
axi_adc_delay_set
int32_t axi_adc_delay_set(struct axi_adc *adc, uint32_t no_of_lanes, uint32_t delay)
Set input/output delay primitive for number of lines.
Definition: axi_adc_core.c:213
no_os_uart_desc::device_id
uint8_t device_id
Definition: no_os_uart.h:144
no_os_spi_init_param::platform_ops
const struct no_os_spi_platform_ops * platform_ops
Definition: no_os_spi.h:142
no_os_pwm_platform_ops::pwm_ops_get_phase
int32_t(* pwm_ops_get_phase)(struct no_os_pwm_desc *, uint32_t *)
Definition: no_os_pwm.h:150
no_os_tdm_platform_ops::tdm_ops_remove
int32_t(* tdm_ops_remove)(struct no_os_tdm_desc *)
Definition: no_os_tdm.h:129
AXI_ADC_REG_DELAY
#define AXI_ADC_REG_DELAY(l)
Definition: axi_adc_core.h:118
no_os_timer_platform_ops::count_clk_get
int32_t(* count_clk_get)(struct no_os_timer_desc *, uint32_t *freq_hz)
Definition: no_os_timer.h:120
no_os_trng_fill_buffer
int no_os_trng_fill_buffer(struct no_os_trng_desc *desc, uint8_t *buff, uint32_t len)
Fill buffer with rng data.
Definition: no_os_trng.c:101
axi_adc_init
int32_t axi_adc_init(struct axi_adc **adc_core, const struct axi_adc_init *init)
AXI ADC Main Initialization.
Definition: axi_adc_core.c:647
no_os_callback_desc::peripheral
enum no_os_irq_peripheral peripheral
Definition: no_os_irq.h:156
no_os_i2c_init_param::extra
void * extra
Definition: no_os_i2c.h:80
AXI_ADC_REG_RSTN
#define AXI_ADC_REG_RSTN
Definition: axi_adc_core.h:51
no_os_gpio_init_param::platform_ops
const struct no_os_gpio_platform_ops * platform_ops
Definition: no_os_gpio.h:93
no_os_gpio_remove
int32_t no_os_gpio_remove(struct no_os_gpio_desc *desc)
Free the resources allocated by no_os_gpio_get().
Definition: no_os_gpio.c:110
no_os_eeprom_desc::platform_ops
const struct no_os_eeprom_platform_ops * platform_ops
Definition: no_os_eeprom.h:79
no_os_pwm_platform_ops::pwm_ops_remove
int32_t(* pwm_ops_remove)(struct no_os_pwm_desc *)
Definition: no_os_pwm.h:158
no_os_irq_set_priority
int32_t no_os_irq_set_priority(struct no_os_irq_ctrl_desc *desc, uint32_t irq_id, uint32_t priority_level)
Set the priority for an interrupt.
Definition: no_os_irq.c:222
no_os_dma_init_param::num_ch
uint32_t num_ch
Definition: no_os_dma.h:181
axi_adc_set_calib_phase
int32_t axi_adc_set_calib_phase(struct axi_adc *adc, uint32_t chan, int32_t val, int32_t val2)
Calibrate phase for specific AXI ADC channel.
Definition: axi_adc_core.c:439
no_os_spi_init_param::device_id
uint32_t device_id
Definition: no_os_spi.h:133
no_os_gpio_direction_output
int32_t no_os_gpio_direction_output(struct no_os_gpio_desc *desc, uint8_t value)
Enable the output direction of the specified GPIO.
Definition: no_os_gpio.c:153
no_os_dma_release_channel
int no_os_dma_release_channel(struct no_os_dma_desc *desc, struct no_os_dma_ch *channel)
Free DMA channel.
Definition: no_os_dma.c:222
no_os_timer_count_clk_get
int32_t no_os_timer_count_clk_get(struct no_os_timer_desc *desc, uint32_t *freq_hz)
Get the timer clock frequency.
Definition: no_os_timer.c:179
no_os_tdm_stop
int32_t no_os_tdm_stop(struct no_os_tdm_desc *desc)
Stop TDM DMA transfer.
Definition: no_os_tdm.c:114
no_os_i2cbus_desc::max_speed_hz
uint32_t max_speed_hz
Definition: no_os_i2c.h:95
no_os_do_div
uint64_t no_os_do_div(uint64_t *n, uint64_t base)
no_os_mdelay
void no_os_mdelay(uint32_t msecs)
Wait until msecs milliseconds passed.
Definition: aducm3029_delay.c:132
no_os_tdm_desc
Structure holding TDM descriptor.
Definition: no_os_tdm.h:98
axi_adc_get_sampling_freq
int32_t axi_adc_get_sampling_freq(struct axi_adc *adc, uint32_t chan, uint64_t *sampling_freq)
Get the AXI ADC Sampling Frequency.
Definition: axi_adc_core.c:177
no_os_timer_platform_ops::counter_get
int32_t(* counter_get)(struct no_os_timer_desc *, uint32_t *counter)
Definition: no_os_timer.h:116
no_os_dma_chan_unlock
int no_os_dma_chan_unlock(struct no_os_dma_ch *ch)
Unlock a DMA channel, marking it available for acquisition.
Definition: no_os_dma.c:342
no_os_irq_set_priority
int32_t no_os_irq_set_priority(struct no_os_irq_ctrl_desc *desc, uint32_t irq_id, uint32_t priority_level)
Set the priority for an interrupt.
Definition: no_os_irq.c:222
no_os_dma_config_xfer
int no_os_dma_config_xfer(struct no_os_dma_desc *desc, struct no_os_dma_xfer_desc *xfer, uint32_t len, struct no_os_dma_ch *ch)
Acquire a channel and configure the list of transfers.
Definition: no_os_dma.c:248
no_os_pwm_platform_ops::pwm_ops_get_duty_cycle
int32_t(* pwm_ops_get_duty_cycle)(struct no_os_pwm_desc *, uint32_t *)
Definition: no_os_pwm.h:146
axi_adc_remove
int32_t axi_adc_remove(struct axi_adc *adc)
AXI ADC Resources deallocation.
Definition: axi_adc_core.c:687
axi_adc::num_channels
uint8_t num_channels
Definition: axi_adc_core.h:136
no_os_uart_desc
Stucture holding the UART descriptor.
Definition: no_os_uart.h:140
AXI_ADC_IQCOR_COEFF_2
#define AXI_ADC_IQCOR_COEFF_2(x)
Definition: axi_adc_core.h:109
no_os_trng_desc
TRNG Descriptor.
Definition: no_os_trng.h:65
no_os_irq_ctrl_desc::ref
uint32_t ref
Definition: no_os_irq.h:135
no_os_error.h
Error codes definition.
no_os_trng.h
Header file of true random number generator.
axi_adc_write
int32_t axi_adc_write(struct axi_adc *adc, uint32_t reg_addr, uint32_t reg_data)
AXI ADC Data Write.
Definition: axi_adc_core.c:77
no_os_gpio_desc::platform_ops
const struct no_os_gpio_platform_ops * platform_ops
Definition: no_os_gpio.h:110
no_os_mutex_unlock
void no_os_mutex_unlock(void *mutex)
Function for unlocking mutex.
AXI_ADC_IQCOR_COEFF_1
#define AXI_ADC_IQCOR_COEFF_1(x)
Definition: axi_adc_core.h:107
no_os_timer_platform_ops::counter_set
int32_t(* counter_set)(struct no_os_timer_desc *, uint32_t new_val)
Definition: no_os_timer.h:118
no_os_spi_init_param::platform_delays
struct no_os_platform_spi_delays platform_delays
Definition: no_os_spi.h:143
no_os_i2c_init_param::max_speed_hz
uint32_t max_speed_hz
Definition: no_os_i2c.h:74
no_os_dma_default_handler_data::channel
struct no_os_dma_ch * channel
Definition: no_os_dma.h:67
no_os_eeprom_write
int32_t no_os_eeprom_write(struct no_os_eeprom_desc *desc, uint32_t address, uint8_t *data, uint16_t bytes)
Write the EEPROM data.
Definition: no_os_eeprom.c:95
AXI_ADC_REG_CHAN_CNTRL_3
#define AXI_ADC_REG_CHAN_CNTRL_3(c)
Definition: axi_adc_core.h:112
no_os_dma_desc::mutex
void * mutex
Definition: no_os_dma.h:163
no_os_i2c_read
int32_t no_os_i2c_read(struct no_os_i2c_desc *desc, uint8_t *data, uint8_t bytes_number, uint8_t stop_bit)
I2C Read data from slave device.
Definition: no_os_i2c.c:196
axi_adc_get_calib_scale
int32_t axi_adc_get_calib_scale(struct axi_adc *adc, uint32_t chan, int32_t *val, int32_t *val2)
Get the scale calibration values for AXI ADC channel.
Definition: axi_adc_core.c:487
no_os_mutex.h
axi_slave_adc_read
int32_t axi_slave_adc_read(struct axi_adc *adc, uint32_t reg_addr, uint32_t *reg_data)
Slave AXI ADC Data read.
Definition: axi_adc_core.c:93
axi_adc_idelay_set
void axi_adc_idelay_set(struct axi_adc *adc, uint32_t lane, uint32_t val)
Set input/output delay primitive for specific interface line.
Definition: axi_adc_core.c:198
no_os_eeprom_platform_ops::read
int32_t(* read)(struct no_os_eeprom_desc *, uint32_t, uint8_t *, uint16_t)
Definition: no_os_eeprom.h:96
axi_adc_read
int32_t axi_adc_read(struct axi_adc *adc, uint32_t reg_addr, uint32_t *reg_data)
AXI ADC Data read.
Definition: axi_adc_core.c:61
AXI_ADC_TO_DCFILT_OFFSET
#define AXI_ADC_TO_DCFILT_OFFSET(x)
Definition: axi_adc_core.h:102
no_os_dma_ch
Describes the state of a DMA channel.
Definition: no_os_dma.h:113
PWM_MAX_NUMBER
#define PWM_MAX_NUMBER
Definition: no_os_pwm.h:52
no_os_uart_platform_ops::write
int32_t(* write)(struct no_os_uart_desc *, const uint8_t *, uint32_t)
Definition: no_os_uart.h:167
no_os_timer_desc::id
uint16_t id
Definition: no_os_timer.h:67
no_os_trng_remove
int no_os_trng_remove(struct no_os_trng_desc *desc)
Free the resources allocated by no_os_trng_init().
Definition: no_os_trng.c:83
no_os_gpio_platform_ops::gpio_ops_remove
int32_t(* gpio_ops_remove)(struct no_os_gpio_desc *)
Definition: no_os_gpio.h:141
AXI_ADC_REG_CHAN_CNTRL_2
#define AXI_ADC_REG_CHAN_CNTRL_2(c)
Definition: axi_adc_core.h:106
no_os_dma_platform_ops::dma_xfer_abort
int(* dma_xfer_abort)(struct no_os_dma_desc *, struct no_os_dma_ch *)
Definition: no_os_dma.h:261
no_os_callback_desc::ctx
void * ctx
Definition: no_os_irq.h:152
MEM_TO_MEM
@ MEM_TO_MEM
Definition: no_os_dma.h:56
no_os_pwm_platform_ops::pwm_ops_init
int32_t(* pwm_ops_init)(struct no_os_pwm_desc **, const struct no_os_pwm_init_param *)
Definition: no_os_pwm.h:133
axi_adc_get_calib_bias
int32_t axi_adc_get_calib_bias(struct axi_adc *adc, uint32_t chan, int32_t *val, int32_t *val2)
Get the scale calibration values for AXI ADC channel.
Definition: axi_adc_core.c:527
no_os_timer_remove
int32_t no_os_timer_remove(struct no_os_timer_desc *desc)
Free the memory allocated by timer_init().
Definition: no_os_timer.c:91
no_os_pwm_platform_ops::pwm_ops_set_polarity
int32_t(* pwm_ops_set_polarity)(struct no_os_pwm_desc *, enum no_os_pwm_polarity)
Definition: no_os_pwm.h:152
axi_adc_init::slave_base
uint32_t slave_base
Definition: axi_adc_core.h:157
no_os_irq_platform_ops::global_disable
int32_t(* global_disable)(struct no_os_irq_ctrl_desc *desc)
Definition: no_os_irq.h:180
no_os_timer_platform_ops::init
int32_t(* init)(struct no_os_timer_desc **, const struct no_os_timer_init_param *)
Definition: no_os_timer.h:109
no_os_irq_unregister_callback
int32_t no_os_irq_unregister_callback(struct no_os_irq_ctrl_desc *desc, uint32_t irq_id, struct no_os_callback_desc *callback_desc)
Unregisters a generic IRQ handling function.
Definition: no_os_irq.c:118
no_os_mdio_ops::write
int(* write)(struct no_os_mdio_desc *, uint32_t, uint16_t)
Definition: no_os_mdio.h:100
no_os_dma_desc::platform_ops
struct no_os_dma_platform_ops * platform_ops
Definition: no_os_dma.h:150
no_os_irq_trig_level
no_os_irq_trig_level
Definition: no_os_irq.h:82
no_os_spibus_remove
void no_os_spibus_remove(uint32_t bus_number)
Removes SPI bus instance.
Definition: no_os_spi.c:139
axi_adc_init::num_channels
uint8_t num_channels
Definition: axi_adc_core.h:155
no_os_pwm_platform_ops::pwm_ops_set_period
int32_t(* pwm_ops_set_period)(struct no_os_pwm_desc *, uint32_t)
Definition: no_os_pwm.h:140
AXI_ADC_REG_CHAN_STATUS
#define AXI_ADC_REG_CHAN_STATUS(c)
Definition: axi_adc_core.h:95
no_os_irq_ctrl_desc::platform_ops
const struct no_os_irq_platform_ops * platform_ops
Definition: no_os_irq.h:133
no_os_mdio.h
Header file for MDIO interface driver.
no_os_timer_start
int32_t no_os_timer_start(struct no_os_timer_desc *desc)
Start a timer.
Definition: no_os_timer.c:110
no_os_spi_write_and_read
int32_t no_os_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: no_os_spi.c:165
no_os_spi_init_param::parent
struct no_os_spi_desc * parent
Definition: no_os_spi.h:147
no_os_dma_default_handler_data::desc
struct no_os_dma_desc * desc
Definition: no_os_dma.h:66
no_os_gpio_direction_input
int32_t no_os_gpio_direction_input(struct no_os_gpio_desc *desc)
Enable the input direction of the specified GPIO.
Definition: no_os_gpio.c:130
no_os_dma_chan_lock
int no_os_dma_chan_lock(struct no_os_dma_ch *ch)
Lock a DMA channel, so it won't be acquired even if it's free.
Definition: no_os_dma.c:323
no_os_trng_init_param
Init parameter for TRNG.
Definition: no_os_trng.h:76
no_os_irq_platform_ops::enable
int32_t(* enable)(struct no_os_irq_ctrl_desc *desc, uint32_t irq_id)
Definition: no_os_irq.h:185
no_os_irq_init_param::platform_ops
const struct no_os_irq_platform_ops * platform_ops
Definition: no_os_irq.h:117
no_os_i2c_desc::bus
struct no_os_i2cbus_desc * bus
Definition: no_os_i2c.h:109
no_os_mdio_ops::init
int(* init)(struct no_os_mdio_desc **, struct no_os_mdio_init_param *)
Definition: no_os_mdio.h:98
axi_adc_init_finish
int32_t axi_adc_init_finish(struct axi_adc *adc)
Begin AXI ADC Initialization.
Definition: axi_adc_core.c:618
AXI_ADC_REG_CHAN_CNTRL
#define AXI_ADC_REG_CHAN_CNTRL(c)
Definition: axi_adc_core.h:85
no_os_spi_platform_ops::transfer
int32_t(* transfer)(struct no_os_spi_desc *, struct no_os_spi_msg *, uint32_t)
Definition: no_os_spi.h:209
no_os_spi_desc
Structure holding SPI descriptor.
Definition: no_os_spi.h:177
no_os_i2c_platform_ops::i2c_ops_init
int32_t(* i2c_ops_init)(struct no_os_i2c_desc **, const struct no_os_i2c_init_param *)
Definition: no_os_i2c.h:129
no_os_dma_xfer_desc
It's used to setup a generic DMA transfer.
Definition: no_os_dma.h:77
no_os_i2c_desc::platform_ops
const struct no_os_i2c_platform_ops * platform_ops
Definition: no_os_i2c.h:117
no_os_axi_io_read
int32_t no_os_axi_io_read(uint32_t base, uint32_t offset, uint32_t *data)
AXI IO Altera specific read function.
Definition: altera_axi_io.c:59
no_os_dma_xfer_desc::xfer_complete_ctx
void * xfer_complete_ctx
Definition: no_os_dma.h:95
no_os_timer_get_elapsed_time_nsec
int32_t no_os_timer_get_elapsed_time_nsec(struct no_os_timer_desc *desc, uint64_t *elapsed_time)
Get the elapsed time in nsec for the timer.
Definition: no_os_timer.c:215
no_os_pwm_get_phase
int32_t no_os_pwm_get_phase(struct no_os_pwm_desc *desc, uint32_t *phase_ns)
Get the PWM phase value.
Definition: no_os_pwm.c:229
no_os_dma_desc::ref
uint32_t ref
Definition: no_os_dma.h:161
no_os_irq_register_callback
int32_t no_os_irq_register_callback(struct no_os_irq_ctrl_desc *desc, uint32_t irq_id, struct no_os_callback_desc *callback)
Register a callback to handle the irq events.
Definition: no_os_irq.c:98
no_os_dma_xfer_desc::xfer_complete_cb
void(* xfer_complete_cb)(struct no_os_dma_xfer_desc *, struct no_os_dma_xfer_desc *, void *)
Definition: no_os_dma.h:88
UART_MAX_NUMBER
#define UART_MAX_NUMBER
Definition: no_os_uart.h:54
no_os_timer_init_param::platform_ops
const struct no_os_timer_platform_ops * platform_ops
Definition: no_os_timer.h:97
no_os_dma_desc::irq_ctrl
struct no_os_irq_ctrl_desc * irq_ctrl
Definition: no_os_dma.h:157
no_os_callback_desc::handle
void * handle
Definition: no_os_irq.h:158
no_os_gpio_get_value
int32_t no_os_gpio_get_value(struct no_os_gpio_desc *desc, uint8_t *value)
Get the value of the specified GPIO.
Definition: no_os_gpio.c:227
no_os_pwm_get_duty_cycle
int32_t no_os_pwm_get_duty_cycle(struct no_os_pwm_desc *desc, uint32_t *duty_cycle_ns)
Get the PWM duty cycle.
Definition: no_os_pwm.c:193
no_os_dma_desc::num_ch
uint32_t num_ch
Definition: no_os_dma.h:146
axi_adc_get_calib_phase
int32_t axi_adc_get_calib_phase(struct axi_adc *adc, uint32_t chan, int32_t *val, int32_t *val2)
Get the phase calibration values for AXI ADC channel.
Definition: axi_adc_core.c:455
no_os_irq_clear_pending
int32_t no_os_irq_clear_pending(struct no_os_irq_ctrl_desc *desc, uint32_t irq_id)
Clear the pending interrupt.
Definition: no_os_irq.c:241
AXI_ADC_PN_CUSTOM
@ AXI_ADC_PN_CUSTOM
Definition: axi_adc_core.h:169
no_os_callback_desc::callback
void(* callback)(void *context)
Definition: no_os_irq.h:150
no_os_dma_platform_ops::dma_init
int(* dma_init)(struct no_os_dma_desc **, struct no_os_dma_init_param *)
Definition: no_os_dma.h:249
no_os_spibus_init
int32_t no_os_spibus_init(const struct no_os_spi_init_param *param)
Initialize the SPI bus communication peripheral.
Definition: no_os_spi.c:94
no_os_mdio_read
int no_os_mdio_read(struct no_os_mdio_desc *desc, uint32_t reg, uint16_t *val)
Read a register using MDIO.
Definition: no_os_mdio.c:116
no_os_timer_counter_get
int32_t no_os_timer_counter_get(struct no_os_timer_desc *desc, uint32_t *counter)
Get the value of the counter register for the timer.
Definition: no_os_timer.c:144
no_os_timer_platform_ops::remove
int32_t(* remove)(struct no_os_timer_desc *)
Definition: no_os_timer.h:127
no_os_gpio_desc
Structure holding the GPIO descriptor.
Definition: no_os_gpio.h:102
no_os_trng_platform_ops::fill_buffer
int(* fill_buffer)(struct no_os_trng_desc *, uint8_t *, uint32_t)
Definition: no_os_trng.h:95
no_os_uart_get_errors
uint32_t no_os_uart_get_errors(struct no_os_uart_desc *desc)
Check if errors occurred on UART.
Definition: no_os_uart.c:106
no_os_spi_remove
int32_t no_os_spi_remove(struct no_os_spi_desc *desc)
Free the resources allocated by no_os_spi_init().
Definition: no_os_spi.c:122
no_os_dma_ch::free
bool free
Definition: no_os_dma.h:117
no_os_irq_ctrl_init
int32_t no_os_irq_ctrl_init(struct no_os_irq_ctrl_desc **desc, const struct no_os_irq_init_param *param)
Initialize the IRQ interrupts.
Definition: no_os_irq.c:51
AXI_ADC_FORMAT_ENABLE
#define AXI_ADC_FORMAT_ENABLE
Definition: axi_adc_core.h:91
no_os_list_remove
int32_t no_os_list_remove(struct no_os_list_desc *list_desc)
NO_OS_EVT_DMA_TX_COMPLETE
@ NO_OS_EVT_DMA_TX_COMPLETE
Definition: no_os_irq.h:78
no_os_timer_counter_set
int32_t no_os_timer_counter_set(struct no_os_timer_desc *desc, uint32_t new_val)
Set the timer counter register value.
Definition: no_os_timer.c:162
no_os_spi_platform_ops::dma_transfer_async
int32_t(* dma_transfer_async)(struct no_os_spi_desc *, struct no_os_spi_msg *, uint32_t, void(*)(void *), void *)
Definition: no_os_spi.h:219
no_os_pwm_desc
Structure representing an PWM generator device.
Definition: no_os_pwm.h:99
no_os_spibus_desc::max_speed_hz
uint32_t max_speed_hz
Definition: no_os_spi.h:162
no_os_list_read_first
int32_t no_os_list_read_first(struct no_os_list_desc *list_desc, void **data)
irq_id
irq_id
Interrupts IDs supported by the irq driver.
Definition: aducm3029_irq.h:68
no_os_i2c_desc
Structure holding I2C address descriptor.
Definition: no_os_i2c.h:107
no_os_eeprom_platform_ops::remove
int32_t(* remove)(struct no_os_eeprom_desc *)
Definition: no_os_eeprom.h:98
I2C_MAX_BUS_NUMBER
#define I2C_MAX_BUS_NUMBER
Definition: no_os_i2c.h:53
axi_adc_delay_calibrate
int32_t axi_adc_delay_calibrate(struct axi_adc *adc, uint32_t no_of_lanes, enum axi_adc_pn_sel sel)
Calibrate Delay using specific PN sequence.
Definition: axi_adc_core.c:248
no_os_tdm_platform_ops::tdm_ops_resume
int32_t(* tdm_ops_resume)(struct no_os_tdm_desc *)
Definition: no_os_tdm.h:125
no_os_spi_init
int32_t no_os_spi_init(struct no_os_spi_desc **desc, const struct no_os_spi_init_param *param)
Initialize the SPI communication peripheral.
Definition: no_os_spi.c:58
axi_adc_pn_mon
int32_t axi_adc_pn_mon(struct axi_adc *adc, enum axi_adc_pn_sel sel, uint32_t delay_ms)
Monitor the AXI ADC PN Sequence.
Definition: axi_adc_core.c:142
no_os_dma_platform_ops::dma_config_xfer
int(* dma_config_xfer)(struct no_os_dma_ch *, struct no_os_dma_xfer_desc *)
Definition: no_os_dma.h:256
no_os_i2cbus_desc::extra
void * extra
Definition: no_os_i2c.h:99
axi_adc_get_calib_scale
int32_t axi_adc_get_calib_scale(struct axi_adc *adc, uint32_t chan, int32_t *val, int32_t *val2)
Get the scale calibration values for AXI ADC channel.
Definition: axi_adc_core.c:487
no_os_callback_desc::event
enum no_os_irq_event event
Definition: no_os_irq.h:154
no_os_i2cbus_desc::device_id
uint32_t device_id
Definition: no_os_i2c.h:93
no_os_tdm_platform_ops::tdm_ops_init
int32_t(* tdm_ops_init)(struct no_os_tdm_desc **, const struct no_os_tdm_init_param *)
Definition: no_os_tdm.h:116
axi_adc_idelay_set
void axi_adc_idelay_set(struct axi_adc *adc, uint32_t lane, uint32_t val)
Set input/output delay primitive for specific interface line.
Definition: axi_adc_core.c:198
no_os_spi_transfer_dma_sync
int32_t no_os_spi_transfer_dma_sync(struct no_os_spi_desc *desc, struct no_os_spi_msg *msgs, uint32_t len)
Transfer a list of messages using DMA and busy wait for the completion.
Definition: no_os_spi.c:230
no_os_malloc
void * no_os_malloc(size_t size)
Allocate memory and return a pointer to it.
Definition: chibios_alloc.c:49
no_os_timer_init_param
Structure holding the parameters for timer initialization.
Definition: no_os_timer.h:89
no_os_uart_write_nonblocking
int32_t no_os_uart_write_nonblocking(struct no_os_uart_desc *desc, const uint8_t *data, uint32_t bytes_number)
Write to UART non-blocking.
Definition: no_os_uart.c:202
no_os_irq_platform_ops::remove
int32_t(* remove)(struct no_os_irq_ctrl_desc *desc)
Definition: no_os_irq.h:192
no_os_i2c.h
Header file of I2C Interface.
no_os_timer_platform_ops::start
int32_t(* start)(struct no_os_timer_desc *)
Definition: no_os_timer.h:112
no_os_spi_init_param::max_speed_hz
uint32_t max_speed_hz
Definition: no_os_spi.h:135
no_os_eeprom_remove
int32_t no_os_eeprom_remove(struct no_os_eeprom_desc *desc)
Free the resources allocated by no_os_eeprom_init()
Definition: no_os_eeprom.c:76
axi_adc_set_calib_bias
int32_t axi_adc_set_calib_bias(struct axi_adc *adc, uint32_t chan, int32_t val, int32_t val2)
Calibrate bias for specific AXI ADC channel.
Definition: axi_adc_core.c:503
no_os_pwm.h
Header file of PWM Interface.
NO_OS_EVT_DMA_RX_COMPLETE
@ NO_OS_EVT_DMA_RX_COMPLETE
Definition: no_os_irq.h:76
AXI_ADC_PN7
@ AXI_ADC_PN7
Definition: axi_adc_core.h:165
no_os_i2cbus_desc::platform_ops
const struct no_os_i2c_platform_ops * platform_ops
Definition: no_os_i2c.h:97
axi_adc_update_active_channels
int32_t axi_adc_update_active_channels(struct axi_adc *adc, uint32_t mask)
Update active AXI ADC channels.
Definition: axi_adc_core.c:545
no_os_pwm_set_phase
int32_t no_os_pwm_set_phase(struct no_os_pwm_desc *desc, uint32_t phase_ns)
Set the PWM phase value.
Definition: no_os_pwm.c:211
axi_adc_set_calib_scale
int32_t axi_adc_set_calib_scale(struct axi_adc *adc, uint32_t chan, int32_t val, int32_t val2)
Calibrate scale for specific AXI ADC channel.
Definition: axi_adc_core.c:471
AXI_ADC_REG_CLK_FREQ
#define AXI_ADC_REG_CLK_FREQ
Definition: axi_adc_core.h:63
no_os_uart_platform_ops::read_nonblocking
int32_t(* read_nonblocking)(struct no_os_uart_desc *, uint8_t *, uint32_t)
Definition: no_os_uart.h:169
axi_adc_set_pnsel
int32_t axi_adc_set_pnsel(struct axi_adc *adc, uint32_t chan, enum axi_adc_pn_sel sel)
Set AXI ADC PN sequence.
Definition: axi_adc_core.c:121
axi_adc_get_calib_bias
int32_t axi_adc_get_calib_bias(struct axi_adc *adc, uint32_t chan, int32_t *val, int32_t *val2)
Get the scale calibration values for AXI ADC channel.
Definition: axi_adc_core.c:527
no_os_spi_platform_ops::remove
int32_t(* remove)(struct no_os_spi_desc *)
Definition: no_os_spi.h:222
no_os_spi_desc::bus
struct no_os_spibus_desc * bus
Definition: no_os_spi.h:179
axi_adc::clock_hz
uint64_t clock_hz
Definition: axi_adc_core.h:140
no_os_free
void no_os_free(void *ptr)
Deallocate memory previously allocated by a call to no_os_calloc or no_os_malloc.
Definition: chibios_alloc.c:75
no_os_mdio_desc
MDIO device descriptor created with no_os_mdio_init().
Definition: no_os_mdio.h:84
no_os_i2c_platform_ops::i2c_ops_remove
int32_t(* i2c_ops_remove)(struct no_os_i2c_desc *)
Definition: no_os_i2c.h:136
no_os_eeprom_platform_ops::init
int32_t(* init)(struct no_os_eeprom_desc **, const struct no_os_eeprom_init_param *)
Definition: no_os_eeprom.h:91
no_os_uart_stdio
void no_os_uart_stdio(struct no_os_uart_desc *desc)
Definition: no_os_uart.c:222
no_os_spibus_desc::extra
void * extra
Definition: no_os_spi.h:170
no_os_i2cbus_desc::mutex
void * mutex
Definition: no_os_i2c.h:89
AXI_ADC_PN23A
@ AXI_ADC_PN23A
Definition: axi_adc_core.h:164
no_os_uart_init_param::platform_ops
const struct no_os_uart_platform_ops * platform_ops
Definition: no_os_uart.h:131
AXI_ADC_PN15
@ AXI_ADC_PN15
Definition: axi_adc_core.h:166
axi_adc_init
int32_t axi_adc_init(struct axi_adc **adc_core, const struct axi_adc_init *init)
AXI ADC Main Initialization.
Definition: axi_adc_core.c:647
axi_adc::slave_base
uint32_t slave_base
Definition: axi_adc_core.h:134
AXI_ADC_MMCM_RSTN
#define AXI_ADC_MMCM_RSTN
Definition: axi_adc_core.h:52
no_os_list.h
List library header.
axi_adc_set_calib_phase_scale
int32_t axi_adc_set_calib_phase_scale(struct axi_adc *adc, uint32_t phase, uint32_t chan, int32_t val, int32_t val2)
Calibrate phase for specific AXI ADC channel.
Definition: axi_adc_core.c:335
AXI_ADC_DCFILT_OFFSET
#define AXI_ADC_DCFILT_OFFSET(x)
Definition: axi_adc_core.h:101
no_os_pwm_platform_ops::pwm_ops_enable
int32_t(* pwm_ops_enable)(struct no_os_pwm_desc *)
Definition: no_os_pwm.h:136
no_os_i2c_remove
int32_t no_os_i2c_remove(struct no_os_i2c_desc *desc)
Free the resources allocated by no_os_i2c_init().
Definition: no_os_i2c.c:119
no_os_i2c_init_param
Structure holding the parameters for I2C initialization.
Definition: no_os_i2c.h:70
NULL
#define NULL
Definition: wrapper.h:64
no_os_irq_platform_ops::global_enable
int32_t(* global_enable)(struct no_os_irq_ctrl_desc *desc)
Definition: no_os_irq.h:178
no_os_trng_desc::platform_ops
const struct no_os_trng_platform_ops * platform_ops
Definition: no_os_trng.h:67
no_os_uart_init_param
Structure holding the parameters for UART initialization.
Definition: no_os_uart.h:116
AXI_ADC_PN31
@ AXI_ADC_PN31
Definition: axi_adc_core.h:168
no_os_timer_count_clk_set
int32_t no_os_timer_count_clk_set(struct no_os_timer_desc *desc, uint32_t freq_hz)
Set the timer clock frequency.
Definition: no_os_timer.c:197
no_os_irq_ctrl_remove
int32_t no_os_irq_ctrl_remove(struct no_os_irq_ctrl_desc *desc)
Free the resources allocated by no_os_irq_ctrl_init().
Definition: no_os_irq.c:77
no_os_pwm_platform_ops::pwm_ops_disable
int32_t(* pwm_ops_disable)(struct no_os_pwm_desc *)
Definition: no_os_pwm.h:138
no_os_trng_init
int no_os_trng_init(struct no_os_trng_desc **desc, const struct no_os_trng_init_param *param)
Initialize the TRNG.
Definition: no_os_trng.c:58
no_os_mdio_init_param::addr
uint8_t addr
Definition: no_os_mdio.h:73
axi_adc_init_finish
int32_t axi_adc_init_finish(struct axi_adc *adc)
Begin AXI ADC Initialization.
Definition: axi_adc_core.c:618
no_os_uart_read
int32_t no_os_uart_read(struct no_os_uart_desc *desc, uint8_t *data, uint32_t bytes_number)
Read data from UART.
Definition: no_os_uart.c:124
no_os_irq_init_param
Structure holding the initial parameters for Interrupt Request.
Definition: no_os_irq.h:113
no_os_i2cbus_init
int32_t no_os_i2cbus_init(const struct no_os_i2c_init_param *param)
Initialize the i2c bus communication peripheral.
Definition: no_os_i2c.c:92
no_os_irq_platform_ops::unregister_callback
int32_t(* unregister_callback)(struct no_os_irq_ctrl_desc *desc, uint32_t irq_id, struct no_os_callback_desc *callback)
Definition: no_os_irq.h:174
no_os_dma_xfer_start
int no_os_dma_xfer_start(struct no_os_dma_desc *desc, struct no_os_dma_ch *ch)
Acquire a channel and configure the list of transfers.
Definition: no_os_dma.c:362
axi_adc_remove
int32_t axi_adc_remove(struct axi_adc *adc)
AXI ADC Resources deallocation.
Definition: axi_adc_core.c:687
no_os_i2cbus_desc::slave_number
uint8_t slave_number
Definition: no_os_i2c.h:91
AXI_ADC_REG_CHAN_CNTRL_1
#define AXI_ADC_REG_CHAN_CNTRL_1(c)
Definition: axi_adc_core.h:100
no_os_pwm_platform_ops::pwm_ops_set_duty_cycle
int32_t(* pwm_ops_set_duty_cycle)(struct no_os_pwm_desc *, uint32_t)
Definition: no_os_pwm.h:144
no_os_mutex_remove
void no_os_mutex_remove(void *mutex)
Function for removing the initialized mutex. This function is responsible to remove the allocated mut...
Definition: freertos_mutex.c:87
no_os_uart_init_param::device_id
uint8_t device_id
Definition: no_os_uart.h:118
axi_adc_get_calib_phase
int32_t axi_adc_get_calib_phase(struct axi_adc *adc, uint32_t chan, int32_t *val, int32_t *val2)
Get the phase calibration values for AXI ADC channel.
Definition: axi_adc_core.c:455
no_os_spi_platform_ops::write_and_read
int32_t(* write_and_read)(struct no_os_spi_desc *, uint8_t *, uint16_t)
Definition: no_os_spi.h:207
no_os_dma_platform_ops::dma_release_ch
int(* dma_release_ch)(struct no_os_dma_desc *, uint32_t)
Definition: no_os_dma.h:254
no_os_tdm_init_param
Structure holding the parameters for TDM initialization.
Definition: no_os_tdm.h:63
no_os_uart_platform_ops::write_nonblocking
int32_t(* write_nonblocking)(struct no_os_uart_desc *, const uint8_t *, uint32_t)
Definition: no_os_uart.h:171
no_os_mutex_lock
void no_os_mutex_lock(void *mutex)
Function for locking mutex.
Definition: freertos_mutex.c:66
no_os_axi_io_write
int32_t no_os_axi_io_write(uint32_t base, uint32_t offset, uint32_t data)
AXI IO Altera specific write function.
Definition: altera_axi_io.c:73
axi_adc_init_begin
int32_t axi_adc_init_begin(struct axi_adc **adc_core, const struct axi_adc_init *init)
Begin AXI ADC Initialization.
Definition: axi_adc_core.c:593
no_os_timer_desc::mutex
void * mutex
Definition: no_os_timer.h:65
no_os_spi_desc::platform_ops
const struct no_os_spi_platform_ops * platform_ops
Definition: no_os_spi.h:190
no_os_irq_enable
int32_t no_os_irq_enable(struct no_os_irq_ctrl_desc *desc, uint32_t irq_id)
Enable specific interrupt.
Definition: no_os_irq.c:187
no_os_spi_desc::platform_delays
struct no_os_platform_spi_delays platform_delays
Definition: no_os_spi.h:191
AXI_ADC_PN_RAMP_NIBBLE
@ AXI_ADC_PN_RAMP_NIBBLE
Definition: axi_adc_core.h:170
no_os_gpio.h
Header file of GPIO Interface.
MEM_TO_DEV
@ MEM_TO_DEV
Definition: no_os_dma.h:57
no_os_irq_global_disable
int32_t no_os_irq_global_disable(struct no_os_irq_ctrl_desc *desc)
Disable global interrupts.
Definition: no_os_irq.c:150
no_os_mdio_remove
int no_os_mdio_remove(struct no_os_mdio_desc *desc)
Free the resources allocated by no_os_mdio_init().
Definition: no_os_mdio.c:76
NO_OS_LIST_QUEUE
@ NO_OS_LIST_QUEUE
Definition: no_os_list.h:211
no_os_trng_init_param::platform_ops
const struct no_os_trng_platform_ops * platform_ops
Definition: no_os_trng.h:82
no_os_i2c_init_param::platform_ops
const struct no_os_i2c_platform_ops * platform_ops
Definition: no_os_i2c.h:78
no_os_tdm_pause
int32_t no_os_tdm_pause(struct no_os_tdm_desc *desc)
Pause TDM DMA transfer.
Definition: no_os_tdm.c:94
no_os_uart_write
int32_t no_os_uart_write(struct no_os_uart_desc *desc, const uint8_t *data, uint32_t bytes_number)
Write to UART.
Definition: no_os_uart.c:150
no_os_tdm_read
int32_t no_os_tdm_read(struct no_os_tdm_desc *desc, void *data, uint16_t nb_samples)
Read data using the TDM interface.
Definition: no_os_tdm.c:82
axi_adc::base
uint32_t base
Definition: axi_adc_core.h:132
no_os_uart.h
Header file of UART interface.
no_os_irq_disable
int32_t no_os_irq_disable(struct no_os_irq_ctrl_desc *desc, uint32_t irq_id)
Disable specific interrupt.
Definition: no_os_irq.c:204
no_os_spibus_desc
SPI bus descriptor.
Definition: no_os_spi.h:154
no_os_irq_platform_ops::disable
int32_t(* disable)(struct no_os_irq_ctrl_desc *desc, uint32_t irq_id)
Definition: no_os_irq.h:187
no_os_spi_platform_ops::dma_transfer_sync
int32_t(* dma_transfer_sync)(struct no_os_spi_desc *, struct no_os_spi_msg *, uint32_t)
Definition: no_os_spi.h:213
no_os_gpio_get
int32_t no_os_gpio_get(struct no_os_gpio_desc **desc, const struct no_os_gpio_init_param *param)
Obtain the GPIO decriptor.
Definition: no_os_gpio.c:55
axi_adc_pn_mon
int32_t axi_adc_pn_mon(struct axi_adc *adc, enum axi_adc_pn_sel sel, uint32_t delay_ms)
Monitor the AXI ADC PN Sequence.
Definition: axi_adc_core.c:142
no_os_pwm_init_param::platform_ops
const struct no_os_pwm_platform_ops * platform_ops
Definition: no_os_pwm.h:90
no_os_list_add_last
int32_t no_os_list_add_last(struct no_os_list_desc *list_desc, void *data)
no_os_dma_desc::channels
struct no_os_dma_ch * channels
Definition: no_os_dma.h:148
axi_adc_delay_set
int32_t axi_adc_delay_set(struct axi_adc *adc, uint32_t no_of_lanes, uint32_t delay)
Set input/output delay primitive for number of lines.
Definition: axi_adc_core.c:213
no_os_list_init
int32_t no_os_list_init(struct no_os_list_desc **list_desc, enum no_os_adapter_type type, f_cmp comparator)
no_os_dma_platform_ops::dma_ch_in_progress
bool(* dma_ch_in_progress)(struct no_os_dma_desc *, struct no_os_dma_ch *)
Definition: no_os_dma.h:268
no_os_timer_desc
Structure holding timer descriptor.
Definition: no_os_timer.h:63
no_os_irq_platform_ops::trigger_level_set
int32_t(* trigger_level_set)(struct no_os_irq_ctrl_desc *desc, uint32_t irq_id, enum no_os_irq_trig_level trig)
Definition: no_os_irq.h:182
no_os_util.h
Header file of utility functions.
no_os_gpio_get_direction
int32_t no_os_gpio_get_direction(struct no_os_gpio_desc *desc, uint8_t *direction)
Get the direction of the specified GPIO.
Definition: no_os_gpio.c:178
axi_adc_set_calib_bias
int32_t axi_adc_set_calib_bias(struct axi_adc *adc, uint32_t chan, int32_t val, int32_t val2)
Calibrate bias for specific AXI ADC channel.
Definition: axi_adc_core.c:503
no_os_eeprom_read
int32_t no_os_eeprom_read(struct no_os_eeprom_desc *desc, uint32_t address, uint8_t *data, uint16_t bytes)
Read the EEPROM data.
Definition: no_os_eeprom.c:115
no_os_gpio_platform_ops::gpio_ops_get_direction
int32_t(* gpio_ops_get_direction)(struct no_os_gpio_desc *, uint8_t *)
Definition: no_os_gpio.h:147
no_os_gpio_platform_ops::gpio_ops_get
int32_t(* gpio_ops_get)(struct no_os_gpio_desc **, const struct no_os_gpio_init_param *)
Definition: no_os_gpio.h:135
no_os_eeprom_init_param
Structure holding the parameters for EEPROM initialization.
Definition: no_os_eeprom.h:64
no_os_spi_platform_ops::init
int32_t(* init)(struct no_os_spi_desc **, const struct no_os_spi_init_param *)
Definition: no_os_spi.h:205
axi_adc_pn_sel
axi_adc_pn_sel
Definition: axi_adc_core.h:162
no_os_tdm.h
Header file of TDM Interface.
no_os_dma_is_completed
bool no_os_dma_is_completed(struct no_os_dma_desc *desc, struct no_os_dma_ch *ch)
Get the state of a DMA channel (free or not).
Definition: no_os_dma.c:423
no_os_dma_ch::cb_desc
struct no_os_callback_desc cb_desc
Definition: no_os_dma.h:123
no_os_spi_init_param::extra
void * extra
Definition: no_os_spi.h:145
no_os_pwm_set_period
int32_t no_os_pwm_set_period(struct no_os_pwm_desc *desc, uint32_t period_ns)
Set the PWM period value.
Definition: no_os_pwm.c:139
axi_adc_set_calib_scale
int32_t axi_adc_set_calib_scale(struct axi_adc *adc, uint32_t chan, int32_t val, int32_t val2)
Calibrate scale for specific AXI ADC channel.
Definition: axi_adc_core.c:471
no_os_irq_disable
int32_t no_os_irq_disable(struct no_os_irq_ctrl_desc *desc, uint32_t irq_id)
Disable specific interrupt.
Definition: no_os_irq.c:204
no_os_tdm_desc::platform_ops
const struct no_os_tdm_platform_ops * platform_ops
Definition: no_os_tdm.h:102
no_os_pwm_remove
int32_t no_os_pwm_remove(struct no_os_pwm_desc *desc)
Free the resources allocated by no_os_pwm_init().
Definition: no_os_pwm.c:85
no_os_dma_ch::mutex
void * mutex
Definition: no_os_dma.h:129
no_os_tdm_resume
int32_t no_os_tdm_resume(struct no_os_tdm_desc *desc)
Resume TDM DMA transfer.
Definition: no_os_tdm.c:104
no_os_eeprom_init
int32_t no_os_eeprom_init(struct no_os_eeprom_desc **desc, const struct no_os_eeprom_init_param *param)
Initialize the EEPROM.
Definition: no_os_eeprom.c:51
axi_adc::mask
uint32_t mask
Definition: axi_adc_core.h:142
no_os_uart_remove
int32_t no_os_uart_remove(struct no_os_uart_desc *desc)
Free the resources allocated by no_os_uart_init().
Definition: no_os_uart.c:87
axi_slave_adc_write
int32_t axi_slave_adc_write(struct axi_adc *adc, uint32_t reg_addr, uint32_t reg_data)
Slave AXI ADC Data Write.
Definition: axi_adc_core.c:107
no_os_gpio_platform_ops::gpio_ops_get_optional
int32_t(* gpio_ops_get_optional)(struct no_os_gpio_desc **, const struct no_os_gpio_init_param *)
Definition: no_os_gpio.h:138
no_os_irq_ctrl_desc
Definition: no_os_irq.h:129
no_os_irq_platform_ops::register_callback
int32_t(* register_callback)(struct no_os_irq_ctrl_desc *desc, uint32_t irq_id, struct no_os_callback_desc *callback)
Definition: no_os_irq.h:171
no_os_uart_platform_ops::read
int32_t(* read)(struct no_os_uart_desc *, uint8_t *, uint32_t)
Definition: no_os_uart.h:165
AXI_ADC_FORMAT_SIGNEXT
#define AXI_ADC_FORMAT_SIGNEXT
Definition: axi_adc_core.h:89
no_os_i2c_init_param::device_id
uint32_t device_id
Definition: no_os_i2c.h:72
no_os_dma_ch::sync_lock
bool sync_lock
Definition: no_os_dma.h:135
no_os_tdm_init
int32_t no_os_tdm_init(struct no_os_tdm_desc **desc, const struct no_os_tdm_init_param *param)
Initialize the TDM communication peripheral.
Definition: no_os_tdm.c:51
AXI_ADC_ADC_PN_SEL
#define AXI_ADC_ADC_PN_SEL(x)
Definition: axi_adc_core.h:113
axi_adc_get_sampling_freq
int32_t axi_adc_get_sampling_freq(struct axi_adc *adc, uint32_t chan, uint64_t *sampling_freq)
Get the AXI ADC Sampling Frequency.
Definition: axi_adc_core.c:177
axi_adc_init::name
const char * name
Definition: axi_adc_core.h:151
no_os_irq_trigger_level_set
int32_t no_os_irq_trigger_level_set(struct no_os_irq_ctrl_desc *desc, uint32_t irq_id, enum no_os_irq_trig_level trig)
Set interrupt trigger level.
Definition: no_os_irq.c:168
AXI_ADC_PN9
@ AXI_ADC_PN9
Definition: axi_adc_core.h:163
errno.h
Error macro definition for ARM Compiler.
no_os_pwm_set_polarity
int32_t no_os_pwm_set_polarity(struct no_os_pwm_desc *desc, enum no_os_pwm_polarity polarity)
Set the PWM polarity.
Definition: no_os_pwm.c:249
no_os_pwm_get_period
int32_t no_os_pwm_get_period(struct no_os_pwm_desc *desc, uint32_t *period_ns)
Get the PWM period value.
Definition: no_os_pwm.c:157
no_os_dma.h
Platform independent function definitions and data types for the DMA API.
no_os_gpio_platform_ops::gpio_ops_direction_output
int32_t(* gpio_ops_direction_output)(struct no_os_gpio_desc *, uint8_t)
Definition: no_os_gpio.h:145
no_os_timer_stop
int32_t no_os_timer_stop(struct no_os_timer_desc *desc)
Stop a timer from counting.
Definition: no_os_timer.c:126
no_os_gpio_platform_ops::gpio_ops_set_value
int32_t(* gpio_ops_set_value)(struct no_os_gpio_desc *, uint8_t)
Definition: no_os_gpio.h:149
no_os_pwm_enable
int32_t no_os_pwm_enable(struct no_os_pwm_desc *desc)
Enable PWM signal generation.
Definition: no_os_pwm.c:104
no_os_mdio_desc::ops
struct no_os_mdio_ops * ops
Definition: no_os_mdio.h:88
no_os_pwm_desc::platform_ops
const struct no_os_pwm_platform_ops * platform_ops
Definition: no_os_pwm.h:121
AXI_ADC_TO_IQCOR_COEFF_2
#define AXI_ADC_TO_IQCOR_COEFF_2(x)
Definition: axi_adc_core.h:110
no_os_dma_ch::sg_list
struct no_os_list_desc * sg_list
Definition: no_os_dma.h:119
no_os_spi_init_param
Structure holding the parameters for SPI initialization.
Definition: no_os_spi.h:131
no_os_gpio_set_value
int32_t no_os_gpio_set_value(struct no_os_gpio_desc *desc, uint8_t value)
Set the value of the specified GPIO.
Definition: no_os_gpio.c:203
no_os_dma_xfer_desc::periph
enum no_os_irq_peripheral periph
Definition: no_os_dma.h:103
no_os_dma_desc
Describes the state of the DMA controller.
Definition: no_os_dma.h:142
no_os_irq_global_enable
int32_t no_os_irq_global_enable(struct no_os_irq_ctrl_desc *desc)
Enable global interrupts.
Definition: no_os_irq.c:135
no_os_timer_platform_ops::stop
int32_t(* stop)(struct no_os_timer_desc *)
Definition: no_os_timer.h:114
no_os_pwm_get_polarity
int32_t no_os_pwm_get_polarity(struct no_os_pwm_desc *desc, enum no_os_pwm_polarity *polarity)
Get the PWM polarity.
Definition: no_os_pwm.c:269
AXI_ADC_PN23
@ AXI_ADC_PN23
Definition: axi_adc_core.h:167