49 if ((
mem_fd = open(
"/dev/mem", O_RDWR | O_SYNC)) < 0) {
56 (
volatile uint16_t*)mmap(NULL,
PWM_SIZE, PROT_READ | PROT_WRITE,
58 if (
pwmss1_regs == (
volatile uint16_t*)MAP_FAILED) {
66 (
volatile uint16_t*)mmap(NULL,
PWM_SIZE, PROT_READ | PROT_WRITE,
68 if (
pwmss1_regs == (
volatile uint16_t*)MAP_FAILED) {
#define TBCTL_DEFAULT
Default counter value (see AM335x_TR)
#define TBPRD
Period register offset.
#define RWC_AQ_B
Action qualifier B value for latch reset (see AM335x_TR)
#define ADC_AQ
Action qualifier value for ADC clock (see AM335x_TR)
int mem_fd
Physical memory file descriptor.
#define PRESCALE2
Counter prescale 2.
void rl_log(rl_log_type type, const char *format,...)
#define PWMSS1_BASE
PWMSS1 register base address.
void pwm_setup_range_clock(int sample_rate)
#define TBCTL
Counter control register offset.
#define ADC_CLOCK_PERIOD
ADC master clock period in ns.
#define RWC_AQ_A
Action qualifier A value for latch reset (see AM335x_TR)
#define CMPB
Compare register B offset.
#define PWM_PERIOD_SCALE
Latch reset period scaling factor.
#define CMPA
Compare register A offset.
#define PWMSS0_BASE
PWMSS0 register base address.
#define AQCTLB
Action qualifier register B offset.
#define UP_DOWN_COUNT
Up-down counting.
#define PULSE_WIDTH
Latch reset pulse width (part of sampling period)
#define PWM_SIZE
Size of PWM register memory.
void pwm_setup_adc_clock(void)
volatile uint16_t * pwmss1_regs
Pointer to PWMSS1 (PWM-Sub-System) registers.
#define AQCTLA
Action qualifier register offset.
volatile uint16_t * pwmss0_regs
Pointer to PWMSS0 (PWM-Sub-System) registers.