1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Copyright (c) 2019 BayLibre, SAS.
4 * Author: Jerome Brunet <jbrunet@baylibre.com>
5 */
6
7#ifndef __MESON_CLK_MPLL_H
8#define __MESON_CLK_MPLL_H
9
10#include <linux/clk-provider.h>
11#include <linux/spinlock.h>
12
13#include "parm.h"
14
15struct meson_clk_mpll_data {
16	struct parm sdm;
17	struct parm sdm_en;
18	struct parm n2;
19	struct parm ssen;
20	struct parm misc;
21	const struct reg_sequence *init_regs;
22	unsigned int init_count;
23	spinlock_t *lock;
24	u8 flags;
25};
26
27#define CLK_MESON_MPLL_ROUND_CLOSEST	BIT(0)
28#define CLK_MESON_MPLL_SPREAD_SPECTRUM	BIT(1)
29
30extern const struct clk_ops meson_clk_mpll_ro_ops;
31extern const struct clk_ops meson_clk_mpll_ops;
32
33#endif /* __MESON_CLK_MPLL_H */
34