linux/drivers/clk/clk-plldig.c

// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright 2019 NXP
 *
 * Clock driver for LS1028A Display output interfaces(LCD, DPHY).
 */

#include <linux/clk-provider.h>
#include <linux/device.h>
#include <linux/module.h>
#include <linux/err.h>
#include <linux/io.h>
#include <linux/iopoll.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
#include <linux/bitfield.h>

/* PLLDIG register offsets and bit masks */
#define PLLDIG_REG_PLLSR
#define PLLDIG_LOCK_MASK
#define PLLDIG_REG_PLLDV
#define PLLDIG_MFD_MASK
#define PLLDIG_RFDPHI1_MASK
#define PLLDIG_REG_PLLFM
#define PLLDIG_SSCGBYP_ENABLE
#define PLLDIG_REG_PLLFD
#define PLLDIG_FDEN
#define PLLDIG_FRAC_MASK
#define PLLDIG_REG_PLLCAL1
#define PLLDIG_REG_PLLCAL2

/* Range of the VCO frequencies, in Hz */
#define PLLDIG_MIN_VCO_FREQ
#define PLLDIG_MAX_VCO_FREQ

/* Range of the output frequencies, in Hz */
#define PHI1_MIN_FREQ
#define PHI1_MAX_FREQ

/* Maximum value of the reduced frequency divider */
#define MAX_RFDPHI1

/* Best value of multiplication factor divider */
#define PLLDIG_DEFAULT_MFD

/*
 * Denominator part of the fractional part of the
 * loop multiplication factor.
 */
#define MFDEN

static const struct clk_parent_data parent_data[] =;

struct clk_plldig {};

#define to_clk_plldig(_hw)

static int plldig_enable(struct clk_hw *hw)
{}

static void plldig_disable(struct clk_hw *hw)
{}

static int plldig_is_enabled(struct clk_hw *hw)
{}

static unsigned long plldig_recalc_rate(struct clk_hw *hw,
					unsigned long parent_rate)
{}

static unsigned long plldig_calc_target_div(unsigned long vco_freq,
					    unsigned long target_rate)
{}

static int plldig_determine_rate(struct clk_hw *hw,
				 struct clk_rate_request *req)
{}

static int plldig_set_rate(struct clk_hw *hw, unsigned long rate,
		unsigned long parent_rate)
{}

static const struct clk_ops plldig_clk_ops =;

static int plldig_init(struct clk_hw *hw)
{}

static int plldig_clk_probe(struct platform_device *pdev)
{}

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

static struct platform_driver plldig_clk_driver =;
module_platform_driver();

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