Zephyr API Documentation 4.4.0-rc1
A Scalable Open Source RTOS
Loading...
Searching...
No Matches

Public API for MAX2221X PWM driver. More...

#include <zephyr/device.h>
#include <zephyr/sys/util.h>

Go to the source code of this file.

Enumerations

enum  max2221x_master_chop_freq {
  MAX2221X_FREQ_100KHZ = 0 , MAX2221X_FREQ_80KHZ , MAX2221X_FREQ_60KHZ , MAX2221X_FREQ_50KHZ ,
  MAX2221X_FREQ_40KHZ , MAX2221X_FREQ_30KHZ , MAX2221X_FREQ_25KHZ , MAX2221X_FREQ_20KHZ ,
  MAX2221X_FREQ_15KHZ , MAX2221X_FREQ_10KHZ , MAX2221X_FREQ_7500HZ , MAX2221X_FREQ_5000HZ ,
  MAX2221X_FREQ_2500HZ , MAX2221X_FREQ_INVALID
}
 Master chopping frequency options. More...
enum  max2221x_individual_chop_freq {
  MAX2221X_FREQ_M = 0 , MAX2221X_FREQ_M_2 , MAX2221X_FREQ_M_4 , MAX2221X_FREQ_M_8 ,
  MAX2221X_FREQ_M_INVALID
}
 Individual channel chopping frequency divisor options. More...

Functions

int max2221x_get_master_chop_freq (const struct device *dev)
 Get the master chop frequency of the MAX2221X device.
int max2221x_get_channel_freq (const struct device *dev, uint32_t channel, uint32_t *channel_freq)
 Get the individual channel frequency of the MAX2221X device.
int max2221x_calculate_duty_cycle (uint32_t pulse, uint32_t period, uint16_t *duty_cycle)
 Calculate the duty cycle.
int max2221x_calculate_master_freq_divisor (uint32_t master_freq, uint32_t period, int *freq_divisor)
 Calculate the master frequency divisor used for calculating individual frequency.
int max2221x_get_cycles_per_sec (const struct device *dev, uint32_t channel, uint64_t *cycles)
 Get the cycles per second for the pwm channel.
int max2221x_set_cycles (const struct device *dev, uint32_t channel, uint32_t period, uint32_t pulse, pwm_flags_t flags)
 Set the duty cycle for the pwm channel.

Detailed Description

Public API for MAX2221X PWM driver.