linux/drivers/pwm/pwm-fsl-ftm.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 *  Freescale FlexTimer Module (FTM) PWM Driver
 *
 *  Copyright 2012-2013 Freescale Semiconductor, Inc.
 */

#include <linux/clk.h>
#include <linux/err.h>
#include <linux/io.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/mutex.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/pm.h>
#include <linux/pwm.h>
#include <linux/regmap.h>
#include <linux/slab.h>
#include <linux/fsl/ftm.h>

#define FTM_SC_CLK(c)

enum fsl_pwm_clk {};

struct fsl_ftm_soc {};

struct fsl_pwm_periodcfg {};

struct fsl_pwm_chip {};

static inline struct fsl_pwm_chip *to_fsl_chip(struct pwm_chip *chip)
{}

static void ftm_clear_write_protection(struct fsl_pwm_chip *fpc)
{}

static void ftm_set_write_protection(struct fsl_pwm_chip *fpc)
{}

static bool fsl_pwm_periodcfg_are_equal(const struct fsl_pwm_periodcfg *a,
					const struct fsl_pwm_periodcfg *b)
{}

static int fsl_pwm_request(struct pwm_chip *chip, struct pwm_device *pwm)
{}

static void fsl_pwm_free(struct pwm_chip *chip, struct pwm_device *pwm)
{}

static unsigned int fsl_pwm_ticks_to_ns(struct fsl_pwm_chip *fpc,
					  unsigned int ticks)
{}

static bool fsl_pwm_calculate_period_clk(struct fsl_pwm_chip *fpc,
					 unsigned int period_ns,
					 enum fsl_pwm_clk index,
					 struct fsl_pwm_periodcfg *periodcfg
					 )
{}

static bool fsl_pwm_calculate_period(struct fsl_pwm_chip *fpc,
				     unsigned int period_ns,
				     struct fsl_pwm_periodcfg *periodcfg)
{}

static unsigned int fsl_pwm_calculate_duty(struct fsl_pwm_chip *fpc,
					   unsigned int duty_ns)
{}

static bool fsl_pwm_is_any_pwm_enabled(struct fsl_pwm_chip *fpc,
				       struct pwm_device *pwm)
{}

static bool fsl_pwm_is_other_pwm_enabled(struct fsl_pwm_chip *fpc,
					 struct pwm_device *pwm)
{}

static int fsl_pwm_apply_config(struct pwm_chip *chip,
				struct pwm_device *pwm,
				const struct pwm_state *newstate)
{}

static int fsl_pwm_apply(struct pwm_chip *chip, struct pwm_device *pwm,
			 const struct pwm_state *newstate)
{}

static const struct pwm_ops fsl_pwm_ops =;

static int fsl_pwm_init(struct fsl_pwm_chip *fpc)
{}

static bool fsl_pwm_volatile_reg(struct device *dev, unsigned int reg)
{}

static const struct regmap_config fsl_pwm_regmap_config =;

static int fsl_pwm_probe(struct platform_device *pdev)
{}

#ifdef CONFIG_PM_SLEEP
static int fsl_pwm_suspend(struct device *dev)
{}

static int fsl_pwm_resume(struct device *dev)
{}
#endif

static const struct dev_pm_ops fsl_pwm_pm_ops =;

static const struct fsl_ftm_soc vf610_ftm_pwm =;

static const struct fsl_ftm_soc imx8qm_ftm_pwm =;

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

static struct platform_driver fsl_pwm_driver =;
module_platform_driver();

MODULE_DESCRIPTION();
MODULE_AUTHOR();
MODULE_ALIAS();
MODULE_LICENSE();