linux/drivers/clk/sunxi-ng/ccu_nkm.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Copyright (c) 2016 Maxime Ripard. All rights reserved.
 */

#ifndef _CCU_NKM_H_
#define _CCU_NKM_H_

#include <linux/clk-provider.h>

#include "ccu_common.h"
#include "ccu_div.h"
#include "ccu_mult.h"

/*
 * struct ccu_nkm - Definition of an N-K-M clock
 *
 * Clocks based on the formula parent * N * K / M
 */
struct ccu_nkm {};

#define SUNXI_CCU_NKM_WITH_MUX_GATE_LOCK(_struct, _name, _parents, _reg, \
					 _nshift, _nwidth,		\
					 _kshift, _kwidth,		\
					 _mshift, _mwidth,		\
					 _muxshift, _muxwidth,		\
					 _gate, _lock, _flags)

#define SUNXI_CCU_NKM_WITH_GATE_LOCK(_struct, _name, _parent, _reg,	\
				     _nshift, _nwidth,			\
				     _kshift, _kwidth,			\
				     _mshift, _mwidth,			\
				     _gate, _lock, _flags)

static inline struct ccu_nkm *hw_to_ccu_nkm(struct clk_hw *hw)
{}

extern const struct clk_ops ccu_nkm_ops;

#endif /* _CCU_NKM_H_ */