linux/drivers/pwm/pwm-rockchip.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * PWM driver for Rockchip SoCs
 *
 * Copyright (C) 2014 Beniamino Galvani <[email protected]>
 * Copyright (C) 2014 ROCKCHIP, Inc.
 */

#include <linux/clk.h>
#include <linux/io.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/property.h>
#include <linux/pwm.h>
#include <linux/time.h>

#define PWM_CTRL_TIMER_EN
#define PWM_CTRL_OUTPUT_EN

#define PWM_ENABLE
#define PWM_CONTINUOUS
#define PWM_DUTY_POSITIVE
#define PWM_DUTY_NEGATIVE
#define PWM_INACTIVE_NEGATIVE
#define PWM_INACTIVE_POSITIVE
#define PWM_POLARITY_MASK
#define PWM_OUTPUT_LEFT
#define PWM_LOCK_EN
#define PWM_LP_DISABLE

struct rockchip_pwm_chip {};

struct rockchip_pwm_regs {};

struct rockchip_pwm_data {};

static inline struct rockchip_pwm_chip *to_rockchip_pwm_chip(struct pwm_chip *chip)
{}

static int rockchip_pwm_get_state(struct pwm_chip *chip,
				  struct pwm_device *pwm,
				  struct pwm_state *state)
{}

static void rockchip_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm,
			       const struct pwm_state *state)
{}

static int rockchip_pwm_enable(struct pwm_chip *chip,
			       struct pwm_device *pwm,
			       bool enable)
{}

static int rockchip_pwm_apply(struct pwm_chip *chip, struct pwm_device *pwm,
			      const struct pwm_state *state)
{}

static const struct pwm_ops rockchip_pwm_ops =;

static const struct rockchip_pwm_data pwm_data_v1 =;

static const struct rockchip_pwm_data pwm_data_v2 =;

static const struct rockchip_pwm_data pwm_data_vop =;

static const struct rockchip_pwm_data pwm_data_v3 =;

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

static int rockchip_pwm_probe(struct platform_device *pdev)
{}

static void rockchip_pwm_remove(struct platform_device *pdev)
{}

static struct platform_driver rockchip_pwm_driver =;
module_platform_driver();

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