linux/drivers/mfd/stm32-timers.c

// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright (C) STMicroelectronics 2016
 * Author: Benjamin Gaignard <[email protected]>
 */

#include <linux/bitfield.h>
#include <linux/mfd/stm32-timers.h>
#include <linux/module.h>
#include <linux/of_platform.h>
#include <linux/platform_device.h>
#include <linux/reset.h>

#define STM32_TIMERS_MAX_REGISTERS

/* DIER register DMA enable bits */
static const u32 stm32_timers_dier_dmaen[STM32_TIMERS_MAX_DMAS] =;

static void stm32_timers_dma_done(void *p)
{}

/**
 * stm32_timers_dma_burst_read - Read from timers registers using DMA.
 *
 * Read from STM32 timers registers using DMA on a single event.
 * @dev: reference to stm32_timers MFD device
 * @buf: DMA'able destination buffer
 * @id: stm32_timers_dmas event identifier (ch[1..4], up, trig or com)
 * @reg: registers start offset for DMA to read from (like CCRx for capture)
 * @num_reg: number of registers to read upon each DMA request, starting @reg.
 * @bursts: number of bursts to read (e.g. like two for pwm period capture)
 * @tmo_ms: timeout (milliseconds)
 */
int stm32_timers_dma_burst_read(struct device *dev, u32 *buf,
				enum stm32_timers_dmas id, u32 reg,
				unsigned int num_reg, unsigned int bursts,
				unsigned long tmo_ms)
{}
EXPORT_SYMBOL_GPL();

static const struct regmap_config stm32_timers_regmap_cfg =;

static void stm32_timers_get_arr_size(struct stm32_timers *ddata)
{}

static int stm32_timers_dma_probe(struct device *dev,
				   struct stm32_timers *ddata)
{}

static void stm32_timers_dma_remove(struct device *dev,
				    struct stm32_timers *ddata)
{}

static const char * const stm32_timers_irq_name[STM32_TIMERS_MAX_IRQS] =;

static int stm32_timers_irq_probe(struct platform_device *pdev,
				  struct stm32_timers *ddata)
{}

static int stm32_timers_probe(struct platform_device *pdev)
{}

static void stm32_timers_remove(struct platform_device *pdev)
{}

static const struct of_device_id stm32_timers_of_match[] =;
MODULE_DEVICE_TABLE(of, stm32_timers_of_match);

static struct platform_driver stm32_timers_driver =;
module_platform_driver();

MODULE_DESCRIPTION();
MODULE_LICENSE();